the compiler now allows + to be used as a floating point addition in the abstract syntax

This commit is contained in:
kr.angelov
2014-10-14 11:15:18 +00:00
parent b5cc77aea1
commit ac288386c4
6 changed files with 20 additions and 1 deletions

View File

@@ -170,6 +170,7 @@ instance Binary Instr where
put (EVAL (GLOBAL id) (UpdateCall b c)) = putWord8 51 >> put id >> put (b,c)
put (DROP n l ) = putWord8 52 >> put (n,l)
put (FAIL ) = putWord8 56
put (ADD ) = putWord8 60
instance Binary Type where
put (DTyp hypos cat exps) = put (hypos,cat,exps)

View File

@@ -28,6 +28,7 @@ data Instr
| EVAL IVal TailInfo
| DROP {-# UNPACK #-} !Int {-# UNPACK #-} !CodeLabel
| FAIL
| ADD
data IVal
= HEAP {-# UNPACK #-} !Int
@@ -61,6 +62,7 @@ ppInstr (PUSH v) = text "PUSH " <+> ppIVal v
ppInstr (EVAL v ti) = text "EVAL " <+> ppIVal v <+> ppTailInfo ti
ppInstr (DROP n l ) = text "DROP " <+> int n <+> ppLabel l
ppInstr (FAIL ) = text "FAIL"
ppInstr (ADD ) = text "ADD"
ppIVal (HEAP n) = text "hp" <> parens (int n)
ppIVal (ARG_VAR n) = text "stk" <> parens (int n)