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

代码我这样做

LOOKAHEAD((simpleTerm())+)

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


*请注意simpleTerm可以是&ltSTRING&gt或&ltQuotedString&gt *

我如何插入||符号变成树,这样就形成树A || B && C.?

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

最佳答案

试试下面的东西

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 ) ;}
}

关于java - JAVACC && JJTree(.jjt)插入||解析两个 token 时,将符号插入树中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19064360/

10-12 23:51