I tried this example on ANTLRWORK but it shows me errors.
This is the code:
class CalcParser extends Parser;
options {
        buildAST = true;        // uses CommonAST by default
}

expr
        :       mexpr (PLUS^ mexpr)* SEMI!
        ;

mexpr
        :       atom (STAR^ atom)*
        ;

atom:   INT
        ;

class CalcLexer extends Lexer;

WS      :       (' '
        |       '\t'
        |       '\n'
        |       '\r')
                { _ttype = Token.SKIP; }
        ;

LPAREN: '('
        ;

RPAREN: ')'
        ;

STAR:   '*'
        ;

PLUS:   '+'
        ;

SEMI:   ';'
        ;

protected
DIGIT
        :       '0'..'9'
        ;

INT     :       (DIGIT)+
        ;

class CalcTreeWalker extends TreeParser;

expr returns [float r]
{
        float a,b;
        r=0;
}
        :       #(PLUS a=expr b=expr)   {r = a+b;}
        |       #(STAR a=expr b=expr)   {r = a*b;}
        |       i:INT                   {r = 
(float)Integer.parseInt(i.getText());}
        ;

 can you help me please ???


      

List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-- 
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to