语法:自上而下和自下而上的区别?
自上而下和自下而上的语法有什么区别?一个例子很棒。
没有找到相关结果
已邀请:
2 个回复
联海
自下而上的解析器在反方向工作 - 递归下降解析器从完整表达式开始,并将其分解为越来越小的片段,直到达到单个标记的级别,自下而上的解析器从个体开始令牌,并使用关于这些令牌如何组合到表达层次结构的更高和更高级别的规则表,直到它达到顶级(上面表示为“表达式”)。 编辑:为了澄清,也许添加一个非常简单的解析器是有意义的。在这种情况下,我将完成将典型数学表达式的简化版本从中缀转换为后缀的旧经典:
请注意,这里的lexing非常愚蠢(它基本上只接受一个字符作为标记)并且允许的表达式非常有限(仅限+ - * /)。 OTOH,它足以处理如下输入: 1 + 2 *(3 + 4 *(5/6)) 它确实产生了我认为正确的输出: 1 2 3 4 5 6 / * + * +
雇砰