TokenManager不會感知Parser的存在,這意味着TokenManager會盡可能匹配足夠長的終結符,而不是依據Parser的語法規則。語法
當被解析的文本爲" @@ "時,TokenManager並不會根據Parser的須要返回兩個<A>,而是直接將 @@ 認做<B>並傳送給Parser,Parser會報錯。parser
TOKEN: {void
< A : "@" >
| < B : "@@" >
}
void parserEntry():
{
}
{
<A> <A>
<EOF>
}