算符优先分析法。
优先表构造算法FOR每一条产生式P→X1X2…Xn FOR i:=1 TO n-1 DO BEGIN IF Xi和 Xi+1均为终结符 THEN置 Xi=Xi+1 IF I<=n-2且Xi和Xi+2都为终结符,而Xi+1为非终结符, THEN置Xi=Xi+2 IF Xi为终结符而Xi+1为非终结符 THEN FOR FISTVT(Xi+1)中的每个a DO置 Xi< a IF Xi为非终结符而Xi+1为终结符THEN FOR LASTVT(Xi)中的每个a DO置 Xi>a END四川大学计算机学院金军 13
算符优先表构造举例例:设文法G的产生式为: S aAcBe A Ab|b FIRSTVT(S)={a} FIRSTVT(A)={b} FIRSTVT(B)={d} LASTVT(S)={e} LASTVT(A)={b} LASTVT(B)={d}a a b c d e四川大学计算机学院金军 14
B dc=><=> d e
b<>
算符优先分析算法算符优先分析技术的基本思想是通过终结符号之间的优先关系,确定句型的句柄。算符优先分析仅适用于算符优先文法。算符优先分析法中,我们用“最左素短语”这个概念来刻画算符优先文法的“可归约串”。
算符优先分析算法素短语是指这样的一个短语,它至少含有一个终结符,并且除它自身外,不再含有更小的素短语。最左素短语是指处于句型最左边的那个素短语。
四川大学计算机学院金军
15
四川大学计算机学院金军
16
算符优先分析算法算符优先文法句型(括在两个#号之间)的一般形式:#N1a1N2a2…NnanNn+1#其中每个ai都是终结符,Ni是可有可无的非终结符。
算符优先分析算法一个算符优先文法G的任何句型的最左素短语是满足如下条件的最左子串: Njaj…Niai+1aj-1<aj aj=aj+1,…, ai-1=ai ai>ai+1
那么,ajNj
aj+1…aiNi一定可归约为某终结符。算符优先分析算法就是根据这个最左素短语的定理构造的。四川大学计算机学院金军 17四川大学计算机学院金军 18
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库算符优先分析法详解(3)在线全文阅读。
相关推荐: