1) I´ve create a branch (branches/leo-ctx5) of my current work on
getting pdd03 implemented
2) please give it a try
e.g.
export SVNPARROT=https://svn.oerl.org/parrot
cp -R trunk leo-ctx5
cd leo-ctx5
svn switch $SVNPARROT/branches/leo-ctx5
3) a lot is still broken but I hope mostly just PASM syntax using old
calling conventions
Things that need changes:
* compile opcode
It did a function call under the hood, which isn't fixed. But I think,
we should just toss the compile opcode instead. So when you had:
.local pmc comp, r
comp = compreg "PIR"
r = compile comp, code
just use:
r = comp(code)
It's simpler and allows us to pass arguments to the compiler eventually.
* optional arguments
PGE defines e.g. a sub emit:
.sub emit ( PMC code, STR fmt, [ STR str1, STR str2, INT int1 ] )
with the optional params str1, str2, int1. I've set the :optional bit
accordingly. But when calling the sub, you can't use the INT argument
inmidst of STR arguments any more:
emit (P, S, S, S) # ok
emit (P, S, S, I) # ok
emit (P, S, I, S) # err
I've reordered a lot of these arguments, but might have missed some - or
messed a few up - some PGE tests are still failing.
* argc{I,S,P,N}
These are now opcodes instead of variables. This changes the usage slightly:
$I0 = argcI # ok
if argcI < 2 ... # err
I'd be glad if folks can go through the failing tests (one exception
tests hangs) and change old PASM call syntax to new.
Thanks,
leo