簡體   English   中英

為什么 JavaCC 顯示錯誤

[英]Why JavaCC Show Error

我正在使用 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 > 
}

誰能幫我?

也許

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

應該

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

對於Tp也是如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM