我正在用 Python 创建一个简单的迷你语言解析器,在接近问题域的地方进行编程等等。
无论如何,我想知道这里的人会如何做这些事情——在 Python 中做这种事情的首选方法是什么?
我不打算提供我所追求的具体细节,因为目前我只是在调查整个领域在 Python 中的易用性。
原文由 Reality 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在用 Python 创建一个简单的迷你语言解析器,在接近问题域的地方进行编程等等。
无论如何,我想知道这里的人会如何做这些事情——在 Python 中做这种事情的首选方法是什么?
我不打算提供我所追求的具体细节,因为目前我只是在调查整个领域在 Python 中的易用性。
原文由 Reality 发布,翻译遵循 CC BY-SA 4.0 许可协议
我对 PLY (Python Lex-Yacc)的体验有限但积极。它将 Lex 和 Yacc 功能组合在一个 Python 类中。你可能想检查一下。
Stackoverflow 的研究员 Ned Batchelder 在他的网站上对可用工具进行了 很好的概述。 Python 网站 本身也有概述。
原文由 Stephan202 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
Pyparsing 对于编写“小语言”很方便。我 在 PyCon’06 上做了一个关于编写一个简单的冒险游戏引擎的演讲,其中被解析和解释的语言是游戏命令集(“inventory”、“take sword”、“drop book”等)。 (源代码 在这里。)
您还可以在 pyparsing wiki 找到指向其他 pyparsing 文章的链接。