Some weeks ago I posted a proposal for additional hints in ops files. We need additionally (at least):

1) a per argument flag, if this argument is indicating a branch offset or address:

inline op bsr (label INT)

"label" is basically "in", additionally there are now "labelvar" and "labelconst" which transform to "invar" and "inconst". The "label" variants set additionally a bit, that this argument has branch information (from core.pm):

"LABELS" => [ 0, 1 ] # first is opcode

2) Classification of opcodes (s. Safe(3pm), Opcode(3pm). I've just done a few - only to see if it get parsed correctly. This needs a lot of work and thought. Any help is much appreciated here.

3) A flag, if the opcode should do event checking, e.g. invoke and such.

The Syntax for 2 and 3 is just (\S*) which goes into FLAGS currently.

So the C<bsr> opcode is now:

inline op bsr (label INT) :base_core,check_event {

And in core.pm is a line:

"FLAGS" => ":base_core,check_event",

which awaits further processing.

leo

Reply via email to