第4章 语法分析;编译程序的功能和组织结构;*;;§ 4.1自顶向下分析
§ 4.2自底向上分析;§ 4.1 自顶向下分析;4.1.1 自顶向下分析思想;*;;1.自顶向下分析方法特点;2. 自顶向下分析存在的问题及解决方法;;;;;;;;2) 回溯问题;; 文法G:S → cAd A → ab |a 识别输入串w=cad;;;4.1.2 LL(1)分析法;;(2)符号栈:;;*;*;;;;2、分析表的构造:LL(1)分析器构造的核心。;;;;*;;算法:
设A→αi为文法中的任意一条规则,a为任一终结符或#。
所谓构造分析表M就是定义M的各个元素,若已经对文法中的
每一条规则都求出SELECT集,则分析表的构造算法为:
1、若a ∈SELECT(A→αi ),则 M[A,a]= A→αi
2、M中不能由1)定义的元素都是空白元素。
或者理解为:
1、若a ∈FIRST( αi ),则A::= αi == M[A,a]
表示:A在栈顶,输入符号是a,应选择αi 去匹配
2、若αi =ε或αi ? ε,而且a ∈FOLLOW(s),
则A::= αi ==M[A,a],表示A已经匹配输入串成功,其后继
符号终结符a由A后面的语法成分去匹配。
3、把所有无定义的M[A,a]都标上error
;LL(1)分析方法 ;LL(1)分析器的逻辑结构: ; L
原创力文档

文档评论(0)