├── .gitignore ├── CMakeLists.txt ├── README.md ├── ast.h ├── codegen.cc ├── codegen.h ├── demo ├── 2048.c ├── array.c ├── binary_err.c ├── cast.c ├── cast2.c ├── e1.c ├── e10.c ├── e11.c ├── e12.c ├── e13.c ├── e14.c ├── e15.c ├── e16.c ├── e17.c ├── e18.c ├── e19.c ├── e2.c ├── e20.c ├── e21.c ├── e22.c ├── e23.c ├── e3.c ├── e4.c ├── e5.c ├── e6.c ├── e7.c ├── e8.c ├── e9.c ├── eval1.c ├── eval2.c ├── expr.txt ├── lisp.bc ├── lisp.c ├── lisp.lisp ├── lisp2.lisp ├── lispc.bc ├── maze.c ├── nqueen.c ├── test_struct_ret.c └── typedef.c ├── diag.inc ├── diag_engine.cc ├── diag_engine.h ├── doc └── ebnf.txt ├── eval_constant.cc ├── eval_constant.h ├── lexer.cc ├── lexer.h ├── main.cc ├── parser.cc ├── parser.h ├── print_visitor.cc ├── print_visitor.h ├── scope.cc ├── scope.h ├── script ├── apple_m.sh ├── test.sh └── ubuntu20_x86.sh ├── sema.cc ├── sema.h ├── studybackend ├── day01.c └── day01.s ├── test ├── CMakeLists.txt ├── codegen │ ├── CMakeLists.txt │ └── codegen_test.cc ├── lexer │ ├── CMakeLists.txt │ └── lexer_test.cc └── parser │ ├── CMakeLists.txt │ └── parser_test.cc ├── type.cc └── type.h /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/README.md -------------------------------------------------------------------------------- /ast.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/ast.h -------------------------------------------------------------------------------- /codegen.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/codegen.cc -------------------------------------------------------------------------------- /codegen.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/codegen.h -------------------------------------------------------------------------------- /demo/2048.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/2048.c -------------------------------------------------------------------------------- /demo/array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/array.c -------------------------------------------------------------------------------- /demo/binary_err.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/binary_err.c -------------------------------------------------------------------------------- /demo/cast.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/cast.c -------------------------------------------------------------------------------- /demo/cast2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/cast2.c -------------------------------------------------------------------------------- /demo/e1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e1.c -------------------------------------------------------------------------------- /demo/e10.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e10.c -------------------------------------------------------------------------------- /demo/e11.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e11.c -------------------------------------------------------------------------------- /demo/e12.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e12.c -------------------------------------------------------------------------------- /demo/e13.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e13.c -------------------------------------------------------------------------------- /demo/e14.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e14.c -------------------------------------------------------------------------------- /demo/e15.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e15.c -------------------------------------------------------------------------------- /demo/e16.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e16.c -------------------------------------------------------------------------------- /demo/e17.c: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/e18.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e18.c -------------------------------------------------------------------------------- /demo/e19.c: -------------------------------------------------------------------------------- 1 | int main(){int a=0,b=3;a=2;return a;} -------------------------------------------------------------------------------- /demo/e2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e2.c -------------------------------------------------------------------------------- /demo/e20.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e20.c -------------------------------------------------------------------------------- /demo/e21.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e21.c -------------------------------------------------------------------------------- /demo/e22.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e22.c -------------------------------------------------------------------------------- /demo/e23.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e23.c -------------------------------------------------------------------------------- /demo/e3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e3.c -------------------------------------------------------------------------------- /demo/e4.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e4.c -------------------------------------------------------------------------------- /demo/e5.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e5.c -------------------------------------------------------------------------------- /demo/e6.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e6.c -------------------------------------------------------------------------------- /demo/e7.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e7.c -------------------------------------------------------------------------------- /demo/e8.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e8.c -------------------------------------------------------------------------------- /demo/e9.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/e9.c -------------------------------------------------------------------------------- /demo/eval1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/eval1.c -------------------------------------------------------------------------------- /demo/eval2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/eval2.c -------------------------------------------------------------------------------- /demo/expr.txt: -------------------------------------------------------------------------------- 1 | int main(){int a=0,b=3;a=2;return a;} -------------------------------------------------------------------------------- /demo/lisp.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/lisp.bc -------------------------------------------------------------------------------- /demo/lisp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/lisp.c -------------------------------------------------------------------------------- /demo/lisp.lisp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/lisp.lisp -------------------------------------------------------------------------------- /demo/lisp2.lisp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/lispc.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/lispc.bc -------------------------------------------------------------------------------- /demo/maze.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/maze.c -------------------------------------------------------------------------------- /demo/nqueen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/nqueen.c -------------------------------------------------------------------------------- /demo/test_struct_ret.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/test_struct_ret.c -------------------------------------------------------------------------------- /demo/typedef.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/demo/typedef.c -------------------------------------------------------------------------------- /diag.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/diag.inc -------------------------------------------------------------------------------- /diag_engine.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/diag_engine.cc -------------------------------------------------------------------------------- /diag_engine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/diag_engine.h -------------------------------------------------------------------------------- /doc/ebnf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/doc/ebnf.txt -------------------------------------------------------------------------------- /eval_constant.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/eval_constant.cc -------------------------------------------------------------------------------- /eval_constant.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/eval_constant.h -------------------------------------------------------------------------------- /lexer.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/lexer.cc -------------------------------------------------------------------------------- /lexer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/lexer.h -------------------------------------------------------------------------------- /main.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/main.cc -------------------------------------------------------------------------------- /parser.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/parser.cc -------------------------------------------------------------------------------- /parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/parser.h -------------------------------------------------------------------------------- /print_visitor.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/print_visitor.cc -------------------------------------------------------------------------------- /print_visitor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/print_visitor.h -------------------------------------------------------------------------------- /scope.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/scope.cc -------------------------------------------------------------------------------- /scope.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/scope.h -------------------------------------------------------------------------------- /script/apple_m.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/script/apple_m.sh -------------------------------------------------------------------------------- /script/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/script/test.sh -------------------------------------------------------------------------------- /script/ubuntu20_x86.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/script/ubuntu20_x86.sh -------------------------------------------------------------------------------- /sema.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/sema.cc -------------------------------------------------------------------------------- /sema.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/sema.h -------------------------------------------------------------------------------- /studybackend/day01.c: -------------------------------------------------------------------------------- 1 | int main() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /studybackend/day01.s: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/test/CMakeLists.txt -------------------------------------------------------------------------------- /test/codegen/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/test/codegen/CMakeLists.txt -------------------------------------------------------------------------------- /test/codegen/codegen_test.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/test/codegen/codegen_test.cc -------------------------------------------------------------------------------- /test/lexer/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/test/lexer/CMakeLists.txt -------------------------------------------------------------------------------- /test/lexer/lexer_test.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/test/lexer/lexer_test.cc -------------------------------------------------------------------------------- /test/parser/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/test/parser/CMakeLists.txt -------------------------------------------------------------------------------- /test/parser/parser_test.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/test/parser/parser_test.cc -------------------------------------------------------------------------------- /type.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/type.cc -------------------------------------------------------------------------------- /type.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiicp/subc-llvm/HEAD/type.h --------------------------------------------------------------------------------