[antlr-interest] about space between operator
Bart Kiers
bkiers at gmail.com
Mon Dec 5 02:06:14 PST 2011
Try this:
NOTEQUALS
: '<>'
;
LT
: '<' (' '+ '>' {$type=NOTEQUALS;})?
;
Regards,
Bart.
On Mon, Dec 5, 2011 at 8:14 AM, 李志鹏 <lizhipeng at gmail.com> wrote:
> hello all
>
> I have a very simple grammar like this:
> grammar AA;
>
> expression
> : TYPE_DOUBLE (NOTEQUALS | LT) TYPE_DOUBLE EOF
> ;
>
> NOTEQUALS
> : '<>' | '<' (' '+) '>'
> ;
>
> LT : '<';
>
> TYPE_DOUBLE
> : Digit+ '.' Digit*
> | '.' Digit+
> ;
>
> fragment
> Digit
> : '0'..'9'
> ;
> WS
> : (' '|'\r'|'\t'|'\u000C'|'\n')+ {$channel=HIDDEN;}
> ;
>
> if input "1.6<>1.7" or "1.6<1.7" or "1.6 <> 1.7", it is ok
> but input "1.6 < 1.7"(has white space on both sides '<' ), the grammar
> can't resolve it
>
> if I change as this
> NOTEQUALS
> : '<>'
> ;
> above all are ok, but "1.6 < > 1.7" is not work, I wan't use "<>" to mean
> not equal, and white space is allow between "< >", How Can i do?
>
> thank you all
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>
More information about the antlr-interest
mailing list