C语言编译器
lex和yacc编写的c语言编译器
词法分析与语法分析的原始文件扩展: ://www.quut.com/c/ANSI-C-grammar-l-1998.html和
实现了C语言除了struct和指针几乎所有的语法。
运行
环境要求:flex bison g ++ 11 python3
中间代码生成
Windows命令行输入:
flex compiler.l
bison -vdty compiler.y
g++ -std=c++11 -o compiler tree.cpp Praser.cpp innerCode.cpp tools.cpp codeOptimize.cpp lex.yy.c y.tab.c
compiler.exe test/test.c
或者
makefile.bat
目标代码生成
进入objectcode文件夹,命令行输入
python objectcode.py
objectcode.py读取的源文件为inter.txt,生成的mips汇流编码在result.asm文件中
中间代码格式定义
语法
描述
标签1:
定义标签label1
功能f:
1