]> Git — Sourcephile - haskell/symantic-parser.git/blob - parsers/Parsers/Brainfuck/SymanticParser/PprSplice.hs
replace ValueCode by Production
[haskell/symantic-parser.git] / parsers / Parsers / Brainfuck / SymanticParser / PprSplice.hs
1 {-# LANGUAGE AllowAmbiguousTypes #-}
2 {-# LANGUAGE ScopedTypeVariables #-}
3 {-# LANGUAGE TemplateHaskell #-}
4 {-# LANGUAGE TypeApplications #-}
5 {-# LANGUAGE ViewPatterns #-}
6 -- for Symantic.Parser's TemplateHaskell
7 {-# LANGUAGE MagicHash #-}
8 {-# LANGUAGE ScopedTypeVariables #-}
9 {-# LANGUAGE RankNTypes #-}
10 {-# LANGUAGE UnboxedTuples #-}
11 {-# OPTIONS_GHC -Wno-unused-matches #-}
12 {-# OPTIONS_GHC -Wno-unused-local-binds #-}
13 module Parsers.Brainfuck.SymanticParser.PprSplice where
14
15 import Data.Either (Either)
16 import Data.Text (Text)
17 import System.IO (IO)
18 import Text.Show (show)
19 import qualified Data.ByteString as BS
20 import qualified Data.ByteString.Internal
21 import qualified Data.Either
22 import qualified Data.Function
23 import qualified Data.Map.Internal
24 import qualified Data.Map.Strict.Internal
25 import qualified Data.Proxy
26 import qualified Data.Set.Internal
27 import qualified Data.Text.Internal
28 import qualified Data.Text.Unsafe
29 import qualified GHC.Base
30 import qualified GHC.Classes
31 import qualified GHC.ForeignPtr
32 import qualified GHC.Maybe
33 import qualified GHC.Num
34 import qualified GHC.Prim
35 import qualified GHC.Show
36 import qualified GHC.Tuple
37 import qualified GHC.Types
38 import qualified GHC.Word
39 import qualified Language.Haskell.TH as TH
40 import qualified Language.Haskell.TH.Syntax as TH
41 import qualified Prelude
42 import qualified Symantic.Parser as SP
43 import qualified Symantic.Parser.Grammar.Combinators
44 import qualified Symantic.Parser.Machine
45 import qualified Symantic.Parser.Machine.Generate
46 import qualified Symantic.Parser.Machine.Input
47 import qualified System.IO as IO
48
49 import qualified Parsers.Brainfuck.Types
50 import Parsers.Brainfuck.Types (Instruction)
51 import Parsers.Brainfuck.SymanticParser.Grammar (grammar)
52
53 splice :: IO (TH.TExp (BS.ByteString -> Either (SP.ParsingError BS.ByteString) [Instruction]))
54 splice = TH.runQ (TH.examineCode (SP.runParser grammar))
55
56 dumpSplice :: IO ()
57 dumpSplice = do
58 tExp <- splice
59 IO.writeFile "parsers/Parsers/Brainfuck/SymanticParser/PprSplice.hs.ppr"
60 (show (TH.ppr ((TH.unType tExp))))
61
62 -- The splice below has been manually paste with:
63 -- :r parsers/Parsers/Brainfuck/SymanticParser/PprSplice.hs.ppr
64 -- :%s/#\(_[0-9]\+\)/\1# /g
65 -- :%s/GHC.Tuple.()/()/g
66 -- :%s/GHC.Types.\[]/[]/g
67 parserByteString :: BS.ByteString -> Either (SP.ParsingError BS.ByteString) [Instruction]
68 parserByteString =
69 \(input_0 :: inp_6989586621679446738) -> let {!(# init_1,
70 readMore_2,
71 readNext_3 #) = let {!(Data.ByteString.Internal.PS (GHC.ForeignPtr.ForeignPtr addr_4#
72 final_5)
73 off_6
74 size_7) = input_0;
75 next_8 (i_9@(GHC.Types.I# i_10# )) = case GHC.Prim.readWord8OffAddr# (addr_4# `GHC.Prim.plusAddr#` i_10# ) 0# GHC.Prim.realWorld# of
76 (# s'_11,
77 x_12 #) -> case GHC.Prim.touch# final_5 s'_11 of
78 _ -> (# GHC.Word.W8# x_12,
79 i_9 GHC.Num.+ 1 #)}
80 in (# off_6,
81 (GHC.Classes.< size_7),
82 next_8 #);
83 finalRet_13 = \_farInp_14 _farExp_15 v_16 _inp_17 -> Data.Either.Right v_16;
84 finalRaise_18 :: forall b_19 .
85 Symantic.Parser.Machine.Generate.Catcher inp_6989586621679446738
86 b_19 = \(!exn_20) _failInp_21 (!farInp_22) (!farExp_23) -> Data.Either.Left Symantic.Parser.Machine.Generate.ParsingErrorStandard{Symantic.Parser.Machine.Generate.parsingErrorOffset = Symantic.Parser.Machine.Input.offset farInp_22,
87 Symantic.Parser.Machine.Generate.parsingErrorException = exn_20,
88 Symantic.Parser.Machine.Generate.parsingErrorUnexpected = if readMore_2 farInp_22
89 then GHC.Maybe.Just (let (# c_24,
90 _ #) = readNext_3 farInp_22
91 in c_24)
92 else GHC.Maybe.Nothing,
93 Symantic.Parser.Machine.Generate.parsingErrorExpecting = farExp_23}}
94 in let inputToken = Data.Proxy.Proxy :: Data.Proxy.Proxy (Symantic.Parser.Machine.Input.InputToken inp_6989586621679446738)
95 in let {name_25 = \(!ok_26) (!inp_27) (!koByLabel_28) -> name_29 (let _ = "suspend"
96 in \farInp_30 farExp_31 v_32 (!inp_33) -> let _ = "resume"
97 in ok_26 farInp_30 farExp_31 (let _ = "resume.genCode"
98 in ()) inp_33) inp_27 (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure (Data.Map.Strict.Internal.findWithDefault finalRaise_18 Symantic.Parser.Grammar.Combinators.ExceptionFailure koByLabel_28) Data.Map.Internal.Tip Data.Map.Internal.Tip);
99 name_34 = \(!ok_35) (!inp_36) (!koByLabel_37) -> name_38 (let _ = "suspend"
100 in \farInp_39 farExp_40 v_41 (!inp_42) -> let _ = "resume"
101 in ok_35 farInp_39 farExp_40 (let _ = "resume.genCode"
102 in v_41 []) inp_42) inp_36 (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure (Data.Map.Strict.Internal.findWithDefault finalRaise_18 Symantic.Parser.Grammar.Combinators.ExceptionFailure koByLabel_37) Data.Map.Internal.Tip Data.Map.Internal.Tip);
103 name_38 = \(!ok_43) (!inp_44) (!koByLabel_45) -> let _ = "catch ExceptionFailure"
104 in let catchHandler_46 (!_exn_47) (!failInp_48) (!farInp_49) (!farExp_50) = let _ = "catch.ko ExceptionFailure"
105 in if (GHC.Classes.==) @GHC.Types.Int inp_44 failInp_48
106 then let _ = "choicesBranch.then"
107 in let _ = "resume"
108 in ok_43 farInp_49 farExp_50 (let _ = "resume.genCode"
109 in \x_51 -> x_51) failInp_48
110 else let _ = "choicesBranch.else"
111 in Data.Map.Strict.Internal.findWithDefault finalRaise_18 Symantic.Parser.Grammar.Combinators.ExceptionFailure koByLabel_45 Symantic.Parser.Grammar.Combinators.ExceptionFailure failInp_48 farInp_49 farExp_50
112 in let join_52 = \farInp_53 farExp_54 v_55 (!inp_56) -> name_25 (let _ = "suspend"
113 in \farInp_57 farExp_58 v_59 (!inp_60) -> name_38 (let _ = "suspend"
114 in \farInp_61 farExp_62 v_63 (!inp_64) -> let _ = "resume"
115 in ok_43 farInp_61 farExp_62 (let _ = "resume.genCode"
116 in \x_65 -> v_55 : v_63 x_65) inp_64) inp_60 (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure catchHandler_46 Data.Map.Internal.Tip Data.Map.Internal.Tip)) inp_56 (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure catchHandler_46 Data.Map.Internal.Tip Data.Map.Internal.Tip)
117 in let readFail_66 = catchHandler_46
118 in if readMore_2 inp_44
119 then let !(# c_67,
120 cs_68 #) = readNext_3 inp_44
121 in if (\x_69 -> GHC.Types.True) c_67
122 then if 60 GHC.Classes.== c_67
123 then let _ = "choicesBranch.then"
124 in let readFail_70 = readFail_66
125 in if readMore_2 inp_44
126 then let !(# c_71,
127 cs_72 #) = readNext_3 inp_44
128 in if (\x_73 -> GHC.Types.True) c_71
129 then let _ = "resume"
130 in join_52 init_1 Data.Set.Internal.empty (let _ = "resume.genCode"
131 in Parsers.Brainfuck.Types.Backward) cs_72
132 else let _ = "checkToken.else"
133 in let failExp_74 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
134 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureAny @tok'_6989586621679198986)) Data.Set.Internal.Tip Data.Set.Internal.Tip
135 in let (# farInp_75,
136 farExp_76 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
137 GHC.Types.LT -> (# inp_44,
138 failExp_74 #)
139 GHC.Types.EQ -> (# init_1,
140 failExp_74 GHC.Base.<> Data.Set.Internal.empty #)
141 GHC.Types.GT -> (# init_1,
142 Data.Set.Internal.empty #)
143 in readFail_70 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_75 farExp_76
144 else let _ = "checkHorizon.else"
145 in let failExp_77 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
146 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok'_6989586621679198986 1)) Data.Set.Internal.Tip Data.Set.Internal.Tip
147 in let (# farInp_78,
148 farExp_79 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
149 GHC.Types.LT -> (# inp_44,
150 failExp_77 #)
151 GHC.Types.EQ -> (# init_1,
152 failExp_77 GHC.Base.<> Data.Set.Internal.empty #)
153 GHC.Types.GT -> (# init_1,
154 Data.Set.Internal.empty #)
155 in readFail_70 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_78 farExp_79
156 else let _ = "choicesBranch.else"
157 in if 62 GHC.Classes.== c_67
158 then let _ = "choicesBranch.then"
159 in let readFail_80 = readFail_66
160 in if readMore_2 inp_44
161 then let !(# c_81,
162 cs_82 #) = readNext_3 inp_44
163 in if (\x_83 -> GHC.Types.True) c_81
164 then let _ = "resume"
165 in join_52 init_1 Data.Set.Internal.empty (let _ = "resume.genCode"
166 in Parsers.Brainfuck.Types.Forward) cs_82
167 else let _ = "checkToken.else"
168 in let failExp_84 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
169 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureAny @tok'_6989586621679198986)) Data.Set.Internal.Tip Data.Set.Internal.Tip
170 in let (# farInp_85,
171 farExp_86 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
172 GHC.Types.LT -> (# inp_44,
173 failExp_84 #)
174 GHC.Types.EQ -> (# init_1,
175 failExp_84 GHC.Base.<> Data.Set.Internal.empty #)
176 GHC.Types.GT -> (# init_1,
177 Data.Set.Internal.empty #)
178 in readFail_80 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_85 farExp_86
179 else let _ = "checkHorizon.else"
180 in let failExp_87 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
181 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok'_6989586621679198986 1)) Data.Set.Internal.Tip Data.Set.Internal.Tip
182 in let (# farInp_88,
183 farExp_89 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
184 GHC.Types.LT -> (# inp_44,
185 failExp_87 #)
186 GHC.Types.EQ -> (# init_1,
187 failExp_87 GHC.Base.<> Data.Set.Internal.empty #)
188 GHC.Types.GT -> (# init_1,
189 Data.Set.Internal.empty #)
190 in readFail_80 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_88 farExp_89
191 else let _ = "choicesBranch.else"
192 in if 43 GHC.Classes.== c_67
193 then let _ = "choicesBranch.then"
194 in let readFail_90 = readFail_66
195 in if readMore_2 inp_44
196 then let !(# c_91,
197 cs_92 #) = readNext_3 inp_44
198 in if (\x_93 -> GHC.Types.True) c_91
199 then let _ = "resume"
200 in join_52 init_1 Data.Set.Internal.empty (let _ = "resume.genCode"
201 in Parsers.Brainfuck.Types.Increment) cs_92
202 else let _ = "checkToken.else"
203 in let failExp_94 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
204 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureAny @tok'_6989586621679198986)) Data.Set.Internal.Tip Data.Set.Internal.Tip
205 in let (# farInp_95,
206 farExp_96 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
207 GHC.Types.LT -> (# inp_44,
208 failExp_94 #)
209 GHC.Types.EQ -> (# init_1,
210 failExp_94 GHC.Base.<> Data.Set.Internal.empty #)
211 GHC.Types.GT -> (# init_1,
212 Data.Set.Internal.empty #)
213 in readFail_90 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_95 farExp_96
214 else let _ = "checkHorizon.else"
215 in let failExp_97 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
216 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok'_6989586621679198986 1)) Data.Set.Internal.Tip Data.Set.Internal.Tip
217 in let (# farInp_98,
218 farExp_99 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
219 GHC.Types.LT -> (# inp_44,
220 failExp_97 #)
221 GHC.Types.EQ -> (# init_1,
222 failExp_97 GHC.Base.<> Data.Set.Internal.empty #)
223 GHC.Types.GT -> (# init_1,
224 Data.Set.Internal.empty #)
225 in readFail_90 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_98 farExp_99
226 else let _ = "choicesBranch.else"
227 in if 45 GHC.Classes.== c_67
228 then let _ = "choicesBranch.then"
229 in let readFail_100 = readFail_66
230 in if readMore_2 inp_44
231 then let !(# c_101,
232 cs_102 #) = readNext_3 inp_44
233 in if (\x_103 -> GHC.Types.True) c_101
234 then let _ = "resume"
235 in join_52 init_1 Data.Set.Internal.empty (let _ = "resume.genCode"
236 in Parsers.Brainfuck.Types.Decrement) cs_102
237 else let _ = "checkToken.else"
238 in let failExp_104 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
239 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureAny @tok'_6989586621679198986)) Data.Set.Internal.Tip Data.Set.Internal.Tip
240 in let (# farInp_105,
241 farExp_106 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
242 GHC.Types.LT -> (# inp_44,
243 failExp_104 #)
244 GHC.Types.EQ -> (# init_1,
245 failExp_104 GHC.Base.<> Data.Set.Internal.empty #)
246 GHC.Types.GT -> (# init_1,
247 Data.Set.Internal.empty #)
248 in readFail_100 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_105 farExp_106
249 else let _ = "checkHorizon.else"
250 in let failExp_107 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
251 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok'_6989586621679198986 1)) Data.Set.Internal.Tip Data.Set.Internal.Tip
252 in let (# farInp_108,
253 farExp_109 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
254 GHC.Types.LT -> (# inp_44,
255 failExp_107 #)
256 GHC.Types.EQ -> (# init_1,
257 failExp_107 GHC.Base.<> Data.Set.Internal.empty #)
258 GHC.Types.GT -> (# init_1,
259 Data.Set.Internal.empty #)
260 in readFail_100 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_108 farExp_109
261 else let _ = "choicesBranch.else"
262 in if 44 GHC.Classes.== c_67
263 then let _ = "choicesBranch.then"
264 in let readFail_110 = readFail_66
265 in if readMore_2 inp_44
266 then let !(# c_111,
267 cs_112 #) = readNext_3 inp_44
268 in if (\x_113 -> GHC.Types.True) c_111
269 then let _ = "resume"
270 in join_52 init_1 Data.Set.Internal.empty (let _ = "resume.genCode"
271 in Parsers.Brainfuck.Types.Input) cs_112
272 else let _ = "checkToken.else"
273 in let failExp_114 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
274 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureAny @tok'_6989586621679198986)) Data.Set.Internal.Tip Data.Set.Internal.Tip
275 in let (# farInp_115,
276 farExp_116 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
277 GHC.Types.LT -> (# inp_44,
278 failExp_114 #)
279 GHC.Types.EQ -> (# init_1,
280 failExp_114 GHC.Base.<> Data.Set.Internal.empty #)
281 GHC.Types.GT -> (# init_1,
282 Data.Set.Internal.empty #)
283 in readFail_110 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_115 farExp_116
284 else let _ = "checkHorizon.else"
285 in let failExp_117 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
286 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok'_6989586621679198986 1)) Data.Set.Internal.Tip Data.Set.Internal.Tip
287 in let (# farInp_118,
288 farExp_119 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
289 GHC.Types.LT -> (# inp_44,
290 failExp_117 #)
291 GHC.Types.EQ -> (# init_1,
292 failExp_117 GHC.Base.<> Data.Set.Internal.empty #)
293 GHC.Types.GT -> (# init_1,
294 Data.Set.Internal.empty #)
295 in readFail_110 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_118 farExp_119
296 else let _ = "choicesBranch.else"
297 in if 46 GHC.Classes.== c_67
298 then let _ = "choicesBranch.then"
299 in let readFail_120 = readFail_66
300 in if readMore_2 inp_44
301 then let !(# c_121,
302 cs_122 #) = readNext_3 inp_44
303 in if (\x_123 -> GHC.Types.True) c_121
304 then let _ = "resume"
305 in join_52 init_1 Data.Set.Internal.empty (let _ = "resume.genCode"
306 in Parsers.Brainfuck.Types.Output) cs_122
307 else let _ = "checkToken.else"
308 in let failExp_124 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
309 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureAny @tok'_6989586621679198986)) Data.Set.Internal.Tip Data.Set.Internal.Tip
310 in let (# farInp_125,
311 farExp_126 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
312 GHC.Types.LT -> (# inp_44,
313 failExp_124 #)
314 GHC.Types.EQ -> (# init_1,
315 failExp_124 GHC.Base.<> Data.Set.Internal.empty #)
316 GHC.Types.GT -> (# init_1,
317 Data.Set.Internal.empty #)
318 in readFail_120 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_125 farExp_126
319 else let _ = "checkHorizon.else"
320 in let failExp_127 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
321 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok'_6989586621679198986 1)) Data.Set.Internal.Tip Data.Set.Internal.Tip
322 in let (# farInp_128,
323 farExp_129 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
324 GHC.Types.LT -> (# inp_44,
325 failExp_127 #)
326 GHC.Types.EQ -> (# init_1,
327 failExp_127 GHC.Base.<> Data.Set.Internal.empty #)
328 GHC.Types.GT -> (# init_1,
329 Data.Set.Internal.empty #)
330 in readFail_120 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_128 farExp_129
331 else let _ = "choicesBranch.else"
332 in if 91 GHC.Classes.== c_67
333 then let _ = "choicesBranch.then"
334 in let readFail_130 = readFail_66
335 in if readMore_2 ((GHC.Num.+) @GHC.Types.Int 1 inp_44)
336 then let !(# c_131,
337 cs_132 #) = readNext_3 inp_44
338 in if (\x_133 -> GHC.Types.True) c_131
339 then name_25 (let _ = "suspend"
340 in \farInp_134 farExp_135 v_136 (!inp_137) -> name_34 (let _ = "suspend"
341 in \farInp_138 farExp_139 v_140 (!inp_141) -> let readFail_142 = readFail_130
342 in if readMore_2 inp_141
343 then let !(# c_143,
344 cs_144 #) = readNext_3 inp_141
345 in if (93 GHC.Classes.==) c_143
346 then let _ = "resume"
347 in join_52 farInp_138 farExp_139 (let _ = "resume.genCode"
348 in Parsers.Brainfuck.Types.Loop v_140) cs_144
349 else let _ = "checkToken.else"
350 in readFail_142 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_141 farInp_138 farExp_139
351 else let _ = "checkHorizon.else"
352 in let failExp_145 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
353 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok'_6989586621679198986 1)) Data.Set.Internal.Tip Data.Set.Internal.Tip
354 in let (# farInp_146,
355 farExp_147 #) = case GHC.Classes.compare @GHC.Types.Int farInp_138 inp_141 of
356 GHC.Types.LT -> (# inp_141,
357 failExp_145 #)
358 GHC.Types.EQ -> (# farInp_138,
359 failExp_145 GHC.Base.<> farExp_139 #)
360 GHC.Types.GT -> (# farInp_138,
361 farExp_139 #)
362 in readFail_142 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_141 farInp_146 farExp_147) inp_137 (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure readFail_130 Data.Map.Internal.Tip Data.Map.Internal.Tip)) cs_132 (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure readFail_130 Data.Map.Internal.Tip Data.Map.Internal.Tip)
363 else let _ = "checkToken.else"
364 in let failExp_148 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
365 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureAny @tok'_6989586621679198986)) Data.Set.Internal.Tip Data.Set.Internal.Tip
366 in let (# farInp_149,
367 farExp_150 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
368 GHC.Types.LT -> (# inp_44,
369 failExp_148 #)
370 GHC.Types.EQ -> (# init_1,
371 failExp_148 GHC.Base.<> Data.Set.Internal.empty #)
372 GHC.Types.GT -> (# init_1,
373 Data.Set.Internal.empty #)
374 in readFail_130 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_149 farExp_150
375 else let _ = "checkHorizon.else"
376 in let failExp_151 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
377 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok'_6989586621679198986 2)) Data.Set.Internal.Tip Data.Set.Internal.Tip
378 in let (# farInp_152,
379 farExp_153 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
380 GHC.Types.LT -> (# inp_44,
381 failExp_151 #)
382 GHC.Types.EQ -> (# init_1,
383 failExp_151 GHC.Base.<> Data.Set.Internal.empty #)
384 GHC.Types.GT -> (# init_1,
385 Data.Set.Internal.empty #)
386 in readFail_130 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_152 farExp_153
387 else let _ = "choicesBranch.else"
388 in let failExp_154 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure Symantic.Parser.Grammar.Combinators.FailureEmpty) Data.Set.Internal.Tip Data.Set.Internal.Tip
389 in let (# farInp_155,
390 farExp_156 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
391 GHC.Types.LT -> (# inp_44,
392 failExp_154 #)
393 GHC.Types.EQ -> (# init_1,
394 failExp_154 GHC.Base.<> Data.Set.Internal.empty #)
395 GHC.Types.GT -> (# init_1,
396 Data.Set.Internal.empty #)
397 in readFail_66 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_155 farExp_156
398 else let _ = "checkToken.else"
399 in let failExp_157 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
400 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureAny @tok'_6989586621679198986)) Data.Set.Internal.Tip Data.Set.Internal.Tip
401 in let (# farInp_158,
402 farExp_159 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
403 GHC.Types.LT -> (# inp_44,
404 failExp_157 #)
405 GHC.Types.EQ -> (# init_1,
406 failExp_157 GHC.Base.<> Data.Set.Internal.empty #)
407 GHC.Types.GT -> (# init_1,
408 Data.Set.Internal.empty #)
409 in readFail_66 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_158 farExp_159
410 else let _ = "checkHorizon.else"
411 in let failExp_160 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
412 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok'_6989586621679198986 1)) Data.Set.Internal.Tip Data.Set.Internal.Tip
413 in let (# farInp_161,
414 farExp_162 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_44 of
415 GHC.Types.LT -> (# inp_44,
416 failExp_160 #)
417 GHC.Types.EQ -> (# init_1,
418 failExp_160 GHC.Base.<> Data.Set.Internal.empty #)
419 GHC.Types.GT -> (# init_1,
420 Data.Set.Internal.empty #)
421 in readFail_66 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_44 farInp_161 farExp_162;
422 name_29 = \(!ok_163) (!inp_164) (!koByLabel_165) -> let _ = "catch ExceptionFailure"
423 in let catchHandler_166 (!_exn_167) (!failInp_168) (!farInp_169) (!farExp_170) = let _ = "catch.ko ExceptionFailure"
424 in if (GHC.Classes.==) @GHC.Types.Int inp_164 failInp_168
425 then let _ = "choicesBranch.then"
426 in let _ = "resume"
427 in ok_163 farInp_169 farExp_170 (let _ = "resume.genCode"
428 in \x_171 -> x_171) failInp_168
429 else let _ = "choicesBranch.else"
430 in Data.Map.Strict.Internal.findWithDefault finalRaise_18 Symantic.Parser.Grammar.Combinators.ExceptionFailure koByLabel_165 Symantic.Parser.Grammar.Combinators.ExceptionFailure failInp_168 farInp_169 farExp_170
431 in let readFail_172 = catchHandler_166
432 in if readMore_2 inp_164
433 then let !(# c_173,
434 cs_174 #) = readNext_3 inp_164
435 in if (\c_175 -> GHC.Classes.not ((60 GHC.Classes.== c_175) GHC.Classes.|| ((62 GHC.Classes.== c_175) GHC.Classes.|| ((43 GHC.Classes.== c_175) GHC.Classes.|| ((45 GHC.Classes.== c_175) GHC.Classes.|| ((44 GHC.Classes.== c_175) GHC.Classes.|| ((46 GHC.Classes.== c_175) GHC.Classes.|| ((91 GHC.Classes.== c_175) GHC.Classes.|| ((93 GHC.Classes.== c_175) GHC.Classes.|| GHC.Types.False))))))))) c_173
436 then name_29 (let _ = "suspend"
437 in \farInp_176 farExp_177 v_178 (!inp_179) -> let _ = "resume"
438 in ok_163 farInp_176 farExp_177 (let _ = "resume.genCode"
439 in \x_180 -> v_178 x_180) inp_179) cs_174 (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure readFail_172 Data.Map.Internal.Tip Data.Map.Internal.Tip)
440 else let _ = "checkToken.else"
441 in readFail_172 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_164 init_1 Data.Set.Internal.empty
442 else let _ = "checkHorizon.else"
443 in let failExp_181 = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure (case inputToken of
444 (Data.Proxy.Proxy :: Data.Proxy.Proxy tok'_6989586621679198986) -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok'_6989586621679198986 1)) Data.Set.Internal.Tip Data.Set.Internal.Tip
445 in let (# farInp_182,
446 farExp_183 #) = case GHC.Classes.compare @GHC.Types.Int init_1 inp_164 of
447 GHC.Types.LT -> (# inp_164,
448 failExp_181 #)
449 GHC.Types.EQ -> (# init_1,
450 failExp_181 GHC.Base.<> Data.Set.Internal.empty #)
451 GHC.Types.GT -> (# init_1,
452 Data.Set.Internal.empty #)
453 in readFail_172 Symantic.Parser.Grammar.Combinators.ExceptionFailure inp_164 farInp_182 farExp_183}
454 in name_25 (let _ = "suspend"
455 in \farInp_184 farExp_185 v_186 (!inp_187) -> name_34 (let _ = "suspend"
456 in \farInp_188 farExp_189 v_190 (!inp_191) -> let _ = "resume"
457 in finalRet_13 farInp_188 farExp_189 (let _ = "resume.genCode"
458 in v_190) inp_191) inp_187 Data.Map.Internal.Tip) init_1 Data.Map.Internal.Tip