《自己手动写一个编译器、连接器》二(3)

来源:互联网 发布:淘宝优惠劵怎么设置 编辑:程序博客网 时间:2024/06/05 14:49

这次主要是来说一下语句
<语句>::={<复合语句>|< if语句>|< for语句>|< break语句>|< continue语句>|< return语句>|<表达式语句>}
其中:
<复合语句>::=<左大括号>{<声明>}{<语句>}<右大括号>
其实这个就想到于一个块作用域里面的块
<表达式语句>::={< expression>}<分号>
< if语句>::=< if关键字><左小括号><表达式><有小括号><语句>[< else关键字><语句>]
其中,我们注意到了那个语句和上面的语句表述,我们就知道了各种的if的嵌套关系。。。。。。
< for语句>::=< for关键字><左小括号><表达式语句><表达式语句><表达式><右小括号><语句>
< break语句>::=< break关键字><分号>
< continue语句>::=< continue关键字><分号>
< return语句>::= < return 关键字><分号>
<表达式>::=<赋值表达式>{<逗号><赋值表达式>}
<赋值表达式>::=<相等类表达式>|<一元表达式><赋值等号><赋值表达式>
<相等类表达式>::=<关系表达式>{<等于号><关系表达式>|<不等于号><关系表达式>}
<关系表达式>::=<加减类表达式>{<小于号><加减类表达式>|<大于号><加减类表达式>|<小于等于号><加减类表达式>|
<大于等于号><加减类表达式>}
<加减类表达式>::=<乘除类表达式>{<加号><乘除类表达式>|<减号><乘除类表达式>}
<乘除类表达式>::=<一元表达式>{<星号><一元表达式>|<除号><一元表达式>|<取余运算符><一元表达式>}
<一元表达式>::=<后缀表达式>|<与号><一元表达式>|<星号><一元表达式>|<加号><一元表达式>|<减号><一元表达式>|
< sizeof表达式>
< sizeof表达式>::=< sizeof关键字>(<类型区分符>)
这里的
一元&取址操作数应该是一个函数指示符或者表示一个对象的左值
和一元*解引用操作数应该是有指针性质的。
<后缀表达式>::=<初等表达式>{<左中括号>< expression><右中括号>|<左小括号><右小括号>|<左小括号><实参表达式表><右小括号>|<点号>IDENTIFIER|<箭头>IDENTIFIER}
<实参表达式表>::=<赋值表达式>{<逗号><赋值表达式>}
<初等表达式>::=<标识符>|<整数常量>|<字符串常量>|<字符常量>|(<表达式>)

阅读全文
1 0
原创粉丝点击