never executed always true always false
1 module HelVM.HelMA.Automaton.API.Lang where
2
3 import HelVM.HelMA.Automata.BrainFuck.API.ImplType
4 import HelVM.HelMA.Automata.ETA.API.AutomatonType
5 import HelVM.HelMA.Automata.Piet.API.LexerType
6 import HelVM.HelMA.Automata.WhiteSpace.API.TokenType
7
8 data LangCommand
9 = BFCommand !ImplType
10 | ETACommand !AutomatonType
11 | FCommand
12 | PietCommand !(Maybe LexerType) !(Maybe Natural)
13 | SQCommand
14 | WSCommand !TokenType
15 | CatCommand
16 | RevCommand
17 | LazyCommand
18 | ZotCommand
19
20 -- Lang
21
22 defaultLang :: Lang
23 defaultLang = minBound
24
25 langs :: NonEmpty Lang
26 langs = universeNonEmpty
27
28 data Lang = BF | ETA | F | Piet | SQ | WS | Cat | Rev | Lazy | Zot
29 deriving stock (Bounded , Enum , Eq , Read , Show)