この文法の質問のさらに別の問題点:
私はVolkerBirkのpyPEG2で遊んでいますが、非常に些細なケースで立ち往生しています。
from pypeg2 import *
text = 'f(x)'
grammar = name, '(' , word,')'
print parse(text, grammar)
私が得ている例外は次のようになります:
トレースバック(最後の最後の呼び出し):ファイル "test.py"、5行目、print parse(text、grammar)ファイル "/ 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、in _parse raise GrammarTypeError( "in grammar:" + repr(thing))pypeg2.GrammarTypeError:文法で:'('
parse()は、Symbol()であるはずの開き角括弧の解析に失敗します。確かに私は明らかな何かを見逃していますが、何ですか?