我正在閱讀Dragonbook。編譯器構造中的語法分析過程
在第2章中,它解釋了語法分析過程。我正在努力理解這個過程的全貌。通過閱讀這本書,我有時會對語法分析器中的事情發生的順序感到困惑。
所以從我的理解:
語法分析器包含語法定義,它定義使用上下文無關文法的語法。這基本上是語法分析器的「第一部分」嗎?那麼語法分析器包括的語法定義?
之後,詞法分析器生成的令牌進入語法分析器。語法分析器然後通過CFG檢查字符串輸入是否有效,方法是生成一個分析樹。根據我的理解,這個分析樹最終將變成一個(抽象)語法樹(它比分析樹包含更少的細節)。這棵樹將進入語義分析器。
有人可以確認我對語法分析器的粗略理解是否正確並按照正確的順序?