Skip to content

Latest commit

 

History

History
26 lines (17 loc) · 828 Bytes

README.md

File metadata and controls

26 lines (17 loc) · 828 Bytes

compilers2017

Compilers labs for SJTU course SE302.

All labs come from the book 'Modern Compiler Implementation in C', and the final goal of these labs is to implement a complete compiler for the Tiger language.

Lab1

Warm up and exercise.

Lab2

Implement a lexical analyzer for the Tiger language with Lex.

Lab3

Implement a parser for the Tiger language with Yacc.

Lab4

Provide type checking for Tiger programs.

Lab5

Implement the frame data structure and generate intermediate representation (IR) trees for tiger programs.

Lab6

Implement the instruction selection phase to generate x86 machine codes with infinite registers for tiger programs.

Implement liveness anlaysis and register allocation, and run compiled tiger programs on real machine.

Implement escape analysis and coalescing.