2012-03-10 35 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

回答