X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=mTaskInterpret.dcl;h=67a68574ca7e06288ad990cdcf49d9d01aead750;hb=17aaf6797b3dd4e820b186a55335a36a89ea92cb;hp=63778bd54c8bffbd84b02e4f5e6cdf14523f310f;hpb=d963745f754d618bd6a729633050c24831e727e0;p=mTask.git diff --git a/mTaskInterpret.dcl b/mTaskInterpret.dcl index 63778bd..67a6857 100644 --- a/mTaskInterpret.dcl +++ b/mTaskInterpret.dcl @@ -21,8 +21,9 @@ from Generics.gCons import class gCons, generic conses, generic consName, generi | MTEmpty :: MTaskMSGSend - = MTTask MTaskInterval Char String + = MTTask MTaskInterval String | MTTaskDel Int + | MTShutdown | MTSds Int BCValue | MTUpd Int BCValue | MTSpec @@ -39,7 +40,9 @@ from Generics.gCons import class gCons, generic conses, generic consName, generi ,bytesMemory :: Int } -:: BCValue = E.e: BCValue e & mTaskType e +:: BCValue = E.e: BCValue e & mTaskType, TC e + +instance == BCValue instance toString MTaskInterval instance toString MTaskMSGRecv @@ -54,9 +57,9 @@ decode :: String -> MTaskMSGRecv // | BCPush String | BCPop //SDS functions - | BCSdsStore Int - | BCSdsFetch Int - | BCSdsPublish Int + | BCSdsStore BCShare + | BCSdsFetch BCShare + | BCSdsPublish BCShare //Unary ops | BCNot //Binary Int ops @@ -114,7 +117,6 @@ derive gEq BCValue :: BCShare = { sdsi :: Int, - sdspub :: Bool, sdsval :: BCValue } @@ -138,6 +140,8 @@ instance arith ByteCode instance boolExpr ByteCode instance analogIO ByteCode instance digitalIO ByteCode +instance aIO ByteCode +instance dIO ByteCode instance userLed ByteCode instance If ByteCode Stmt Stmt Stmt instance If ByteCode e Stmt Stmt @@ -148,6 +152,7 @@ instance noOp ByteCode instance retrn ByteCode instance sds ByteCode +instance sdspub ByteCode instance assign ByteCode instance seq ByteCode instance serial ByteCode