Thanks for replying.

2. is not a valid PRICE.  PRICE should have at least 1 digit following the
'.'.  In the context of the string that I am trying to match "2." doesn't
have any particular significance, it is neither an INTEGER nor a PRICE.  It
is simply an INTEGER following by an SYMBOL token.  What I don't understand
is why ANTLR is getting hung up trying to match it as a PRICE when it
doesn't conform to the PRICE specification.  PRICE specifies another INTEGER
following the '.' which this input doesn't have.

On Sun, Aug 8, 2010 at 7:28 PM, Gerald Rosenberg <[email protected]> wrote:

>
> ------ Original Message (Sunday, August 08, 2010 6:42:55 PM) From: Ken
> Klose ------
> Subject: [antlr-interest] How does INTEGER+ '.' INTEGER+ match "2."?
>
>  INTEGER: DIGIT+;
>> PRICE: INTEGER '.' INTEGER;
>>
> Integer and price are ambiguous and, if "2." is a valid price, need to make
> the decimal field optional.
>
> Try:
>
> INTEGER : DIGIT+
>                        (  '.' (DIGIT+)? { $type=PRICE; }  // define PRICE
>  in the token block
>                         |  // just an integer
>                        )
>                ;
>
>
>
>

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