詞法記號的屬性,屬性用來對記號裡面的屬性加以進一步區分。
成為n元式
a1成為第一元,a2稱為第二元,類推。。。。;
比如:position = initial + rate * 60 的記號和屬性
,賦值號--單獨作為記號,不需要第二元作為屬性加以區分
單獨作為記號,不需要第二元作為屬性加以區分
單獨作為記號,不需要第二元作為屬性加以區分
詞法分析結束之後,每次要返回記號和屬性。
二、串和語言
-字母表: 符號的有限集合 ,例如 =
-串: 符號的有窮序列,例如 0110
-語言:字母表上的乙個串集
串的運算:
-連線(積) xy, s空串=空串s=s
-冪 s的0次方為空,s的i次方=s的i-1次方s
語言上的運算:
-並:l∪m =
-連線 : lm=,即前一部分部分屬於前面,後一部分屬於後面
-冪 :l的0次冪是,l的i次冪是l的i次冪l
-閉包:l*=l0∪l1∪l1∪....,數字部分指的是 次冪
-正閉包: l+ = l0∪ l1∪...,數字部分指的是 次冪
例題:l:,d:
l∪d: 為長度為一的句子,為字母或數字
ld:長度為2的句子,前部分為字母,後部分為數字
l6次方:長度為6的句子,6個符號都是字母
l*:任意長度的字母串,包括空串
d+ : 定義的是無符號整數
l(l∪d)*:就是我們定義的字母開頭,後跟字母或數字的識別符號的定義。長度不固定,*可以重複多次。
上面的缺點是不便於計算機進行操作處理。
正是由於這樣不便於計算機處理,所以,正規式 就正式開始進入視野!!!
正規式
正規式 定義的語言 備註
& 我用&符號代替空的那個符號,目前不知道如何找到那個符號
a a∈ 字母表
(r)| (s) l(r)∪l(s) r,s是正規式
(r)(s) l(r)l(s) r,s是正規式
(r)* (l(r))* r是正規式
(r) l(r) r是正規式
約定:((a)(b)*)|(c) 等價於 ab*|c
例題:字母表=,計算下式:
-a|b
-(a|b)(a|b)
-aa|ab|ba|bb
-a* 由字母a構成的所有的串集,包括空串
-(a|b)* 由a和b構成的所有的串,包括空串
-(00|11|((01|10)(00|11)*(01|10)))* 偶數個0和偶數個1構成,符號要求的所有01串,都是該正規式規則下的句子。例如:01001101000010000010111001就是上面正規式的句子。
試驗1 詞法分析
實驗一 詞法分析實驗 商業軟體工程3班 李華秋 201506110205 一 實驗目的 編制乙個詞法分析程式。通過設計乙個編譯詞法分析程式,實現對詞法分析轉換的理解,加深對轉換過程的認識,通過這個軟體把理論知識運用到實際之中。二 實驗內容和要求 輸入 源程式字串 輸出 二元組 種別,單詞本身 三 實...
自製程式語言 1 詞法分析
本次編寫詞法分析器,形式為 講解。詞法分析我了解的有兩種,一類是狀態機,根據遇到不同的字元轉換到不同的狀態來決定下乙個字元應該是什麼,另一種就是直接寫詞法分析,簡單的if判斷。前者實現的 很少 可參見本人部落格編譯原理欄目下 但是需要乙個狀態轉換表,隨著詞法分析的內容變多,這個 也會很大,比較難維護...
編譯原理(二)詞法分析 1 詞法分析中的若干問題
2.詞法分析器的作用與工作方式 編譯原理部落格列表 概念 模擬程式中的變數 關係 記號 記號的類別 記號的屬性 值 記號的類別 單詞舉例 模式的非形式化描述 const 01 const const if 03 ifif relation 81 或 或 id 82 pi,count,d2 字母打頭的...