为什么JavaCC显示错误

时间:2016-05-30 09:44:10

标签: java compiler-errors javacc

我正在使用JavaCC构建一个简单的语言,只是为了添加和乘以2个或更多变量。当我运行代码时,例如:a + b - 显示错误

期待以下之一:     EOF或“+”..

我的代码在这里

    SKIP :
{ " " | "\t" | "\n" | "\r" | "\r\n" }

TOKEN : 
{<PLUS:"+">
|<SHUMEZIM:"*">
|<id:(["a"-"z"])*>
| <lb:"(">
| <rb:")">
}

void Prog():
{}
{
   T() Ep() < EOF >
}


void Ep():
{}
{
( "+" Ep() )?
}

void T():
{}
{
  F() Tp()
}

void Tp():
{}
{
  ( "*" Tp() )?
}


void F():
{}
{
  "(" Prog() ")"
  | < id > 
}

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

也许

void Ep():
{}
{
     ( "+" Ep() )?
}

应该是

void Ep():
{}
{
     ( "+" T() )*
}

同样适用于Tp