# [antlr-interest] Antlr v3 Syntax question

bryce.alcock at sungard.com bryce.alcock at sungard.com
Wed Mar 28 12:19:21 PDT 2007

```Found "a" solution based on page 90 of the ANTLR book

AND B.T.W.  there is a nice little note on the side that says "new
inversion 3"

Bryce

bryce.alcock at sungard.com
Sent by: antlr-interest-bounces at antlr.org
03/28/2007 01:18 PM

To:     antlr-interest at antlr.org
cc:
Subject:        Re: [antlr-interest] Antlr v3 Syntax question

Ok,  i found a pretty close example on page 136 of the book,
but that is not working for me because that seems to be at the Parse time,
not as you are walking the AST.

Bryce

I would like to return a vector (or list for that matter of all the
LITTERAL values whos common
root was the given "PREDICATE"

Here was my first attempt.

predicate returns [java.util.Vector v]  : ^(PREDICATE LITERAL+) {
if(\$v==null){
\$v = new java.util.Vector();
}
System.out.println("V.size is => "+\$v.size());
System.out.println("V.size after add is => "+\$v.size());
System.out.println("v is:"+\$v.toString());

}
;

Here is the Input:
6+6+8 in ("T","y","R")

AST.toString....
(COMPOUND (in (+ (+ 6 6) 8) (PREDICATE "T" "y" "R")))

Here is the output:

Hello World from TestExprWalker
V.size is => 0
V.size after add is => 1
v is:["R"]
stat hello world This value will be processed =>5

This only included the first value.
What am I doing wrong, and is there an example I can look at.

I Kinda looked through Terence's book and didn't find an example,
but I am sure there is one in there somewhere.