[antlr-interest] Q: move from v2 to v3 parser grammar. Rewrite tree rule
Matt Fowles
matt.fowles at gmail.com
Sun Mar 20 04:11:20 PDT 2011
Rusian~
Try:
query_expression
: query_term (( "union" | "except" )^ "all"? query_term)*
-> ^(QUERY_EXPRESSION $query_expression)
;
Matt
On Sun, Mar 20, 2011 at 10:40 AM, Ruslan Zasukhin
<ruslan_zasukhin at valentina-db.com> wrote:
> 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]
>
>
>
> 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