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   }