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 )