├── .clang-format ├── .clang-tidy ├── .gitattributes ├── .github └── workflows │ └── auto-test.yml ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── doc ├── .gitignore ├── Design.md ├── SysY2023.g4 └── SysY2023plus.g4 ├── download.py ├── src ├── backend │ ├── alias.h │ ├── component.cpp │ ├── component.h │ ├── operand.h │ └── translator.h ├── dbg.h ├── enum.h ├── frontend │ ├── grammar.h │ ├── lexer.cpp │ ├── lexer.h │ ├── message.h │ ├── parser.cpp │ ├── parser.h │ ├── token.h │ ├── visitor.cpp │ └── visitor.h ├── main.cpp ├── mips │ ├── alias.h │ ├── arithmetic.cpp │ ├── instruction.h │ ├── operand.h │ ├── opt.cpp │ ├── opt.h │ ├── printer.cpp │ ├── printer.h │ ├── reg_alloca.cpp │ ├── reg_alloca.h │ ├── translator.cpp │ └── translator.h ├── mir.h ├── mir │ ├── derived_value.cpp │ ├── derived_value.h │ ├── instruction.cpp │ ├── instruction.h │ ├── manager.h │ ├── type.cpp │ ├── type.h │ └── value.h ├── opt │ ├── array.cpp │ ├── constant.cpp │ ├── functional.cpp │ ├── functional.h │ ├── gcm.cpp │ ├── gvn.cpp │ ├── mem2reg.cpp │ ├── mem2reg.h │ ├── opt.cpp │ └── opt.h ├── riscv │ ├── alias.h │ ├── instruction.cpp │ ├── instruction.h │ ├── memset0.asm │ ├── operand.h │ ├── opt.cpp │ ├── opt.h │ ├── printer.h │ ├── reg_alloca.cpp │ ├── reg_alloca.h │ ├── translator.cpp │ └── translator.h ├── settings.h ├── slice.h ├── str_helper.h └── util.h ├── tests ├── .gitignore ├── auto_llvm.sh ├── auto_test.py ├── libsysy │ ├── libsysy.c │ └── libsysy.h ├── run_asm.sh └── run_llvm.sh └── zip.sh /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/.clang-format -------------------------------------------------------------------------------- /.clang-tidy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/.clang-tidy -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/auto-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/.github/workflows/auto-test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/README.md -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | ** 3 | !.gitignore 4 | !SysY2023*.g4 5 | !Design.md -------------------------------------------------------------------------------- /doc/Design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/doc/Design.md -------------------------------------------------------------------------------- /doc/SysY2023.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/doc/SysY2023.g4 -------------------------------------------------------------------------------- /doc/SysY2023plus.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/doc/SysY2023plus.g4 -------------------------------------------------------------------------------- /download.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/download.py -------------------------------------------------------------------------------- /src/backend/alias.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/backend/alias.h -------------------------------------------------------------------------------- /src/backend/component.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/backend/component.cpp -------------------------------------------------------------------------------- /src/backend/component.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/backend/component.h -------------------------------------------------------------------------------- /src/backend/operand.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/backend/operand.h -------------------------------------------------------------------------------- /src/backend/translator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/backend/translator.h -------------------------------------------------------------------------------- /src/dbg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/dbg.h -------------------------------------------------------------------------------- /src/enum.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/enum.h -------------------------------------------------------------------------------- /src/frontend/grammar.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/frontend/grammar.h -------------------------------------------------------------------------------- /src/frontend/lexer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/frontend/lexer.cpp -------------------------------------------------------------------------------- /src/frontend/lexer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/frontend/lexer.h -------------------------------------------------------------------------------- /src/frontend/message.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/frontend/message.h -------------------------------------------------------------------------------- /src/frontend/parser.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/frontend/parser.cpp -------------------------------------------------------------------------------- /src/frontend/parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/frontend/parser.h -------------------------------------------------------------------------------- /src/frontend/token.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/frontend/token.h -------------------------------------------------------------------------------- /src/frontend/visitor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/frontend/visitor.cpp -------------------------------------------------------------------------------- /src/frontend/visitor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/frontend/visitor.h -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/main.cpp -------------------------------------------------------------------------------- /src/mips/alias.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/alias.h -------------------------------------------------------------------------------- /src/mips/arithmetic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/arithmetic.cpp -------------------------------------------------------------------------------- /src/mips/instruction.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/instruction.h -------------------------------------------------------------------------------- /src/mips/operand.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/operand.h -------------------------------------------------------------------------------- /src/mips/opt.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/opt.cpp -------------------------------------------------------------------------------- /src/mips/opt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/opt.h -------------------------------------------------------------------------------- /src/mips/printer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/printer.cpp -------------------------------------------------------------------------------- /src/mips/printer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/printer.h -------------------------------------------------------------------------------- /src/mips/reg_alloca.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/reg_alloca.cpp -------------------------------------------------------------------------------- /src/mips/reg_alloca.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/reg_alloca.h -------------------------------------------------------------------------------- /src/mips/translator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/translator.cpp -------------------------------------------------------------------------------- /src/mips/translator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mips/translator.h -------------------------------------------------------------------------------- /src/mir.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mir.h -------------------------------------------------------------------------------- /src/mir/derived_value.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mir/derived_value.cpp -------------------------------------------------------------------------------- /src/mir/derived_value.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mir/derived_value.h -------------------------------------------------------------------------------- /src/mir/instruction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mir/instruction.cpp -------------------------------------------------------------------------------- /src/mir/instruction.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mir/instruction.h -------------------------------------------------------------------------------- /src/mir/manager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mir/manager.h -------------------------------------------------------------------------------- /src/mir/type.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mir/type.cpp -------------------------------------------------------------------------------- /src/mir/type.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mir/type.h -------------------------------------------------------------------------------- /src/mir/value.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/mir/value.h -------------------------------------------------------------------------------- /src/opt/array.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/opt/array.cpp -------------------------------------------------------------------------------- /src/opt/constant.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/opt/constant.cpp -------------------------------------------------------------------------------- /src/opt/functional.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/opt/functional.cpp -------------------------------------------------------------------------------- /src/opt/functional.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/opt/functional.h -------------------------------------------------------------------------------- /src/opt/gcm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/opt/gcm.cpp -------------------------------------------------------------------------------- /src/opt/gvn.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/opt/gvn.cpp -------------------------------------------------------------------------------- /src/opt/mem2reg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/opt/mem2reg.cpp -------------------------------------------------------------------------------- /src/opt/mem2reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/opt/mem2reg.h -------------------------------------------------------------------------------- /src/opt/opt.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/opt/opt.cpp -------------------------------------------------------------------------------- /src/opt/opt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/opt/opt.h -------------------------------------------------------------------------------- /src/riscv/alias.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/alias.h -------------------------------------------------------------------------------- /src/riscv/instruction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/instruction.cpp -------------------------------------------------------------------------------- /src/riscv/instruction.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/instruction.h -------------------------------------------------------------------------------- /src/riscv/memset0.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/memset0.asm -------------------------------------------------------------------------------- /src/riscv/operand.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/operand.h -------------------------------------------------------------------------------- /src/riscv/opt.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/opt.cpp -------------------------------------------------------------------------------- /src/riscv/opt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/opt.h -------------------------------------------------------------------------------- /src/riscv/printer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/printer.h -------------------------------------------------------------------------------- /src/riscv/reg_alloca.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/reg_alloca.cpp -------------------------------------------------------------------------------- /src/riscv/reg_alloca.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/reg_alloca.h -------------------------------------------------------------------------------- /src/riscv/translator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/translator.cpp -------------------------------------------------------------------------------- /src/riscv/translator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/riscv/translator.h -------------------------------------------------------------------------------- /src/settings.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/settings.h -------------------------------------------------------------------------------- /src/slice.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/slice.h -------------------------------------------------------------------------------- /src/str_helper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/str_helper.h -------------------------------------------------------------------------------- /src/util.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/src/util.h -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/tests/.gitignore -------------------------------------------------------------------------------- /tests/auto_llvm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/tests/auto_llvm.sh -------------------------------------------------------------------------------- /tests/auto_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/tests/auto_test.py -------------------------------------------------------------------------------- /tests/libsysy/libsysy.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/tests/libsysy/libsysy.c -------------------------------------------------------------------------------- /tests/libsysy/libsysy.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/tests/libsysy/libsysy.h -------------------------------------------------------------------------------- /tests/run_asm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/tests/run_asm.sh -------------------------------------------------------------------------------- /tests/run_llvm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/tests/run_llvm.sh -------------------------------------------------------------------------------- /zip.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Toby-Shi-cloud/SysY-Compiler-2023/HEAD/zip.sh --------------------------------------------------------------------------------