2016-05-30 66 views
-1

我正在使用JavaCC构建一个简单的语言,用于添加和乘以2个或更多变量。当我如运行代码:A + B - 显示错误为什么JavaCC显示错误

期待之一: 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

闻起来像功课。显示你所尝试过的以及你的调试结果。 downvote! – loonytune

回答

0

也许

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

应该

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

27:11 Tp

相关问题