CounterPart of C Build AST cd buildSrc python GenerateAST.py Compile mkdir cmake-build-debug cd cmake-build-debug cmake ../ make Usage cpc input.c [-Ocf] [-Ouc] [-ast ast_path.html] [-ir ir_path.txt] [-o out.asm] TODO Parser Lexical analysis Syntax analysis Semantic analysis Algebraic operation: &, |, +, -, *, /, %, <<, >>, <, >, <=, >=, ==, !=, &&, ||, ^ Selection statement: if, if-else, switch Iteration statement: while, do-while, for Jump statement: goto Function call & function definition Variable initialization & definition Conditional expression: ? : Array initialization & operation Enum String literal Struct Type cast: (int) a Pointer Type quailifier: const volatile sizeof(exp) Code generation IR Code optimization const expression in if statement remove unused variables temp variable in pointer assignment ... Target code Others AST visualization Command line argument