您的位置:首页 > 编程语言 > C语言/C++

C语言文法定义

2015-10-29 17:20 288 查看
<参数声明>→<声明说明符><表示符>
<复合语句>→<{}>|<{语句列表}>|<{声明列表 语句列表}>
<声明列表>→<声明>|<声明列表 声明>
<声明>→<初始说明符>|<初始说明符表,初始说明符>
<初始说明符>→<说明符>|<说明符=初始设定式>
<初始设定式>→<赋值表达式>|<{初始设定式表}>|<初始设定式表,>
<初始设定式表>→<初始设定式>|<初始设定式表,初设设定式>
<语句表>→<语句>|<语句表><语句>
<语句>→<复合语句>|<表达式语句>|<选择语句>|<迭代语句>|<跳转语句>
<表达式语句>→;|<表达式;>
<选择语句>→<if(表达式)语句>|<if(表达式)语句else语句>
<迭代语句>→<while(表达式)>|<for(表达式语句 表达式语句)>|<for(表达式语句 表达式语句 表达式)>
<跳转语句>→continue;|break;|return;|return 表达式;
<表达式>→<赋值表达式>|<表达式><赋值表达式>
<赋值表达式>→<条件表达式>|<一元表达式><赋值表达式><赋值表达式>
<条件表达式>→<逻辑或表达式>|<逻辑或表达式>?<表达式>:<条件表达式>
<逻辑或表达式>→<逻辑与表达式>|<逻辑或表达式><逻辑与表达式>
<逻辑与表达式>→<包容或表达式>|<逻辑与表达式><包容或表达式>
<包容或表达式>→<异或表达式>|<包容或表达式>'|'<异或表达式>
<异或表达式>→<和表达式>|<异或表达式>'^'<和表达式>
<和表达式>→<平等表达式>|<和表达式>'&'<平等表达式>
<平等表达式>→<关系表达式>|<平等表达式>EQ_OP<关系表达式>|<平等表达式>NE_OP<关系表达式>
<关系表达式>→<转变表达式>|<关系表达式>'<'<转变表达式>|<关系表达式>'>'<转变表达>|<关系表达式>LE_OP<转变表达>|<关系表达式>GE_OP<转变表达>
<转变表达式>→<加法表达式>|<转变表达>LEFT_OP<加法表达式>|<转变表达>RIGHT_OP<加法表达式>
<加法表达式>→<乘法表达式>|<加法表达式>'+'<乘法表达式>|<加法表达式>'-'<乘法表达式>
<乘法表达式>→<转型表达式>|<乘法表达式>'*'<转型表达式>|<乘法表达式>'/'<转型表达式>|<乘法表达式>'%'<转型表达式>
<转型表达式>→<一元表达式>|(类型名称)<一元表达式>
<一元表达式>→<后缀表达式>|INC_OP<一元表达式>|DEC_OP<一元表达式>|<一元表达式><转型表达式>|SIZEOF<一元表达式>|SIZEOF(类型名称)
<后缀表达式>→<主要表达>|<后缀表达式>[表达式]|<后缀表达式>()|<后缀表达式>(参数表达式列表)|<后缀表达式>.标识符|<后缀表达式>PTR_OP标识符|<后缀表达式>INC_OP|<后缀表达式>DEC_OP
<主要表达>→<标识符>|CONSTANT|<字符串文字>|(表达式)
<参数表达式列表>→<赋值表达式>|<参数表达式列表><赋值表达式>
<一元运算符>→&|*|+|-|~|!
<赋值操作符>→<多分配>|<股利分配>|<模分配>|<添加分配>|<子分配>|<离开分配>|<正确的分配>|<和分配>
<存储类说明符>→< TYPEDEF >|< EXTERN >|< STATIC >|< AUTO >|< REGISTER >
<结构或联合说明符>→<结构或联合说明符><结构体声明列表>|<结构或联合><结构体声明列表>|<结构或联合><标识符>
<结构或联合>→< STRUCT >|< UNION >
<结构体声明列表>→<结构体声明>|<结构体声明><结构体声明列表>
<结构体声明>→<说明符限定符列表><结构说明符>
<说明符限定符列表>→<类型说明符><说明符限定符列表>|<类型说明符>|<说明符限定符列表>|<类型限定符>
<结构说明符列表>→<结构说明符>|<结构说明符列表><结构说明符>
<结构说明符>→<说明符>|<常数表达式>|<常数表达式><说明符>
<枚举说明符>→<枚举器列表>|<枚举标识符><枚举器列表>|<枚举标识符>
<枚举标识符>→<枚举>|<枚举标识符><枚举>
<枚举>→<标识符>|<常数表达式><标识符>
<类型限定符>→<常量>|<挥发性>
<类型限定符列表>→<类型限定符>|<类型限定符列表><类型限定符>
<参数类型列表>→<参数列表>|<参数列表>< ELLIPSIS >
<参数列表>→<参数声明>|<参数列表><参数声明>
<类型名称>→<说明符限定符列表>|<说明符限定符列表><摘要说明符>
<摘要说明符>→<指针>|<直接抽象说明符>|<指针><直接抽象说明符>
<直接抽象说明符>→<抽象说明符>|<常数表达式>|< '[' ']'>|<直接抽象说明符>< '[' ']'>|<直接抽象说明符>< '['常数表达式']'| '(' ')'| '('参数类型列表')'|<直接抽象说明符> '(' ')'|<直接抽象说明符> '('参数类型列表')'
<标记语句>→<标识符><声明>|<常数表达式><语句>|<默认><声明>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: