標籤:
<translation-unit> ::= {<external-declaration>}*
<程式>→<外部聲明>|<程式 外部聲明>
<外部聲明>→<函數定義>|<定義>
<函數定義>→<類型 複合陳述式>
<類型>→<無字元>|<字元型>|<整形>|<浮點型>
<聲明符>→<指標直接聲明符>|<直接聲明>
<指標>→<’*’>|<’*’指標>
<直接聲明符>→<標識符>|<直接聲明符’[’’]’>|<直接聲明符’[’普通運算式’]’>|<標識符’(’參數表’)’>|<標識符’(’’)’>|<直接聲明符’,’標識符>
<標識符列表>:<標識符>|<標識符列表’,’標識符>
<一般運算式>→<條件運算式>
<參數表>→<參數聲明>|<參數表’,’參數聲明>
<參數聲明>→<聲明說明符 標識符>
<複合陳述式>→<’{’’}’>|<’{’語句列表’}’>|<’{’聲明列表 語句列表’}’>
<聲明列表 >→<聲明>|<’{’聲明列表 聲明’}’>
<聲明 >→<初始化 聲明符>|<初始化 聲明符列表’,’ 初始化 聲明符’>
<初始化 聲明符>→<聲明符>|<聲明符’=’ 初始化’>
<初始化>→<分配表達>|<’{’初始化列表’}’>|<’{’初始化列表’,’’}’>
<初始化列表>→<初始化>|<初始化列表’,’初始化>
<聲明列表>→<聲明>|<聲明列表 聲明>
<聲明>→<複合聲明>|<表達聲明>|<選擇聲明>|<迴圈聲明>|<跳轉聲明>
<表達聲明>→<’;’>|<表達’;’>
<選擇聲明>→<:if’(’表達’)’聲明>|<:if’(’表達’)’聲明 else 聲明>
<迴圈聲明>→<while’(’表達’)’聲明>|<for’(’表達聲明 表達聲明’)’聲明>|<for’(’表達聲明 表達聲明 表達’)’聲明>
<跳轉聲明>→<continue’,’>|<break’,’>|<return’,’>|<return 表達’,’>
<表達>→<:分配表達>|<表達’,’分配表達>
<分配表達>→<條件表達>|<一元表達 分配運算子 分配表達>
<條件表達>→<邏輯 or 表達>|<邏輯 or 表達’?’>
語文文法(go on)