个板马,喵莫比喵?

编译原理

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

代码将基于Python实现。

继续阅读