Related articles |
---|
how to eliminate this left recursion hammeron56@yahoo.com (Mike) (2005-07-22) |
Re: how to eliminate this left recursion codeworker@free.fr (=?iso-8859-1?q?C=E9dric_LEMAIRE?=) (2005-07-26) |
Re: how to eliminate this left recursion cfc@shell01.TheWorld.com (Chris F Clark) (2005-07-26) |
Re: how to eliminate this left recursion owong@castortech.com (Oliver Wong) (2005-07-26) |
From: | "Mike" <hammeron56@yahoo.com> |
Newsgroups: | comp.compilers |
Date: | 22 Jul 2005 20:17:06 -0400 |
Organization: | http://groups.google.com |
Keywords: | parse, question |
Posted-Date: | 22 Jul 2005 20:17:06 EDT |
Hi,
I understand how to eliminate left-recursion when a grammar rule
looks like this: a->ab | c
but how do you do it when it looks only like this: a->ab
Such a grammar rule exists in the following regular expressions grammar
(see rule ERE_expression)
Thanks in advance,
Mike
/* --------------------------------------------
Extended Regular Expression
--------------------------------------------
*/
extended_reg_exp : ERE_branch
| extended_reg_exp '|' ERE_branch
;
ERE_branch : ERE_expression
| ERE_branch ERE_expression
;
ERE_expression : one_character_ERE
| '^'
| '$'
| '(' extended_reg_exp ')'
| ERE_expression ERE_dupl_symbol
;
one_character_ERE : ORD_CHAR
| QUOTED_CHAR
| '.'
| bracket_expression
;
ERE_dupl_symbol : '*'
| '+'
| '?'
| '{' DUP_COUNT '}'
| '{' DUP_COUNT ',' '}'
| '{' DUP_COUNT ',' DUP_COUNT '}'
;
Return to the
comp.compilers page.
Search the
comp.compilers archives again.