[antlr-interest] Help with grammar file

mzukowski at yci.com mzukowski at yci.com
Wed Aug 27 10:13:01 PDT 2003


Try putting EOF in your start rule.  What exactly is the error message?
Does it say what rule it was in.

Monty

-----Original Message-----
From: solmalik [mailto:boy_wonder48 at hotmail.com] 
Sent: Saturday, August 23, 2003 6:10 AM
To: antlr-interest at yahoogroups.com
Subject: [antlr-interest] Help with grammar file


Hi have greated a grammar file, which is to be used to parse any 
expressions entered bya user.  The expressions are of process 
algebra and a typical expression looks like:
a[0,2];b[0,1], meaning that (a) is to be executed befroe (b) and (a) 
can be executed by no later than of time 2 units.  Below is the file 
I haved used to try and accept an eqxpression of this form, but When 
I come to running it, I get the error message unexpected token:null  
any help is much appreciated. Thanks.

class P extends Parser;

//rule one or more equations forllowed by newline
startRule
: ( equation NEWLINE )+
;

//a mineqn followed by zero or more operations and mineqns
equation: mineqn (operation mineqn)*
;

//mineqn is eith ID or an eqn in brackets
mineqn : ID TIME
| OPEN equation CLOSE
;

//operations
operation
: SEMICOLN
| BAR_BAR
| CARET
| ASTERISK
| SY_OP
| RS_OP
;

class L extends Lexer;

options {
testLiterals = true;
}

// tokens required for synchronisation and restriction
tokens {
SY_OP = "sy";
RS_OP = "rs";
}

TIME: '[' ('0' .. '9') ',' ('0' .. '9') ']';

OPEN: '(' ;

CLOSE: ')' ;

SEMICOLN: ';' ;
BAR_BAR : "|";
CARET : '^' ;
ASTERISK: '*' ;


//ID any letter from a to z
ID : ('a' .. 'z' | 'A' .. 'Z');

NEWLINE : ('\r''\n')=> '\r''\n' //DOS
| '\r' //MAC
| '\n' //UNIX
{ newline(); }
;

WS : (' '|'\t') { $setType(Token.SKIP); } ;



 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 


 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 




More information about the antlr-interest mailing list