[antlr-interest] Nested subtree duplication
Bill Andersen
andersen at ontologyworks.com
Wed Oct 1 09:47:27 PDT 2008
Folks
I'm trying to use a tree grammar I'm using to implement transforms on
logical formulae. The rule in question is
xform
: ^(AND x=(options{greedy=false;}:sent)* ^(OR y=sent+) z=sent*)
-> ....
;
What I want to do is output an AST that represents the distribution of
the inner OR over AND. Example
(AND A (OR B C) D) => (OR (AND A B D) (AND A C D))
which involves iteration over the list y (to get B and C in the
resulting disjuncts) and carrying over [A] and [D] intact.
Can this be done in the grammar without resorting to Java actions?
Bill Andersen
Ontology Works, Inc. (www.ontologyworks.com)
3600 O'Donnell Street, Suite 600
Baltimore, MD 21224
Office: +1.410.675.1201
Cell: +1.443.858.6444
Fax: +1.410.675.1204
More information about the antlr-interest
mailing list