c语言 ll 1 文法子集,简易c语言LL(1)文法

〈程序〉::〈声明〉|〈函数〉

〈声明〉::(A|〈声明〉')〈函数声明〉

A::〈头文件〉|〈宏定义〉

〈声明〉'::〈声明〉|null

〈头文件〉::〈头文件〉〈头文件〉'

〈头文件〉'::〈头文件〉|null

〈宏定义〉::#define B〈宏定义〉|null

B::〈字符串 〉C

C::〈字符串〉|〈数字〉

〈字符串〉::〈变量名〉

〈函数声明〉::〈返回值类型 〉〈函数名〉(〈形参〉) ;〈函数声明〉|null

〈形参〉::〈数据类型 〉〈变量名〉|〈数据类型 〉〈变量名〉〈,〉〈形参〉|void

〈变量名〉::〈字母〉D

D::〈字母〉|〈数字〉|〈_〉|D|null

〈字母〉::F〈字母〉'

F::a|b|...|y|z|(大写字母。。。)

〈字母〉'::〈字母〉|null

〈数字〉::E〈数字〉'

E::0|1|...|8|9

〈数字〉'::〈数字〉|null

〈返回值类型〉::int|float|char|void

〈函数名〉::〈变量名〉

〈函数〉::〈返回值类型〉〈函数名〉{〈函数主体〉}|函数名〉{〈函数主体〉}〈函数〉

〈函数主体〉::〈变量的申请〉〈处理语句〉

〈变量的申请〉::〈数据类型 〉〈变量名〉;〈变量的申请〉'

〈变量的申请〉'::〈变量的申请〉|null

〈数据类型 〉::int|float|char

〈处理语句〉::F〈处理语句〉'

F::〈赋值语句〉|〈判断语句〉|〈循环语句〉|〈函数调用〉

〈处理语句〉'::〈处理语句〉|null

〈赋值语句〉::〈变量名〉=G

G::〈字母〉|〈数字〉|〈变量名〉|〈运算〉

〈运算〉::〈变量名〉〈运算符〉〈数字〉|〈数字〉〈运算符〉〈数字〉

〈运算符〉::+|-|*|/

〈判断语句〉::if(〈条件〉){〈处理语句〉|null}H

H::〈Else if〉else{〈处理语句〉|null}|null

〈Else if〉::〈Else if〉'〈else if〉(〈条件〉){〈处理语句〉|null}|null

〈Else if〉'::〈Else if〉|null

〈条件〉::〈变量名〉〈判断运算符〉〈变量名〉|〈变量名〉〈判断运算符〉〈数字〉|〈数字〉〈判断运算符〉〈数字〉|〈数字〉

〈判断运算符〉::=|>|=|<=|!=

〈循环语句〉::while(〈条件〉){〈处理语句〉}|do{〈处理语句〉}while(〈条件〉)|for(〈赋值语句〉;〈条件〉;〈运算〉){〈处理语句〉}

〈函数调用〉::〈变量名〉=〈函数名〉(〈形参〉)|〈函数名〉(〈形参〉)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值