Do you use Grammar::Tracer and especially Grammar::Debugger?
I'd say a TOP rule is... don't leave TOP without them.
--
raiph
I recommend to default to using `token` rather than `rule` or `regex`.
If you need backtracking, use `regex`
If you have a lot of parts that match whitespace use `rule` (generally
used for combining other tokens.)
On Sun, Sep 23, 2018 at 7:13 PM Patrick R. Michaud wrote:
>
> I suspect the rule:
I suspect the rule:
rule other { . }
means that in
$input = '~i << to
match (although will also end up matching the space after the "i" in
the text string, since white spaces are no longer significant). Or try just
changing the rule to be a token and leave the others as rules.
Ph
Let's see.
If you have my $input = '~i o<<<', then matches.
'rule' turns on :sigspace. If you use 'token' instead of 'rule' then
matches.
I don't quite have the full picture of what's happening.
-y
On Sun, Sep 23, 2018 at 7:07 PM, Mark Carter wrote:
> My grammar doesn't seem to match the
My grammar doesn't seem to match the 'other' rule. What's wrong with it?
grammar Weave {
token TOP { * }
rule el { | | }
rule lt { '<' }
rule tilde { '~' \S+ }
rule other { . }
}
class Weaver {
has Str $.outstr;
method TOP ($/)