999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

編譯原理中算符優先分析的教學探討

2008-12-31 00:00:00陳文宇王曉斌余盛季
計算機教育 2008年12期

文章編號:1672-5913(2008)12-0080-03

摘要:算符優先分析法是編譯原理課程中的重點和難點之一。本文針對相等、小于和大于優先關系,分析了優先歸約關系的本質,提出了優先關系和最左素短語的分析模型。

關鍵詞:編譯原理;歸約;優先關系;最左素短語

中圖分類號:G642

文獻標識碼:B

1引言

計算機科學與技術學科強調4個方面的專業能力:計算思維能力,算法設計與分析能力,程序設計與實現能力,計算機系統的認知、分析、設計和運用能力。這也是計算機科學與其他學科的重要區別。相關的理論是計算機學科的基礎。理論方面的知識是計算機的真正靈魂。理論是從計算機應用當中抽象出來的,目的在于使用抽象出來的理論去更好地指導實踐[1]。

程序設計與實現能力在編譯原理課程得到了具體的體現。編譯原理是計算機學科中少有的從實踐到理論,再從理論到實踐的一門專業課程。編譯技術不斷進步,已經成為計算機科學中發展最迅速、最成熟的一個重要分支。編譯技術集中體現了計算機科學發展的重要成果與精華[2]。

程序語言及其編譯的研究在計算機科學中的始終處于非常重要的地位。編譯程序構造的基本原理和技術蘊涵計算機科學解決問題的思路和抽象、解決問題的方法,也廣泛應用于一般軟件的設計和實現,其中的設計思想、算法、思維方式和技術都可能會對學生今后的發展產生比較大的影響。編譯原理對計算機專業的學生的重要性與高等數學對理科學生的重要性幾乎可以相提并論。同時,由于這門課程涉及其他多門課程的知識,使得它成為大學階段中最難學的課程之一。

自下而上語法分析中的算符優先分析方法是是編譯原理課程中的重點和難點之一。算符優先分析法使用終結符號之間的歸約順序進行語法結構的分析。在算術表達式中,有運算符號的優先級和結合性的規定,而算符優先分析法的實質就是仿效表達式的計算過程而設計的。其本質是對終結符之間的優先關系和最左素短語進行分析。

2終結符之間的優先關系

2.1算符優先文法

上下文無關文法G,如果沒有形如

P→ε

P→...QR...

的產生式,則稱G為算符文法。

算符優先分析方法考慮的是可能相鄰的兩個終結符之間的歸約順序問題(模仿算術表達式中相鄰的兩個運算符之間的計算的順序問題)。

對算符文法G,a,bIcirc;VT 優先關系定義為

(1) 若G有P→...ab...或P→...aQb..., 則a=b

(2) 若G有P→...aQ...且QTHORN;+b… 或 QTHORN;+Rb...,則a

(3) 若G有P→...Qb... 且QTHORN;+...a 或 QTHORN;+…aR,則a>b

若算符文法G的任何終結符a、b之間的優先關系至多只有=、>、<中的一個;或者終結符a、b之間沒有優先關系 則G稱為算符優先文法。

2.2優先關系模型

對于3種優先關系,分別建立對應的優先關系分析模型,自然引入構造優先關系表所需要的FIRSYVT和LASTVT集合。

(1) 相等優先關系

若文法G 有

P→...ab...或P→...aQb...

則a與b是一起歸約為P的(當然,還要連同其他的一些符號)。因此,a與b的歸約順序是一致的(相等的),即 a=b。相等優先關系模型如圖1所示。

圖1相等相等優先關系模型圖

(2) 小于優先關系

若文法G有

P→...aQ... 且Q THORN;+b…或QTHORN;+Rb...

那么,需要先規約包含b的最左素短語為Q,然后才可能規約…aQ…為P。即a

圖2小于優先關系模型圖

而對于Q THORN;+b…或QTHORN;+Rb... ,定義FIRSTVT集合為

FIRSTVT(Q)={a|QTHORN;+a… 或QTHORN;+Ra…,aIcirc;VT,R Icirc;VN}

(3) 大于相等優先關系

若G中有

P→...Qb...且QTHORN;+...a或QTHORN;+…aR

那么,需要先規約包含a的最左素短語為Q,然后才可能規約…Qb…為P。即a>b。大于優先關系模型如圖3所示。

圖3大于優先關系6模型圖

對于QTHORN;+...a或QTHORN;+…aR,定義LASTVT集合為

LASTVT(Q)={a|QTHORN;+...a 或 QTHORN;+…aR,aIcirc;VT,R Icirc;VN}

