0

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

代码我这样做

LOOKAHEAD((simpleTerm())+)

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

*注意 simpleTerm 可以是 <STRING> 或 <QuotedString> *

如何插入 || 符号成树,所以它形成这样的树 A || B&&C.?

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

4

1 回答 1

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 ) ;}
}
于 2013-09-29T13:28:17.980 回答