算符优先分析法。
算符优先分析所谓算符优先分析法就是仿效算术表达式的运算过程而设计的一种语法分析方法;这种方法的关键在于规定算符(终结符)的优先顺序和结合性质。考虑下面的文法:E E+E|E- E|E*E|E/E|E↑E|(E)| i这是一个二义文法,有几种不同的规范归约;但是采用关于算符优先顺序和结合规则的规定,并按这种规定归约,那么归约过程就是唯一的。
算符优先分析算符优先分析法是一种特别有利于表达式分析,宜于手工实现的语法分析方法。算符优先分析过程是自下而上的归约过程,但未必是严格的最左归约,因此,它不是一种规范归约法。借助于终结符之间的优先关系确定句柄。分析能力不强,仅能对算符优先文法进行分析。工具:优先表、总控程序、栈四川大学计算机学院金军 2
四川大学计算机学院金军
1
算符优先文法现在按照算符优先分析法的设计思路,构造一种文法,通过它可以自动产生终结符的优先关系表。
算符优先文法一个文法,如果它的任何产生式的右部都不含两个相继(并列)的非终结符,即不含如下形式的产生式右部:…QR…
则我们称该文法为算符文法。在后面的定义中,a、b代表任意终结符; P、Q、R代表任意非终结符;‘…’代表有终结符和非终结符组成的任意序列,包括空字。四川大学计算机学院金军 3四川大学计算机学院金军 4
算符优先文法假定G是一个不含ε产生式的算符文法。对于任何一对终结符a、b:(1)a=b当且仅当文法G中含有形如P→…ab…或P→…aQb…的产生式; (2)a<b当且仅当G中含有形如P→…aR…的产生式,R而R+b…或R+Qb…; (3)a>b当且仅当G中含有形如P→…Rb…的产生式, R而R+…a或R+…aQ;
算符优先文法如果a和b在任何情况下不可能相继出现,则a、b之间无优先关系;注意:优先关系是有序的,要与数学中的‘<’或‘>’区分,a<b不一定意味着b>a。
如果一个文法G中的任何终结符对(a, b)至多只满足上述三种关系之一,则称G是一个算符优先文法。四川大学计算机学院金军 5四川大学计算机学院金军 6
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库算符优先分析法详解在线全文阅读。
相关推荐: