JAVACC&& JJTree(.jjt)插入||解析两个令牌时符号到树中

时间:2013-09-28 07:06:22

标签: java tree javacc

例如B&& C树应该是这样的(A || B)&& (C)。这应该是这样的。我试过了,但每次额外的||像这样添加A || B || &安培;&安培; C.每次都会生成错误的树。

代码我这样做

LOOKAHEAD((simpleTerm())+)

   (
       simpleTerm()
  {
     jjtthis.setValue("||");
   }
   )+

* 注意simpleTerm可能是& ltSTRING& gt或& ltQuotedString& gt *

我如何插入||符号进入树,所以它形成这样的树A || B&& ℃。?

如何使用javacode将令牌图像插入树?

1 个答案:

答案 0 :(得分:1)

尝试类似以下内容

void Conjunction() #void :
{ }
{
  Disjunction()
  (  "&&"
     Disjunction()  
     {jjtThis.setValue( "&&" );} #BinOp(2)
  )*
}

void Disjunction() #void :
{}
{
  SimpleTerm()
  (  
     SimpleTerm()  
     {jjtThis.setValue( "||" );} #BinOp(2)
  )*
}

void SimpleTerm() :
{Token t ;}
{
    (t=<STRING> | t=<QUOTEDSTRING>)
    {jjtThis.setValue( t.image ) ;}
}