I have no opinion on the question posed, but I am very much looking forward
to this module.

On Thu, Feb 5, 2015 at 5:01 AM, Ruslan Shvedov <[email protected]>
wrote:

> MarpaX::Regex <https://github.com/rns/MarpaX-Regex> saw some progress
> recently: as an early preview, here is the BNFied version
> <https://github.com/rns/MarpaX-Regex/blob/master/t/The_basics.t#L155> of
> floating point regexp from perlretut
> <http://perldoc.perl.org/perlretut.html#Building-a-regexp> (parses, but
> ). Symbols, e.g. <start of line> ::= ^, can be defined for (arguably more)
> readability.
>
> Perhaps I'm just "holy overanalyzing, Batman", but I have a question about
> empty capturing groups: how to implement them
>
> as is, e.g.
>
> s ::= 'house' ( 'cat' |)
> s ::= 'house' ( 'cat' ( 's' |) |)
>
>
> or allow them only via an empty rule, e.g.
>
> s ::= 'house' ( 'cat' | empty )
> s ::= 'house' ( 'cat' ( 's' | empty ) | empty )
> empty ::= # empty rule
>
>
> I'm afraid the right decision is support both, but would appreciate other
> opinions. And any early feedback too. :)
>
> As a general (perhaps incomplete) observation, POSIX [1] and Perl6 [2]
> seem to forbid empty capturing groups, while PCRE, ECMAscript, Java and
> .Net allow them and according to a book [2] such groups can be used
> intentionally, even if for the purposes MarpaX::Regex aims to serve.
>
> [1] the empty  group `()' in `a()b' is invalid
>
> https://docs.freebsd.org/info/regex/regex.info.POSIX_Regular_Expression_Compiling.html
>
> [2] http://code.activestate.com/lists/perl6-compiler/9129/
>
> [3] http://goo.gl/Fg2hbF
>
> --
> You received this message because you are subscribed to the Google Groups
> "marpa parser" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"marpa parser" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to