[英]Context free grammar modification for simple arithmetic Expression
给予CFG
E->TE'
E'->+TE'|-TE'|null
T->FT'
T'->*FT'|/FT'|null
F->(E)|number
如何在C程序中实现此CFG,以便它在表达式中接受多位数字输入。例如-我想在上述CFG转换后的代码中输入320 / 40-12 * 2 + 1 * 32。
谢谢
添加规则:
number -> digit | digit number
digit -> 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
现在,用C语言编写一个解析器。由于这是一个简单的LL(1)语法,最简单的方法是递归下降-为语法中的每个非终结符编写一个函数,以识别输入中的非终结符并消耗掉它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.