Related articles |
---|
Writing a recursive descent parser in C bilbo@volcanomail.com (2001-11-29) |
Re: Writing a recursive descent parser in C spinoza1111@yahoo.com (2001-12-03) |
Re: Writing a recursive descent parser in C joachim_d@gmx.de (Joachim Durchholz) (2001-12-07) |
Re: Writing a recursive descent parser in C lingolanguage@hotmail.com (Bill Rayer) (2001-12-07) |
Re: Writing a recursive descent parser in C dr_feriozi@prodigy.net (SLK Parsing) (2001-12-07) |
Re: Writing a recursive descent parser in C alexc@world.std.com (2001-12-11) |
Re: Writing a recursive descent parser in C spinoza1111@yahoo.com (2001-12-11) |
From: | spinoza1111@yahoo.com (Edward G. Nilges) |
Newsgroups: | comp.compilers |
Date: | 11 Dec 2001 21:33:45 -0500 |
Organization: | http://groups.google.com/ |
References: | 01-11-146 01-12-008 |
Keywords: | C, parse |
Posted-Date: | 11 Dec 2001 21:33:45 EST |
spinoza1111@yahoo.com (Edward G. Nilges) wrote in message news:01-12-008...
> bilbo@volcanomail.com (Antoine Lec.) wrote...
>
> > Given a free-context grammar, I'm trying to write a recursive descent
> > parser for this grammar, with a minimum of function:
> >
> Here is the extempore C:
>
> isave = i;
> If ( checkTerminal(t, &i, end, "PRINT") ) {
> if ( checkTerminal(t, &i, end, identifier) )
> ||
> checkTerminal(t, &i, end, "*")
> && _
> checkTerminal(t, &I, end, identifier ) return(true);
> i = isave1; return(false);
> }
Brain fart: the above contains an error: it should be:
isave = i;
If ( checkTerminal(t, &i, end, "PRINT") ) {
if ( checkTerminal(t, &i, end, identifier)
||
checkTerminal(t, &i, end, "*")
&& _
checkTerminal(t, &I, end, identifier) ) return(true);
i = isave1; return(false);
}
The parentheses were misplaced in the extempore code.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.