- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 语法分析 ;语法分析程序的功能和语法分析方法; 4.1 语法分析程序的功能;语法分析的方法;4.1 语法分析程序的功能;4.1 语法分析程序的功能;4.2 自上而下语法分析法 ;4.2.1 非确定的自上而下分析法的思想 ;4.2.1 非确定的自上而下分析法的思想;4.2.1 非确定的自上而下分析法的思想;4.2.1 非确定的自上而下分析法的思想;4.2.1 非确定的自上而下分析法的思想;4.2.1 非确定的自上而下分析法的思想;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除;4.2.2 文法的左递归性和回溯的消除; 对文法的某个非终结符A,当它有多个侯选式时:; 这也就是说,在自上而下分析过程中,为了避免回溯,要求描述语言的文法是LL(1)文法。;LL(1)文法的判断条件;LL(1)文法的判断条件;LL(1)文法的判断条件; LL(1)文法的判断条件;LL(1)文法的判断条件;LL(1)文法的判断条件;LL(1)文法的判断条件;LL(1)文法的判断条件;LL(1)文法的判断条件;LL(1)文法的判断条件;LL(1)文法的判断条件; 确定的自上而下分析法要求描述 语言的文法是 LL(1)文法。 ; (3)?求文法每个产生式的SELECT集。; 例 设有文法G[S];对每一文法符号X∈V, 求FIRST(X)的规则: ; FIRST(S)=FIRST(aAbDe)∪FIRST(d)={ a,d };FOLLOW(A) ={ a | S ? …Aa …且a∈VT }; FOLLOW(S)={#,a,b,c,d,e}; 根据LL(1)文法的定义有:;E → TE E→ +TE | ε T → FT T→ *FT | ε F → (E) | id ;例1 设有文法G[S]:;例2 设有文法G[A] ;所以 SELECT(A→aB)∩SELECT(A→d)=Φ;例3 设有文法G[S]:; SELECT(B→a)=FIRST(a)= {a};例4 设有文法G[S]:; SELECT(S→AB) =FIRST(AB)∪FOLLOW(S) ={ a, b, # };LL(1)文法的判断条件;LL(1)文法的判断条件;4.2.3 某些非LL(1)文法到LL(1)文法的改写; 由 LL(1)文法定义可知, 若文法中??有左递归或含有公共左因子,则该文法不是 LL(1) 文法,因此,对某些非LL(1)文法而言, 可通过消除左递归和反复提取公共左因子对文法进行等价变换,可能将其改造为 LL(1)文法。 消除文法左递归的方法见4.2.2。 ;提取公共左因子; 提取公共左因子将文法改写成: ;例1 设有文法G[S]: ;不难验证改写后的文法为LL(1)文法。 ;例2 设有文法G[S]:;对S提取公共左因子得 ; 应当指出的是并非一切非LL(1)文法都能改写为LL(1)文法。; 对S提取公共左因子后,得; 显然,它仍不是一个LL(1)文法,且不难看出无论将上述步骤重复多少次, 都无法将它改写为LL(1)文法。;4.2.4 递归下降分析法;基本思想;构造递归下降分析程序的方法:;(1) 当遇到终结符a时,则编写语句 ;(4) 当某个非终结符的规则有多个候选式 时,按LL(1)文法的条件能唯一地选 择一个候选式进行推导。 ;E→ E + T | T T→ T * F | F F→ (E) | id ; 分析 首先消去文法左递归,得到文法 G[E]; 无左递归的文法不一定是LL(1)文法,根据LL(1)文法的判断条件,对非终结符 E, T, F有: ; SELECT(E →+TE)∩SELECT(E →ε) =FIRST(+TE)∩FOLLOW(E) ={ + }∩{ ), # }= Φ; SELECT(F→id )∩SELECT(F→(E)) = FIRST(id)∩FIRST((E))={id}∩{(}=Φ;分析程序中定义两个函数:; 对文法G[E]可写出相应的递归下降分析程序如下: ;E ( )
您可能关注的文档
最近下载
- 青春期性教育男生教案.pptx
- 第2课《中国人首次进入自己的空间站》 统编版语文八年级上册.pptx VIP
- (完整版)涉密人员因私出国审查审批表.docx VIP
- 2014款雷克萨斯GX400_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
- 2024-2025学年小学地方、校本课程川教版可爱的四川教学设计合集.docx
- 介护老人护理.pptx VIP
- 生物安全柜检测.pptx VIP
- HIGEN 海坚FDA7000伺服驱动器用户手册.pdf
- DB64T 1967-2023 “互联网+城乡供水”数据规范.pdf VIP
- 化工总控工考试化工总控工初级试卷(化工总控工考试).doc VIP
文档评论(0)