From 3eda062c21a6c9deab7042fff4f89837665d877c Mon Sep 17 00:00:00 2001 From: Reid 'arrdem' McKenzie Date: Wed, 15 Jun 2022 23:10:54 -0600 Subject: [PATCH] [broken] Throw out builtin bool --- projects/shoggoth/src/python/ichor/isa.py | 38 ++++------------------- 1 file changed, 6 insertions(+), 32 deletions(-) diff --git a/projects/shoggoth/src/python/ichor/isa.py b/projects/shoggoth/src/python/ichor/isa.py index c65b5d5..c0f054d 100644 --- a/projects/shoggoth/src/python/ichor/isa.py +++ b/projects/shoggoth/src/python/ichor/isa.py @@ -5,37 +5,7 @@ import typing as t class Opcode: - #################################################################################################### - # Logic - #################################################################################################### - - # FIXME: This should become an instantiation of the BOOL enum - class TRUE(t.NamedTuple): - """() -> (bool) - - Push the constant TRUE onto the stack. - - """ - - # FIXME: This should become an instantiation of the BOOL enum - class FALSE(t.NamedTuple): - """() -> (bool) - - Push the constant FALSE onto the stack. - - """ - - # FIXME: This should become a `VTEST` macro ... or may be replaceable - class IF(t.NamedTuple): - """(bool) -> () - - Branch to another point if the top item of the stack is TRUE. Otherwise fall through. - - """ - - target: int - - # not, and, or, xor etc. can all be functions given if. + # Note that there's no IF, TRUE or FALSE required if bool is a builtin. class GOTO(t.NamedTuple): """() -> () @@ -211,12 +181,16 @@ class Opcode: nargs: int = 0 class VTEST(t.NamedTuple): - """(VARIANTREF, B) -> (bool) + """(VARIANTREF, B) -> () Test whether B is a given arm of a variant A . + If it is, branch to the given target. + Otherwise fall through. """ + target: int + class VLOAD(t.NamedTuple): """(VARIANTREF, B) -> (A)