编译原理课程设计-一个C语言子集编译器
项目地址
https://github/qiushuang139/c-compliers
联系方式:
- email:qiushuang820@outlook
项目介绍
这是一个用Java实现的C语言子集的编译器。语法分析方法采用LL(1)方法,能够实现将C语言的源代码翻译为四元式。目前能够实现变量的声明与使用、bool值语言、普通算术运算、for、while、if-else、if、do-while循环等语言的翻译。
文法表达式
开始语句(Start statement)
B->{S}
复合语句(Compound statement)
S->CS
S->$
C->D | J | R
控制语句(Control statement)
J-> if(E){S}else{S}
J->if(E){S}
J->while(E){S}
J->for(D;G;W){S}
bool运算(bool calculation)
E->HP
P->&&E | $
H->GI
I->||E
G->FKF | true |false
D-> < | > | == | != | <= | >=
G->(E)
G->!E
变量声明语句
D-> TN
T->float|char|int|bool
N->ZA
Z->id U
A->,Z
U->=L | $
赋值语句
R->id=L
算术运算语句
L->XM
M->+L | -L |$
X->FY
Y->*X | /x |$
F->(L)| id| num |bool
更多推荐
编译原理课程设计-C语言子集编译器(Java实现)
发布评论