作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我发现(在 StackOverflow 上的另一个问题之后)这个用 Python 编写的有趣的库,其目标是语法解析。
http://code.google.com/p/modgrammar/
我还找到了关于它的教程:
http://packages.python.org/modgrammar/tutorial.html
所以,在阅读了所有教程之后,我明白这就是我要找的东西!我尝试编写教程中的第一个示例:
from modgrammar import *
class MyGrammar (Grammar):
grammar = (LITERAL("Hello,"), LITERAL("world!"))
但是我遇到了这个错误:
Traceback (most recent call last):
File "test.py", line 1, in <module>
from modgrammar import *
File "/Users/tesi/Desktop/Prova/modgrammar/__init__.py", line 503
class Grammar(metaclass=GrammarClass):
^
SyntaxError: invalid syntax
问题似乎出在元类声明中。可能是我在调用 python 解释器时必须添加一个“编译标志”吗?一些好消息?! :) 谢谢
最佳答案
class Grammar(metaclass=GrammarClass)
使用 Python3 语法。等效的 Python2 语法是
class Grammar(object):
__metaclass__=GrammarClass
但由于可能有许多其他 Python3 主义,您可能必须使用 Python3 才能使用 modgrammar
。
关于Python 元类和 ModGrammar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7064925/
我发现(在 StackOverflow 上的另一个问题之后)这个用 Python 编写的有趣的库,其目标是语法解析。 http://code.google.com/p/modgrammar/ 我还找到
我是一名优秀的程序员,十分优秀!