2012-03-10 52 views
1

我正在研究一個程序,需要確定一個字符串「(example + another)* other」是否屬於某個語法。代表CFG生產

Start = Expr endline 
    Expr = Term Expr2 
    Expr2 = + Term Expr2 | - Term Expr2 | e 
    Term = Factor Term2 
    Term2 = * Factor Term2 |/Factor Term2 | e 
    Factor= id | (Expr) | num 

例如我試圖在Java中實現類似於上述語法的東西。到目前爲止,我已經改變了陳述,但我覺得這不是做到這一點的方法。 是否有更簡單的方式來表示產品? 任何提示將不勝感激。 謝謝

+0

我建議你閱讀解析器。這裏有幾個關鍵字:LR解析,LL解析,第一套,遞歸下降:-) – aioobe 2012-03-10 22:04:18

回答