2.3特殊符號#的優先關系

對于算符優先分析方法,需要使用#作為待分析串的開始和結束標記,也需要定義#與其他終結符號的優先歸約關系。

對文法進行改造,增加開始符號S′,增加產生式S′→#S#。

使得開始標記#的優先歸約關系小于FIRSTVT(S)的所有元素,即開始標記#的優先歸約關系小于待分析串所有可能開始的字符;而LASTVT(S)的所有元素優先歸約關系大于結束標記#,即待分析串所有可能結束的字符優先歸約關系大于結束標記#。

開始和結束標記#的優先歸約關系是最低的。

2.4其他相關問題

(1) 相同終結符的優先關系未必是=

(2) 有aa

(3)a、b之間未必一定有優先關系

(4) 兩個終結符之間若沒有優先關系,則表示兩個終結符不可能相鄰,這也是算符優先分析方法判斷語法錯誤的依據。

3最左素短語的判斷

句型的一般形式為:

#N1a1N2a2…NnanNn+1#

最左素短語是滿足條件的最左子串NjajNj+1…NiaiNi+1

其中,條件為

aj-1

aj=aj+1=…=ai-1=ai

ai>ai+1

最左素短語的出現依據的是終結符號歸約順序的轉折。最左素短語模型如圖4所示。

圖4最左素短語模型圖

4總結

實際教學證明,此模型可有效地幫助學生理解優先關系的定義和算符優先分析方法的原理和技術。

參考文獻

[1] 蔣宗禮,姜守旭.形式語言與自動機理論(第2版)[M].北京:清華大學出版社.2007.

[2] 龔天富.語言及編譯(第2版)[M]. 北京:電子工業出版社,2003.

[3]Andrew W.Apple.現代編譯器的Java實現[M].北京:電子工業出版社,2004.

[4]Dick Grune etc.Modern Compiler Design[M].JOHN WILEYSONS,LTD,2002.

[5] 余勝泉,張建偉.信息時代的教學與實踐[M].北京:高等教育出版社,2005.

“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 秋霞一区二区三区| 亚洲精品天堂在线观看| 亚洲男人天堂久久| 亚洲中文字幕国产av| 国产精品久久国产精麻豆99网站| 免费一级毛片不卡在线播放| 国产成人麻豆精品| 国产国产人免费视频成18| 91无码视频在线观看| 久久国语对白| 大香网伊人久久综合网2020| 超清无码一区二区三区| 免费看av在线网站网址| 久久久精品久久久久三级| 国产精品尤物在线| 中文字幕在线永久在线视频2020| 91在线播放国产| 国产麻豆精品久久一二三| 亚洲a级毛片| 91精品专区| 欧美三级视频在线播放| 91热爆在线| 三区在线视频| 青青草一区二区免费精品| 自慰网址在线观看| 欧美成人一级| 99这里只有精品在线| 国产精品免费p区| 国产欧美日韩精品第二区| 婷婷丁香色| 日韩麻豆小视频| 激情六月丁香婷婷| www.91中文字幕| 国产内射一区亚洲| 亚洲av综合网| 亚洲国产综合自在线另类| 免费aa毛片| 中文字幕不卡免费高清视频| 国产美女一级毛片| 精品无码一区二区三区在线视频| 国内精品小视频福利网址| 国产日韩欧美成人| 亚洲精品天堂自在久久77| 高清亚洲欧美在线看| 亚洲人成网站色7777| 99热这里只有精品5| 91在线播放免费不卡无毒| 免费观看欧美性一级| 露脸国产精品自产在线播| 欧美成人综合在线| 污网站在线观看视频| 成年A级毛片| 日本AⅤ精品一区二区三区日| 免费一级毛片在线观看| 成人亚洲视频| 精品丝袜美腿国产一区| 亚洲精品无码久久毛片波多野吉| 狠狠综合久久| 狠狠色丁婷婷综合久久| 中文字幕乱码中文乱码51精品| 国产迷奸在线看| 国产精品人成在线播放| 欧美亚洲一区二区三区导航| 日韩午夜片| 色婷婷综合激情视频免费看| 欧美另类第一页| 黄色在线不卡| 国产欧美日韩在线一区| 欧美激情福利| 中文字幕欧美日韩| 国产系列在线| 精品色综合| 国产呦精品一区二区三区网站| 中日韩一区二区三区中文免费视频| 成人在线观看一区| 久热中文字幕在线| 日韩中文欧美| 国产资源站| 在线无码九区| 色综合国产| 日本午夜影院| 在线国产欧美|