MarpaX-ESLIF
view release on metacpan or search on metacpan
lib/MarpaX/ESLIF.pm view on Meta::CPAN
=item Embedded Lua language
Actions can be writen directly in the grammar.
=item Regular expressions
Matching supports natively regular expression using the L<PCRE2|http://www.pcre.org/> library.
=item Streaming
Native support of streaming input.
=item Sub-grammars
The number of sub grammars is unlimited.
=back
Beginners might want to look at L<MarpaX::ESLIF::Introduction>.
=for test_synopsis BEGIN { die "SKIP: skip this pod, this is output from previous code\n"; }
lib/MarpaX/ESLIF/BNF.pod view on Meta::CPAN
=item * Regular expression
They are always enclosed within slashes C<//>, and the content must be valid as per the L<PCRE2 Perl Compatible Regular Expression|http://www.pcre.org/> library. Modifiers can start after the slash on the right. Regular expression patterns are by def...
Regular expressions must be used with care in the two following scenarios:
=over
=item Quantifiers at the end
If the regular expression ends with an unlimited quantifier at the end, i.e. C<*> or C<+>, it is very likely that the data will match partially until the whole input is read, effectively forcing ESLIF to read the entire input. This can break the I<st...
=item Negative lookahead at the end
If the regular expression ends with a negative lookahead, it can match when you think it should not. This is because negative lookahead does not trigger a partial match. In such a case, you should ensure that your regular expression forces a minimum ...
=back
=back
The PCRE2 syntax is supported in its entirety, this include any PCRE2 add-on. Character classes and regular expression share the same set of modifiers, executed in order of appearance, that are:
( run in 0.365 second using v1.01-cache-2.11-cpan-4d50c553e7e )