Hi all,

I'm facing a problem on my grammar that I don't know how to solve
(Antlr3.3)...

Let me show you my grammar. Simplified, of course. It's just to show you my
trouble.





grammar Cobol;

options {
  language = Java;
}

program : 'procedure' 'division' '.' section*;

section : ID 'section' '.' paragraph*;

paragraph : ID '.' block* '.';

block : command*;

command: (cmdA | cmdB | cmdC ) '.'?;
    
cmdA: 'A';

cmdB: 'B';

cmdC: 'C';

fragment Digit : '0'..'9';

fragment Letter : ('a'..'z' | 'A'..'Z');

ID : Letter ( Letter | Digit | '-' )*;





Using this grammar, I'm having the following errors and warnings:

warning(200): /Cobol/src/Cobol.g:14:12: Decision can match input such as
"{'.', 'A'..'C'}" using multiple alternatives: 1, 2
As a result, alternative(s) 2 were disabled for that input
 |---> ID '.' block* '.';

error(201): /Cobol/src/Cobol.g:14:12: The following alternatives can never
be matched: 2
 |---> ID '.' block* '.';

warning(200): /Cobol/src/Cobol.g:17:5: Decision can match input such as
"'B'" using multiple alternatives: 1, 2
As a result, alternative(s) 2 were disabled for that input
 |---> command*;

warning(200): /Cobol/src/Cobol.g:17:5: Decision can match input such as
"'A'" using multiple alternatives: 1, 2
As a result, alternative(s) 2 were disabled for that input
 |---> command*;

warning(200): /Cobol/src/Cobol.g:17:5: Decision can match input such as
"'C'" using multiple alternatives: 1, 2
As a result, alternative(s) 2 were disabled for that input
 |---> command*;


4 warnings

1 error

BUILD FAIL



My real problem is: 

1) any 'command' can be followed by a '.'
2) any sequence of 'command's not followed by '.' forms a 'block'
3) wherever I can use a 'command', I can use a 'block'
4) the '.' signifies the end of a 'block'
5) I can use any number of 'block's to form a 'paragraph'
6) I can use any number of 'paragraph's to form a 'section'
7) I can have any number of 'section's on a 'program'

Any hints or help about what am I doing wrong? I'm completely stuck on it,
'cause I'm a little newbie using Antlr...

TIA,
Nilo - Brazil


List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-- 
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to il-antlr-inter...@googlegroups.com.
To unsubscribe from this group, send email to 
il-antlr-interest+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to