Open cch123 opened 6 years ago
有针对ast进行复杂表达式计算的例子么
@hl174 ,ast 都帮你把优先级处理好了,直接深度优先遍历就行了
@cch123 @hl174 ,ast 都帮你把优先级处理好了,直接深度优先遍历就行了
嗯嗯,我再看看,刚接触这个,不知道执行效率怎么样;go/parser都处理好了基本token和优先级是吧
@hl174 ,嗯,只要 parse 成功就可以遍历了
@cch123 @hl174 ,嗯,只要 parse 成功就可以遍历了 对ast的遍历和表达式的计算判断,都是需要自己实现的吧;go/parser里面好像还没提供接口直接传入string的表达式得到结果的吧
@hl174 是的哦,要自己算的
@cch123 @hl174 是的哦,要自己算的
要完备的计算这一整套,还要做相应的语法检查,边边脚脚的东西还是挺多的
@hl174 ,那肯定
@cch123 @hl174 ,那肯定
我尝试了下简单的a+b,解析表达式的抽象树,感觉运行速度有点慢;不知道是本身go/parser的原因还是我的代码原因
@hl174 ,用 benchmark 来测吧,估算不准
http://xargin.com/ast/