[antlr-interest] Re: Help with grammar file
solmalik
boy_wonder48 at hotmail.com
Thu Sep 4 08:09:49 PDT 2003
Hi i think the problem i am having is that the grammar file does not
seem to recieve any input, I think the problem is i am trying to read
data from a command line, whereas I want to psss the contents of s
tring to the grammar file, what would be the best way of doing
this?. The code used in the class is:
try //parse eqn entered to see if it conforms to grammar
{
L lexer = new L(new DataInputStream
(System.in));
P parser = new P(lexer);
parser.startRule();
}
catch(Exception e)
{
System.err.println("exception: "+e);
}
--- In antlr-interest at yahoogroups.com, mzukowski at y... wrote:
> startRule
> : ( equation NEWLINE )+ EOF
> ;
>
> Also try stepping through with a debugger or using the -trace
option to
> antlr.Tool to get a trace of your lexer and parser printed out when
you run
> it.
>
> Monty
>
> -----Original Message-----
> From: solmalik [mailto:boy_wonder48 at h...]
> Sent: Monday, September 01, 2003 10:56 AM
> To: antlr-interest at yahoogroups.com
> Subject: [antlr-interest] Re: Help with grammar file
>
>
> hi the exact error msg I am getting is "line 1:1: unexpected token:
> null". Any ideas? and what exactly do you mean placing EOF in the
> start rule? I am totally new to this, so don't really have a clue,
> any help much aprreciated thanks.
> --- In antlr-interest at yahoogroups.com, mzukowski at y... wrote:
> > 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 h...]
> > 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/
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list