c文法

程序→<外部声明>|<程序>

外部声明→<功能定义>|<声明>

功能定义→<声明复合语句的类型>

类型→<VOID| CHAR| INT| FLOAT>

说明符→<指针直接说明符>|<直接说明符>

指针→<*>|<*指针>

直接说明符→<标识符>|<直接说明符’[‘ ‘]’ >|<直接说明符’[’ 常数表达式 ’]’>|<标识符'(' 参数列表 ')'

>|<标识符'(' ')'|直接说明‘,’标识符表

标识符表→标识符 |标识符列表

常数表

程序→<外部声明>|<程序>

外部声明→<功能定义>|<声明>

功能定义→<声明复合语句的类型>

类型→<VOID| CHAR| INT| FLOAT>

说明符→<指针直接说明符>|<直接说明符>

指针→<*>|<*指针>

直接说明符→<标识符>|<直接说明符’[‘ ‘]’ >|<直接说明符’[’ 常数表达式 ’]’>|<标识符'(' 参数列表 ')'

>|<标识符'(' ')'|直接说明‘,’标识符表

标识符表→标识符 |标识符列表

常数表达式→条件表达式

参数表→参数声明|参数表

参数声明→标识符的声明符说明

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

声明→声明符|初始化声明符

初始化声明符→声明符|声明符的初始设定式

初始设定式→赋值表达式| '{' 初始设定式列表 '}'

语句→选择语句|循环语句|跳转语句|表达语句|条件语句

表达语句→;|表达式;

选择语句→if(表达式)语句| if(表达式)语句else语句

循环语句→while(表达式)语句|for(表达式;表达式;表达式)语句|

跳转语句→| CONTINUE ';'| BREAK ';'| RETURN ';'| 返回表达式';'

达式→条件表达式

参数表→参数声明|参数表

参数声明→标识符的声明符说明

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

声明→声明符|初始化声明符

初始化声明符→声明符|声明符的初始设定式

初始设定式→赋值表达式| '{' 初始设定式列表 '}'

语句→选择语句|循环语句|跳转语句|表达语句|条件语句

表达语句→;|表达式;

选择语句→if(表达式)语句| if(表达式)语句else语句

循环语句→while(表达式)语句|for(表达式;表达式;表达式)语句|

跳转语句→| CONTINUE ';'| BREAK ';'| RETURN ';'| 返回表达式';'

posted @ 2015-10-29 17:40  50张国镜  阅读(465)  评论(1编辑  收藏  举报