repositories
/
mTask.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
removed whileUnchanged for devices
[mTask.git]
/
mTaskInterpret.dcl
diff --git
a/mTaskInterpret.dcl
b/mTaskInterpret.dcl
index
7ddff19
..
67a6857
100644
(file)
--- a/
mTaskInterpret.dcl
+++ b/
mTaskInterpret.dcl
@@
-11,7
+11,7
@@
from GenPrint import generic gPrint
from Generics.gCons import class gCons, generic conses, generic consName, generic consIndex, generic consNum
:: MTaskMSGRecv
from Generics.gCons import class gCons, generic conses, generic consName, generic consIndex, generic consNum
:: MTaskMSGRecv
- = MTTaskAck Int
+ = MTTaskAck Int
Int
| MTTaskDelAck Int
| MTSDSAck Int
| MTSDSDelAck Int
| MTTaskDelAck Int
| MTSDSAck Int
| MTSDSDelAck Int
@@
-23,6
+23,7
@@
from Generics.gCons import class gCons, generic conses, generic consName, generi
:: MTaskMSGSend
= MTTask MTaskInterval String
| MTTaskDel Int
:: MTaskMSGSend
= MTTask MTaskInterval String
| MTTaskDel Int
+ | MTShutdown
| MTSds Int BCValue
| MTUpd Int BCValue
| MTSpec
| MTSds Int BCValue
| MTUpd Int BCValue
| MTSpec
@@
-36,11
+37,12
@@
from Generics.gCons import class gCons, generic conses, generic consName, generi
{haveLed :: Bool
,haveAio :: Bool
,haveDio :: Bool
{haveLed :: Bool
,haveAio :: Bool
,haveDio :: Bool
- ,maxTask :: Int //Should be number of bytes reserved in total for shares, tasks and functions
- ,maxSDS :: Int
+ ,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
instance toString MTaskInterval
instance toString MTaskMSGRecv
@@
-55,9
+57,9
@@
decode :: String -> MTaskMSGRecv
// | BCPush String
| BCPop
//SDS functions
// | BCPush String
| BCPop
//SDS functions
- | BCSdsStore
Int
- | BCSdsFetch
Int
- | BCSdsPublish
Int
+ | BCSdsStore
BCShare
+ | BCSdsFetch
BCShare
+ | BCSdsPublish
BCShare
//Unary ops
| BCNot
//Binary Int ops
//Unary ops
| BCNot
//Binary Int ops
@@
-68,6
+70,7
@@
decode :: String -> MTaskMSGRecv
//Binary Bool ops
| BCAnd
| BCOr
//Binary Bool ops
| BCAnd
| BCOr
+ //Binary ops
| BCEq
| BCNeq
| BCLes
| BCEq
| BCNeq
| BCLes
@@
-92,7
+95,8
@@
decode :: String -> MTaskMSGRecv
| BCAnalogWrite Pin
| BCDigitalRead Pin
| BCDigitalWrite Pin
| BCAnalogWrite Pin
| BCDigitalRead Pin
| BCDigitalWrite Pin
- | BCTest AnalogPin
+ //Return
+ | BCReturn
derive gPrint BCValue, MTaskDeviceSpec
derive consIndex BCValue
derive gPrint BCValue, MTaskDeviceSpec
derive consIndex BCValue
@@
-113,7
+117,6
@@
derive gEq BCValue
:: BCShare = {
sdsi :: Int,
:: BCShare = {
sdsi :: Int,
- sdspub :: Bool,
sdsval :: BCValue
}
sdsval :: BCValue
}
@@
-137,6
+140,8
@@
instance arith ByteCode
instance boolExpr ByteCode
instance analogIO ByteCode
instance digitalIO 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
instance userLed ByteCode
instance If ByteCode Stmt Stmt Stmt
instance If ByteCode e Stmt Stmt
@@
-144,8
+149,10
@@
instance If ByteCode Stmt e Stmt
instance If ByteCode x y Stmt
instance IF ByteCode
instance noOp ByteCode
instance If ByteCode x y Stmt
instance IF ByteCode
instance noOp ByteCode
+instance retrn ByteCode
instance sds ByteCode
instance sds ByteCode
+instance sdspub ByteCode
instance assign ByteCode
instance seq ByteCode
instance serial ByteCode
instance assign ByteCode
instance seq ByteCode
instance serial ByteCode