2016-05-30 67 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