1. 程式人生 > >編譯原理第四章-語法分析

編譯原理第四章-語法分析

語法分析的知識要點

1)最左推導 總是選擇每個句型的最左非終結符進行替換; 根據輸入流中的下一個終結符,選擇最左非終結符的一個候選式; 自頂向下的語法分析採用最左推導方式。

2)非終結符的後繼符號集 可能在某個句型中緊跟在A後邊的終結符a的集合,記為FOLLOW(A); 如果A是某個句型的的最右符號,,則將結束符“$”新增到FOLLOW(A)中。

3)產生式的可選集 產生式A→β的可選集是指可以選用該產生式進行推導時對應的輸入符號的集合,記為SELECT( A→β );

4)串首終結符集 串首第一個符號,並且是終結符,簡稱首終結符。 給定一個文法符號串α, α的串首終結符集FIRST(α)被定義為可以從α推匯出的所有串首終結符構成的集合。如果α =>* ε,那麼ε也在FIRST(α)中。

5)LR 分析法(自左掃描,最右推導)的基本原理 自底向上分析的關鍵問題是什麼?如何正確地識別控制代碼 控制代碼是逐步形成的,用“狀態”表示控制代碼識別的進展程度