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

基于Java的遞歸下降語法分析器的實現

2020-09-10 07:22:44劉楊
客聯 2020年7期
關鍵詞:程序分析

劉楊

【摘 要】遞歸下降分析是設計LL(1)文法的自上而下語法分析的一種思路。相對于其他的語法分析構造方法,這一邏輯簡單明了,易于用代碼實現。只不過,作為自上而下的分析方法,在編寫代碼前,要確保所分析的文法是不含左遞歸并且是消除回溯的。

本文將先后介紹LL(1)文法的成立條件和遞歸下降分析器的設計邏輯,最后給出程序的關鍵代碼段示例。

【關鍵詞】編譯原理;語法分析;自上而下分析;遞歸下降;LL(1)分析

一、LL(1)文法

這里,首先給出LL(1)文法的三個成立條件:

1)文法中不含有左遞歸;

2)對文法中任意一個非終結符的各個產生式的候選的FIRST集兩兩不相交;

3)對文法中每個非終結符A,若其某個產生式的FIRST集合含有ε,則需要FIRST(A)與FOLLOW(A)不相交。

消除左遞歸是直接在文法結構上做修改,防止產生式右部最終推導回到了原來產生式左部的非終結符。

上述第2個條件是為了消除大部分回溯。在面臨單個字符時,同一個終結符的不同產生式可能都可以初步接受(FIRST集合有重合部分),但是正確結果往往只有一個;而想發現錯誤也往往要把該條產生式的路徑走到底,這就造成程序可能要不斷地“碰壁”而從頭開始重新掃描輸入,造成大量不必要的開銷。但是,只要同一個非終結符的每個產生式FIRST集不相交,導致各個產生式識別初步接受的字符集合是獨立的,相對唯一的,那么識別字串的路徑就能保證是唯一的。

上述第3個條件,是為了解決和ε產生式有關的回溯問題。掃描輸入串的過程中,當某一個字符不能被當前產生式直接識別,如果該產生式對應的非終結符有ε產生式,那么可以考慮使用ε暫時作為識別結果,使得程序能夠向后判斷產生式是否匹配。使用ε產生式的條件是,當前字符必須在當前非終結符的后繼/后隨終結符集中出現過,也就是其FOLLOW集。

二、遞歸下降分析器的設計

遞歸下降,就是自上而下語法分分析的主要思想。遞歸下降分析器專指的是實現LL(1)分析的程序。這樣的程序,由一組遞歸的過程組成,其中每一個遞歸過程代表著文法的一個非終結符。也就是程序結構與文法的產生式結構緊密相連,這也是該程序易于構造的重要原因。執行的過程類似于數據結構中對二叉樹的從左到右的深度優先遍歷。下面我們以文法G為設計對象:

G:

E→TE'

E'→+TE'| -TE' |ε

T→FT'

T'→*FT'| /FT' |ε

F→(E) | id |num

可以得到各非終結符的FIRST集和FOLLOW集:

FIRST(E) = {(, id, num};FIRST(E') = {+, -, ε};FIRST(T) = {(, id, num}

FIRST(T') = {*, /, ε};FIRST(F) = {(, id, num}

FOLLOW(E) = {), #};FOLLOW(E') = {id, num};FOLLOW(T) = {id, num}

FOLLOW(T') = {id, num};FOLLOW(F) = {id, num}

上述文法明顯滿足了LL(1)條件。

三、代碼段分析

以下以產生式E→TE’為例展示遞歸過程;E’、T’等使用E2、T2表示。

(一)遞歸的開始

(二)執行到E中的T和E’

(三)執行到F和T’

【參考文獻】

[1] 陳火旺,等.程序設計語言編譯原理(第3版)[M].北京:國防工業出版社,2006: 68-76

[2] [美] Andrew W.Appel.現代編譯原理[M].趙克佳,等,譯.北京:人民郵電出版社, 2006: 36-37

猜你喜歡
程序分析
隱蔽失效適航要求符合性驗證分析
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
電力系統及其自動化發展趨勢分析
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
中西醫結合治療抑郁癥100例分析
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 国产精品亚洲欧美日韩久久| 99久久精品美女高潮喷水| 国产熟女一级毛片| AV天堂资源福利在线观看| 日韩在线2020专区| 亚洲精品成人片在线观看| 视频二区国产精品职场同事| 亚洲天堂视频在线观看免费| 国产亚洲精品无码专| 精品国产电影久久九九| 色噜噜狠狠狠综合曰曰曰| 久久国产黑丝袜视频| 亚洲AⅤ波多系列中文字幕 | 在线播放91| 国产精品3p视频| 欧美yw精品日本国产精品| 狠狠久久综合伊人不卡| 久久精品亚洲专区| 中国美女**毛片录像在线| 国产一区二区三区精品欧美日韩| 国产精品99久久久| 欧美第一页在线| 麻豆精选在线| 伊人久久精品亚洲午夜| 国产精品亚洲一区二区三区z| 成年人免费国产视频| 青草91视频免费观看| 成人欧美日韩| 日韩人妻无码制服丝袜视频| 亚洲日本一本dvd高清| 国产成人精品高清在线| 国产美女在线观看| 国产国产人成免费视频77777| 国产区免费| 精品在线免费播放| 女人毛片a级大学毛片免费| 在线观看免费黄色网址| 中文字幕在线观看日本| 久久精品66| 久久久波多野结衣av一区二区| AV在线麻免费观看网站| 国产精欧美一区二区三区| 亚洲视频免费播放| 国产毛片不卡| 青青青国产视频手机| 制服无码网站| 亚洲成人动漫在线观看 | 爆操波多野结衣| 日本高清视频在线www色| 自慰网址在线观看| 国产在线97| 香蕉在线视频网站| 高清国产va日韩亚洲免费午夜电影| 男人天堂伊人网| 国产爽妇精品| 国产精品视屏| 国产在线视频自拍| 欧美在线中文字幕| 中国国产A一级毛片| 亚洲性视频网站| 国产成人高清精品免费5388| 国内精品91| 2022国产无码在线| 中文字幕在线欧美| 国产精品所毛片视频| 久草网视频在线| 国产熟女一级毛片| 日韩欧美成人高清在线观看| 亚洲成人高清无码| 久久无码av三级| 天天综合网色中文字幕| 欧美午夜性视频| 巨熟乳波霸若妻中文观看免费| 国产精品天干天干在线观看| www中文字幕在线观看| 国产v精品成人免费视频71pao | 亚洲综合极品香蕉久久网| 中文纯内无码H| 热思思久久免费视频| 国产亚洲欧美在线人成aaaa| www.99在线观看| 好久久免费视频高清|