From 2d0d6463d5586307741f31a676e6f5e8c22954bc Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Mon, 24 Mar 2008 15:08:05 +0000 Subject: [PATCH] Removed the handling of the old Rain Wait/GetTime items from the backends --- backends/GenerateC.hs | 22 +--------------------- backends/GenerateCBased.hs | 2 -- backends/GenerateCPPCSP.hs | 12 ------------ backends/GenerateCTest.hs | 18 ------------------ 4 files changed, 1 insertion(+), 53 deletions(-) diff --git a/backends/GenerateC.hs b/backends/GenerateC.hs index 2406b73..345facd 100644 --- a/backends/GenerateC.hs +++ b/backends/GenerateC.hs @@ -147,7 +147,6 @@ cgenOps = GenOps { genVariableAM = cgenVariableAM, genVariableUnchecked = cgenVariableUnchecked, genWhile = cgenWhile, - genWait = cgenWait, getScalarType = cgetScalarType, introduceSpec = cintroduceSpec, removeSpec = cremoveSpec @@ -1455,8 +1454,6 @@ cgenProcess p = case p of A.Input m c im -> call genInput c im A.Output m c ois -> call genOutput c ois A.OutputCase m c t ois -> call genOutputCase c t ois - A.GetTime m v -> call genGetTime v - A.Wait m wm e -> call genWait wm e A.Skip m -> tell ["/* skip */\n"] A.Stop m -> call genStop m "STOP process" A.Seq _ s -> call genSeq s @@ -1516,13 +1513,6 @@ cgenGetTime v = do call genVariable v tell [" = TimerRead(wptr);"] -cgenWait :: A.WaitMode -> A.Expression -> CGen () -cgenWait A.WaitUntil e = call genTimerWait e -cgenWait A.WaitFor e - = do tell ["TimerDelay(wptr,"] - call genExpression e - tell [");"] - --}}} --{{{ output cgenOutput :: A.Variable -> [A.OutputItem] -> CGen () @@ -1677,7 +1667,6 @@ cgenAlt isPri s = case a of A.Alternative _ _ (A.InputTimerRead _ _) _ -> True A.Alternative _ _ (A.InputTimerAfter _ _) _ -> True - A.AlternativeWait _ _ _ _ -> True _ -> False containsTimers (A.Several _ ss) = or $ map containsTimers ss @@ -1689,11 +1678,6 @@ cgenAlt isPri s A.Alternative _ c im _ -> doIn c im A.AlternativeCond _ e c im _ -> withIf e $ doIn c im A.AlternativeSkip _ e _ -> withIf e $ tell ["AltEnableSkip (wptr,", id, "++);\n"] - --transformWaitFor should have removed all A.WaitFor guards (transforming them into A.WaitUntil): - A.AlternativeWait _ A.WaitUntil e _ -> - do tell ["AltEnableTimer (wptr,", id, "++,"] - call genExpression e - tell [" );\n"] doIn c im = do case im of @@ -1715,10 +1699,7 @@ cgenAlt isPri s A.Alternative _ c im _ -> doIn c im A.AlternativeCond _ e c im _ -> withIf e $ doIn c im A.AlternativeSkip _ e _ -> withIf e $ tell ["AltDisableSkip (wptr,", id, "++);\n"] - A.AlternativeWait _ A.WaitUntil e _ -> - do tell ["AltDisableTimer (wptr,", id, "++, "] - call genExpression e - tell [");\n"] + doIn c im = do case im of A.InputTimerRead _ _ -> call genMissing "timer read in ALT" @@ -1739,7 +1720,6 @@ cgenAlt isPri s A.Alternative _ c im p -> doIn c im p A.AlternativeCond _ e c im p -> withIf e $ doIn c im p A.AlternativeSkip _ e p -> withIf e $ doCheck (call genProcess p) - A.AlternativeWait _ _ _ p -> doCheck (call genProcess p) doIn c im p = do case im of diff --git a/backends/GenerateCBased.hs b/backends/GenerateCBased.hs index 9abd679..f516af0 100644 --- a/backends/GenerateCBased.hs +++ b/backends/GenerateCBased.hs @@ -180,8 +180,6 @@ data GenOps = GenOps { genVariableAM :: A.Variable -> A.AbbrevMode -> CGen (), -- | Generates a variable, with no indexing checks anywhere genVariableUnchecked :: A.Variable -> CGen (), - -- | Performs a wait for\/until (depending on the 'A.WaitMode') a specified time - genWait :: A.WaitMode -> A.Expression -> CGen (), -- | Generates a while loop with the given condition and body. genWhile :: A.Expression -> A.Process -> CGen (), getScalarType :: A.Type -> Maybe String, diff --git a/backends/GenerateCPPCSP.hs b/backends/GenerateCPPCSP.hs index c282d78..678fc62 100644 --- a/backends/GenerateCPPCSP.hs +++ b/backends/GenerateCPPCSP.hs @@ -82,7 +82,6 @@ cppgenOps = cgenOps { genType = cppgenType, genUnfoldedExpression = cppgenUnfoldedExpression, genUnfoldedVariable = cppgenUnfoldedVariable, - genWait = cppgenWait, getScalarType = cppgetScalarType, introduceSpec = cppintroduceSpec, removeSpec = cppremoveSpec @@ -225,12 +224,6 @@ cppgenGetTime v call genVariable v tell [");"] -cppgenWait :: A.WaitMode -> A.Expression -> CGen () -cppgenWait wm e - = do tell [if wm == A.WaitFor then "csp::SleepFor" else "csp::SleepUntil", "("] - call genExpression e - tell [");"] - {-| Gets a csp::Time to wait with, given a 32-bit microsecond value (returns the temp variable we have put it in) @@ -437,10 +430,6 @@ cppgenAlt _ s A.Alternative _ c im _ -> doIn c im A.AlternativeCond _ e c im _ -> withIf e $ doIn c im A.AlternativeSkip _ e _ -> withIf e $ tell [guardList, " . push_back( new csp::SkipGuard() );\n"] - A.AlternativeWait _ wm e _ -> - do tell [guardList, " . push_back( new ", if wm == A.WaitUntil then "csp::TimeoutGuard (" else "csp::RelTimeoutGuard("] - call genExpression e - tell ["));"] doIn c im = do case im of @@ -463,7 +452,6 @@ cppgenAlt _ s A.Alternative _ c im p -> doIn c im p A.AlternativeCond _ e c im p -> withIf e $ doIn c im p A.AlternativeSkip _ e p -> withIf e $ doCheck (call genProcess p) - A.AlternativeWait _ _ _ p -> doCheck (call genProcess p) doIn c im p = do case im of diff --git a/backends/GenerateCTest.hs b/backends/GenerateCTest.hs index a25edaa..d5c6523 100644 --- a/backends/GenerateCTest.hs +++ b/backends/GenerateCTest.hs @@ -889,22 +889,6 @@ testCase = TestList over :: Override over = local $ \ops -> ops {genExpression = override1 dollar, genProcess = override1 at, genStop = override2 caret, genSpec = override2 hash} -testGetTime :: Test -testGetTime = testBoth "testGetTime 0" "@ = TimerRead(wptr);" "csp::CurrentTime(&@);" (over (tcall genGetTime undefined)) - where - over :: Override - over = local $ \ops -> ops {genVariable = override1 at} - -testWait :: Test -testWait = TestList - [ - testBoth "testWait 0" "TimerWait(wptr,$);" "csp::SleepUntil($);" (over (tcall2 genWait A.WaitUntil undefined)) - ,testBoth "testWait 1" "TimerDelay(wptr,$);" "csp::SleepFor($);" (over (tcall2 genWait A.WaitFor undefined)) - ] - where - over :: Override - over = local $ \ops -> ops {genExpression = override1 dollar} - testIf :: Test testIf = TestList [ @@ -1165,7 +1149,6 @@ tests = TestLabel "GenerateCTest" $ TestList ,testDeclareInitFree ,testGenType ,testGenVariable - ,testGetTime ,testIf ,testInput ,testMobile @@ -1176,6 +1159,5 @@ tests = TestLabel "GenerateCTest" $ TestList ,testRetypeSizes ,testSpec ,testStop - ,testWait ,testWhile ]