Skip to content
/ sysyc Public

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

Notifications You must be signed in to change notification settings

wokron/sysyc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

57a57e4 · Aug 24, 2024

History

45 Commits
Aug 17, 2024
Jul 22, 2024
Aug 18, 2024
Jun 29, 2024
May 6, 2024
Jun 3, 2024
Jul 22, 2024
May 7, 2024
Jun 3, 2024
Jul 20, 2024
Aug 24, 2024
Aug 17, 2024
Jun 2, 2024
Jun 5, 2024

Repository files navigation

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

About

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

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages