First. As Russ points out the critique of the practice of parsing context free languages with regular expressions is scathing. I add that is unfair.

The problem is in the people in the use of cut and paste imitation and copying “magic” regular expressions without fully understanding them. You must understand what you are doing.

In fact I am not so sure about the goodness of the algorithm proposed in "The Yacc is dead" paper.

According to Russ analysis, the proposed algorithm - due to backtracking - fails to guarantee the required efficiency. He said:

'Instead of ending the supposed problem of cargo cult parsing, the paper ends up being a prime example of what Richard Feynman called “cargo cult science” ... in which a successful line of research is imitated but without some key aspect that made the original succeed'

There is nothing bad in using regular expressions to parse context free languages. I do it. My concern is about the lack of some important parsing algorithms in CPAN, like GLR.

I am sure also that yacc is not dead (yet). "The asteroid to kill this dinosaur is still in orbit.”


In reply to Re^2: Yacc is dead by casiano
in thread Yacc is dead by casiano

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.