diff options
author | Camil Staps | 2018-01-03 12:13:44 +0100 |
---|---|---|
committer | Camil Staps | 2018-01-06 15:03:02 +0100 |
commit | 32a3b5aa0f5b6343928c9e42e66cce9db7e14e90 (patch) | |
tree | 73117add4b929b179a1ad340b5911e22c3138a25 /assignment-13/uFPL.dcl | |
parent | Rename & restructure (diff) |
Start iTasks Simulator
Diffstat (limited to 'assignment-13/uFPL.dcl')
-rw-r--r-- | assignment-13/uFPL.dcl | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/assignment-13/uFPL.dcl b/assignment-13/uFPL.dcl index 1bd3df4..dd9c047 100644 --- a/assignment-13/uFPL.dcl +++ b/assignment-13/uFPL.dcl @@ -8,7 +8,7 @@ from uFPL.C import :: CType, :: CExpr, :: CBody, :: CVar, :: CFun, :: CProg :: RO = RO :: RW = RW -:: Shared t w = +:: UShared t w = { sname :: String , stype :: CType , sinit :: t @@ -17,7 +17,7 @@ from uFPL.C import :: CType, :: CExpr, :: CBody, :: CVar, :: CFun, :: CProg :: Shares = NoShares - | E.t rw: Shares (Shared t rw) Shares + | E.t rw: Shares (UShared t rw) Shares removeDupShares :: Shares -> Shares @@ -34,14 +34,14 @@ instance allShares Trigger instance allShares Rule instance allShares NamedRule -class Expr t where litExpr :: t -> CExpr +class Expr t | TC t where litExpr :: t -> CExpr instance Expr Int instance Expr Bool instance Expr Char :: Expr t rw = ELit t - | EShared (Shared t rw) + | EShared (UShared t rw) | E.rwa rwb: (+.) infixl 6 (Expr t rwa) (Expr t rwb) & + t | E.rwa rwb: (-.) infixl 6 (Expr t rwa) (Expr t rwb) & - t | E.rwa rwb: (*.) infixl 7 (Expr t rwa) (Expr t rwb) & * t @@ -75,7 +75,7 @@ lit :: (t -> Expr t RO) | E.rwa rwb: SetCursor (Expr Int rwa, Expr Int rwb) | E.t rw: Print (Expr t rw) & Expr t -:: NamedRule = E.r: (:=:) infix 1 String r & gen r CBody & allShares r +:: NamedRule = E.r: (:=:) infix 1 String r & gen r CBody & allShares r & TC r class gen f t :: f -> t @@ -88,7 +88,7 @@ instance ||| NamedRule instance ||| [NamedRule] instance gen (Expr t rw) CExpr | Expr t -instance gen (Shared t rw) CVar +instance gen (UShared t rw) CVar instance gen Trigger CExpr instance gen Rule CBody instance gen [r] CBody | gen r CBody |