在解释器的pyparsing中定义关键字

时间:2015-08-05 15:39:17

标签: python python-2.7 parsing keyword pyparsing

所以我知道这可能是一个愚蠢的问题而且很可能是不可能的,但是在pyparsing中有一种方法可以创建关键字(比如print for python) 我正在尝试在python中为不同的语言创建一个解释器,以便您可以在android上使用这种语言编写(因为python文件可以在python上运行,但另一种语言可以' t)。例如,在这种语言中有一个PUT语句打印出来是否有一种方法可以在pyparsing中定义"定义"这个put语句,这样当我导入这个解释器时,我可以写PUT" Hello,World!"而不是(a =' PUT" Hello,World"',Result = p.parseString(a),print result [1])

1 个答案:

答案 0 :(得分:0)

不是编写一种全新的语言,而是可以像在pyparsing wiki上的示例(http://pyparsing.wikispaces.com/file/view/stateMachine2.py/110934709/stateMachine2.py)中那样向Python添加关键字。解析器选择您的自定义关键字,并将其替换为实现该命令的扩展Python代码,然后将此代码编译为常规Python模块。

如果你想写一个纯粹的DSL,请查看同一个wiki示例页面上的冒险示例,其中我使用简单的命令实现了一个简单的DSL来运行冒险游戏。