I like the idea. Regular expressions, as parsed using special-purpose
regular expression engines, will always survive, because of the speed.
But a lot of things people do with regular expressions would benefit
from more power. -- jeffrey
On 01/25/2014 05:06 AM, rns wrote:
Can Verbal Expressions
<https://metacpan.org/pod/Regexp::VerbalExpressions> (stripped of
syntactic treacle) serve as such nice BNF-ishformat? E.g.
# Create an example of how to test for correctly formed URLs
start_of_line
"http" maybe "s" then "://" maybe "www." anything_but " "
end_of_line
This can be extended as needed for advanced Perl regex features
and replace function.
Such BNF format would also provide nice syntax highlighting hardly
possible with regex'es and, with a superset of Regexp::Common
and pattern reuse functionality turn into a DSL of its own.
Is MarpaX::Regex::Verbal a thing worth trying? What do you think?
On Tuesday, January 15, 2013 9:51:25 PM UTC+2, Jeffrey Kegler wrote:
There are a number of projects that would, I think, be quite
popular and
useful but which I simply don't have the cycles to consider doing
myself. One is a Regex compiler -- a compiler from some nice BNF-ish
format, to Perl regular expressions. I'd think this could be very
popular -- it would be very much in the comfort zone of some
programmers
who otherwise would not consider using Marpa.
To be specific, this is another specialized Marpa-to-Perl
compiler. The
compiler would write a Perl regex, and the Perl regex would be what
actually runs. The value added by Marpa would be that more complex
regexes could be more quickly and easily written, and the output
regex
could be nicely pretty-printed and commented.
Sometimes not understood is that one thing regular expressions
*cannot*
parse is the representation of a regular expression. Regular
expressions are defined recursively, but they do not themselves deal
with recursion.
One way to think of this project is as a Marpa super-superset of
Regexp::Common, whose functionality could be incorporated. A related
effort within Perl was the DEFINE predicate for sub-patterns, but
DEFINE
had horrific syntax and AFAIK was little or never used.
--
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/groups/opt_out.
--
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/groups/opt_out.