简体   繁体   English

为什么 JavaCC 显示错误

[英]Why JavaCC Show Error

I'm using JavaCC to build a simple language just for add and multiply of 2 or more variables.我正在使用 JavaCC 构建一种简单的语言,仅用于 2 个或更多变量的加法和乘法。 When I run code for example : a+b - error is shown例如,当我运行代码时:a+b - 显示错误

Was expecting one of: EOF or "+" ..期待以下之一:EOF 或“+”..

My code is here我的代码在这里

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

Can Anyone help me?谁能帮我?

Perhaps也许

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

should be应该

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

And likewise for Tp .对于Tp也是如此。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM