Related articles |
---|
Opinions about "epsilon" Symbols in Parse Trees drikosv@otenet.gr (Evangelos Drikos) (2005-06-09) |
Re: Opinions about "epsilon" Symbols in Parse Trees schmitz@i3s.unice.fr (Sylvain Schmitz) (2005-06-10) |
Re: Opinions about "epsilon" Symbols in Parse Trees DrDiettrich@compuserve.de (Hans-Peter Diettrich) (2005-06-10) |
Re: Opinions about "epsilon" Symbols in Parse Trees mefrill@yandex.ru (mefrill) (2005-06-12) |
Re: Opinions about "epsilon" Symbols in Parse Trees news4e71@yahoo.com (0x4e71) (2005-06-12) |
Re: Opinions about "epsilon" Symbols in Parse Trees DrDiettrich@compuserve.de (Hans-Peter Diettrich) (2005-06-12) |
Re: Opinions about "epsilon" Symbols in Parse Trees drikosv@otenet.gr (eDrikos) (2005-06-13) |
From: | 0x4e71 <news4e71@yahoo.com> |
Newsgroups: | comp.compilers |
Date: | 12 Jun 2005 21:32:17 -0400 |
Organization: | Compilers Central |
References: | 05-06-052 |
Keywords: | parse |
Posted-Date: | 12 Jun 2005 21:32:17 EDT |
Hi,
"Evangelos Drikos" <drikosv@otenet.gr> said:
> <Identifier> ::= <Identifier start> <Identifier part>
> <Identifier start> ::= <Latin Letter>
> <Identifier part> ::= { <Latin Letter> | <digit> | NONE } .
> /* where NONE is the "epsilon" */
>
> How many times should the Parser reduce the production "<Identifier
> part>-> NONE" when it read an identifier consisting of only one <Latin
> Letter>?
Well, if we assume
A) NONE (Epsilon) is handled like a normal terminal.
And
B) "{x}" means "zero or more x".
The answer is: infinite times.
What about:
- Treating NONE like a special case (i.e. always an outgoing edge) ?
- Modifying the production, taking NONE out of {}
<Identifier part> ::= { <Latin Letter> | <digit>
} NONE
- Using a different grammar, for example :
id -> START_CHAR id_part
id_part -> MID_CHAR id_part
| EPSILON
Cheers,
Luigi
Return to the
comp.compilers page.
Search the
comp.compilers archives again.