編譯原理學習筆記與心得(二)

2021-10-09 21:10:58 字數 541 閱讀 3645

符號串

程式在程式語言之基本符號集上按照語法規則而構成的基本符號串。

字母表是非空的有窮符號集合。

一、語義分析

收集識別符號的屬性資訊(種屬、型別、儲存位置和長度、值、作用域、引數和返回值資訊)

語義檢查(變數或過程未經過申明就使用,變數或過程重複申明,運算分量型別不匹配等。。。

二、中間**生成

三位址碼:由類似組合語言的指令序列組成,每個指令最多有三個運算元(此處案例不好展示)

常用的位址指令:賦值指令、複製、條件跳轉、非條件跳轉、引數傳遞、過程呼叫、過程返回、數值引用、陣列賦值、位址及指標操作

三位址指令可以表示成四元式、三元式、間接三元式

案例省略

三、目標**生成

分配暫存器

四、**優化

速度或空間上,或兩者兼有

詞法語法分析

符號不好大,只寫大致內容

正閉包:長度正數的符號串構成的集合。

克林閉包:任意符號串長度構成的集合(長度為0也可以)

串、空串

繼續加油

編譯原理學習筆記(二)

1 字母表 字母表 符號 字母 數字 標點符號 例 二進位制字母表,ascii字元表 unicode字符集 2 字母表上的運算 1 字母表的乘積 sigma1 sigma2的乘積 sigma1 sigma2 例 2 字母表的冪運算 字母表的n次冪運算是常速為n的符號串構成的集合 sigma的0次冪 ...

編譯原理學習筆記 語法

高階程式語言可分為 1.強制性語言 2.作用時語言 3.基於規則的語言 4.物件導向的語言 程式語言主要由語法,語義,語用 語用 有關程式設計和語言成分的使用方法,它使語言的基本概念與外界的語言 如數學概念或計算機的物件和操作 聯絡起來。語法 語法是指這樣的一組規則,用它可以形成和產生乙個合式的程式...

編譯原理學習筆記 自上而下分析

語法分析 自上而下分析 面臨的問題 左遞迴性問題 例如 p pa 如果存在非終結符p含有左遞迴的文法將上述自上而下的分析過程陷入無限迴圈 回溯?ll 0 分析法 左遞迴的消除p p 改寫為p p p p 消除左遞迴的做法 把文法g的所有非終結符按人一種順序排列成p1,p2 pn,按此順序執行 for...