Use UDAs for Op disassembly

This commit is contained in:
nazrin 2025-06-08 06:11:10 +00:00
parent 8717d37445
commit 2cd7a44bc7
2 changed files with 18 additions and 12 deletions

View file

@ -10,22 +10,28 @@ struct OpColour{
string r, g, b;
}
enum OpConst;
enum OpStack;
enum OpJump;
enum OpCode : ubyte{
@(OpColour("200", "200", "100")) Constant,
@OpConst @(OpColour("200", "200", "100")) Constant,
@(OpColour("255", "200", "100")) Nil,
@(OpColour("255", "200", "100")) True,
@(OpColour("255", "200", "100")) False,
@(OpColour("000", "200", "100")) Pop,
@(OpColour("060", "200", "150")) GetLocal,
@(OpColour("000", "200", "150")) GetGlobal,
@(OpColour("000", "200", "150")) DefineGlobal,
@(OpColour("060", "200", "150")) SetLocal,
@(OpColour("000", "200", "150")) SetGlobal,
@OpStack @(OpColour("060", "200", "150")) GetLocal,
@OpStack @(OpColour("060", "200", "150")) SetLocal,
@(OpColour("000", "255", "000")) Jump,
@(OpColour("000", "200", "000")) JumpIfFalse,
@(OpColour("010", "255", "000")) Loop,
@OpConst @(OpColour("000", "200", "150")) GetGlobal,
@OpConst @(OpColour("000", "200", "150")) DefineGlobal,
@OpConst @(OpColour("000", "200", "150")) SetGlobal,
@OpJump @(OpColour("000", "255", "000")) Jump,
@OpJump @(OpColour("000", "200", "000")) JumpIfFalse,
@OpJump @(OpColour("010", "255", "000")) Loop,
@(OpColour("255", "100", "100")) Equal,
@(OpColour("255", "100", "100")) Greater,