編譯原理 哈工大編譯原理課程內容記錄

2021-09-30 13:10:49 字數 921 閱讀 1259

第二章

語言,文法,上下文無關法

串上的運算

xy = string x + string y

字串a的正閉包 不含0次方冪

字串a的閉包(又稱克林閉包) 含0次方冪 0次方冪有個特殊的符號~

文法的型別 第一種上下文有關 (csg context-sensitive grammer)

第二種上下文無關 (csg context-free grammer)

更加規範的定義:四元組(vn,vt,p,s)

vn:終結符集 實際的詞 非大寫字母

vt:非終結符集 廣闊的含義 大寫字母

p:規則 句子的文法

s:開始符 句子

什麼叫做完全推導樹

所有的終端結點都是和終結符相關聯

分析樹 把符號分析成表示式的情況

二義性:由此可以引導出 左結合操作樹,右結合操作樹

推導:見書111頁,從e到-(id)的推導99

第三章 詞法分析器

詞法分析器的任務:

讀入源程式的輸入序列 組合成詞素(lexemes) 建立詞法單元(token)

re :regular expression 正規表示式

乙個很有意思的東西

c語言中識別符號的正則定義

digit--->0|2|...|9

letter_--->a|b|...|z|a|b|...|z|_

id --->letter_(letter_|digit)*

單詞的識別

有窮自動機 (三型)fa finite automata

dfa nfa 從nfa到dfa的轉化

從re到自動機

lex的使用

哈工大2015秋 編譯原理課程實驗1 詞法分析

經過一年的c 的歷練,確實算是挺喜歡c 的了,這次的編譯原理尤為用心。既已提交作業,便拿出來共享一下,或許某學弟學妹能看到呢 偷笑 圖1 專案資源管理器截圖 工程 class.cs 主要是record errorrecord data類的定義,儲存詞法分析的結果 form1.cs winform窗體...

哈工大編譯原理實驗1 詞法分析

設計實現類高階語言的詞法分析器,基本功能如下 1 能識別以下幾類單詞 識別符號 由大小寫字母 數字以及下劃線組成,但必須以字母或者下劃線開頭 關鍵字 型別關鍵字 整型 浮點型 布林型 記錄型 分支結構中的if和else 迴圈結構中的do和while 過程宣告和呼叫中的關鍵字 運算子 算術運算子 關係...

語法分析 哈工大編譯原理實驗二

1 鞏固對語法分析的基本功能和原理的認識。2 通過對語法分析表的自動生成加深語法分析表的認識。3 理解並處理語法分析中的異常和錯誤。在詞法分析器的基礎上設計實現類高階語言的語法分析器,基本功能如下 1 能識別以下幾類語句 宣告語句 包括變數宣告 陣列宣告 記錄宣告和過程宣告 表示式及賦值語句 包括陣...