我正在使用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 >
}
任何人都可以帮助我吗?
答案 0 :(得分:0)
也许
void Ep():
{}
{
( "+" Ep() )?
}
应该是
void Ep():
{}
{
( "+" T() )*
}
同样适用于Tp
。