編譯原理方面 詞法語法語義分析器

2021-06-22 08:30:51 字數 815 閱讀 5179

實驗要求:要求設計出並實現乙個一遍掃瞄的詞法語法語義分析程式,將多條簡單賦值語句翻譯成三位址**,要求有一定的出錯提示和錯誤恢復功能。

一.待分析的簡單語言的語法

(1)《程式》::=begin《語句串》end

(2)《語句串》::=《語句》

(3)《語句》::=《賦值語句》

(4)《賦值語句》::=id:=《表示式》

(5)《表示式》::=《項》

(6)《項》::=《因子》

(7)《因子》::=id|num|(《表示式》)

二.單詞的種別編碼方案

單詞符號

種別碼單詞符號

種別碼begin

ifthen

while

doend

error

-1\0

三.字母

四.10

五.數字

六.20

三.詞法分析程式主要演算法思想

詞法分析主程式示意圖

四.語法分析主要演算法思想

語法分析主程式示意圖

五.語義分析主要演算法思想。

語義分析只是在語法分析的基礎上增加了把表示式變成三位址表示式,其他函式沒有變化。

編譯原理 詞法,語法,語義分析

詞法分析的主要任務 從左向右逐行掃瞄源程式的字元,識別出各個單詞,確定單詞的型別 將識別出的單詞轉換成統一的機內表示 詞法單元 token 形式 token 種別碼,屬性值 單詞型別 種別種別碼 關鍵字program.if else then 一詞一碼 識別符號變數名 陣列名 記錄名 過程名 多詞一...

詞法 語法 語義

詞法分析階段是編譯過程的第乙個階段,這個階段的任務是對源程式從前到後 從左到右 住個字元的掃瞄,從中識別出乙個個 單詞 符號。單詞 符號是程式語言的基本語法單位,如關鍵字 保留字 識別符號 常數 運算子 分隔符等。詞法分析程式輸出的 單詞 常以二元組的方式輸出,即單詞種別和單詞自身的值。其任務是在詞...

詞法 語法 語義分析實驗

一 詞法分析 include include include using namespace std char rwtab 6 syn 單詞符號的種別碼 token 單詞符號的字串 sum 整數 char token 16 int sum,syn char program 110 ch 輸入程式,單...