- 相關推薦
‘教案’課程教案-第三章-1
教案:課程教案---第三章-1-教案作者:編譯原理章節名稱第三章高級語言及其語法描述
3.1對于詞法分析器的要求3.2詞法分析器的設計
3.3.1正規式與正規集3.3.2確定有限自動機
課程類型理論課√討論課□習題課□實驗課□上機課□技能課□其他□
授課時間第4周周二3、4節教學進度
學生考勤應到:實到:請假:曠課:
教學方法多媒體+講授
目的要求:
了解詞法分析器的功能和輸出形式,熟練掌握詞法分析器設計的原理和方法,能夠以轉換圖為工具使用某種語言的編寫并調試一個掃描器。
重點難點:
重點:詞法分析器的設計;難點:狀態轉換圖的實現
課后作業:
作業批改記錄:
教學后記:
教學過程:
詞法分析的任務:從左至右逐個字符地對源程序進行掃描,產生一個個單詞符號。
詞法分析器(Lexical Analyzer)又稱掃描器(Scanner):執行詞法分析的程序
3.1對于詞法分析器的要求
3.1.1詞法分析器的功能和輸出形式
功能:輸入源程序、輸出單詞符號
單詞符號的種類或者輸出形式:
基本字:如begin,repeat,
標識符--表示各種名字:如變量名、數組名和過程名
常數:各種類型的常數
運算符:+,-,*,/,
界符:逗號、分號、括號和空白
輸出的單詞符號的表示形式:
(單詞種別,單詞自身的值)
單詞種別通常用整數編碼表示。若一個種別只有一個單詞符號,則種別編碼就代表該單詞符號。假定基本字、運算符和界符都是一符一種。
若一個種別有多個單詞符號,則對于每個單詞符號,給出種別編碼和自身的值。標識符單列一種;標識符自身的值表示成按機器字節劃分的內部碼。
常數按類型分種;常數的值則表示成標準的二進制形式。
3.1.2詞法分析器作為一個獨立子程序
詞法分析是作為一個獨立的階段,是否應當將其處理為一遍呢?作為獨立階段的優點:結構簡潔、清晰和條理化,有利于集中考慮詞法分析一些枝節問題。
不作為一遍:將其處理為一個子程序。
3.2詞法分析器的設計
3.2.1輸入、預處理
輸入串放在輸入緩沖區中。
預處理子程序:剔除無用的空白、跳格、回車和換行等編輯性字符;區分標號區、捻接續行和給出句末符等
掃描緩沖區
3.2.2單詞符號的識別:超前搜索
基本字識別:需要超前搜索才能確定哪些是基本字
標識符識別:字母開頭的字母數字串,后跟界符或算符
常數識別:識別出算術常數并將其轉變為二進制內碼表示。有些也要超前搜索。
算符和界符的識別:把多個字符復合而成的算符和界符拼合成一個單詞符號。
3.2.3狀態轉換圖
概念:狀態轉換圖是一張有限方向圖。結點代表狀態,用圓圈表示;狀態之間用箭弧連結,箭弧上的標記(字符)代表射出結狀態下可能出現的輸入字符或字符類;一張轉換圖只包含有限個狀態,其中有一個為初態,實際上至少要有一個終態。
一個狀態轉換圖可用于識別(或接受)一定的字符串。
幾點重要限制--不必使用超前搜索:
所有基本字都是保留字;用戶不能用它們作自己的標識符
基本字作為特殊的標識符來處理;不用特殊的狀態圖來識別,只要查保留字表。
如果基本字、標識符和常數(或標號)之間沒有確定的運算符或界符作間隔,則必須使用一個空白符作間隔。
3.2.4狀態轉換圖的實現
做法:
1)對不含回路的分叉結,可用一個CASE語句或一組IF-THEN-ELSE語句實現
2)對含回路的狀態結,可對應一段由WHILE結構和IF語句構成的程序.
3)終態結表示識別出某種單詞符號,因此,對應語句為
RETURN(C,VAL)
其中,C為單詞種別,VAL為單詞自身值.
3.2詞法分析器的設計
3.2.1輸入、預處理
輸入串放在輸入緩沖區中。
預處理子程序:剔除無用的空白、跳格、回車和換行等編輯性字符;區分標號區、捻接續行和給出句末符等
掃描緩沖區
3.2.2單詞符號的識別:超前搜索
基本字識別:需要超前搜索才能確定哪些是基本字
標識符識別:字母開頭的字母數字串,后跟界符或算符
常數識別:識別出算術常數并將其轉變為二進制內碼表示。有些也要超前搜索。
算符和界符的識別:把多個字符復合而成的算符和界符拼合成一個單詞符號。
3.2.3狀態轉換圖
概念:狀態轉換圖是一張有限方向圖。結點代表狀態,用圓圈表示;狀態之間用箭弧連結,箭弧上的標記(字符)代表射出結狀態下可能出現的輸入字符或字符類;一張轉換圖只包含有限個狀態,其中有一個為初態,實際上至少要有一個終態。
一個狀態轉換圖可用于識別(或接受)一定的字符串。
幾點重要限制--不必使用超前搜索:
所有基本字都是保留字;用戶不能用它們作自己的標識符
基本字作為特殊的標識符來處理;不用特殊的狀態圖來識別,只要查保留字表。
如果基本字、標識符和常數(或標號)之間沒有確定的運算符或界符作間隔,則必須使用一個空白符作間隔。
3.2.4狀態轉換圖的實現
做法:
1)對不含回路的分叉結,可用一個CASE語句或一組IF-THEN-ELSE語句實現
2)對含回路的狀態結,可對應一段由WHILE結構和IF語句構成的程序.
3)終態結表示識別出某種單詞符號,因此,對應語句為
RETURN(C,VAL)
其中,C為單詞種別,VAL為單詞自身值.
【‘教案’課程教案-第三章-1】相關文章:
認識1的教案02-17
《識字1》教案03-07
小班課程教案03-06
安全的課程教案01-27
游戲課程教案02-08
體育課程教案01-06
校園暴力課程教案01-01
科學課程的教案02-25
音樂課程教案02-05
美術課程教案01-20