这个语法问题还有另一个问题:
我正在玩 Volker Birk 的pyPEG2,但我遇到了一个非常微不足道的案例:
from pypeg2 import *
text = 'f(x)'
grammar = name, '(' , word,')'
print parse(text, grammar)
我得到的异常看起来像:
Traceback(最近一次调用最后):文件“test.py”,第 5 行,打印解析(文本,语法)文件“/home/yy/dev/python/len/len/lang/pypeg2/ init .py”,第 539 行,在解析 t 中,r = parser.parse(text, thing) 文件“/home/yy/dev/python/len/len/lang/pypeg2/ init .py”,第 644 行,在解析 t 中,r = self._parse(t, thing, pos) 文件“/home/yy/dev/python/len/len/lang/pypeg2/ init .py”,第 814 行,在 _parse t2 中,r = self._parse(t, e , pos) 文件“/home/yy/dev/python/len/len/lang/pypeg2/ init .py”,第 962 行,在 _parse 中引发 GrammarTypeError("in grammar:" + repr(thing)) pypeg2.GrammarTypeError:在语法中:'('
parse()在解析应该是 Symbol() 的左圆括号时失败。当然,我遗漏了一些明显的东西,但是什么?