我发现(在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 isms,所以您可能需要使用python3来使用
modgrammar
。关于python - Python元类和ModGrammar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7064925/