<程式> →<外部聲明>|<程式><外部聲明>
<外部聲明> →<函數定義>|<聲明>
<函數定義> → <類型說明符><聲明符><複合語句>
<類型說明符> →|||
<聲明符> →<指針直接聲明符>|<直接聲明符>
<指針> →<'*'>|<' *' 指針>
<直接聲明符>→<辨別符><直接聲明符 '['']'><直接聲明符 '[' 常量表達式']'>|<辨別符 (參數清單)>|<辨別符 '(' ')'>|<直接聲明符 ',' 辨別符清單>
<辨別符清單><: 辨別符>|<辨別符清單','辨別符>
<常數表達式> →<條件表達式>
<參數清單> →<參數聲明>|<參數清單 ',' 參數聲明>
<參數聲明> →<聲明說明符><辨別符>
<複合語句> →<'{' '}'>|<' {' 語句清單 '}'>|<' {' 聲明語句清單 '}'>
<聲明清單> →<聲明>|<聲明清單><聲明>
<聲明> →<初始化聲明符>|<初始化聲明符清單 ',' 初始化聲明符>
<初始化聲明符> →<聲明符>|<聲明符 '=' 初始值設定項>
<初始值設定項> →<指派表達式>|<' {' 初始值設定項清單 '}'>|<' {'初始值設定項清單',' '}'>
<初始值設定項清單> →<初始值設定項>|<初始值設定項清單 ',' 初始值設定項>
<語句清單> →<聲明>|<語句清單>
<語句> →|<複合語句>|<表達式語句>|<選擇語句>|<疊代語句>|<跳轉語句>
<表達式語句> →<';'>|<表達式 ';'>
<選擇語句><: IF '(' 表達式')' 語句>|<IF '(' 表達式')' 語句的 ELSE 語句>
<疊代語句> →<WHILE '(' 表達式')' 語句>|<FOR'(' 表達式語句表達式語句')' 語句>|<FOR'(' 表達式語句表達式語句表達式')' 語句>
<跳轉語句>|<繼續 ';'>|<打破;><傳回 ';'>|<傳回表達式 ';'>
<表達式><: 指派表達式>|<表達式 ',' 指派表達式>
<指派表達式> →<條件表達式>|<一進制表達式><指派運算符><指派表達式>
<條件表達式 >→<邏輯或表達式>|<邏輯或表達式 '? '表達':' 條件表達式>
<邏輯或表達式 >→<邏輯和表達>|<邏輯或邏輯 OR 運算表達式和表達式>
<邏輯和表達>: <包容性或表達式>|<邏輯和具有包容性和 OP 表達式>
<包容性或表達> →<異或表達式><包容性或表達式 ' |' 異或表達式>
<異或表達式>: <與表達式>|<異或表達式 ' ^' 和表達式>
<和表達式>: <相等表達式>|<和表達式 '&' 相等表達式>
<相等表達式>: <關系表達式>|<相等表達式情商 OP 關系表達式>|<相等表達式 NE OP 關系表達式>
<關系表達式>: <轉移表達式>|<關系表達式 ' <' 轉移表達式>|<關系表達式 ' >' 轉移表達式>|<關系表達式LE OP 轉變表達式>|<關系表達式 GE OP 轉變表達式>
<轉變表達式>: <加法表達式>|<轉變表達式 LEFT OP 加法表達式>|<轉變表達式 RIGHT OP 加法表達式>
<加法表達式>: <乘法表達式>|<加法表達式 '+' 乘法表達式>|<加法表達式 '-' 乘法表達式>
<乘法表達式>: <表達式轉換>|<乘法表達式 ' *' 表達式轉換>|<乘法表達式 '/' 強制轉換表達式>|<乘法表達式 '%' 強制轉換表達式>
<強制轉換表達式>: <一進制表達式>|<'(' 鍵入名稱')' 強制轉換表達式>
<一進制表達式>: <字尾表達式>|<INC OP 一進制表達式>|<DEC OP 一進制表達式>|<一進制運算符強制轉換表達式>|<一進制的 SIZEOF 表達式>|<SIZEOF '(' 類型名稱')'>
<字尾表達式> →: <主要表達式>|<字尾表達式 '[' 表達']'>|<字尾表達式 '(' ')'>|<字尾表達式 '(' 參數表達式清單')'>|<字尾表達式 '.'辨別符>|<字尾表達式 PTR OP 辨別符>|<字尾表達式 INC OP>|<字尾表達式 DEC OP>
<主要表達式> →<辨別符>|<恒定>|<字元串型>|<' (' 表達式 ')'>
<參數表達式清單>: <指派表達式>|<參數表達式清單 ',' 指派表達式>
<一進制運算符>: <'&'>|<'*'>|<'+'>|<'-'>|<'~'>|<'!'>
<指派運算符> → <'='>|<MUL 配置設定>|<DIV 配置設定>|<MOD 配置設定>|<ADD 配置設定>|<SUB 配置設定>|<LEFT 配置設定>|<RIGHT配置設定>|<AND 配置設定>|<XOR 配置設定>|<OR 配置設定>
<存儲類說明符> → <定義類型>|<外來的>|<靜态>|<自動>
<結構或聯合的說明符>: <結構或聯合辨別符' {' 結構聲明清單 '}'>|<結構或聯合 ' {' 結構聲明清單 '}'>|<結構或聯合的辨別符>
<結構或聯合>:< 結構>|<聯合>
<結構聲明清單>: <結構聲明>|<結構聲明清單結構聲明>
<結構聲明>: <說明符限定符清單結構聲明符清單 ';'>
<說明符限定符清單> →<類型說明符說明符限定符清單中>|<類型說明符>|<類型限定符說明符限定符清單中>|<類型限定符>
<結構聲明符清單 >→<結構聲明符>|<結構聲明符清單 ',' 結構聲明符>
<結構聲明符> →: <聲明符>|<':' 常量表達式|聲明符 ':' 常量表達式>
<enum 說明符 >→<枚舉 ' {' 枚舉數清單 '}'>|<ENUM 辨別符 {' 枚舉數清單 '}'|<ENUM 辨別符> <枚舉數清單 >→<枚舉數>|<枚舉數清單 ',' 枚舉器>
<枚舉數 >→<辨別符>|<辨別符 '=' 常量表達式>
<類型限定符> →<常量>|<變量>
<類型限定符清單> →<類型限定符>|<類型限定符清單類型限定符>
<參數類型清單> →<參數清單>|<參數清單 ',' 省略号>
<參數清單> →<: 參數聲明>|<參數清單 ',' 參數聲明>
<類型名稱 >→<說明符限定符清單中>|<說明符限定符清單抽象聲明符>
<抽象的聲明符> →<指針>|<直接的抽象聲明符>|<指針直接抽象聲明符>
<直接的抽象聲明符 >→ <' (' 抽象聲明符 ')'>|<'[' ']'>|<'[' 常量表達式']'>|<直接抽象聲明符 '['']'> |<直接抽象聲明符 '[' 常量表達式']'>|<'(' ')'>|<' (' 參數類型清單 ')'> |<直接的抽象聲明符 '(' ')'>|<直接抽象聲明符 '(' 參數類型清單')'>
<标記的語句 >→<辨別符 ':' 聲明>|<case達式 ':' 聲明>|<預設 ':' 聲明>