In message <20020703012231$[EMAIL PROTECTED]> Simon Glover (via RT) <[EMAIL PROTECTED]> wrote:
> This code: > > A: # prints "a" > print "a" > end > > doesn't assemble; the assembler dies with the error message: > > Use of uninitialized value in hash element at assemble.pl line 844. > Couldn't find operator '' on line 1. > > If you remove the ""s from the comment, it works fine. Likewise, if > you put the label, op and comment on the same line, ie: > > A: print "a" # prints "a" > end > > then it assembles and runs OK. Here's a patch that will fix this. I havn't committed it because I'm not sure why the assember wasn't dropping comments that included quotes so I'm giving people who know more about the assembler than me a chance to comment first... Tom -- Tom Hughes ([EMAIL PROTECTED]) http://www.compton.nu/
Index: assemble.pl =================================================================== RCS file: /cvs/public/parrot/assemble.pl,v retrieving revision 1.77 diff -u -r1.77 assemble.pl --- assemble.pl 4 Jul 2002 18:36:17 -0000 1.77 +++ assemble.pl 13 Jul 2002 17:30:48 -0000 @@ -433,7 +433,7 @@ $self->{pc}++; return if $line=~/^\s*$/ or $line=~/^\s*#/; # Filter out the comments and blank lines - $line=~s/#[^'"]+$//; # Remove trailing comments + $line=~s/#.*$//; # Remove trailing comments $line=~s/(^\s+|\s+$)//g; # Remove leading and trailing whitespace # # Accumulate lines that only have labels until an instruction is found..