repositories
/
mTask.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
trying to get the sds lenses to work
[mTask.git]
/
mTaskInterpret.dcl
diff --git
a/mTaskInterpret.dcl
b/mTaskInterpret.dcl
index
2e9e5b8
..
99a3533
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,8
+23,9
@@
from Generics.gCons import class gCons, generic conses, generic consName, generi
:: MTaskMSGSend
= MTTask MTaskInterval String
| MTTaskDel Int
:: MTaskMSGSend
= MTTask MTaskInterval String
| MTTaskDel Int
- | MTSds Int String
- | MTUpd Int String
+ | MTShutdown
+ | MTSds Int BCValue
+ | MTUpd Int BCValue
| MTSpec
:: MTaskInterval
| MTSpec
:: MTaskInterval
@@
-36,8
+37,7
@@
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 e
@@
-55,9
+55,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
+68,7
@@
decode :: String -> MTaskMSGRecv
//Binary Bool ops
| BCAnd
| BCOr
//Binary Bool ops
| BCAnd
| BCOr
+ //Binary ops
| BCEq
| BCNeq
| BCLes
| BCEq
| BCNeq
| BCLes
@@
-92,7
+93,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
+115,6
@@
derive gEq BCValue
:: BCShare = {
sdsi :: Int,
:: BCShare = {
sdsi :: Int,
- sdspub :: Bool,
sdsval :: BCValue
}
sdsval :: BCValue
}
@@
-137,6
+138,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,6
+147,7
@@
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 assign ByteCode
instance sds ByteCode
instance assign ByteCode
@@
-151,7
+155,6
@@
instance seq ByteCode
instance serial ByteCode
toMessages :: MTaskInterval (Main (ByteCode a b)) BCState -> ([MTaskMSGSend], BCState)
instance serial ByteCode
toMessages :: MTaskInterval (Main (ByteCode a b)) BCState -> ([MTaskMSGSend], BCState)
-toSDSUpdate :: Int Int -> [MTaskMSGSend]
toByteVal :: BC -> String
toReadableByteCode :: (ByteCode a b) BCState -> (String, BCState)
toByteVal :: BC -> String
toReadableByteCode :: (ByteCode a b) BCState -> (String, BCState)