Development of Azuki has been suspended. Please head over to miniSysY and miniSysY-tutorial for updates on BUAA-SE's compiler course updates.
Azuki is an experimental lab experiment design & reference implementation for Compilers Design course. This project also serves as a part of Rynco Maekawa's bachelor's degree thesis.
- Support for a C-like language (C0)
- Lexing
- Parsing
- AST generation
- Generate SSA Intermediate Representation from AST
- Perform optimization in IR
- TODO: List optimizations here
- Run IR inside a virtual machine
- Handbook for students using this project
- Grading tools and test cases
./ root folder
docs/ documents & handbooks
bindings/ bindings for different languages
crates/ libraries used in Azuki
syntax/ lexing & parsing & AST
tac/ three-address code (TAC) definition
tacgen/ TAC code generation
opt/ optimization passes
vm/ virtual machine
src/ reference design source
Online Judger (the other half of thesis project): Rurikawa
Previous attempts of Compilers Design lab in The College of Software in BUAA:
Azuki is licensed under MIT license.
Copyright (c) 2020 Rynco Maekawa.