‘教案’課程教案範本參考
- 實用文檔
- 關注:1.05W次
‘教案’課程教案範本參考
課程教案---第三章-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為單詞自身值.
- 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/zhishiwenku/shiyongwendang/jnwvop7.html