- Scanner
- Implementation Of Lexer
- Using flex
- Parser
- just using yacc
- Semantic analyzer
- Implementation of Symbol Table
- Implementation of Type Checker
- main.c
- Modify NO_ANALYZE, TraceParse, and TraceAnalyze to suit your assignment
symtab.h
symtab.c
- Add scope and type to symbol table
- Implement hash table
- analyze.c
- Insert built-in function
- Input(), output()
- Modify symbol table generation
- Modify the checkNode() function to check the semantics of C-Minus
- Insert built-in function
$ make
$ ./compiler gcd.cm