never executed always true always false
1 module HelVM.HelMA.Automaton.API.AutomatonOptions where
2
3 import HelVM.HelMA.Automaton.API.AutoOptions
4 import HelVM.HelMA.Automaton.API.OptimizationLevel
5 import HelVM.HelMA.Automaton.Types.RAMType
6 import HelVM.HelMA.Automaton.Types.StackType
7
8 optLevelAutoOptions :: AutomatonOptions -> OptimizationLevel
9 optLevelAutoOptions = optLevel . autoOptions
10
11 withDefaultRam :: StackType -> AutoOptions -> AutomatonOptions
12 withDefaultRam s ao = AutomatonOptions
13 { ramType = defaultRAMType
14 , stackType = s
15 , autoOptions = ao
16 }
17
18 data AutomatonOptions = AutomatonOptions
19 { stackType :: StackType
20 , ramType :: RAMType
21 , autoOptions :: AutoOptions
22 }