1029c語言文法

2022-05-16 19:04:15 字數 2853 閱讀 5526

《程式》→《外部宣告》|《程式》《外部宣告》

《外部宣告》→《函式定義》|《宣告》

《函式定義》→《型別說明》《宣告符》《復合語句》

《型別說明》→《無返回型別》|《字元型》|《整型》|《浮點型》

《宣告符》→《指標》《直接宣告》|《直接宣告》

《指標》→《星號》|《星號》《指標》

《直接宣告》→《識別符號》|《直接宣告》[  ]|《直接宣告》(《常量表示式》)|《識別符號》(《參數列》)|《識別符號》( )| 《直接宣告》,《識別符號表》

《識別符號表》→《識別符號》|《識別符號表》,《識別符號》

《常量表示式》→《條件表示式》

《參數列》→《引數宣告》|《參數列》,《引數宣告》

《引數宣告》→《宣告說明》《識別符號》

《復合語句》→||

《宣告表》→《宣告符》|《宣告符》《宣告表》

《宣告》→《初始化宣告》|《初始化宣告表》,《初始化宣告》

《初始化宣告》→《宣告符》|《宣告符》=《初始化》

《初始化》→《賦值表示式》||

《初始化表》→《初始化》|《初始化表》,《初始化》

《語句表》→《語句》|《語句表》《語句》

《語句》→|《復合語句》|《表示式語句》|《選擇語句》|《迴圈語句》|《跳轉語句》

《表示式語句》→;|《表示式》;

《選擇語句》→if(《表示式》)《語句》|if(《表示式》)《語句》else《語句》

《迴圈語句》→while(《表示式》)|for(《表示式語句》《表示式語句》)《語句》|for(《表示式語句》《表示式語句》《表示式》)《語句》

《跳轉語句》→|continue;|break;|return;|return 《表示式》;

《表示式》→《賦值表示式》|《表示式》,《賦值表示式》

《賦值表示式》→《條件表示式》|《一元表示式》《賦值運算子》《賦值表示式》

《條件表示式》→《邏輯或表示式》|《邏輯或表示式》?《表示式》:《條件表示式》

《邏輯或表示式》→《邏輯與表示式》|《邏輯或表示式》or-op《邏輯與表示式》

《邏輯與表示式》→《包容性或表示式》|《邏輯與表示式》and-op《包容性或表示式》

《包容性或表示式》→《異或表示式》|《包容性或表示式》|《異或表示式》

《異或表示式》→《與表示式》|《異或表示式》^《與表示式》

《與表示式》→《等值表示式》|《與表示式》&《等值表示式》

《等值表示式》→《關係表示式》|《等值表示式》eq-op《關係表示式》|《等值表示式》ne-op《關係表示式》

《關係表示式》→《移動表示式》|《關係表示式》《移動表示式》|《關係表示式》《移動表示式》|《關係表示式》le-op《移動表示式》|《關係表示式》ge-op《移動表示式》

《移動表示式》→《運算表示式》|《移動表示式》lert-op《運算表示式》|《移動表示式》right-op《運算表示式》

《運算表示式》→《乘除表示式》|《運算表示式》+《乘除表示式》|《運算表示式》-《乘除表示式》

《乘除表示式》→《轉換表示式》|《乘除表示式》*《轉換表示式》|《乘除表示式》/《轉換表示式》

|《乘除表示式》%《轉換表示式》

《轉換表示式》→《一元表示式》|(《型別名稱》)《轉換表示式》

《一元表示式》→《字尾表示式》|inc-op 《一元表示式》|dec-op 《一元表示式》|《一元表示式》《轉換表示式》|sizeof《一元表示式》|sizeof(《型別名稱》)

《字尾表示式》→《主要表示式》|《字尾表示式》[《表示式》]|《字尾表示式》( )|《字尾表示式》(《引數表示式表》 )|《字尾表示式》.《識別符號》|《字尾表示式》ptr-op《識別符號》|《字尾表示式》inc-op|《字尾表示式》dec-op

《主要表示式》→《識別符號》|《常量》|《字串》|(《表示式》)

《引數表示式表》→《賦值表示式》|《引數表示式表》,《賦值表示式》

《一元運算子》→&|*|+|-|~|!

《賦值表示式》→=| mul_assign| div_assign| mod_assign| add_assign| sub_assign| left_assign| right_assign| and_assign| xor_assign| or_assign

《儲存類說明》→《宣告型別》|《外部變數宣告》|《靜態儲存》|《自動儲存》|《暫存器變數》

《結構或聯合說明》→《結構或聯合》《識別符號》|《結構或聯合》|《結構或聯合》《識別符號》

《結構或聯合》→《結構》|《聯合》

《結構宣告表》→《結構宣告》|《結構宣告表》《結構宣告》

《結構宣告》→《結構宣告表》

《說明限定表》→《型別說明》《說明限定表》|《型別說明》|《型別限定》《說明限定表》|《型別限定》

《結構宣告表》→《結構宣告》|《結構宣告表》,《結構宣告》

《結構宣告》→:《宣告符》|:《常量表示式》|《宣告符》:《常量表示式》

《列舉說明》→《列舉》|《列舉》《識別符號》|《列舉》《識別符號》

《列舉表》→《列舉》|《列舉表》,《列舉》

《列舉》→《識別符號》|《識別符號》=《常量表示式》

《型別限定》→《常量》|《變數》

《型別限定表》→《型別限定》|《型別限定表》《型別限定》

《引數型別表》→《參數列》|《參數列》,《省略號》

《參數列》→《引數宣告》|《參數列》,《引數宣告》

《型別名稱》→《說明限定表》|《說明限定表》《抽象宣告》

《抽象宣告》→《指標》|《直接抽象宣告》|《指標》《直接抽象宣告》

《直接抽象宣告》→(《抽象宣告》)|[  ]|[ 《常量表示式》]|《直接抽象宣告》[ ] |《直接抽象宣告》[《常量表示式》 ]|( )|(《引數型別表》)|《直接抽象宣告》( )|《直接抽象宣告》(《引數型別表》 )

《標記語句》→《識別符號》:《語句》 |case《常量表示式》:《語句》|default:《語句》

1029 語言文法

程式 外部宣告 程式 外部宣告 外部宣告 函式定義 宣告 函式定義 資料型別 宣告符 復合語句 資料型別 void char int float 宣告符 指標 直接宣告符 直接宣告符 指標 指標 直接宣告符 識別符號 直接宣告符 直接宣告符 普通表示式 識別符號 引數列表 識別符號 直接宣告符 識別...

1029 文法分析

程式 外部宣告 程式 外部宣告 外部宣告 函式定義 定義 函式定義 資料型別 宣告符 復合語句 資料型別 無字元 字元型別 整型 浮點型 宣告符 指標 直接宣告符 直接宣告符 指標 指標 直接宣告符 識別符號 直接宣告符 識別符號 直接宣告符 普通表示式 識別符號 參數列 識別符號 直接宣告符 識別...

C語言文法

翻譯單位 函式的定義 類的定義 儲存類說明符 自動 儲存說明符auto register static extern說明的四種儲存型別,四種儲存類別說明符有兩種儲存期 自動儲存期和靜態儲存期 register static extern typedef void 型別說明符 char short i...