Related articles |
---|
Compiler books for beginners? bart@dynarec.com (2002-05-27) |
Re: Compiler books for beginners? rboland@unb.ca (Ralph Boland) (2002-05-27) |
Re: parsing extended CFGs, was Compiler books for beginners? cfc@world.std.com (Chris F Clark) (2002-05-31) |
Re: parsing extended CFGs, was Compiler books for beginners? joachim_d@gmx.de (Joachim Durchholz) (2002-05-31) |
From: | "Chris F Clark" <cfc@world.std.com> |
Newsgroups: | comp.compilers |
Date: | 31 May 2002 22:54:23 -0400 |
Organization: | Compilers Central |
References: | 02-05-142 02-05-151 |
Keywords: | parse |
Posted-Date: | 31 May 2002 22:54:23 EDT |
Ralph Boland asked:
> Why has LR based parser generator tools that directly support (that do
> not translate the grammar into non-extended form) regular expression
> operators so uncommon anyway; other than that they are fairly complex?
There are two answers.
1) It is simple to rewrite a grammar into the non-extended form, and
that turns every regular expression operator into a non-terminal
which has some advantages in terms of the type of tree constructed
also.
2) If your parser generator accept regular expressions without
conversion, it has to know how to reduce arbitrary length rules.
The original parser generators did that by "lookback", but that is
a horrible method.
Personally, we prefer that the parser generator handle the regular
expressions without conversion, and so Yacc++ does it that way.
Hope this helps,
-Chris
*****************************************************************************
Chris Clark Internet : compres@world.std.com
Compiler Resources, Inc. Web Site : http://world.std.com/~compres
3 Proctor Street voice : (508) 435-5016
Hopkinton, MA 01748 USA fax : (508) 435-4847 (24 hours)
Return to the
comp.compilers page.
Search the
comp.compilers archives again.