<程序> -> <外部声明>|<程序 外部声明>
<外部声明> -> <函数定义>|<定义>
<函数定义> -> <数据类型 声明符 复合语句>
<数据类型> -> <无字符>|<字符类型>|<整型>|<浮点型>
<声明符> -><指针 直接声明符>|<直接声明符>
<指针> -> <’*’>|<’*’指针>
<直接声明符> -> <标识符>|<直接声明符 ‘[‘’]’>|>à<标识符>|<直接声明符 ‘[‘ 普通表达式’]’>|<标识符 ‘(’ 参数表 ‘)’ >|<标识符 ‘(’ ‘)’ >|<直接声明符 ‘,’标识符表>
<一般表达式> -> <条件表达式>
<参数表> -> <参数声明>|<参数表 ‘,‘ 参数声明>
<复合语句> -> <’{‘ ‘}’>|<’{‘ 语句列表 ‘}’ >|<’{‘ 声明列表 语句表‘}’ >
<声明表> -> <声明>|<声明列表 声明>
<声明> -> <内声明符>|<内声明符表 ‘,’内声明符>
<内声明符> -> <声明符>|<声明符 ‘=’ 初始化>
<初始化> -> <赋值表达式>|<‘{’初始化列表'}‘>|<‘{’初始化列表 ‘,’ '}‘>
<初始化列表> -> <初始化>|<初始化列表 ‘,’ 初始化>
<语句列表> -> <语句>|<语句列表 语句>
<语句>->|<复合语句>|<表达式语句>|<选择语句>|<循环语句>|<跳转语句>
<表达式语句>-><';'>|<表达式';'>
<选择语句>-><如果'('表达式')'语句>|<如果'('表达式')'语句 否则 语句>
<循环语句>-><当'('表达式')'语句>|<for循环'('表达式语句 表达式语句')'语句>|<for循环'('表达式语句 表达式语句 表达式')'语句>
<跳转语句>->|<继续';'>|<停止';'>|<返回';'>|<返回表达式';'>