[antlr-interest] v3: using literals
Terence Parr
parrt at cs.usfca.edu
Tue Mar 7 10:52:17 PST 2006
your primitiveType is optional (empty alt) and presumably there is a
loop above typeSpec. That can be the only possibility...what can
follow typeSpec?
Ter
On Mar 7, 2006, at 10:09 AM, Dieter Frej wrote:
> Thanks Ter! Is there any way I can get rid of this ambiguity?
> ... or anyone else besides Ter? ;-)
>
> - Didi
>
>
>
> Terence Parr wrote:
>> Hi. The grammar you have is fine minus the ambiguity. You don't
>> need to do that testLiterals stuff with v3. It just works.
>> Ter
>> On Mar 5, 2006, at 7:44 AM, Dieter Frej wrote:
>>> Hi,
>>>
>>> since antlrworks is a nice program I started using it (in my
>>> case it does not matter whether I use antlr v2 or v3).
>>>
>>> I have something pretty easy such as
>>>
>>> typeSpec
>>> :
>>> (classOrInterfaceType | primitiveType)
>>> ;
>>> primitiveType
>>> : //
>>> | 'boolean'
>>> | 'byte'
>>> | 'char'
>>> | 'short'
>>> | 'int'
>>> | 'float'
>>> | 'long'
>>> | 'double'
>>> ;
>>>
>>> classOrInterfaceType
>>> : //
>>> IDENT
>>> ;
>>>
>>> IDENT
>>> : ('a'..'z'|'A'..'Z'|'_'|'$')
>>> ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$')*
>>> ;
>>>
>>> I am getting a
>>>
>>> [16:32:58] test.g:47:9: Decision can match input such as "IDENT"
>>> using
>>> multiple alternatives: 1, 2
>>> As a result, alternative(s) 2 were disabled for that input
>>>
>>> which I completly understand. The problem is that I do not know
>>> how to
>>> use and test for literals in antlr v3. I did put
>>>
>>> grammar test;
>>> options {
>>> output = AST;
>>> }
>>> tokens {
>>> LITERAL_boolean='boolean';
>>> LITERAL_byte='byte';
>>> LITERAL_char='char';
>>> LITERAL_short='short';
>>> LITERAL_int='int';
>>> LITERAL_float='float';
>>> LITERAL_long='long';
>>> LITERAL_double='double';
>>> }
>>>
>>> in my grammar, but when I put testLiterals=true under options,
>>> it keeps
>>> complaining. I searched for it on the web page, but nothing :-/
>>> Not even
>>> in the java example grammar that is on the v3 page.
>>>
>>> Any hints/suggestions how I could do that in v3? Or is v3 not
>>> yet ready
>>> for that?
>>> If so: is there any other nice visual development tool for antlr v2?
>>>
>>> Didi
>
More information about the antlr-interest
mailing list