[antlr-interest] Re: Calc example LPAREN/RPAREN
kemmerzehl
malitrait at start.com.au
Mon Dec 24 21:28:16 PST 2001
--- In antlr-interest at y..., "kemmerzehl" <malitrait at s...> wrote:
> Hi,
> This is my first exposure to parsing etc. so please excuse my
> ignorance. As an excersize in trying and figure this stuff out i
set
> myself the task of modifying the calc example to support input such
> as "(5+4)*3;" but i cannot figure out what im supposed to do. I
know
> you guys probably hate these messages but im having trouble getting
> my head around this and i havent been able to find "The Complete
> Idiots Guide to ANTLR" or "ANTLR for Dummies" anywhere. Any help
> would be greatly appreciated.
> I've also noticed that you have the lexer creating the tokens
> LPAREN and RPAREN yet these tokens are not being referenced by the
> parser, and the example doesn't accept them as valid input - if
they
> are not being used why are the there?
>
> Thanks,
> -Kemmerzehl
Ignore previous message, after some sleep i conquered it. I must say
it was alot easier than i thought. my parser now looks like this:
class CalcParser extends Parser;
options {
buildAST = true; // uses CommonAST by default
}
formula: expr SEMI!
;
expr: mexpr (PLUS^ mexpr)*
;
mexpr
: atom (STAR^ atom)*
;
atom: (INT|pexpr)
;
pexpr: LPAREN! expr RPAREN!
;
..simple!
Although, i am still a little confused as to why the LPAREN and
RPAREN tokens were there in the first place, but that is beside the
point.
Sorry to be a bother and thanks Terence this is really quite cool!
-Kemmerzehl
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list