[Mono-bugs] [Bug 58943][Wis] Changed - ILASM parse error while looking for a HEXBYTE token

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Mon, 24 May 2004 11:40:02 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by kjambunathan@novell.com.

http://bugzilla.ximian.com/show_bug.cgi?id=58943

--- shadow/58943	2004-05-24 11:31:56.000000000 -0400
+++ shadow/58943.tmp.6854	2004-05-24 11:40:02.000000000 -0400
@@ -1,14 +1,14 @@
 Bug#: 58943
 Product: Mono: Compilers
 Version: unspecified
-OS: 
+OS: unknown
 OS Details: 
 Status: NEW   
 Resolution: 
-Severity: 
+Severity: Unknown
 Priority: Wishlist
 Component: IL assembler
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: kjambunathan@novell.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
@@ -19,6 +19,43 @@
 
 
 ------- Additional Comments From kjambunathan@novell.com  2004-05-24 11:31 -------
 Created an attachment (id=7805)
 TestApp for reproducing the issue
 
+
+------- Additional Comments From kjambunathan@novell.com  2004-05-24 11:40 -------
+Steps for reproduction:
+ilasm abcd.il
+
+Actual Results:
+
+Assembling 'abcd.il' , no listing file, to exe --> 'abcd.exe'
+Error at: line (37) column (29)
+System.Exception: Invalid hex value. ' '.
+in <0x00171> Mono.ILASM.ILTokenizer:GetNextToken ()
+in <0x00011> Mono.ILASM.ILTokenizer:get_NextToken ()
+in <0x00017> Mono.ILASM.ScannerAdapter:advance ()
+in <0x0078f> Mono.ILASM.ILParser:yyparse (Mono.ILASM.yyParser.yyInput)
+in <0x000cd> Mono.ILASM.ILParser:yyparse
+(Mono.ILASM.yyParser.yyInput,object)
+in <0x00248> DriverMain:ProcessFile (string)
+ 
+Error while compiling.
+
+Expected Results:
+A proper abcd.exe file
+
+
+Analysis:
+
+The problem happens while parsing for the following production:
+
+bytes_list ->( bytes )
+bytes -> <empty> | hexbytes
+hexbytes -> hexbyte | hexbytes hexbyte
+hexbyte -> HEXBYTE
+
+If a whitespace character precedes the first byte in the list, then
+ilasm spits out a parse error, when it shouldn't.
+
+