编译原理课程设计-一个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实现)