编译原理句柄寻找
短语:
定义:令G是一个文法,S是文法的开始符号,如果S->* αAβ and A->+γ,则称γ是句型αγβ的相对于变量A的短语。
S=*=>aAp (由于部分字符难以输入,在此用a,b,p代替)
A=+=>b
语法树:
该句型的短语为abp。
直接短语:
定义:如果S->* αAβ and A->γ,则称γ是句型αγβ的相对于变量A的直接(简单)短语。
解释: 如果子树中不再包含其他的子树,即A只能推导出b,而b不能再推出其他的式子,则b为此句型的直接短语。
上面文法的直接短语为b。
若将A=>b去掉
a、A和p都不能推导出其他式子,这时不能将S=>a,S=>A、S=>p分开来看,应该当做一个整体S=>aAp
则新得到的文法的直接短语为aAp
句柄:
最左直接短语叫做句柄
b为最左直接短语,所以b为该文法的句柄。
将b进行归约后得到的文法
该文法的最左直接短语为aAp(aAp为一体)
这时句柄为aAp。