{-# LANGUAGE AllowAmbiguousTypes #-}
+{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
, module Parsers.Brainfuck.SymanticParser.Grammar
) where
-import Data.Either (Either)
import Data.String (String)
import qualified Data.ByteString as BS
import qualified Data.ByteString.Lazy as BSL
import qualified Data.Text as T
--import qualified Data.Text.Lazy as TL
import qualified Symantic.Parser as SP
+import qualified Data.Function
+import qualified Data.Text.Unsafe
+import qualified Data.Text.Internal
+import qualified GHC.Num
+import qualified GHC.Err
+import qualified GHC.Classes
+import qualified GHC.Base
+import qualified GHC.Maybe
+import qualified Data.Set.Internal
+import qualified Data.Proxy
+import qualified GHC.STRef
+import qualified Data.Map.Strict.Internal
+import qualified Data.Map.Internal
+import qualified GHC.Types
-- 'grammar' must be in an another module because of GHC's stage restriction.
import Parsers.Brainfuck.SymanticParser.Grammar (grammar)
-import Parsers.Brainfuck.Types (Instruction)
-
-parserByteString :: BS.ByteString -> Either (SP.ParsingError BS.ByteString) [Instruction]
+import Parsers.Brainfuck.Types (Instruction(..))
+{-
+parserByteString :: BS.ByteString -> SP.Parsed BS.ByteString [Instruction]
parserByteString = $$(SP.runParser @BS.ByteString grammar)
-parserByteStringLazy :: BSL.ByteString -> Either (SP.ParsingError BSL.ByteString) [Instruction]
+parserByteStringLazy :: BSL.ByteString -> SP.Parsed BSL.ByteString [Instruction]
parserByteStringLazy = $$(SP.runParser @BSL.ByteString grammar)
-parserString :: String -> Either (SP.ParsingError String) [Instruction]
+parserString :: String -> SP.Parsed String [Instruction]
parserString = $$(SP.runParser @String grammar)
+-}
-parserText :: T.Text -> Either (SP.ParsingError T.Text) [Instruction]
+parserText :: T.Text -> SP.Parsed T.Text [Instruction]
parserText = $$(SP.runParser @T.Text grammar)
--parserTextLazy :: TL.Text -> Either (SP.ParsingError TL.Text) [Instruction]
--parserTextLazy = $$(SP.runParser @TL.Text grammar)
+{-
+parserText :: T.Text -> SP.Parsed T.Text [Instruction]
+parserText =
+ \ (input_a6uU :: inp_aahm)
+ -> let
+ !(# init_a6uW, readMore_a6uX, readNext_a6uY #)
+ = let _ = "cursorOf" in
+ let
+ next_a6v1
+ t_a6v2@(Data.Text.Internal.Text arr_a6v3 off_a6v4 unconsumed_a6v5)
+ = let
+ !(Data.Text.Unsafe.Iter c_a6v6 d_a6v7)
+ = (Data.Text.Unsafe.iter t_a6v2) 0
+ in
+ (# c_a6v6,
+ ((Data.Text.Internal.Text arr_a6v3) (off_a6v4 GHC.Num.+ d_a6v7))
+ (unconsumed_a6v5 GHC.Num.- d_a6v7) #)
+ more_a6v0 (Data.Text.Internal.Text _ _ unconsumed_a6v8)
+ = (unconsumed_a6v8 GHC.Classes.> 0)
+ in (# input_a6uU, more_a6v0, next_a6v1 #)
+ finalRet_a6uV
+ = \ _farInp_a6v9 _farExp_a6va v_a6vb _inp_a6vc
+ -> (SP.returnST GHC.Base.$ SP.ResultDone v_a6vb)
+ finalRaise_a6uZ :: forall b_a6vd. SP.OnException inp_aahm b_a6vd
+ = \ !exn_a6ve _failInp_a6vf !farInp_a6vg !farExp_a6vh
+ -> (SP.returnST
+ GHC.Base.$
+ SP.ResultError
+ SP.ParsingError
+ {SP.parsingErrorOffset = SP.offset farInp_a6vg,
+ SP.parsingErrorException = exn_a6ve,
+ SP.parsingErrorUnexpected = if readMore_a6uX farInp_a6vg then
+ GHC.Maybe.Just
+ (let
+ (# c_a6vi, _ #)
+ = readNext_a6uY farInp_a6vg
+ in c_a6vi)
+ else
+ GHC.Maybe.Nothing,
+ SP.parsingErrorExpecting = let
+ (minHoriz_a6vj, res_a6vk)
+ = ((Data.Set.Internal.foldr
+ (\ f_a6vl (minH_a6vm, acc_a6vn)
+ -> case
+ SP.unSomeFailure f_a6vl
+ of
+ GHC.Maybe.Just (SP.FailureHorizon h_a6vo :: SP.Failure (SP.CombSatisfiable (SP.InputToken inp_aahm)))
+ | GHC.Maybe.Just old_a6vp <- minH_a6vm
+ -> (GHC.Maybe.Just
+ ((GHC.Classes.min
+ old_a6vp)
+ h_a6vo),
+ acc_a6vn)
+ | GHC.Base.otherwise
+ -> (GHC.Maybe.Just
+ h_a6vo,
+ acc_a6vn)
+ _ -> (minH_a6vm,
+ (f_a6vl
+ : acc_a6vn))))
+ (GHC.Maybe.Nothing, []))
+ farExp_a6vh
+ in
+ (Data.Set.Internal.fromList
+ GHC.Base.$
+ (case minHoriz_a6vj of
+ GHC.Maybe.Just h_a6vq
+ -> (SP.SomeFailure
+ ((SP.FailureHorizon
+ @(SP.InputToken inp_aahm))
+ h_a6vq)
+ : res_a6vk)
+ GHC.Maybe.Nothing
+ -> res_a6vk))}) in
+ let
+ inputToken
+ = Data.Proxy.Proxy :: Data.Proxy.Proxy (SP.InputToken inp_aahm) in
+ let _ = "checkHorizon.noCheck" in
+ let name_2 = \ !callerOnReturn_a6vr
+ !callerInput_a6vs
+ !callerOnExceptionStackByLabel_a6vt
+ -> let _ = "pushValue" in
+ let _ = "pushValue"
+ in
+ do let dupv_a6vu = \ x_a6vv -> x_a6vv
+ reg_1g <- GHC.STRef.newSTRef dupv_a6vu
+ --let _ = "iter" in
+ let onException_a6vw loopInput_a6vx
+ = let _ = "onException"
+ in
+ \ !_exn_a6vy !failInp_a6vz !farInp_a6vA !farExp_a6vB
+ -> let _ = "comment: raiseAgainIfConsumed" in
+ let _ = "saveInput checkedHorizon=0" in
+ let _ = "lift2Value checkedHorizon=0"
+ in
+ if ((\ (Data.Text.Internal.Text _ i_a6vC _)
+ (Data.Text.Internal.Text _ j_a6vD _)
+ -> (i_a6vC GHC.Classes.== j_a6vD))
+ loopInput_a6vx)
+ failInp_a6vz then
+ let _ = "choicesBranch checkedHorizon=0"
+ in
+ do sr_a6vE <- GHC.STRef.readSTRef reg_1g
+ --let _ = "pushValue" in
+ --let _ = "lift2Value checkedHorizon=0" in
+ --let _ = "lift2Value checkedHorizon=0" in
+ --let _ = "resume" in
+ (((callerOnReturn_a6vr farInp_a6vA) farExp_a6vB)
+ (let _ = "resume.genCode" in ()))
+ failInp_a6vz
+ else
+ let _ = "choicesBranch.else"
+ in
+ ((((((Data.Map.Strict.Internal.findWithDefault
+ finalRaise_a6uZ)
+ SP.ExceptionFailure)
+ callerOnExceptionStackByLabel_a6vt)
+ SP.ExceptionFailure)
+ failInp_a6vz)
+ farInp_a6vA)
+ farExp_a6vB
+ loop_1h
+ = \ _callerOnReturn_a6vF
+ callerInput_a6vG
+ callerOnExceptionStackByLabel_a6vH
+ -> -- let _ = "pushValue" in
+ -- let _ = "comment: satisfy (\c_0 -> GHC.Classes.not (('<' GHC.Classes.== c_0) GHC.Classes.|| (('>' GHC.Classes.== c_0) GHC.Classes.|| (('+' GHC.Classes.== c_0) GHC.Classes.|| (('-' GHC.Classes.== c_0) GHC.Classes.|| ((',' GHC.Classes.== c_0) GHC.Classes.|| (('.' GHC.Classes.== c_0) GHC.Classes.|| (('[' GHC.Classes.== c_0) GHC.Classes.|| ((']' GHC.Classes.== c_0) GHC.Classes.|| GHC.Types.False)))))))))" in
+ let inp_a6vI = callerInput_a6vG in
+ let readFail_a6vJ = onException_a6vw callerInput_a6vG in
+ --let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1" in
+ if readMore_a6uX inp_a6vI then
+ let _ = "checkToken" in
+ let !(# c_a6vK, cs_a6vL #) = readNext_a6uY inp_a6vI
+ in
+ if (\ c_a6vM
+ -> GHC.Classes.not
+ (('<' GHC.Classes.== c_a6vM)
+ GHC.Classes.||
+ (('>' GHC.Classes.== c_a6vM)
+ GHC.Classes.||
+ (('+' GHC.Classes.== c_a6vM)
+ GHC.Classes.||
+ (('-' GHC.Classes.== c_a6vM)
+ GHC.Classes.||
+ ((','
+ GHC.Classes.==
+ c_a6vM)
+ GHC.Classes.||
+ (('.'
+ GHC.Classes.==
+ c_a6vM)
+ GHC.Classes.||
+ (('['
+ GHC.Classes.==
+ c_a6vM)
+ GHC.Classes.||
+ ((']'
+ GHC.Classes.==
+ c_a6vM)
+ GHC.Classes.||
+ GHC.Types.False)))))))))
+ c_a6vK then
+ let _ = "lift2Value checkedHorizon=1"
+ in
+ do sr_a6vN <- GHC.STRef.readSTRef reg_1g
+ --let _ = "lift2Value checkedHorizon=1" in
+ do let dupv_a6vO = sr_a6vN
+ (GHC.STRef.writeSTRef reg_1g) dupv_a6vO
+ --let _ = "jump" in
+ ((loop_1h
+ (GHC.Err.error "invalid onReturn"))
+ cs_a6vL)
+ (((((Data.Map.Internal.Bin 1)
+ SP.ExceptionFailure)
+ readFail_a6vJ)
+ Data.Map.Internal.Tip)
+ Data.Map.Internal.Tip)
+ else
+ let _ = "checkToken.fail"
+ in
+ (((readFail_a6vJ SP.ExceptionFailure) inp_a6vI)
+ init_a6uW)
+ Data.Set.Internal.empty
+ else
+ let _ = "checkHorizon.newCheck.fail" in
+ let
+ failExp_a6vP
+ = (Data.Set.Internal.singleton
+ GHC.Base.$
+ (SP.SomeFailure
+ GHC.Base.$
+ (SP.FailureHorizon
+ @(SP.InputToken inp_aagU))
+ 1)) in
+ let
+ (# farInp_a6vQ, farExp_a6vR #)
+ = case
+ ((GHC.Classes.compare
+ `Data.Function.on` SP.offset)
+ init_a6uW)
+ inp_a6vI
+ of
+ GHC.Types.LT -> (# inp_a6vI, failExp_a6vP #)
+ GHC.Types.EQ
+ -> (# init_a6uW,
+ (failExp_a6vP
+ GHC.Base.<> Data.Set.Internal.empty) #)
+ GHC.Types.GT
+ -> (# init_a6uW, Data.Set.Internal.empty #)
+ in
+ (((readFail_a6vJ SP.ExceptionFailure) inp_a6vI)
+ farInp_a6vQ)
+ farExp_a6vR
+ in loop_1h callerOnReturn_a6vr callerInput_a6vs
+ (((((Data.Map.Internal.Bin 1) SP.ExceptionFailure)
+ (((Data.Map.Strict.Internal.findWithDefault finalRaise_a6uZ)
+ SP.ExceptionFailure)
+ callerOnExceptionStackByLabel_a6vt))
+ Data.Map.Internal.Tip)
+ Data.Map.Internal.Tip)
+ name_1 = \ !callerOnReturn_a6vS
+ !callerInput_a6vT
+ !callerOnExceptionStackByLabel_a6vU
+ -> let _ = "pushValue"
+ in
+ do let dupv_a6vV = \ x_a6vW -> x_a6vW
+ reg_1i <- GHC.STRef.newSTRef dupv_a6vV
+ let _ = "iter"
+ let onException_a6vX loopInput_a6vY =
+ let _ = "onException"
+ in
+ \ !_exn_a6vZ !failInp_a6w0 !farInp_a6w1 !farExp_a6w2
+ -> let _ = "comment: raiseAgainIfConsumed" in
+ let _ = "saveInput checkedHorizon=0" in
+ let _ = "lift2Value checkedHorizon=0"
+ in
+ if ((\ (Data.Text.Internal.Text _ i_a6w3 _)
+ (Data.Text.Internal.Text _ j_a6w4 _)
+ -> (i_a6w3 GHC.Classes.== j_a6w4))
+ loopInput_a6vY)
+ failInp_a6w0 then
+ let _ = "choicesBranch checkedHorizon=0"
+ in
+ do sr_a6w5 <- GHC.STRef.readSTRef reg_1i
+ let _ = "pushValue"
+ let _ = "lift2Value checkedHorizon=0"
+ let _ = "resume" in
+ (((callerOnReturn_a6vS farInp_a6w1) farExp_a6w2)
+ (let _ = "resume.genCode" in sr_a6w5 []))
+ failInp_a6w0
+ else
+ let _ = "choicesBranch.else"
+ in
+ ((((((Data.Map.Strict.Internal.findWithDefault
+ finalRaise_a6uZ)
+ SP.ExceptionFailure)
+ callerOnExceptionStackByLabel_a6vU)
+ SP.ExceptionFailure)
+ failInp_a6w0)
+ farInp_a6w1)
+ farExp_a6w2
+ loop_1j = \ _callerOnReturn_a6w6
+ callerInput_a6w7
+ callerOnExceptionStackByLabel_a6w8
+ -> let _ = "pushValue" in
+ let
+ join_1k
+ = \ farInp_a6w9 farExp_a6wa v_a6wb !inp_a6wc
+ -> let _ = "lift2Value checkedHorizon=0"
+ in
+ ((name_2
+ (let _ = "onReturn"
+ in
+ \ farInp_a6wd farExp_a6we v_a6wf !inp_a6wg
+ -> let
+ _ = "lift2Value checkedHorizon=0" in
+ let _ = "pushValue" in
+ let _ = "lift2Value checkedHorizon=0"
+ in
+ do sr_a6wh <- GHC.STRef.readSTRef
+ reg_1i
+ let
+ _ = "lift2Value checkedHorizon=0"
+ in
+ do let dupv_a6wi
+ = \ x_a6wj
+ -> sr_a6wh
+ (((:) v_a6wb)
+ x_a6wj)
+ (GHC.STRef.writeSTRef
+ reg_1i)
+ dupv_a6wi
+ let _ = "jump"
+ in
+ ((loop_1j
+ (GHC.Err.error
+ "invalid onReturn"))
+ inp_a6wg)
+ (((((Data.Map.Internal.Bin
+ 1)
+ SP.ExceptionFailure)
+ (onException_a6vX
+ callerInput_a6w7))
+ Data.Map.Internal.Tip)
+ Data.Map.Internal.Tip)))
+ inp_a6wc)
+ (((((Data.Map.Internal.Bin 1)
+ SP.ExceptionFailure)
+ (onException_a6vX callerInput_a6w7))
+ Data.Map.Internal.Tip)
+ Data.Map.Internal.Tip) in
+ let _ = "comment: look" in
+ let _ = "saveInput checkedHorizon=0" in
+ -- let _ = "comment: satisfy ((\x_0 -> \x_1 -> x_0) GHC.Types.True)" in
+ let inp_a6wk = callerInput_a6w7 in
+ let readFail_a6wl = onException_a6vX callerInput_a6w7 in
+ let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1"
+ in
+ if readMore_a6uX inp_a6wk then
+ let _ = "checkToken" in
+ let !(# c_a6wm, cs_a6wn #) = readNext_a6uY inp_a6wk in
+ let _ = "loadInput checkedHorizon=0" in
+ let inp_a6wo = callerInput_a6w7 in
+ let readFail_a6wp = readFail_a6wl in
+ let
+ _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1"
+ in
+ if readMore_a6uX inp_a6wo then
+ if (\ x_a6wq -> ((GHC.Classes.==) '<') x_a6wq)
+ c_a6wm then
+ let _ = "choicesBranch checkedHorizon=1" in
+ let _ = "pushValue" in
+ -- let _ = "comment: satisfy ((\x_0 -> \x_1 -> x_0) GHC.Types.True)" in
+ let
+ _ = "checkHorizon.oldCheck: checkedHorizon=1" in
+ let _ = "checkToken" in
+ let
+ !(# c_a6wr, cs_a6ws #)
+ = readNext_a6uY inp_a6wo in
+ let _ = "lift2Value checkedHorizon=0" in
+ let _ = "resume"
+ in
+ (((join_1k init_a6uW)
+ Data.Set.Internal.empty)
+ (let _ = "resume.genCode"
+ in Parsers.Brainfuck.Types.Backward))
+ cs_a6ws
+ else
+ let _ = "choicesBranch.else"
+ in
+ if (\ x_a6wt -> ((GHC.Classes.==) '>') x_a6wt)
+ c_a6wm then
+ let
+ _ = "choicesBranch checkedHorizon=1" in
+ let _ = "pushValue" in
+ --let _ = "comment: satisfy ((\x_0 -> \x_1 -> x_0) GHC.Types.True)" in
+ let
+ _ = "checkHorizon.oldCheck: checkedHorizon=1" in
+ let _ = "checkToken" in
+ let
+ !(# c_a6wu, cs_a6wv #)
+ = readNext_a6uY inp_a6wo in
+ let _ = "lift2Value checkedHorizon=0" in
+ let _ = "resume"
+ in
+ (((join_1k init_a6uW)
+ Data.Set.Internal.empty)
+ (let _ = "resume.genCode"
+ in Parsers.Brainfuck.Types.Forward))
+ cs_a6wv
+ else
+ let _ = "choicesBranch.else"
+ in
+ if (\ x_a6ww
+ -> ((GHC.Classes.==) '+') x_a6ww)
+ c_a6wm then
+ let
+ _ = "choicesBranch checkedHorizon=1" in
+ let _ = "pushValue" in
+ -- let _ = "comment: satisfy ((\x_0 -> \x_1 -> x_0) GHC.Types.True)" in
+ let
+ _ = "checkHorizon.oldCheck: checkedHorizon=1" in
+ let _ = "checkToken" in
+ let
+ !(# c_a6wx, cs_a6wy #)
+ = readNext_a6uY inp_a6wo in
+ let
+ _ = "lift2Value checkedHorizon=0" in
+ let _ = "resume"
+ in
+ (((join_1k init_a6uW)
+ Data.Set.Internal.empty)
+ (let _ = "resume.genCode"
+ in
+ Parsers.Brainfuck.Types.Increment))
+ cs_a6wy
+ else
+ let _ = "choicesBranch.else"
+ in
+ if (\ x_a6wz
+ -> ((GHC.Classes.==) '-')
+ x_a6wz)
+ c_a6wm then
+ let
+ _ = "choicesBranch checkedHorizon=1" in
+ let _ = "pushValue" in
+ -- let _ = "comment: satisfy ((\x_0 -> \x_1 -> x_0) GHC.Types.True)" in
+ let
+ _ = "checkHorizon.oldCheck: checkedHorizon=1" in
+ let _ = "checkToken" in
+ let
+ !(# c_a6wA, cs_a6wB #)
+ = readNext_a6uY
+ inp_a6wo in
+ let
+ _ = "lift2Value checkedHorizon=0" in
+ let _ = "resume"
+ in
+ (((join_1k init_a6uW)
+ Data.Set.Internal.empty)
+ (let _ = "resume.genCode"
+ in
+ Parsers.Brainfuck.Types.Decrement))
+ cs_a6wB
+ else
+ let _ = "choicesBranch.else"
+ in
+ if (\ x_a6wC
+ -> ((GHC.Classes.==)
+ ',')
+ x_a6wC)
+ c_a6wm then
+ let
+ _ = "choicesBranch checkedHorizon=1" in
+ let _ = "pushValue" in
+ --let _ = "comment: satisfy ((\x_0 -> \x_1 -> x_0) GHC.Types.True)" in
+ let
+ _ = "checkHorizon.oldCheck: checkedHorizon=1" in
+ let _ = "checkToken" in
+ let
+ !(# c_a6wD, cs_a6wE #)
+ = readNext_a6uY
+ inp_a6wo in
+ let
+ _ = "lift2Value checkedHorizon=0" in
+ let _ = "resume"
+ in
+ (((join_1k init_a6uW)
+ Data.Set.Internal.empty)
+ (let
+ _ = "resume.genCode"
+ in
+ Parsers.Brainfuck.Types.Input))
+ cs_a6wE
+ else
+ let
+ _ = "choicesBranch.else"
+ in
+ if (\ x_a6wF
+ -> ((GHC.Classes.==)
+ '.')
+ x_a6wF)
+ c_a6wm then
+ let
+ _ = "choicesBranch checkedHorizon=1" in
+ let
+ _ = "pushValue" in
+ --let _ = "comment: satisfy ((\x_0 -> \x_1 -> x_0) GHC.Types.True)" in
+ let
+ _ = "checkHorizon.oldCheck: checkedHorizon=1" in
+ let
+ _ = "checkToken" in
+ let
+ !(# c_a6wG,
+ cs_a6wH #)
+ = readNext_a6uY
+ inp_a6wo in
+ let
+ _ = "lift2Value checkedHorizon=0" in
+ let _ = "resume"
+ in
+ (((join_1k
+ init_a6uW)
+ Data.Set.Internal.empty)
+ (let
+ _ = "resume.genCode"
+ in
+ Parsers.Brainfuck.Types.Output))
+ cs_a6wH
+ else
+ let
+ _ = "choicesBranch.else"
+ in
+ if (\ x_a6wI
+ -> ((GHC.Classes.==)
+ '[')
+ x_a6wI)
+ c_a6wm then
+ let
+ _ = "choicesBranch checkedHorizon=1" in
+ let
+ _ = "pushValue" in
+ --let _ = "comment: satisfy ((\x_0 -> \x_1 -> x_0) GHC.Types.True)" in
+ let
+ _ = "checkHorizon.oldCheck: checkedHorizon=1" in
+ let
+ _ = "checkToken" in
+ let
+ !(# c_a6wJ,
+ cs_a6wK #)
+ = readNext_a6uY
+ inp_a6wo in
+ let
+ _ = "lift2Value checkedHorizon=0"
+ in
+ ((name_2
+ (let
+ _ = "onReturn"
+ in
+ \ farInp_a6wL
+ farExp_a6wM
+ v_a6wN
+ !inp_a6wO
+ -> let
+ _ = "lift2Value checkedHorizon=0"
+ in
+ ((name_1
+ (let
+ _ = "onReturn"
+ in
+ \ farInp_a6wP
+ farExp_a6wQ
+ v_a6wR
+ !inp_a6wS
+ -> let
+ _ = "lift2Value checkedHorizon=0" in
+ let
+ _ = "comment: satisfy ((GHC.Classes.==) ']')" in
+ let
+ inp_a6wT
+ = inp_a6wS in
+ let
+ readFail_a6wU
+ = readFail_a6wp in
+ let
+ _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1"
+ in
+ if readMore_a6uX
+ inp_a6wT then
+ let
+ _ = "checkToken" in
+ let
+ !(# c_a6wV,
+ cs_a6wW #)
+ = readNext_a6uY
+ inp_a6wT
+ in
+ if ((GHC.Classes.==)
+ ']')
+ c_a6wV then
+ let
+ _ = "lift2Value checkedHorizon=1" in
+ let
+ _ = "resume"
+ in
+ (((join_1k
+ farInp_a6wP)
+ farExp_a6wQ)
+ (let
+ _ = "resume.genCode"
+ in
+ Parsers.Brainfuck.Types.Loop
+ v_a6wR))
+ cs_a6wW
+ else
+ let
+ _ = "checkToken.fail"
+ in
+ (((readFail_a6wU
+ SP.ExceptionFailure)
+ inp_a6wT)
+ farInp_a6wP)
+ farExp_a6wQ
+ else
+ let
+ _ = "checkHorizon.newCheck.fail" in
+ let
+ failExp_a6wX
+ = (Data.Set.Internal.singleton
+ GHC.Base.$
+ (SP.SomeFailure
+ GHC.Base.$
+ (SP.FailureHorizon
+ @(SP.InputToken inp_aagU))
+ 1)) in
+ let
+ (# farInp_a6wY,
+ farExp_a6wZ #)
+ = case
+ ((GHC.Classes.compare
+ `Data.Function.on`
+ SP.offset)
+ farInp_a6wP)
+ inp_a6wT
+ of
+ GHC.Types.LT
+ -> (# inp_a6wT,
+ failExp_a6wX #)
+ GHC.Types.EQ
+ -> (# farInp_a6wP,
+ (failExp_a6wX
+ GHC.Base.<>
+ farExp_a6wQ) #)
+ GHC.Types.GT
+ -> (# farInp_a6wP,
+ farExp_a6wQ #)
+ in
+ (((readFail_a6wU
+ SP.ExceptionFailure)
+ inp_a6wT)
+ farInp_a6wY)
+ farExp_a6wZ))
+ inp_a6wO)
+ (((((Data.Map.Internal.Bin
+ 1)
+ SP.ExceptionFailure)
+ readFail_a6wp)
+ Data.Map.Internal.Tip)
+ Data.Map.Internal.Tip)))
+ cs_a6wK)
+ (((((Data.Map.Internal.Bin
+ 1)
+ SP.ExceptionFailure)
+ readFail_a6wp)
+ Data.Map.Internal.Tip)
+ Data.Map.Internal.Tip)
+ else
+ let
+ _ = "choicesBranch.else" in
+ let
+ failExp_a6x0
+ = (((Data.Set.Internal.Bin
+ 1)
+ (SP.SomeFailure
+ SP.FailureEmpty))
+ Data.Set.Internal.Tip)
+ Data.Set.Internal.Tip in
+ let
+ (# farInp_a6x1,
+ farExp_a6x2 #)
+ = case
+ ((GHC.Classes.compare
+ `Data.Function.on`
+ SP.offset)
+ init_a6uW)
+ inp_a6wo
+ of
+ GHC.Types.LT
+ -> (# inp_a6wo,
+ failExp_a6x0 #)
+ GHC.Types.EQ
+ -> (# init_a6uW,
+ (failExp_a6x0
+ GHC.Base.<>
+ Data.Set.Internal.empty) #)
+ GHC.Types.GT
+ -> (# init_a6uW,
+ Data.Set.Internal.empty #)
+ in
+ (((readFail_a6wp
+ SP.ExceptionFailure)
+ inp_a6wo)
+ farInp_a6x1)
+ farExp_a6x2
+ else
+ let _ = "checkHorizon.newCheck.fail" in
+ let
+ failExp_a6x3
+ = (Data.Set.Internal.singleton
+ GHC.Base.$
+ (SP.SomeFailure
+ GHC.Base.$
+ (SP.FailureHorizon
+ @(SP.InputToken inp_aagU))
+ 1)) in
+ let
+ (# farInp_a6x4, farExp_a6x5 #)
+ = case
+ ((GHC.Classes.compare
+ `Data.Function.on` SP.offset)
+ init_a6uW)
+ inp_a6wo
+ of
+ GHC.Types.LT -> (# inp_a6wo, failExp_a6x3 #)
+ GHC.Types.EQ
+ -> (# init_a6uW,
+ (failExp_a6x3
+ GHC.Base.<>
+ Data.Set.Internal.empty) #)
+ GHC.Types.GT
+ -> (# init_a6uW,
+ Data.Set.Internal.empty #)
+ in
+ (((readFail_a6wp SP.ExceptionFailure) inp_a6wo)
+ farInp_a6x4)
+ farExp_a6x5
+ else
+ let _ = "checkHorizon.newCheck.fail" in
+ let
+ failExp_a6x6
+ = (Data.Set.Internal.singleton
+ GHC.Base.$
+ (SP.SomeFailure
+ GHC.Base.$
+ (SP.FailureHorizon
+ @(SP.InputToken inp_aagU))
+ 1)) in
+ let
+ (# farInp_a6x7, farExp_a6x8 #)
+ = case
+ ((GHC.Classes.compare
+ `Data.Function.on` SP.offset)
+ init_a6uW)
+ inp_a6wk
+ of
+ GHC.Types.LT -> (# inp_a6wk, failExp_a6x6 #)
+ GHC.Types.EQ
+ -> (# init_a6uW,
+ (failExp_a6x6
+ GHC.Base.<> Data.Set.Internal.empty) #)
+ GHC.Types.GT
+ -> (# init_a6uW, Data.Set.Internal.empty #)
+ in
+ (((readFail_a6wl SP.ExceptionFailure) inp_a6wk)
+ farInp_a6x7)
+ farExp_a6x8
+ in let _ = "jump" in
+ ((loop_1j callerOnReturn_a6vS) callerInput_a6vT)
+ (((((Data.Map.Internal.Bin 1) SP.ExceptionFailure)
+ (((Data.Map.Strict.Internal.findWithDefault finalRaise_a6uZ)
+ SP.ExceptionFailure)
+ callerOnExceptionStackByLabel_a6vU))
+ Data.Map.Internal.Tip)
+ Data.Map.Internal.Tip)
+ in
+ let _ = "pushValue" in
+ ((name_2
+ (let _ = "onReturn"
+ in
+ \ farInp_a6x9 farExp_a6xa v_a6xb !inp_a6xc
+ -> let _ = "lift2Value checkedHorizon=0"
+ in
+ ((name_1
+ (let _ = "onReturn"
+ in
+ \ farInp_a6xd farExp_a6xe v_a6xf !inp_a6xg
+ -> let _ = "lift2Value checkedHorizon=0" in
+ let _ = "resume"
+ in
+ (((finalRet_a6uV farInp_a6xd) farExp_a6xe)
+ (let _ = "resume.genCode" in v_a6xf))
+ inp_a6xg))
+ inp_a6xc)
+ Data.Map.Internal.Tip))
+ init_a6uW)
+ Data.Map.Internal.Tip
+-}