Skip to content

Latest commit

 

History

History
35 lines (29 loc) · 998 Bytes

README.md

File metadata and controls

35 lines (29 loc) · 998 Bytes

sysyc

Sysyc is a compiler for the SysY language. It utilizes QBE IR as its intermediate representation.

Contributing

See CONTRIBUTING.md.

Todo List

  • Phase One: Compiler Frontend

    • Syntax tree data structure
    • Intermediate code data structure
    • Intermediate code construction interface
    • Lexical analysis + Syntax analysis
    • Intermediate code print
    • Symbol table + Type system
    • Semantic analysis
  • Phase Two: Compiler Backend

    • Register allocation algorithm
    • Target code generation
  • Phase Three: Compiler Optimization

    • SSA construction and elimination
    • Other optimization algorithms
      • Peephole Optimization
      • Constant Folding and Constant Propagation
      • Function Inlining
      • GCM
      • GVN
      • Loop Rotation
      • CFG Simplifying
      • Deadcode Elimination
      • Strength Reduction
      • Tail Recursion Optimization