首页 > 技术文章 > 1014

alfredzhu 2015-10-29 11:39 原文

<程序>-><外部声明>

<外部声明>-><函数定义>|<声明>

<函数定义>-><类型说明符><声明符><复合语句>

<类型说明符>-><空型>|<字符型>|<整型>|<浮点型>

<声明符>-><指针直接声明符>|<直接声明符>

<指针>-><'*'>|<'*'指针>

<直接声明符>-><标识符>|<直接声明符'['']'>|<直接声明符'['常量表达式']'>|<标识符'('参数表')'>|<标识符'(' ')'>|<直接声明符','标识符表>

<标识符表>:<标识符>|<标识符表','标识符>

<常量表达式>-><条件表达式>

<参数表>-><参数声明>|<参数表','参数声明>

<参数声明>-><声明符 标识符>

<复合语句>-><'{''}'>|<'{'语句列表'}>|<'{'声明列表 语句列表'}'>

<声明列表>-><声明>|<声明列表 声明>

<声明>-><初始化声明符>|<初始化声明符表','初始化声明符>

<初始化声明符>-><声明>|<声明'='初始化>

<初始化>-><赋值表达式>|<'{'初始化表'}'>|<'{'初始化表',''}'>

<初始化表>-><初始化>|<初始化表','初始化>

<语句列表>-><语句>|<语句列表 语句>

<语句>->|<复合语句>|<表达式语句>|<选择语句>|<循环语句>|<跳转语句>

<表达式语句>-><';'>|<表达式';'>

<选择语句>-><如果'('表达式')'语句>|<如果'('表达式')'语句 否则 语句>

<循环语句>-><当'('表达式')'语句>|<for循环'('表达式语句 表达式语句')'语句>|<for循环'('表达式语句 表达式语句 表达式')'语句>

<跳转语句>->|<继续';'>|<停止';'>|<返回';'>|<返回表达式';'>

<表达式>:赋值表达式|<一元表达式 赋值运算符 赋值表达式>

<条件表达式>-><逻辑或表达式>|<逻辑或表达式'?'表达式':'条件表达式>

<逻辑或表达式>:<包容性或表达式>|<逻辑与表达式 与OP 包容性或表达式>

<包容性或表达式>-><异或表达式>|<包容性或表达式'|'异或表达式>

<异或表达式>:<与表达式>|<异或表达式'^'与表达式>

<与表达式>:<等表达式>|<与表达式'&'等表达式>

<等表达式>:<关系式>|<等表达式EQ_OP 关系式>|<等表达式NE_OP 关系式>

<关系式>:<移动式>|<关系式'<'移动式>|<关系式'>'移动式>|<关系式LE_OP移动式>|<关系式GE_OP移动式>

<移动式>:<加表达式>|<移动式 左_OP 加表达式>|<移动表达式 右_OP 加表达式>

<加表达式>:<乘式>|<加表达式'+'乘式>|<加表达式'-'乘式>

<乘式>:<转换表达式>|<乘式'*'转换表达式>|<乘式'/'转换表达式>|<乘式'%'转换表达式>

<转换表达式>:<一元表达式>|<'('类型名称')'转换表达式>

<一元表达式>:<后缀表达式>|<INC_OP 一元表达式>|<DEC_OP 一元表达式>|<一元运算符 转换表达式>|<SIZEOF 一元表达式>|<SIZEOF'('类型名称')'>

<后缀表达式>-><主要表达式>|<后缀表达式'['表达式']'>|<后缀表达式'('')">|<后缀表达式'('参数表达式列表')'>|<后缀表达式'.'标识符>|<后缀表达式 PTR_OP 标识符>|<后缀表达式 INC_OP>|<后缀表达式 DEC_OP>

 

推荐阅读