编译原理课程设计-C语言子集编译器(Java实现)

编译原理课程设计-一个C语言子集编译器

项目地址

https://github.com/qiushuang139/c-compliers
联系方式:

  • email:qiushuang820@outlook.com
项目介绍

这是一个用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

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值