编译原理实践 5.给定语法的语法分析程序构造.

Slides:



Advertisements
Similar presentations
课前寄语 1 、保持纪律 2 、相互配合. 第三节 公民的投资 —— 公民的存款储蓄 课堂导入.
Advertisements

旅遊實務Ⅰ 授課教師:李健民 上課班級: 320. 課程大綱 旅遊業之設立程序 旅行業組織結構 旅行業之分類 旅行業之管理.
猜谜语 有个小娃娃,真是没 礼貌。 见到小树摇一摇,吓 得树叶哇哇叫。 见到小花逗一逗,摘 去她的太阳帽。 没人和它交朋友,只 好自已到外处跑。
组长:倪运超 小组成员:徐悦、曹吕卿、孙浩、徐圣尧.  上海的历史 上海的历史  上海的历史 上海的历史  上海的文化 —— 建筑 上海的文化 —— 建筑  上海的文化 —— 美食 上海的文化 —— 美食  香港的历史 香港的历史  香港的历史 香港的历史  香港的文化 —— 建筑 香港的文化.
親 ( 四 ) 親近神的路. 一、親的三字訣、七字訣: 親近神,親愛人; 與主交通親近神,同情關心親愛人。 甚麼是親? 1. 親有親近、親愛,更有關心、同情、親切的 意思。 2. 親的人與人沒有間隔,拉近人與人之間的距 離,並且樂意幫助人,與人相調建造在一起。
一、 突出解析几何复习中的重点问题的通法通解 解析几何中的重点问题 一、 突出解析几何复习中的重点问题的通法通解 直线与圆锥曲线的位置关系 重点一.
第二班群教師團隊 105 張心平 107 鐘于寧 106 黃意評 108 鄭婉茹. 第二班群之班親會說明 學校規定事項說明 教學活動說明 班群活動介紹.
差勤.
申論題要拿高分並不容易,因為他是 有一定的技巧的,如果你遵照下列技 巧來作答申論題,相信高分並不難拿, 其技巧如下:
第三章 植物繁殖器官的结构及发育 主要内容: 花的组成;花和花序的种类;花的生理功能;发育及生殖过程;果实的结构及发育;被子植物生活史。
成才之路 · 语文 人教版 · 中国小说欣赏 路漫漫其修远兮 吾将上下而求索.
102大學甄選入學 個人申請、繁星推薦說明 主講人:簡慧嫻.
黄帝内经 内经教研室 王黎.
新進教師研習 教務處報告 報告人:教務處 林永仁 2011 年 8 月31日.
第十三章 中国的传统科学技术 中国古代的科技曾经长期处于世界领先地位,对人类文明的进步作出过重要贡献,并形成了富有特色的科技文化。在今天,源自中国古代科技文化的中医学仍然在现实生活中发挥着积极的作用。
「明清時期台灣古典散文」 教師:田啟文.
职官与科举 职官:在国家机构中担任一定职务的官吏,这里面有职官的名称、职权范围和品级地位等方面的内容。
新頒解釋函令 ● 所得稅扣(免)繳相關法令、 ● 所得稅扣(免)繳申報實務 ● 扣繳常見稅務違章類型 財政部南區國稅局屏東分局
花开有日 芬芳天下 “国培计划(2012)” ——幼儿园骨干教师远程培训项目 山东幼儿园教师8班第4期简报 主办人:张瑞美     
《卖火柴的小女孩》 《海的女儿》 你 认 识 这 些 图 片 的 故 事 吗 《丑小鸭》 《拇指姑娘》 它们都来自于哪位作家笔下?
民主國家的政府體制 我國的中央政府體制 我國中央政府的功能 地方政府組織與功能
台塑石化 與 全國 之 財務分析 :企管二甲、乙 班級 指導 :楊雪蘭 老師 :第六組 組別 組員
鼻炎 症狀: 鼻(眼睛)內發癢或不舒服、 打噴嚏、 流鼻涕(水)、 鼻塞………等 。 鼻子內的任何發炎。
高考地理复习应注意的问题 构建知识网络 培养读图技能 掌握答题规律.
銷售與顧客關係管理 巫立宇.邱志聖 著.
模块七 房地产营销渠道策略 主要内容 房地产营销渠道类型 房地产营销渠道选择方法 开发商与代理商的合作模式.
国王赏麦的故事.
萬聖節快樂 主任糖果!糖果! 萬聖節快樂.
遣詞造句知多少? 中文系 王偉勇教授 兼通識教育中心中心主任.
20、豆花庄的小家伙们.
(4)理论体系与实训模块 必须衔接、融合 本课程把理论教学体系与实训模块结构连接成一个完整的高职课程体系。
彰化縣教師會 導護問題知多少? 理事長:許麗芳老師 報告人:廖銘潭老師   .
最有利標及評選優勝廠商 講師 劉金龍 經歷:臺中市政府發包科科長.
三、市场营销学研究的基本方法 (1)产品研究法。是以物为中心的研究方法,即在产品分类的基础上,对各类产品市场分别进行研究。 (2)机构研究法。是以研究市场营销制度为出发点,体现以人为中心的研究方法,即集中对整个市场营销系统中的各特定机构的性质和功能进行研究。 (3)职能研究法。是以研究产品从生产者到消费者手中所进行的各种营销活动过程中,市场营销组织所发挥的功能的方法。
雄伟的金字塔.
CH11 心理疾病 李志鴻.
青春期 要長大囉! 男女有別 生命的誕生~兩性結合才有下一代的新生命 為什麼會有月經? 經痛怎麼辦 ? 渡過快樂青春喜歡自己
华 夏 之 祖 第 3 课.
法學緒論第六單元:法律適用 設計課程︰ 財經法律系 --楊東連 法學緒論-6.
親愛的吉姆舅舅:   今天吃完晚餐後,奶奶說,在家裡情況變好以前,您要我搬到城裡跟您住。奶奶有沒有跟您說,爸爸已經好久沒有工作,也好久沒有人請媽媽做衣服了?   我們聽完都哭了,連爸爸也哭了,但是媽媽說了一個故事讓我們又笑了。她說:您們小的時候,她曾經被您追得爬到樹上去,真的嗎?   雖然我個子小,但是我很強壯,只要我會做的我都可以幫忙,但是,奶奶說,做其他事情以前,要先把功課做完。
网络的利与弊 2017/3/19 该课件由【语文公社】
CH1 . 集 合 与 命 题.
最有利標及評選優勝廠商 講師 劉金龍 經歷:臺中市政府發包科科長.
歡 迎 各位視光界精英 蒞 臨 元培視光系 103校外學分班說明會.
第八組 組員:07黃佩瑄 13吳姿毅 14葉芷芸 26黃欣蓮 34林思妤 48潘婷蓉
當 家 新 鮮 事.
Ch19 創業精神 管理學:整合觀點與創新思維3/e.中山大學企管系 著.前程文化 出版.
兒童及少年福利服務 講師:張智昇.
开 学 第 一 课 六年级3班.
中國美術史報告-我最喜歡的一幅畫 班級:2年2班 姓名:郭馥甄 座號:23.
高鐵炫風 製作人林淑蘭老師.
行政院勞工委員會勞工保險局 勞退舊制與新制分析說明 高雄市政府人事處 99年2月1日.
2007/5/23初訪螢光蕈 (等了兩年).
开始 结束.
编译原理课程设计.
班級:財金一A 姓名:吳佩玲 學號:4990S024 指導老師:蔡享翰 老師
考前总结 背景 必要性 作用 新旧版交替面临一些问题 从教学目标和要求说起 知识梳理 可能有助于提高考试成绩 或者让知识掌握得更好.
第3 语言翻译问题 [学习目标]:学习和掌握语言的语法的基本概念和基本要素,理解翻译的步骤;学习和掌握BNF文法。
大圓小圓展風貌 ─圓面積 製作者:蔡怡真.
编译原理课程设计 2017年4月.
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
霧台--魯凱族祕境.
高雄區12年國教入學方式 報告人:高雄市政府教育局 局長 鄭新輝.
數學遊戲二 大象轉彎.
四 选择结构程序设计 厦大附中信息技术.
三 顺序结构程序设计 厦大附中信息技术.
编译原理实践 7.PL/0的词法分析程序构造.
PASCAL语言 吉林大学计算机科学与技术学院.
解题报告 七(5)班 严崟杰 03:20.
编译原理与实现 河北科技大学 信息科学与工程学院计算机系 杨奎河
Presentation transcript:

