never executed always true always false
1 module HelVM.HelMA.Automata.WhiteSpace.SimpleParams where
2
3 import HelVM.HelMA.Automata.WhiteSpace.API.TokenType
4
5 import qualified HelVM.HelMA.Automaton.API.AutomatonOptions as Automaton
6 import HelVM.HelMA.Automaton.API.AutoOptions
7 import HelVM.HelMA.Automaton.API.IOTypes
8
9 import HelVM.HelMA.Automaton.Types.LabelType
10 import HelVM.HelMA.Automaton.Types.RAMType
11 import HelVM.HelMA.Automaton.Types.StackType
12
13 -- | Construction for tests
14 simpleParamsWithDefaultsAndWhiteTokenType :: LabelType -> Source -> SimpleParams
15 simpleParamsWithDefaultsAndWhiteTokenType = simpleParamsWithDefaults WhiteTokenType
16
17 simpleParamsWithDefaultsAndVisibleTokenType :: LabelType -> Source -> SimpleParams
18 simpleParamsWithDefaultsAndVisibleTokenType = simpleParamsWithDefaults VisibleTokenType
19
20 simpleParamsWithDefaults :: TokenType -> LabelType -> Source -> SimpleParams
21 simpleParamsWithDefaults tt = simpleParams tt (defaultStackType , defaultRAMType)
22
23 -- | Construction for benchmark
24 simpleParamsWithWhiteTokenType :: (StackType, RAMType) -> LabelType -> Source -> SimpleParams
25 simpleParamsWithWhiteTokenType = simpleParams WhiteTokenType
26
27 simpleParamsWithVisibleTokenType :: (StackType, RAMType) -> LabelType -> Source -> SimpleParams
28 simpleParamsWithVisibleTokenType = simpleParams VisibleTokenType
29
30 automatonOptions :: SimpleParams -> Automaton.AutomatonOptions
31 automatonOptions p = Automaton.AutomatonOptions (stackType p) (ramType p) (autoOptions p)
32
33 simpleParams :: TokenType -> (StackType, RAMType) -> LabelType -> Source -> SimpleParams
34 simpleParams tt (st , rt) al s = SimpleParams
35 { tokenType = tt
36 , source = s
37 , formatType = al
38 , stackType = st
39 , ramType = rt
40 , autoOptions = simpleAutoParams
41 }
42
43 -- | Type
44 data SimpleParams = SimpleParams
45 { tokenType :: !TokenType
46 , source :: !Source
47 , formatType :: !LabelType
48 , stackType :: !StackType
49 , ramType :: !RAMType
50 , autoOptions :: !AutoOptions
51 }