1029 C語言文法

53韓麒麟發表於2015-10-29

<程式> ->  <外部宣告> |  <程式>  <外部宣告>

<外部宣告>  ->   <函式定義>  |  <宣告>

<函式定義>  ->  <說明符型別>  <宣告> <複合語句>

<說明符型別>  ->  <空類> | <字元型> |  <浮點型>

<宣告> ->  <指標>  <直接說明符>  |  <直接說明符>

<指標> -> <*> | <*指標>

<直接說明符>  -> <識別符號>  |  <直接說明符  '['  ']'>   |  <直接識別符號'[' 恆表示式 ']'>  |  <識別符號'(' 引數名單 ')'>  |  <識別符號'('  ')'>  |  <直接說明符 ';' 識別名單>

<識別名單> -> <識別符號> |  <識別名單 ';' 識別符號>

 <恆表示式> -> <恆表示式>

<引數名單> -> <引數宣告> | <引數名單 ';' 引數宣告>

<引數宣告> -> <宣告識別符號> | <識別符號>

<複合語句> -> <'{' '}'> | <'{'語句名單'}'> | <'{'識別名單 語句名單'}'>

<識別名單> -> <識別符> | <識別名單  識別符>

<識別符> -> <初始化識別符號> | <初始化識別符號  ';'  初始化識別符號>

<初始化識別符號> -> <識別符號> | <識別符號 '=' 初始化器>

<初始化器> -> <任務表示式>  | <'{' 初始化列表  '}'> | <'{'  初始化列表 '}'>

<初始化列表> -> <初始化器> |<初始化列表 ';' 初始化器>

<語句表> -> <語句> | <語句表  語句>

<語句> -> <複合語句> | <語句表示式> | <選擇語句> | <迭代語句> | <跳轉語句>

<語句表示式> -> <表示式>

<選擇語句> -> < : IF'(' 表示式 ')' 語句> |<IF '(' 表示式 ')' 語句 ELSE 語句>

<迭代語句> -> <WHILE '(' 表示式 ')' 語句> | <FOR'(' 表達語句  表達語句 ')' 語句> | <FOR'(' 表達語句 表達語句 ')' 語句>

<跳轉語句> -> <CONTINUE> | <BREAK> | <RETURN> | <RETURN 表示式>

<表示式> -> <:複製表示式> | <表示式 ';' 複製表示式>

<賦值表示式> -> <條件表示式> | <一元賦值 運算子表示式 賦值表示式>

相關文章