編譯原理 語法分析器

2022-01-17 01:57:55 字數 802 閱讀 2006

當乙個文法滿足ll(1)條件時,我們就可以為它構造乙個不帶回溯的自上而下分析程式,這個分析程式是由一組遞迴過程組成的,每個過程對應文法的乙個非終結符。這樣的乙個分析程式成為遞迴下降分析器。

例:乙個支援 +,*,(,) 的簡單文法為(用$表示空字元):

e -> te' 

e -> +te' | $

t -> ft'

t' -> *ft' | $

f -> (e) | i

《編譯原理》 第三版(陳火旺)p74:

編譯原理語法分析器

採用至少一種句法分析技術 ll 1 slr 1 lr 1 或lalr 1 對類高階語言中的基本語句進行句法分析。闡述句法分析系統所要完成的功能。1 能識別以下幾類語句 宣告語句 包括變數宣告 陣列宣告 記錄宣告和過程宣告 表示式及賦值語句 包括陣列元素的引用和賦值 分支語句 if then else...

編譯原理實驗 語法分析器

待分析的簡單語言的語法 用擴充的bnf表示如下 程式 begin 語句串 end 語句串 語句 語句 賦值語句 賦值語句 id 表示式 表示式 項 項 因子 關鍵字表 int syn,p,m,n,sum syn是種別碼,p為prog陣列的指標,m為token陣列的指標,n為rwtab陣列的指標,su...

編譯原理 LL(1)語法分析器

1.專案要求 文法要求 1 從檔案讀入,每條產生式占用一行 2 文法為ll 1 文法 從檔案中讀入文法,從鍵盤上輸入待分析的符號串,採用 ll 1 分析演算法判斷該符號串是否為該文法的句子。2.實驗思路 首先實現集合first x 構造演算法和集合follow a 構造演算法,再根據first和fo...