A few more commands are inlined (including [for]). I've begun to
unify the three different compilers that are currently available: the
compreg'd version, the internal version for code, and the internal
version for expressions. All now use the same mechanism to ultimately
compile the PIR code they generate.
I also just added (mostly untested) support for two new command line
options for partcl:
For leo, you can now do oneliners with partcl:
../../parrot tcl.pbc -e="puts {hello world}"
For debugging, you can now dump the PIR we're using instead of
executing it (works with or without -e):
./../parrot tcl.pbc --dump -e="puts {Hello, World}"
.include "languages/tcl/lib/returncodes.pir"
$P1 = new .String
$P1="Hello, World"
.local pmc command
dynamic_command1:
$P2 = new .String
$P2="puts"
$S3=$P2
$S3 = "&" . $S3
push_eh bad_command3
command = find_global "Tcl", $S3
clear_eh
if_null command, bad_command3
$P3 = command($P1)
goto resume3
bad_command3:
$S3=$P2
$S3=concat "invalid command name \"" ,$S3
$S3.="\""
.throw($S3)
resume3:
done_command1:
This is still not quite a standalone program, but contains most of
the good bits.