用纯Python实现的编程语言

2 投票
8 回答
1426 浏览
提问于 2025-04-15 20:39

我正在创建一个高度可定制的Python客户端,并希望允许用户用其他语言编辑代码,以便自定义程序的运行方式。就像浏览器本身是用C/C++编写的,但可以运行HTML/JS这样的其他语言。所以我想问,有没有用纯Python实现的编程语言可以作为参考(或者直接使用)?我需要一种简单的语言(简单的语句和条件判断就可以)。

补充一下:抱歉如果我没有表达清楚,我想要的是“一种可以自定义程序运行的语言”。虽然pypi看起来是个不错的选择,但我希望找到一种更简单的语言,这样我可以自己学习和扩展。如果需要的话。我的谷歌搜索结果指向了一些基于XML的语言(比如BMEL、XForms等)。

8 个回答

3

Ren'Py 是对 Python 语法的一种修改,它是在 Python 的基础上开发的,使用了 Python 自带的 语言工具

4

这个问题的范围不是特别清楚,但我觉得使用PyPy、嵌入其他完整的编程语言和类似的解决方案可能有点过于复杂。听起来iamgopal可能更想要的是像解释器模式或者小语言这样的东西。

如果你想支持的语言真的很简单(可以看看解释器模式的链接),那么自己用Python手动编写这个并不会太难。你可以写一个简单的解析器(可以在网上查查,这里有一个例子),然后遍历抽象语法树(AST)来计算用户的表达式。

不过,如果你希望这个东西能用很长时间或者有很多人使用,可能还是值得用一门真正的编程语言来解决这个问题。(如果你的用户已经熟悉基本的Python语法,我建议直接用Python)。

1

有很多模板语言,比如Cheetah、Django模板、Genshi、Mako和Mighty,这些都可以作为例子。

撰写回答