Related articles |
---|
Re: A Simple EBNF Grammar based parser puneet@daffodilwoods.com (Puneet Agarwal) (2002-07-15) |
Re: A Simple EBNF Grammar based parser puneet@daffodilwoods.com (Puneet Agarwal) (2002-07-15) |
Re: A Simple EBNF Grammar based parser cfc@world.std.com (Chris F Clark) (2002-07-21) |
From: | "Chris F Clark" <cfc@world.std.com> |
Newsgroups: | comp.compilers |
Date: | 21 Jul 2002 02:07:25 -0400 |
Organization: | Compilers Central |
References: | <agqaqr$npmh8$1@ID-99266.news.dfncis.de> <sddk7nz6pl5.fsf@shell01.TheWorld.com> 02-07-063 |
Keywords: | parse |
Posted-Date: | 21 Jul 2002 02:07:24 EDT |
> No, my parser is not a recursive descent parser. Actually, it can be
> used to generate Syntax Trees by parsing a given string.
Actually, your tool is not a *parser* (or parser generator) at all.
That was the confusion. Your tool is an "AST class generator".
That's a different beast. Your tool compares to JTB or JJtree. It's
a useful thing, but it is not a parser. There is no difficulty in
generating AST classes from left recursive grammars.
> Now, is it that generation of a recursive descent parser is not
> possible for a Grammar involving Left Recursion?
Yes, that is the problem. If you generate a recursive descent parser
from a grammar with left recursion, the resulting parser will loop
when it comes to a place where it has to recognize input that matches
a left recursive rule. That is why I asked the question I did. If
your tool was a parser (rather than an AST class generator), then it
would have that problem with left recursion.
> Is it easy to generate AST's for grammars with Left Recursion.?
Yes, trivial, in fact. Generating AST classes is merely a case of
traversing the grammar. There is no problem with any kind of
recursion in that traversal.
Sorry, that I didn't understand what you had done earlier,
-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.