[antlr-interest] Imaginary Node Constructor T[token-ref, "text"] throws error: missing attribute access on rule scope: token-ref
John B. Brodie
jbb at acm.org
Tue Mar 22 16:28:36 PDT 2011
On Tue, 2011-03-22 at 17:21 -0400, The Researcher wrote:
> 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"]))
offestAndOrSizeExpression is not a token! so byteExp is not a token
reference...
>
> Eric
>
> 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