All the apocalypsi up to this point have been incremental, but this one changes everything in the regex world. In fact the system that Larry proposes is so far beyond what computer sceince calls regular expressions, it should be given a new name.

I would propose grammar expressions, or gramexes, because this system will allow one to parse full recursive grammars easily. I'd guess Larry chose angle brackets because that is what is often used in specifying nonterminals in a BNF grammar.

From the implementation point of view, such a system will require the full intermixing of perl and gramex code at the Parrot bytecode level, which will probably slow down matching relative to the perl5 regex engine.

From a user point of view, I think the difference between temp and let and local and my will be pretty confusing for most users.

Previously, grammars had been parsed by perl code for the parsing and regexes for the lexing. Larry seems to be betting that a specialized subsystem for grammars will be more readable and perhaps faster than the old way.

Times will certainly be interesting for perl6 gramex implementors.

In reply to Re: Apocalypse 5 and regexes by kvale
in thread Apocalypse 5 and regexes by c-era

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.