lexical | ||
semantic | ||
syntax | ||
.gitignore | ||
error.py | ||
LICENSE | ||
main.py | ||
README.md | ||
rule_back.py | ||
semantic_rule_back.py | ||
test1.c | ||
test2.c | ||
test3.c | ||
test4.c | ||
test5.c | ||
test6.c | ||
test7.c | ||
test8.c | ||
test9.c | ||
test.c | ||
test.py |
C(缩减版)语言编译器前端
是什么
NUAA 2017年编译原理课设,词法分析使用正则表达式,语法分析使用LL(1)文法分析器, 语义分析使用自上而下翻译,使用 Python 语言编写,面向配置化,稍加改造可以适用其他文法
怎么使用
git clone https://github.com/FlyAndNotDown/CSub-CompilerFrontend.git
在 PyCharm 中打开新建项目导入代码即可,Python 使用版本为 3 以上,请不要使用 Python2 运行该项目
代码结构说明
- main.py 编译器主程序
- error.py 存放错误相关的类和代码
- test.c 要编译的文件
- lexical 词法分析
- syntax 语法分析
- semantic 语义分析
另外,三大分析中 rule.py 即是支持编译器的所有文法、词法、语义规则,加以改动即可面向一些其他的文法和语言使用
关于
NUAA 161520311 John Kindem