[antlr-interest] Imaginary Node Constructor T[token-ref, "text"] throws error: missing attribute access on rule scope: token-ref

The Researcher researcher0x00 at gmail.com
Tue Mar 22 14:21:10 PDT 2011


On Tue, Mar 22, 2011 at 5:14 PM, John B. Brodie <jbb at acm.org> wrote:

>  On Tue, 2011-03-22 at 16:46 -0400, The Researcher wrote:
> > FYI
> >
> > In using Imaginary Node Constructor  T[token-ref,"text"]  as documented
> in
> > "The Definitive ANTLR Reference" pg. 176,
> > the error  "missing attribute access on rule scope: token-ref"  was
> given.
> >
> > I was able to use  T["text"] as documented  in
> > http://www.antlr.org/wiki/display/ANTLR3/Tree+construction.
> >
> > I used the bug report for another bug a few days ago, but never saw it
> added
> > to the bug list, so I am using the interest list here instead.
> >
>
> you need a $ on the token ref. see the example on pg. 176. e.g. this:
>
> compoundStatement
>  : lc='[' statement* '}' -> ^(SLIST[$lc] statemment *)
>  ;
>
>
>
> John,

Thanks. I did. Here is the error and working text

Error:

byteExp = offsetAndOrSizeExpression
-> ^(OffsetAndOrSize ^(ByteValue $byteExp) ^(BitValue
IntegerLiteral[$byteExp,"0"]))

Working:

 byteExp = offsetAndOrSizeExpression
-> ^(OffsetAndOrSize ^(ByteValue $byteExp) ^(BitValue IntegerLiteral["0"]))

Eric


More information about the antlr-interest mailing list