编译原理实践 5.给定语法的语法分析程序构造

上一次课的结论 从语法图判断两条限制规则: 找出图中每一个分支点,考察每一个分支点的分 支的头符号是否相异 找出图中每一个透明结构(无需读入一个符号就 可以贯通),考察每一个透明结构的头符号集合 和其跟随符号集合是否相异。

给定语法的语法分析程序构造 语法分析程序的主程序 语法图到语法分析程序的转换法则 构造实例

1.语法分析程序的主程序 假如一个文法满足两条语法限制规则,则其语法分析程 序可以非常系统化地从这个图系统推演、构造出来 每一个语法图对应的一个个程序过程要置于一个主程序 环境里 主程序结构(pascal语言,下同): program Parser(input,output); var ch:char; begin read(ch); S end.

2.从语法图到语法分析程序的转换法则B1 if ch in L1 then P(S1) else if ch in L2 then P(S2) else … if ch in Ln then P(Sn) else error 其中Li表示集合first(Si)

从语法图到语法分析程序的转换法则B1a x1 S1 x2 S2 … xn Sn if ch=“x1” then begin read(ch);P(S1) end else if ch=“x2” then begin read(ch);P(S2) end else … if ch=“xn” then begin read(ch);P(Sn) end else error;

从语法图到语法分析程序的转换法则B2 S1 S2 Sn begin P(S1);P(S2);…;P(Sn);end

