-
Notifications
You must be signed in to change notification settings - Fork 5
Home
jiweixing edited this page Feb 3, 2020
·
10 revisions
- Programming language history
- Programming language classification
- Some popular languages: C/C++, Java, Python, Assemble Language
- Lab. 1: language comparison
- Compiler definition
- Typical architecture of a compiler
- How does compiler work
- Lab. 2: GCC running and observation
- Syntax rules specification : CFG
- Language Specification: take C for example
- Lexeme recognization : DFM, NFM
- Lex introduction
- Lab. 3 : lex
- Program parsing: top-down
- lab. 4: parser implementation
- Program parsing: bottom-up
- lab. 5: Yacc implementation
- ANTLR introduction
- Scanner & parser generation
- Parsing tree generation based on ANTLR output
- AST introduction
- Parsing Tree to AST transformation
- Lab : AST generation
- Symbol table introduction
- Symbol table generation
- Lab : symbol table generation
- Type checking
- examples
- lab
- Scope checking
- examples
- lab
- IR introduction
- LLVM IR
- Java BC
- IR definition
- IR generation
- Assemble file format
- Processor Emulator
- Manual code generation
- Register allocation algorithm
- Simple implementation
- Instruction Selection
- Calling Convention
- Code generation
- GCC/LLVM introduction
- Python VM introduction
- Java VM introduction