Example:
mini:~/Projects/parrot mdiep$ cat test.pir
.sub main :main
print $S
print "\n"
end
.end
mini:~/Projects/parrot mdiep$ parrot test.pir
error:imcc:The opcode 'print' (print<0>) was not found. Check the
type and number of the arguments
in file 'test.pir' line 2
mini:~/Projects/parrot mdiep$
That ought to throw an error. Instead, it parses it but doesn't treat
$S as a register. Note that this works for all register types.
--
Matt Diephouse
I added a new file 't/compilers/imcc/syn/symbols.t' in r17571 with tests
similar to those i pasted here. Tests are tagged todo until the actual
lexer patch is applied. I also added a couple of tests for macros, these
ones are passing.
Best regards,
./smash
Applied the lexer patch in r17645. Removed the todo tag from previous
added tests, all passing. Also changed an older test because the error
message changed. To build the new lexer/parser i used:
Determining whether lex is installed...........................flex 2.5.33.
Determining whether yacc is installed............................bison 2.3.
Best regards,
./smash
Got some positive feedback, resolved in r17645. Please reopen the ticket
if anyone finds any issue. Thks.
Best regards,
./smash