JavaCC的TokenManager和Parser

TokenManager不会感知Parser的存在,这意味着TokenManager会尽量匹配足够长的终结符,而不是依据Parser的语法规则。

 

当被解析的文本为" @@ "时,TokenManager并不会根据Parser的需要返回两个<A>,而是直接将 @@ 认作<B>并传送给Parser,Parser会报错。

TOKEN: {

  < A : "@" >

  |  < B : "@@" > 

}

void parserEntry():

{

}

{

  <A> <A>

  <EOF>

}

 

posted @ 2017-04-11 20:36  格德米斯  阅读(587)  评论(0编辑  收藏  举报