[antlr-interest] Submitting bug report?

Terence Parr parrt at cs.usfca.edu
Fri Apr 20 11:47:50 PDT 2007


Hi.  I have confirmed that this is a bug:

http://www.antlr.org:8888/browse/ANTLR-113

I know the issue. will fix soon.
Ter

On Apr 19, 2007, at 4:28 PM, Don Maier wrote:

> Sure enough:
>
> The grammar IDF.g is pasted below.  The recipe for failure is:
>
> 1)  Place grammar in ANTLRWorks 1.0b10.
> 2)  Check the grammar.   (ANTLRWorks reports "ok".)
> 3)  Generate the code, also using in ANTLRWorks.
> 4)  IDFLexer.java has two errors, at ll. 435, 509 due to a missing  
> '}' in an 'if' statement.
> 5) IDFParser.java has an error at l. 227 because the variable  
> 'rowheader' is undefined.
> 7) Both generated java files have a first line comment indicating  
> their antlr-3.0b7 provenance.   This makes me think that this  
> problem is unlikely to be one in ANTLRWorks, and not in ANTLR proper.
>
> My apologies, in advance, if this problem is the result of a  
> beginner's fumble.
>
> Also, I've not attached any files to avoid getting this message  
> entangled in spam blockers.   But I'm happy to supply the grammar  
> file, and the generated java files as attachments, if you wish.
>
> Regards,
> Don Maier
>
> ----------------------------------------------------
>
> grammar IDF;
> options { k=1; }
>
> tokens {
> 	LSB = '[';
>         RSB = ']';
>         Q   = '"';
>         SP  = ' ';
> 	TAB = '\t';
> }
>
> @lexer::header {
>
> }	
>
> @header {
>
> }
>
> @members {
> public static int lineNumber = 1;
> }
>
> file    : record (RECORD_SEPARATOR record)* EOF
>         { System.out.println("*** IDF Parse complete"); }
>        	;
> record  :
> 	{ System.out.print("*** Line " + lineNumber + ": "); }
> 	  header (cell_separator cell)*
> 	| empty_record
>         { System.out.println("\n"); lineNumber++; }
>        	;
> header  : rowHeader = standard_header
> 	| rowHeader = comment_header
> 	{ System.out.print("Header = " + rowHeader); }
> 	;
> standard_header
> 	: INVESTIGATION TITLE
> 	;		
> comment_header
> 	: COMMENT LSB BRACKETED_CONTENT RSB
> 	;
>
> empty_record
> 	: (SP|TAB)*
> 	;	
> cell    : empty_cell
> 	| content = cell_content
>    	| content = quoted_cell_content
> 	;
> empty_cell
> 	: (SP)*
> 	;
> cell_content
> 	: CONTENT
> 	;
> quoted_cell_content
> 	: QUOTED_CONTENT
> 	;
> cell_separator
> 	: TAB
> 	;
> 		
> // Keyword terminals
>
> INVESTIGATION
> 	: 'Investigation'
> 	;
> TITLE	: 'Title'
> 	;
> COMMENT : 'Comment'
> 	;
> 			
> // Lexer
>
> /* A sequence of one or more non-']' characters beginning and  
> ending with a non-space
> * character.
> */
> BRACKETED_CONTENT
> 	: ((~(RSB|SP|TAB|'\r'|'\n')) (~(RSB|TAB|'\r'|'\n'))*)? (~(RSB|SP| 
> TAB|'\r'|'\n'))
> 	;
> /* A sequence of one or more characters starting with a non-quote,  
> non-space character,
> * and ending with a non-space character (which could be the first  
> character).
> */
> CONTENT
> 	: (~(Q|SP|TAB|'\r'|'\n')) ((~(TAB|'\r'|'\n'))* (~(SP| 
> TAB|'\r'|'\n')))?
> 	;
> /* A quote-bracketed sequence of non-quote characters, though  
> permitting embedded
> * escaped quotes in the forma of '\"'.
> */
> QUOTED_CONTENT
> 	: Q! (~(Q|TAB|'\r'|'\n'))* (('\\'Q) (~(Q|TAB|'\r'|'\n'))*)* Q!
> 	;
> RECORD_SEPARATOR
> 	: ( '\r''\n' ) => '\r''\n' // Windows
>         | '\r'                     // Mac
>         | '\n'                     // Unix
>         ;
> 		
> WS      : (SP)+
> 	{ $channel = HIDDEN; }
> 	;
>
>
> ----------------------------------------------------
>
> On Apr 19, 2007, at 3:13 PM, Terence Parr wrote:
>
>>
>> On Apr 19, 2007, at 2:01 PM, Don Maier wrote:
>>
>>> Hi friends,
>>>
>>> Please forgive this note to the group from a newcomer.
>>>
>>> I'd like to submit a bug report describing a case where  
>>> antlr-3.0b7 generates invalid Java code for the lexer  
>>> (incorrectly constructed if-then-else statements),   I find  
>>> myself unable to get the issue navigator to do anything but let  
>>> me view existing defect reports -- which appear not to describe  
>>> the problem I've encountered.   Can anyone supply me with a few  
>>> hints?
>>
>> Hi Don,
>>
>> please post bugs to the list so we can decide if they really are ;)
>>
>> Thanks,
>> Ter
>
>
>



More information about the antlr-interest mailing list