[英]representing CFG productions
我正在开发一个程序,该程序需要确定字符串“((示例+另一个)*其他”)是否属于某个语法。
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中实现类似于上述语法的内容。 到目前为止,我对switch语句怀有沉思,但我觉得这不是做到这一点的方法。 有更简单的方式代表作品吗? 任何提示将不胜感激。 谢谢
带有递归的Switch语句比您想像的要近得多。
请参阅我关于如何构建递归下降解析器的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.