I\'m redoing a minilanguage I originally built on Perl (see Chessa# on github), but I\'m running into a number of issues when I go to apply semantics.
Here is the gr
The problem with your example is that Grako has the nameguard
feature enabled by default, and that won't allow parsing just the d
when d6
is ahead.
To disable the feature, instantiate your own Buffer
and pass it to an instance of the generated parser:
from grako.buffering import Buffer
from myparser import MyParser
# get the text
parser = MyParser()
parser.parse(Buffer(text, nameguard=False), 'expre')
The tip version of Grako in the Bitbucket repository adds a --no-nameguard
command-line option to generated parsers.