Related articles |
---|
ambiguity of grammar and LR(k) linlist@fudan.edu (Linlist Leo) (1999-10-27) |
Re: ambiguity of grammar and LR(k) hanskamp@introweb.nl (Hans Kamp) (1999-10-28) |
Re: ambiguity of grammar and LR(k) hanskamp@introweb.nl (Hans Kamp) (1999-10-29) |
Re: ambiguity of grammar and LR(k) Xavier.Nicollin@imag.fr (Xavier Nicollin) (1999-10-29) |
Re: ambiguity of grammar and LR(k) henning@makholm.net (Henning Makholm) (1999-10-29) |
Re: ambiguity of grammar and LR(k) mtimmerm@microstar.nospam-remove.com (Matt Timmermans) (1999-10-29) |
Re: ambiguity of grammar and LR(k) nhartzell@macalester.edu (Nathan Hartzell) (1999-10-29) |
Re: ambiguity of grammar and LR(k) Xavier.Nicollin@imag.fr (Xavier Nicollin) (1999-10-31) |
[6 later articles] |
From: | "Hans Kamp" <hanskamp@introweb.nl> |
Newsgroups: | comp.theory,comp.compilers |
Date: | 28 Oct 1999 01:59:00 -0400 |
Organization: | IntroWeb Newsserver |
Distribution: | inet |
References: | 99-10-130 |
Keywords: | parse, LR(1) |
Linlist Leo <linlist@fudan.edu> schreef
> It is well-known the following grammar is ambiguous so that it is
> not LR(k) for any k.
> S -> iEtSeS | iEtS | a
> ('a' is not important, maybe just some assigning statement)
>
> But it can be written in an umambiguous way. I devised the following
> grammar(maybe incorrect).
> S -> M | U
> M -> iEtMeM | a
> U -> iEtS
>
> I guess it LR(1). Any correction will be welcomed.
I have a book "The UNIX programming environment" written by Brian
Kernighan and Rob Pike (but it is written in Dutch). It proposes the
following:
stmt : if cond stmt end
| if cond stmt end ELSE stmt end ;
if : IF ;
cond : '(' expr ')' ;
end : ;
I have to test it yet.
--
Hans Kamp
[K and P's book is also available in English. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.