[antlr-interest] problem with my grammar
lhoussain
aitbenmouh at yahoo.fr
Fri Dec 24 14:39:50 PST 2010
Hello ,
Im working with ANTLRWORKS and i hve probelmes with my grammar if you can
help me to change it in a LL1 grammar help me.
grammar grammaire;
PROGRAMM : 'programm ident' VARDECLLIST FUNCDECLLIST INSTR;
VARDECLLIST : EOF| VARDECL ';' VARDECLLIST;
VARDECL : 'var' IDENTLIST ';' TYPENAME;
IDENTLIST : 'ident' IDENT;
IDENT : EOF|','IDENTLIST;
TYPENAME : ATOMICTYPE | ARRAYTYPE;
ATOMICTYPE : 'unit' | 'bool'
| 'int';
ARRAYTYPE : 'array' '['RANGELIST']' 'of' ATOMICTYPE;
RANGELIST : 'int..int' RANG;
RANG : ',' RANGELIST|EOF;
FUNCDECLLIST : EOF| FUNCDECL ';' FUNCDECLLIST;
FUNCDECL : 'function ident ('ARGLIST') : 'ATOMICTYPE VARDECLLIST INSTR;
ARGLIST : ARG K| EOF;
K :','ARGLIST|EOF;
ARG : 'ident :' TYPENAME| 'ref ident :' TYPENAME;
INSTR : 'if' EXPR 'then do 'INSTR SUITE
| 'while' EXPR' do' INSTR
| LVALUE' :='EXPR
| 'return' X
| 'ident ('EXPRLIST')'
| 'begin' SEQUENCE 'end'
| 'begin end';
SUITE :EOF|' else' INSTR ;
X :EXPR|EOF;
SEQUENCE : INSTR SUIV;
SUIV : ';'SEQUENCE|';'|EOF;
LVALUE : 'ident' VALUE;
VALUE : '['EXPRLIST']'|EOF;
EXPRLIST : EXPR T;
T :','EXPRLIST |EOF;
EXPR : 'cte' R | '('EXPR')' R
| 'opu' EXPR R
| 'ident' EXPRL R;
R : 'opb' EXPR R | EOF;
EXPRL : '('EXPRLIST')'|'['EXPRLIST']';
--
View this message in context: http://antlr.1301665.n2.nabble.com/problem-with-my-grammar-tp5865678p5865678.html
Sent from the ANTLR mailing list archive at Nabble.com.
More information about the antlr-interest
mailing list