This patch changes the <label INT>, <labelvar INT>, and <labelconst
INT> syntax in opcodes to <in LABEL>, <invar LABEL>, and <inconst
LABEL>, respectively. The argument is still an integer, however.
This cuts the number of argument directions down by three, and only
adds one argument type, making the code clearer. This is really an
argument type, after all, not a special kind of direction. I doubt
there will be any confusion about LABEL really being INT, because no
ops do any arithmetic with it; they just use it for <goto OFFSET($1)>
and <goto ADDRESS($1)>.
Files affected:
languages/dotnet/ops/dotnet.ops
lib/Parrot/OpsFile.pm
src/ops/cmp.ops
src/ops/core.ops
src/ops/stm.ops
Thanks,
Alek Storm
And I applied this patch in the buildtools branch as well. Again, all
tests in 'make buildtools_tests' passed.
kid51
> This patch changes the <label INT>, <labelvar INT>, and <labelconst
> INT> syntax in opcodes to <in LABEL>, <invar LABEL>, and <inconst
> LABEL>, respectively. The argument is still an integer, however.
> This cuts the number of argument directions down by three, and only
> adds one argument type, making the code clearer. This is really an
> argument type, after all, not a special kind of direction. I doubt
> there will be any confusion about LABEL really being INT, because no
> ops do any arithmetic with it; they just use it for <goto OFFSET($1)>
> and <goto ADDRESS($1)>.
Agreed. Thanks, applied as r28359.
-- c