[antlr-interest] Why is this nondeterminism

mzukowski at yci.com mzukowski at yci.com
Tue Jun 18 09:49:37 PDT 2002


OK, so what rules are calling eventStatement?

> -----Original Message-----
> From: Trey Spiva [mailto:Trey.Spiva at embarcadero.com]
> Sent: Tuesday, June 18, 2002 9:36 AM
> To: 'antlr-interest at yahoogroups.com'
> Subject: RE: [antlr-interest] Why is this nondeterminism
> 
> 
> > Something is probably calling eventStatement somehow?  Also 
> what is the
> > type
> > rule?
> 
> type
>   : name
>   | builtInType
>   ;
> 
> builtInType
>   : "boolean"
>   | "integer"
>   | "double"
>   | "byte"
>   | "long"
>   | "single"
>   | "currency"
>   | "decimal"
>   | "date"
>   | "string"
>   | "variant"
>   | "object"
>   ;
> 
> protected 
> name
>   : IDENT (subScript)? (options {greedy=true;} : DOT^ IDENT 
> (subScript)? )* 
>   ;
> 
> protected 
> subScript
>   :  LPAREN (subScriptElement (COMMA subScriptElement)* )? RPAREN
>   ;
>  
> subScriptElement
>     : NUM_INT ("to" NUM_INT)?
>     ;
> 
> > Consider this input:
> > 
> > EVENT IDENT LPAREN IDENT RPAREN
> > 
> > it's having a tough time knowing if LPAREN IDENT RPAREN 
> should match the
> > optional part of eventStatement or something that follows 
> from something
> > calling eventStatement.  By default it will match in 
> eventStatement.  If
> > that is the desired behavior then you can turn the warning 
> off with an
> > option.  This is similar to the if/else problem which there 
> must be a FAQ
> > for...
> > 
> > Monty
> > 
> > > -----Original Message-----
> > > From: Trey Spiva [mailto:Trey.Spiva at embarcadero.com]
> > > Sent: Tuesday, June 18, 2002 9:16 AM
> > > To: 'antlr-interest at yahoogroups.com'
> > > Subject: [antlr-interest] Why is this nondeterminism
> > >
> > >
> > > I am receiving the errors:
> > >
> > > warning: nondeterminism upon
> > > k==1:LPAREN
> > > k==2:IDENT
> > > k==3:IDENT,RPAREN,"as"
> > > between alts 1 and 2 of block
> > >
> > > for the following rules.  Can any one give me an idea of
> > > why the rules are nodeterministic.
> > >
> > > eventStatement
> > >    : "event" IDENT ( LPAREN eventArgListDef RPAREN )?
> > >    ;
> > >
> > > protected
> > > eventArgListDef
> > >   : argumentModifiers IDENT ( "as"  type )?
> > >   ;
> > >
> > > argumentModifiers
> > >   :  ( argumentModifier )*
> > >     {#argumentModifiers = #(#[MODIFIERS,"MODIFIERS"],
> > > #argumentModifiers);}
> > >   ;
> > >
> > > protected
> > > argumentModifier
> > >    : "optional"
> > >    | "byval"
> > >    | "byref"
> > >    ;
> > >
> > >
> > >
> > > 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/ 


 

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



More information about the antlr-interest mailing list