├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── executor ├── __init__.py └── executor.py ├── generator ├── __init__.py ├── errors.py ├── generator.py ├── symbol_table.py ├── types.py └── util.py ├── main.py ├── parser_ ├── C.g4 ├── C.tokens ├── CLexer.py ├── CLexer.tokens ├── CListener.py ├── CParser.py ├── CVisitor.py └── __init__.py ├── test.py ├── test ├── AVLTree.c ├── KMP.c ├── __init__.py ├── arithmetic.c ├── fibonacci.c ├── linkedlist.c ├── palindrome.c └── testcase.py └── unit_test ├── __init__.py ├── array.c ├── array.txt ├── assignment_operator.c ├── assignment_operator.txt ├── error.c ├── expression.c ├── function.c ├── function.txt ├── initialize.c ├── initialize.txt ├── loop.c ├── loop.txt ├── pointer.c ├── pointer.txt ├── scope.c ├── scope.txt ├── select.c ├── select.txt ├── struct.c ├── struct.txt ├── temp.txt ├── testcase.py ├── unaryop.c └── unaryop.txt /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/README.md -------------------------------------------------------------------------------- /executor/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /executor/executor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/executor/executor.py -------------------------------------------------------------------------------- /generator/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /generator/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/generator/errors.py -------------------------------------------------------------------------------- /generator/generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/generator/generator.py -------------------------------------------------------------------------------- /generator/symbol_table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/generator/symbol_table.py -------------------------------------------------------------------------------- /generator/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/generator/types.py -------------------------------------------------------------------------------- /generator/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/generator/util.py -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/main.py -------------------------------------------------------------------------------- /parser_/C.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/parser_/C.g4 -------------------------------------------------------------------------------- /parser_/C.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/parser_/C.tokens -------------------------------------------------------------------------------- /parser_/CLexer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/parser_/CLexer.py -------------------------------------------------------------------------------- /parser_/CLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/parser_/CLexer.tokens -------------------------------------------------------------------------------- /parser_/CListener.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/parser_/CListener.py -------------------------------------------------------------------------------- /parser_/CParser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/parser_/CParser.py -------------------------------------------------------------------------------- /parser_/CVisitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/parser_/CVisitor.py -------------------------------------------------------------------------------- /parser_/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/test.py -------------------------------------------------------------------------------- /test/AVLTree.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/test/AVLTree.c -------------------------------------------------------------------------------- /test/KMP.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/test/KMP.c -------------------------------------------------------------------------------- /test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/arithmetic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/test/arithmetic.c -------------------------------------------------------------------------------- /test/fibonacci.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/test/fibonacci.c -------------------------------------------------------------------------------- /test/linkedlist.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/test/linkedlist.c -------------------------------------------------------------------------------- /test/palindrome.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/test/palindrome.c -------------------------------------------------------------------------------- /test/testcase.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/test/testcase.py -------------------------------------------------------------------------------- /unit_test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unit_test/array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/array.c -------------------------------------------------------------------------------- /unit_test/array.txt: -------------------------------------------------------------------------------- 1 | array= 2 | 1,2,3,4, 3 | 5,6,7,8, 4 | 9,11,12,13, 5 | ! 6 | Hello world 7 | -------------------------------------------------------------------------------- /unit_test/assignment_operator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/assignment_operator.c -------------------------------------------------------------------------------- /unit_test/assignment_operator.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/assignment_operator.txt -------------------------------------------------------------------------------- /unit_test/error.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/error.c -------------------------------------------------------------------------------- /unit_test/expression.c: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unit_test/function.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/function.c -------------------------------------------------------------------------------- /unit_test/function.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/function.txt -------------------------------------------------------------------------------- /unit_test/initialize.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/initialize.c -------------------------------------------------------------------------------- /unit_test/initialize.txt: -------------------------------------------------------------------------------- 1 | i=5.566600 2 | i2=4.444000 3 | j=1 4 | k=5 5 | 5 ! 6 | -------------------------------------------------------------------------------- /unit_test/loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/loop.c -------------------------------------------------------------------------------- /unit_test/loop.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/loop.txt -------------------------------------------------------------------------------- /unit_test/pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/pointer.c -------------------------------------------------------------------------------- /unit_test/pointer.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/pointer.txt -------------------------------------------------------------------------------- /unit_test/scope.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/scope.c -------------------------------------------------------------------------------- /unit_test/scope.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/scope.txt -------------------------------------------------------------------------------- /unit_test/select.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/select.c -------------------------------------------------------------------------------- /unit_test/select.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/select.txt -------------------------------------------------------------------------------- /unit_test/struct.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/struct.c -------------------------------------------------------------------------------- /unit_test/struct.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/struct.txt -------------------------------------------------------------------------------- /unit_test/temp.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/temp.txt -------------------------------------------------------------------------------- /unit_test/testcase.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/testcase.py -------------------------------------------------------------------------------- /unit_test/unaryop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/unaryop.c -------------------------------------------------------------------------------- /unit_test/unaryop.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JunguangJiang/TinyCCompiler/HEAD/unit_test/unaryop.txt --------------------------------------------------------------------------------