[antlr-interest] "explosion" rewrite
Steve Ebersole
steve at hibernate.org
Fri May 1 13:14:34 PDT 2009
Is there a syntax to "explode" a subrule result (sorry don't know a
better term).
I have a rule:
sortSpecification
: sortKey collationSpecification? orderingSpecification?
-> ^( SORT_SPEC sortKey collationSpecification?
orderingSpecification? )
;
The result of the sortKey subrule could be a Tree of type VECTOR_EXPR
(its a "row value constructor" for those familiar with SQL).
In terms of eventual output, this rule translates as "(sort_key1,
sort_key2) asc" where "sort_key1, sort_key2)" is the VECTOR_EXPR.
Instead what I need to have happen is "sort_key1 asc, sort_key2 asc".
I started down the path of trying an @after in the sortSpecification and
calling out to some java code to mutate the tree manually. But I'd
prefer to keep this in the grammar if at all possible.
--
Steve Ebersole <steve at hibernate.org>
Hibernate.org
More information about the antlr-interest
mailing list