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.

Reply via email to