- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理讲义解析
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * type symbol=(nul,ident,number,plus,minus,times,slash,oddsym, eql,neq,lss,leq,gtr,geq,lparen,rparen,comma, semicolon,period,becomes,beginsym,endsym,ifsym, thensym,whilesym,writesym,readsym,dosym,callsym, constsym,varsym,procsym); sym:symbol; (*last symbol read*) * * * * * * * * * * * * 如何用递归子程序法来实现表达式的语法分析 表达式的EBNF〈表达式〉∷=[+|-]〈项〉{(+|-)〈项〉}〈项〉∷=〈因子〉{(*|/)〈因子〉}〈因子〉∷=〈标识符〉|〈无符号整数〉|‘(’〈表达式〉‘)’ * 如何用递归子程序法来实现表达式的语法分析 〈表达式〉的实现procedure expr;begin if sym in [ plus, minus ] then begin getsym; term; end else term; while sym in [plus, minus] do begin getsym; term; endend; * 如何用递归子程序法来实现表达式的语法分析 〈项〉的实现procedure term;begin factor; while sym in [ times, slash ] do begin getsym; factor; endend; * 如何用递归子程序法来实现表达式的语法分析 〈因子〉的实现procedure factor;begin if sym # ident then begin if sym # number then begin if sym = ‘(‘ then begin getsym; expr; if sym = ‘)’ then getsym else error end else error end endend; 程序 pl0 分程序 block 语句 statement 条件 condition 表达式expression 项 term 因子 factor PL/0语法调用关系图 编译程序总体流程图 * 程序BLOCK过程的流程图 见课本18页 * 语义分析与处理 说明部分的分析对每个过程说明的对象(变量,常量和过程)造名字表 填写所在层次,标识符的属性和分配的相对位置。标识符的属性不同时,所需填入的信息也不同。登录信息由ENTER过程完成。 表格管理 过程体的分析 CONST A=35,B=49;VAR C,D,E;PROCEDURE P;VAR G 表格管理 名字 类型 层次/值 地址 存储空间 变量定义语句的处理 if sym=varsym thenbegin getsym; repeat vardeclaration; while sym=comma do begin getsym; vardeclaration end; if sym=semicolon then getsym else error(5) until symident;end; * 变量定义语句的处理 procedure vardeclaration; begin if sym=ident then begin enter(variable); getsym end else error(4) end(*vardeclaration*); * 过程ENTER的实现 procedure enter(k:obj
您可能关注的文档
- 编写规则2009版解析.ppt
- 缓蚀剂培训教材解析.ppt
- 编剧的36种结构解析.doc
- 编导单项选择解析.doc
- 编目资源一览表解析.doc
- 编制计算机程序解决问题解析.ppt
- 编制4解析.ppt
- 缓控释进展及分析-panxin解析.ppt
- 缅怀革命先烈解析.ppt
- 编程规范和范例解析.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)