我參加了一個編譯器課程,我正在重新介紹這個介紹。這是編譯器過程如何工作的一般概述。解析器或詞法分析器是否生成符號表?
但是我有點困惑。
在我當然它指出:「除了一個詞法分析器通常會訪問符號表來存儲/獲取某些源語言概念的信息」。所以這讓我相信一個詞法分析器實際上會構建一個符號表。我看到它的方式是創建令牌並存儲最小表格並指定它是什麼類型的符號。例如,像「x - > VARIABLE」一樣。
話又說回來,通過谷歌閱讀點擊率,我只能似乎找到有關解析器產生這樣一個事實含糊的信息是什麼時候?但解析階段出現在詞法分析階段之後。所以我有點困惑。
Symbol Table Population after parsing; Compiler building (美國解析器填充表)
http://www.cs.dartmouth.edu/~mckeeman/cs48/mxcom/doc/Symbols.html 說「符號表是通過遍歷語法樹建。」語法樹由解析器生成,對嗎? (解析樹)。那麼在解析器之前運行的詞法分析器如何使用這個符號表呢?
我明白,一個詞法分析器無法知道的是包含一個符號田部內的變量和其他信息的範圍。因此我明白解析器會將這些信息添加到表中。然而,詞法分析器知道一個詞是變量,聲明關鍵字等,因此它應該能夠建立一個部分(?)符號表。那麼它們可能會構成符號表的一部分嗎?