从语法图到语法分析程序的转换法则B3 while ch in L do P(S)

从语法图到语法分析程序的转换法则B3a while ch=“x” do begin read(ch); P(S); end;

从语法图到语法分析程序的转换法则B4 S if ch in L then P(S)

从语法图到语法分析程序的转换法则B5: 矩形图表示的非终结符号可以翻译成调用相应的过程 用圆表示的终结符号x可以翻译成一条读入语句: If ch=“x” then read(ch) else error

3. 构造实例 画出语法图 证明符合两条限制规则,是确定的图系统 采用自顶向下、逐步求精方法系统地写出语法分 析程序

例 文法: A=“x”|”(”B”)” B=AC C={“+”A} 第一步:画出语法图: A ( A ) A + x

第二步:判别符合两条限制规则 第三步:根据转换法则,采用自顶向下、逐步求精 的方法系统地写出语法分析程序 写出主程序 写出过程A 逐步求精 归纳、优化

program Parser(input,output); var ch:char; procedure error; begin writeln('error!');halt; end; procedure A; if ch='(' then read(ch);A; while ch='+' do begin read(ch);A;end; if ch=')' then read(ch) else error; end else if ch='x' then read(ch) else error; read(ch);A;if ord(ch)<>13 then error else writeln('good!'); end.

说明1 该方法也称作“递归下降分析法(递归子程序 法)”,适合分析比较简单的文法,易于手工 实现,这是它的优点。 但每个分析子程序都与文法中的每条规则密切 相关。当规则不同时,就需要编制不同的程序 来实现分析,所以递归下降分析方法不适合编 制通用的语法分析程序。

“递归下降分析法”的缺点: 尽管这样,它还是许多高级语言,如Pascal,C等编 译系统常常采用的语法分析方法。 对文法要求高,必须满足LL(1)文法,当然在某些语 言中个别产生式的推导不满足LL(1)而满足LL(2)时, 也可以采用多向前扫描一个符号的办法; 它的另一个缺点是由于递归调用多,所以速度慢占用 空间多 尽管这样,它还是许多高级语言,如Pascal,C等编 译系统常常采用的语法分析方法。

说明2 上述语法分析程序中读入的最小单元是ch(字符), 在实际的语法分析程序中,读入的最小单元是sym (token)。 要注意子程序之间的接口,在程序编制时进入某个 非终结符的分析程序时其所要分析的语法成分的第 一个符号已经读入ch/sym中。在分析子程序的出 口前,一定要读取下一个符号到ch/sym中。