編譯程序的工作過程:詞法分析,語法分析,語義分析與中間代碼生成,優化,目標代碼生成
除上述五個模塊,一個完整的編譯程序還應包括表格管理,出錯處理兩部分
- 表格管理
符號表:登記源程序中出現的每個名字以及名字的各種屬性,編譯各階段都涉及到構造,查找或更新有關的表格
- 語法二義性
對於一個句型有一個唯一的最左(最右)推導,若存在一個句子對應兩顆不同的語法樹,則該文法存在二義性
- 描述程序語言的上下文無關文法限制
文法中不含任何下面形式的產生式:P->P
每個非終結符必須有用處,必須存在含有P的句型
- 單詞種類
關鍵字,標識符,常數,運算符,界符
- 詞法分析器功能
輸入源程序,輸出單詞符號
- 詞類編碼原則
界符和運算符:一符一碼
關鍵字可分成一類
常數可歸同一類
所有標識符分爲一類
標識符的單詞屬性常用其在符號表中的入口指針來表示