Python 中的迷你语言

新手上路,请多包涵

我正在用 Python 创建一个简单的迷你语言解析器,在接近问题域的地方进行编程等等。

无论如何,我想知道这里的人会如何做这些事情——在 Python 中做这种事情的首选方法是什么?

我不打算提供我所追求的具体细节,因为目前我只是在调查整个领域在 Python 中的易用性。

原文由 Reality 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 410
2 个回答

Pyparsing 对于编写“小语言”很方便。我 在 PyCon’06 上做了一个关于编写一个简单的冒险游戏引擎的演讲,其中被解析和解释的语言是游戏命令集(“inventory”、“take sword”、“drop book”等)。 (源代码 在这里。)

您还可以在 pyparsing wiki 找到指向其他 pyparsing 文章的链接。

原文由 PaulMcG 发布,翻译遵循 CC BY-SA 4.0 许可协议

我对 PLY (Python Lex-Yacc)的体验有限但积极。它将 Lex 和 Yacc 功能组合在一个 Python 类中。你可能想检查一下。

Stackoverflow 的研究员 Ned Batchelder 在他的网站上对可用工具进行了 很好的概述Python 网站 本身也有概述。

原文由 Stephan202 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