短语 由产生式推出的和某产生式右部相同的字符串(可以多次推导)
直接短语 只经过一次推导得到的短语
句柄 最左直接短语
素短语 素短语是至少含义一个终结符,并且自身不包含任du何更小素短语的一种短语
乔姆斯基四种文法 见笔记P2
以下三种集合都限定于上下文无关文法
FIRST集 一个串的first集表示这个串能推出的所有串的所有第一个终止符,如果这个这个串最后能推没了(ε),那么将ε也加入first集。这是一个递归的定义。如果一个串后面推出的部分最开头是几个连续的非终止,考虑他们的推空(ε)情况把他们的first集也放进来
FOLLOW集 一个串的follow集表示这个串被从开始符号推出后后面跟着的第一个终止符。如果某一步后面推空了(ε)则把#加入follow集。另外,注意这个串紧跟的非终止,根据它的推空情况把它的first或后面符号加入follow集合。
SELECT集 select集针对产生式,如果右部推不空,则select就为右部的first,如果右边能推空,则select为右部除了ε的first加上左的follow
LL(1)文法 充要条件是有相同左部的两个产生式的select集合∩空,且俩产生式右部不能同时推空
第一个L是从左到右,第二个L是分析用最左推导,1表示每次看一个输入符
判定方法
真的复杂。
其实核心思想还是那个,为了让文法从上而下推导的时候根据看后面的输入串保证每一步都是唯一的。
优先关系 在自下而上中,一定被规约的符号优先级更高。从产生式