通过AST语法树解析来实现一个简易的表达式求值器
最近工作中需要搞一个简易的规则引擎,在翻了Github之后发现了danthedeckie/simpleeval这个库,用起来挺方便的,不过在查阅源码后发现,simpleeval原理是复用Python的ast库来解析计算的,依赖于Python语法,通过构建一个安全沙箱来隔离运行的。
不过在工作业务中,考虑到后续极有可能有自定义语法的需求,所以想来想去,还是写一个简单的解析器比较合适。
代码将基于Python实现。
最近工作中需要搞一个简易的规则引擎,在翻了Github之后发现了danthedeckie/simpleeval这个库,用起来挺方便的,不过在查阅源码后发现,simpleeval原理是复用Python的ast库来解析计算的,依赖于Python语法,通过构建一个安全沙箱来隔离运行的。
不过在工作业务中,考虑到后续极有可能有自定义语法的需求,所以想来想去,还是写一个简单的解析器比较合适。
代码将基于Python实现。