Related articles |
---|
Technical question about yacc and LALR parsers jar@florida.HQ.Ileaf.COMid AA07671; Sun, 21 Apr 91 (1991-04-20) |
Re: Technical question about yacc and LALR parsers jml@wally.altair.fr (1991-04-22) |
Re: Technical question about yacc and LALR parsers mauney@eos.ncsu.edu (1991-04-22) |
Re: Technical question about yacc and LALR parsers bliss@sp64.csrd.uiuc.edu (1991-04-22) |
Re: Technical question about yacc and LALR parsers boyland@aspen.berkeley.edu (1991-04-23) |
Technical question about yacc and LALR parsers compres!chris@crackers.clearpoint.com (1991-04-21) |
Newsgroups: | comp.compilers |
From: | mauney@eos.ncsu.edu (Dr. Jon Mauney) |
Posted-Date: | Mon, 22 Apr 1991 14:18:54 GMT |
Keywords: | yacc, parse, errors |
Organization: | Project EOS - North Carolina State University |
References: | <9104210204.AA07587@florida.HQ.Ileaf.COM> |
Date: | Mon, 22 Apr 1991 14:18:54 GMT |
> ... Note that the following is possible (I think):
>
> state 747
> gathered_type : '[' VOID . ']'
> gathered_type : '(' VOID . ')'
This is not possible using the normal LALR construction, for the
reason you mentioned: transition into a state is due to shifting
of a single symbol. Therefore all configurations must have the
same symbol to the right of the dot. The same must be true of
the state previous to that: The predecessor of the given state 747
would have had to contain
gathered_type : '[' . VOID ']'
gathered_type : '(' . VOID ')'
which has been shown to be impossible.
The only way that items can differ in the left context is
for one to be contained in the other. For example,
given the grammar
A --> x B
A --> x y z
B --> y w
the CFSM wil l contain the state
A --> x y . z
B --> y . w
--
Jon Mauney, parsing partisan
Computer Science Dept.
N.C. State University
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.