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
   45   = SimpleParams
   46       { tokenType   :: !TokenType
   47       , source      :: !Source
   48       , formatType  :: !LabelType
   49       , stackType   :: !StackType
   50       , ramType     :: !RAMType
   51       , autoOptions :: !AutoOptions
   52       }