diff options
Diffstat (limited to 'Sjit/Compile.dcl')
| -rw-r--r-- | Sjit/Compile.dcl | 17 | 
1 files changed, 12 insertions, 5 deletions
| diff --git a/Sjit/Compile.dcl b/Sjit/Compile.dcl index d373e42..e630178 100644 --- a/Sjit/Compile.dcl +++ b/Sjit/Compile.dcl @@ -13,17 +13,24 @@ from Sjit.Syntax import :: Function  	| Call !Int  	| Jmp !Int -	| JmpTrue !Int +	| JmpCond !Cond !Int  	| Ret  	| Halt -	| IAdd -	| IMul -	| ISub -	| IDiv +	| Op !Op  	| PlaceHolder !Int !Int // only used during compilation +:: Op +	= OAdd | OMul +	| OSub | ODiv + +:: Cond +	= CEq | CNe +	| CLt | CLe +	| CGt | CGe +	| CTrue +  :: Program :== {!Instr}  :: CompileState = | 
