C语言文法定义及推导

文法推导如下:

<程序>→ <外部声明>|<程序><外部声明>
<外部声明>→ <函数定义>|<声明>
<函数定义>→ <类型说明><声明符><复合语句>
<类型说明>→void|char|int|float...
<声明符>→<指针直接说明符>|<直接声明符>
<指针>→<*>|<* *>
<直接声明符>→<标识符>|<直接声明>|<直接声明符[常量表达式]〉|<标识符(参数表)>|<标识符()>|<直接声明符,标识符列表>
<标识符列表>→<标识符>|<标识符列表><标识符>
<表达式>→<条件表达式>
<参数列表>→<参数声明>|参数列表<参数声明>
<参数声明>→<说明符声明><标识符>
<复合语句>→{语句列表} | {声明语句列表}
<声明列表>→<声明> |< 声明列表><声明>
<声明>→<初始化声明> |< 初始化声明列表>|<初始化声明>
<初始化声明>→<声明> | <声明><初始化程序>
<初始化程序>→<赋值表达式> |语句列表
<语句列表>→<语句> | <语句列表><语句>
<语句>→<复合语句> |< 表达式语句> |< 条件语句> |< 循环语句> |< 跳转语句>
<表达式语句>→<>| < 表达式> 
<条件语句>:<IF(表达式)语句> |< IF‘(‘ 表达式 )语句 >< 条件语句>

<循环语句>→ <WHILE ( 表达式) 语句> |< FOR (表达式语句+表达式语句 )语句|FOR ( 表达式语句 表达式语句 表达式)语句>

DEFAULT 语句

posted on 2016-10-28 23:01  140-吴华锐  阅读(1363)  评论(1编辑  收藏  举报