我发现(在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/

10-12 12:23