文法解釋修改

2022-05-06 13:39:09 字數 2636 閱讀 7151

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

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

《函式定義》→《函式定義》|《定義》

《函式定義》→《型別識別符號》《宣告部分語句》

《型別識別符號》→《無型別》|《字元型》|《整型》|《浮點型》

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

《指標》→<』*』>|<』*』指標》

《直接宣告》 《識別符號》|《直接宣告』[『 『]』>|《直接宣告』[『常量表示式』]』>|《識別符號』(『引數列表』)』>|《識別符號』(『 『)』>|《直接宣告』,』識別符號列表》

《識別符號列表》:《識別符號》|《識別符號列表》《識別符號》

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

《引數列表》→《引數說明》|《引數列表》《引數說明》

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

《復合語句》→ <』』>|《語句列表》|《宣告列表》《語句列表》

《宣告列表》→《宣告》|《宣告列表》《宣告》

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

《初始化宣告》→《宣告》|《宣告》』=』初始化程式

《初始化程式》→《賦值表示式》|<』』>|<』』>

《初始化列表》→《初始化程式》|《初始化列表》《初始化程式》

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

《語句》→ 《復合語句》|《表示式語句》|《條件語句》|《迴圈語句》|《跳轉語句》

《表示式》→<』;』>|《表示式』;』>

《條件語句》:《迴圈語句》→《跳轉語句》|continue;|break;|return;|return 表示式;

《表示式》:《賦值表示式》|《表示式》《賦值表示式》

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

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

《邏輯或表示式》→《邏輯與表示式》|《邏輯或表示式》《運算邏輯表示式》

《邏輯與表示式》:《表示式》|《邏輯表示式》《運算表示式》|《表示式》

《或運算表示式》→《異或表示式》|《或運算表示式》|《異或表示式》

《異或表示式》:《與表示式》|>《異或表示式》《表示式》

《與表示式》:《相等表示式》|《與表示式》《相等表示式》

《相等表示式》:《關係表示式》|《相等表示式鄧宇運算關係表示式》|《相等表示式不等於關係表示式》

《關係表示式》:《移位表示式》|《關係表示式'<'移位表示式》|《關係表示式'>'移位表示式》|《關係表示式小於等於運算移位表示式》|《關係表示式大於等於運算移位表示式》

《移位表示式》:《加法表示式》|《移位表示式左運算加法表示式》|《移位表示式右運算加法表示式》

《加法表示式》:《乘法表示式》|《加法表示式'+'乘法表示式》|《加法表示式'-'乘法表示式》

《乘法表示式》:《強制轉換表示式》|《乘法表示式'*'強制轉換表示式》|《乘法表示式'/'強制轉換表示式》|《乘法表示式'%'強制轉換表示式》

《強制轉換表示式》:《一元表示式》|<'('型別名稱')'強制轉換表示式》

《一元表示式》:《字尾表示式》|《字尾表示式》:《基本表示式》|《字尾表示式》《表示式》|《字尾表示式》|《字尾表示式》《引數運算》|《字尾表示式dec運算》

《基本表示式》→《識別符號》|《常量》|《字串常量》|《表示式》

《引數表示式列表》:《賦值表示式》|《引數表示式列表》《賦值表示式》

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

《賦值運算子》→<'='>|《乘法分配》|《儲存類說明符》→《定義型別》|《外部變數》|《靜態》|《自動》|《暫存器》

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

《結構或聯合》:《結構體》|《聯合》

《結構體宣告列表》:《結構體宣告》|《結構體宣告》《結構體宣告列表》

《結構體宣告》:《說明符限定列表》《結構說明符列表》

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

《結構說明符列表》→《結構體宣告》|《結構說明符列表》《結構體宣告》

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

《列舉宣告》→《列舉''|《列舉識別符號》

《列舉器列表》→《列舉器》|《列舉器列表》|《列舉識別符號》《列舉器列表》|《列舉識別符號》

《列舉器列表》→《列舉器》|《列舉器列表》《列舉器》

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

《型別限定符》→《常量》|《易式》

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

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

《引數列表》→:《宣告引數》|《引數列表》《宣告引數》

《型別名稱》→《限定說明符列表》 | 《限定說明符列表》《抽象說明符》

《抽象說明符》→《指標》 | 《直接抽象說明符》 | 《指標》《直接抽象說明符》

《直接抽象說明符》→ ( 抽象說明符 ) |   |  [ 常量表示式] | 《直接抽象說明符》  | 《直接抽象說明符》[常量表示式 ]  |  () | (引數型別列表)  |  《直接抽象說明符》() | 《直接抽象說明符》(引數型別列表)

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

文法和語法和詞法的解釋

詞法分析 lexical analysis或scanning 和詞法分析程式 lexical analyzer或scanner 詞法分析階段是編譯過程的第乙個階段。這個階段的任務是從左到右乙個字元乙個字元地讀入源程式,即對構成源程式的字元流進行掃瞄然後根據構詞規則識別單詞 也稱單詞符號或符號 詞法分...

0型文法 1型文法 2型文法 3型文法

引用 s aas a是什麼型的,為什麼 s asb ab是什麼型的,為什麼 s sas b是什麼型的,為什麼 答 三種文法都屬於上下文無關文法。四種文法的判斷非常簡單,說到到,四種文法就是規定產生式的左和右邊的字元的組成規則不同而已,其它的不能理解就不要去想了,你只要知道判斷的時候就是以產生式的左邊...

0型文法 1型文法 2型文法 3型文法

引用 s aas a是什麼型的,為什麼 s asb ab是什麼型的,為什麼 s sas b是什麼型的,為什麼 答 三種文法都屬於上下文無關文法。四種文法的判斷非常簡單,說到到,四種文法就是規定產生式的左和右邊的字元的組成規則不同而已,其它的不能理解就不要去想了,你只要知道判斷的時候就是以產生式的左邊...