TokenManager不会感知Parser的存在,这意味着TokenManager会尽可能匹配足够长的终结符,而不是依据Parser的语法规则。语法
当被解析的文本为" @@ "时,TokenManager并不会根据Parser的须要返回两个<A>,而是直接将 @@ 认做<B>并传送给Parser,Parser会报错。parser
TOKEN: {void
< A : "@" >
| < B : "@@" >
}
void parserEntry():
{
}
{
<A> <A>
<EOF>
}