【发布时间】:2016-03-18 19:17:52
【问题描述】:
见标题。对于我正在编写的一个小工具,我想介绍一种简单的布尔过滤器语言,并决定“正确”地做到这一点并使用解析器生成器。在玩了一下 grako 之后,我发现我喜欢它并且很快就完成了过滤器语言(这也很好:))
现在的问题是,如果我想在其他计算机上使用该工具或将其提供给其他人,我首先必须以某种方式使 grako 可用,这有点麻烦,因为其他一切都是标准的 python3 东西。
我想通过共同打包必要的 grako 类是可能的,但这似乎有点混乱(许可会以任何方式提及)。也许我忽略了一些内置方法。
【问题讨论】:
-
有时解析器生成器是多余的。如果您只想编写一个简单的布尔表达式语言,您可以使用手写的递归下降解析器非常有效地做到这一点,并且没有外部包依赖项。见stackoverflow.com/questions/2245962/…
-
感谢提示。我同意,为此使用生成器可能有点过头了,但这只是一个“为了好玩”的东西,我确实使用了一个,只是因为我已经有一段时间没有玩过任何东西了;-)。
标签: python python-3.x parser-generator grako