Hello Roman,

I introduced in my "Mouse" two "a until b" expressions: a*+b and a++b,
> meaning (!ba)*b and (!ba) (!ba)*b.
>

It's interesting that you placed the negative lookahead on front.

My first thought was that there should be a "_skip_" before checking for
the marker, but now that I think of it skipping first may skip over part of
the marker.

It's also interesting that you let the grammar writer decide which the
skipping expression (a) will be. I opted for always skipping one input
position, because it covers most cases, and it has an efficient
implementation. Since there is not an "_ANY CHAR_" expression in TatSu, the
only way to advance one place is an expensive regex (though I could make
the regex `/./` a special case).

I haven't published the TatSu version with the "_skip to_" expression, so I
can still tweak the meaning. I have to think more about your approach,
which makes a lot of sense!

Cheers!


-- 
Juancarlo *Añez*
_______________________________________________
PEG mailing list
PEG@lists.csail.mit.edu
https://lists.csail.mit.edu/mailman/listinfo/peg

Reply via email to