in reply to Yacc is dead

Nice title.   Very catchy.   No usable content.

Obviously, when you have a parsing job to do, you (first of all...) should use a parser.   (“Regular Expression Hell” is certainly not a place you want to be, “even if it work(ed, once...).”   But is it in any way useful to say that, either with a headline-only title, or with a vague and un-specific blanket slam of a programming language?   Not useful to anyone.

Certainly, one should be aware of the many powerful parsers that are available in (or by) Perl.   For instance, I recently have been working on what has turned into a very large application-understanding project which uses Parse::RecDescent.   I freely acknowledge that to have tried to do such a thing by writing “Regex Hell” myself would have been silly ... how much better to have a CPAN module take care of doing that for me!   ;-)   The outcome has been perfectly satisfactory, especially given that I am doing a very in-exact parse ... “gleaning” useful information from files (SAS®, DB2®, and Korn Shell scripts... thousands of them...) whose general structure is only approximately predictable.   I have no reason for complaint concerning this excellent (pure Perl) tool.

(And yes, yacc has always done everything I have ever asked of it, too.)

Obviously, each parsing job is different, and so each parsing tool is, too.   As with all tool-selection, the challenge is to select the right tool, for this job, at this time.   The only thing that really matters when solving a problem is, how you choose to approach the problem.   Not which language you use (within reason).   Any other assertion is attention-grabbing and puerile...

Replies are listed 'Best First'.
Re^2: Yacc is dead
by casiano (Pilgrim) on Dec 09, 2010 at 22:23 UTC
    Nice title. Very catchy. No usable content.

    Indeed, a catchy title. Talk about the "dead of ..." (Perl for example :-) and you'll immediately get an audience.

    I believe there is still some usable content in the paper, however.

    Yes, the approach is the important thing, but the language you use (within reason) matters: it constraints your approach, the number of tools you can use and the maintenance of your application.

      /me nods...

      Understood.   “Within reason.”   But let the record show that new languages pop up every couple years, each one promising to be the savior, and soon enough there are new mountains of offal being written in every single one of them.   Your fundamental approach to the problem is the most important tool.