西安交通大学编译原理课件

西安交通大学编译原理课件

ID:33592537

大小:691.51 KB

页数:34页

时间:2019-02-27

西安交通大学编译原理课件_第1页
西安交通大学编译原理课件_第2页
西安交通大学编译原理课件_第3页
西安交通大学编译原理课件_第4页
西安交通大学编译原理课件_第5页
资源描述:

《西安交通大学编译原理课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、西安交通大学《编译原理》课件2009-2010第一学期本章内容自上而下分析过程概述第四章自上而下的分析给定句子从文法开始符号经最左推导构造语法树文法为无二义性的上下文无关文法无回溯的自上而下分析方法(LL(1)分析法)左递归导致推导过程死循环-消除文法左递归修改文法以避免回溯-修剪文法°FIRST(β),FOLLOW(A)YinliangZhao自上而下分析程序的构造Xi’anJiaotongUniversity递归下降分析程序2009预测分析程序24.1自上而下的分析过程概述Token串(程序)的结构G=(VT,VN,S,℘)Start→ExprErrorProcessingErr

2、orExpr→Expr+Term

3、Expr–Term

4、TermMessageTerm→Term*Int

5、Term/Int

6、IntInt∈VTStart,Expr,Term∈VNTokenParserStartSymbol:StartToDownParserStreamTree(Grammar)S→Ei∈VTE→E+T

7、E–T

8、TS,E,T∈VNT→T*i

9、T/i

10、iStartSymbol:SInputStreamOutputResult34上下文无关文法回顾上下文无关文法回顾A→Aa

11、aE→(E)

12、aE⇒(E)⇒((E))⇒((a))L(G)={an

13、n为整数,n≥1}A→aA

14、aL

15、(G)={a,(a),((a)),(((a))),…}E→(E)E⇒(E)⇒((E))⇒…A→Aα

16、ββ不以A开头A→αA

17、βL(G)={βαn

18、n为整数,n≥0}L(G)={}A→εL(G)={ε,…}E→E+a

19、aE⇒E+a⇒E+a+a⇒…A→Aa

20、εL(G)={a,a+a,a+a+a,…}L(G)={an

21、n为整数,n≥0}A→aA

22、ε56YinliangZhao(赵银亮)1西安交通大学《编译原理》课件2009-2010第一学期上下文无关文法回顾上下文无关文法回顾A→(A)A

23、ε产生任意配对的括号stmt-sequence→nonempty-stmt-sequence

24、εnon

25、empty-stmt-sequence→stmt-sequence→stmt;stmt-sequence

26、stmtstmt;nonempty-stmt-sequence

27、stmtstmt→sstmt→sL(G)={s,s;s,s;s;s,…}L(G)={ε,s,s;s,s;s;s,…}stmt-sequence→stmt;stmt-sequence

28、εstmt→sL(G)={ε,s;,s;s;,s;s;s;,…}78上下文无关文法回顾上下文无关文法回顾statement→if-stmt

29、otherstatement→if-stmt

30、otherif-stmt→if(exp)statem

31、entif-stmt→if(exp)statement

32、if(exp)statementelsestatement

33、if(exp)statementelsestatementexp→0

34、1exp→0

35、1L(G)={other,if(0)other,if(1)other,if(0)otherelseother,statement→if-stmt

36、otherif(1)otherelseother,if-stmt→if(exp)statementelse-partif(0)if(0)other,else-part→elsestatement

37、εif(0)if(1)otherelseothe

38、r,exp→0

39、1if(1)otherelseif(0)otherelseother,…}910ParseTreesandAbstractSyntaxTrees上下文无关文法回顾推导:从开始符号起构造特定句子的一个方法exp→expopexp

40、(exp)

41、numberop→+

42、-

43、*推导:不能够唯一地表示所推到出的句子的结构(number–number)*numberexp⇒expopexp⇒(exp)opexp⇒(expopexp)opexp⇒(numberopexp)opexp⇒(number-exp)opexp⇒(number-number)opexp⇒(number-numb

44、er)*exp⇒(number-number)*number1112YinliangZhao(赵银亮)2西安交通大学《编译原理》课件2009-2010第一学期ParseTreeParseTree的结点命名一个解析树(ParseTree)对应一个推导是一颗标1exp记树:(1)exp⇒expopexp内结点用非终结符标记;(2)⇒numberopexp234expopexp(3)⇒number+exp叶子结点用终结符标记;(4)⇒number+number任

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。