[antlr-interest] Q: move from v2 to v3 parser grammar. Rewrite tree rule
Ruslan Zasukhin
ruslan_zasukhin at valentina-db.com
Sun Mar 20 03:40:41 PDT 2011
Hi All,
In v2 grammar we have rule as
===========================================
query_expression
: query_term (( "union"^ | "except"^ ) ( "all" )? query_term)*
{ ## = #([QUERY_EXPRESSION,"QUERY_EXPRESSION"], ##); }
;
===========================================
We try change it to v3
===========================================
query_expression
: query_term (( "union"^ | "except"^ ) ( "all" )? query_term)*
->(QUERY_EXPRESSION ???? )
;
===========================================
Ops, we cannot specify top node, because it can be union OR except.
For now the only way we have found is:
===========================================
query_expression
: query_expression2 ->(QUERY_EXPRESSION query_expression2)
;
query_expression2
: query_term (( "union"^ | "except"^ ) ( "all" )? query_term)*
;
===========================================
Question is. May be exists more elegant way for v3
Without additional rule?
--
Best regards,
Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc
Valentina - Joining Worlds of Information
http://www.paradigmasoft.com
[I feel the need: the need for speed]
More information about the antlr-interest
mailing list