\(input :: inp) -> let !(# initBuffer, initPos, readMore, readNext, append #) = let next buf pos = let !( Data.Text.Unsafe.Iter c d ) = Symantic.Parser.Machine.Input.Text.Buffer.iter buf pos in (# c, pos GHC.Num.+ d #) more buf pos = pos GHC.Classes.< Symantic.Parser.Machine.Input.Text.Buffer.length buf append = Symantic.Parser.Machine.Input.Text.Buffer.pappend in (# Symantic.Parser.Machine.Input.Text.Buffer.buffer input, 0, more, next, append #) finalRet = \_farInp _farExp v _inp _buf _end -> Symantic.Parser.Machine.Generate.returnST GHC.Base.$ Symantic.Parser.Machine.Generate.ResultDone v finalRaise :: Symantic.Parser.Machine.Generate.ForallOnException inp = Symantic.Parser.Machine.Generate.ForallOnException GHC.Base.$ ( \(!exn) _failInp (!farInp) (!farExp) buf end -> Symantic.Parser.Machine.Generate.returnST GHC.Base.$ Symantic.Parser.Machine.Generate.ResultError Symantic.Parser.Machine.Generate.ParsingError { Symantic.Parser.Machine.Generate.parsingErrorOffset = Symantic.Parser.Machine.Input.position farInp, Symantic.Parser.Machine.Generate.parsingErrorException = exn, Symantic.Parser.Machine.Generate.parsingErrorUnexpected = if readMore buf farInp then GHC.Maybe.Just ( let (# c, _ #) = readNext buf farInp in c ) else GHC.Maybe.Nothing, Symantic.Parser.Machine.Generate.parsingErrorExpecting = let ( minHoriz, res ) = Data.Set.Internal.foldr ( \f ( minH, acc ) -> case Symantic.Parser.Grammar.Combinators.unSomeFailure f of GHC.Maybe.Just (Symantic.Parser.Grammar.Combinators.FailureHorizon h :: Symantic.Parser.Grammar.Combinators.Failure (Symantic.Parser.Grammar.Combinators.CombSatisfiable (Symantic.Parser.Machine.Input.InputToken inp))) | GHC.Maybe.Just old <- minH -> ( GHC.Maybe.Just (GHC.Classes.min old h), acc ) | GHC.Base.otherwise -> ( GHC.Maybe.Just h, acc ) _ -> ( minH, f GHC.Types.: acc ) ) ( GHC.Maybe.Nothing, GHC.Types . [] ) farExp in Data.Set.Internal.fromList GHC.Base.$ ( case minHoriz of GHC.Maybe.Just h -> Symantic.Parser.Grammar.Combinators.SomeFailure (Symantic.Parser.Grammar.Combinators.FailureHorizon @(Symantic.Parser.Machine.Input.InputToken inp) h) GHC.Types.: res GHC.Maybe.Nothing -> res ) } ) in let inputToken = Data.Proxy.Proxy :: Data.Proxy.Proxy (Symantic.Parser.Machine.Input.InputToken inp) in let _ = "checkHorizon.noCheck" in let name = \(!callerOnReturn) (!callerInput) (!callerBuffer) (!callerEnd) (!callerOnExceptionStackByLabel) -> let _ = "pushValue" in let _ = "pushValue" in do let dupv = \u -> u reg <- GHC.STRef.newSTRef dupv let _ = "iter" in let onException loopInput = let _ = "onException" in \(!_exn) (!failInp) (!farInp) (!farExp) buf end -> let _ = "comment: raiseAgainIfConsumed" in let _ = "saveInput checkedHorizon=0" in let _ = "lift2Value checkedHorizon=0" in if (GHC.Classes.==) @GHC.Types.Int loopInput failInp then let _ = "choicesBranch checkedHorizon=0" in do sr <- GHC.STRef.readSTRef reg let _ = "pushValue" in let _ = "lift2Value checkedHorizon=0" in let _ = "lift2Value checkedHorizon=0" in let _ = "resume" in callerOnReturn farInp farExp ( let _ = "resume.genCode" in GHC.Tuple . () ) failInp buf end else let _ = "choicesBranch.else" in Data.Map.Strict.Internal.findWithDefault (Symantic.Parser.Machine.Generate.unForallOnException finalRaise) Symantic.Parser.Grammar.Combinators.ExceptionFailure callerOnExceptionStackByLabel Symantic.Parser.Grammar.Combinators.ExceptionFailure failInp farInp farExp buf end loop = \_callerOnReturn callerInput callerBuffer callerEnded callerOnExceptionStackByLabel -> 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 partialCont buf = let readFail = onException callerInput in let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1" in if readMore buf callerInput then let _ = "checkToken" in let !(# c, cs #) = readNext buf callerInput in if (\c -> GHC.Classes.not (('<' GHC.Classes.== c) GHC.Classes.|| (('>' GHC.Classes.== c) GHC.Classes.|| (('+' GHC.Classes.== c) GHC.Classes.|| (('-' GHC.Classes.== c) GHC.Classes.|| ((',' GHC.Classes.== c) GHC.Classes.|| (('.' GHC.Classes.== c) GHC.Classes.|| (('[' GHC.Classes.== c) GHC.Classes.|| ((']' GHC.Classes.== c) GHC.Classes.|| GHC.Types.False))))))))) c then let _ = "lift2Value checkedHorizon=1" in do sr <- GHC.STRef.readSTRef reg let _ = "lift2Value checkedHorizon=1" in do let dupv = sr GHC.STRef.writeSTRef reg dupv let _ = "jump" in loop (GHC.Err.error "invalid onReturn") cs buf callerEnded (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure readFail Data.Map.Internal.Tip Data.Map.Internal.Tip) else let _ = "checkToken.fail" in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure callerInput initPos Data.Set.Internal.empty buf callerEnded else let _ = "checkHorizon.newCheck.fail" in let noMoreInput = let failExp = Data.Set.Internal.Bin 1 ( Symantic.Parser.Grammar.Combinators.SomeFailure ( case inputToken of (Data.Proxy.Proxy :: Data.Proxy.Proxy tok') -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok' 1 ) ) Data.Set.Internal.Tip Data.Set.Internal.Tip in let (# farInp, farExp #) = case GHC.Classes.compare @GHC.Types.Int initPos callerInput of GHC.Types.LT -> (# callerInput, failExp #) GHC.Types.EQ -> (# initPos, failExp GHC.Base.<> Data.Set.Internal.empty #) GHC.Types.GT -> (# initPos, Data.Set.Internal.empty #) in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure callerInput farInp farExp buf GHC.Types.True in if callerEnded then noMoreInput else Symantic.Parser.Machine.Generate.returnST GHC.Base.$ ( Symantic.Parser.Machine.Generate.ResultPartial GHC.Base.$ ( \newInput -> if Symantic.Parser.Machine.Input.nullInput newInput then noMoreInput else partialCont (append buf newInput) ) ) in partialCont callerBuffer in let _ = "jump" in loop callerOnReturn callerInput callerBuffer callerEnd (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure (Data.Map.Strict.Internal.findWithDefault (Symantic.Parser.Machine.Generate.unForallOnException finalRaise) Symantic.Parser.Grammar.Combinators.ExceptionFailure callerOnExceptionStackByLabel) Data.Map.Internal.Tip Data.Map.Internal.Tip) name = \(!callerOnReturn) (!callerInput) (!callerBuffer) (!callerEnd) (!callerOnExceptionStackByLabel) -> let _ = "pushValue" in do let dupv = \u -> u reg <- GHC.STRef.newSTRef dupv let _ = "iter" in let onException loopInput = let _ = "onException" in \(!_exn) (!failInp) (!farInp) (!farExp) buf end -> let _ = "comment: raiseAgainIfConsumed" in let _ = "saveInput checkedHorizon=0" in let _ = "lift2Value checkedHorizon=0" in if (GHC.Classes.==) @GHC.Types.Int loopInput failInp then let _ = "choicesBranch checkedHorizon=0" in do sr <- GHC.STRef.readSTRef reg let _ = "pushValue" in let _ = "lift2Value checkedHorizon=0" in let _ = "resume" in callerOnReturn farInp farExp ( let _ = "resume.genCode" in sr GHC.Types . [] ) failInp buf end else let _ = "choicesBranch.else" in Data.Map.Strict.Internal.findWithDefault (Symantic.Parser.Machine.Generate.unForallOnException finalRaise) Symantic.Parser.Grammar.Combinators.ExceptionFailure callerOnExceptionStackByLabel Symantic.Parser.Grammar.Combinators.ExceptionFailure failInp farInp farExp buf end loop = \_callerOnReturn callerInput callerBuffer callerEnded callerOnExceptionStackByLabel -> let _ = "pushValue" in let join = \farInp farExp v (!inp) buf end -> let _ = "lift2Value checkedHorizon=0" in name ( let _ = "onReturn" in \farInp farExp v (!inp) buf end -> let _ = "lift2Value checkedHorizon=0" in let _ = "pushValue" in let _ = "lift2Value checkedHorizon=0" in do sr <- GHC.STRef.readSTRef reg let _ = "lift2Value checkedHorizon=0" in do let dupv = \u -> sr ((GHC.Types.:) v u) GHC.STRef.writeSTRef reg dupv let _ = "jump" in loop (GHC.Err.error "invalid onReturn") inp buf end (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure (onException callerInput) Data.Map.Internal.Tip Data.Map.Internal.Tip) ) inp buf end (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure (onException callerInput) Data.Map.Internal.Tip Data.Map.Internal.Tip) in let _ = "comment: look" in let _ = "saveInput checkedHorizon=0" in let _ = "comment: satisfy (GHC.Base.const GHC.Types.True)" in let partialCont buf = let readFail = onException callerInput in let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1" in if readMore buf callerInput then let _ = "checkToken" in let !(# c, cs #) = readNext buf callerInput in let _ = "loadInput checkedHorizon=0" in let partialCont buf = let readFail = readFail in let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1" in if readMore buf callerInput then if (\x -> (GHC.Classes.==) '<' x) c then let _ = "choicesBranch checkedHorizon=1" in let _ = "pushValue" in let _ = "comment: satisfy (GHC.Base.const GHC.Types.True)" in let _ = "checkHorizon.oldCheck: checkedHorizon=1" in let _ = "checkToken" in let !(# c, cs #) = readNext buf callerInput in let _ = "lift2Value checkedHorizon=0" in let _ = "resume" in join initPos Data.Set.Internal.empty ( let _ = "resume.genCode" in Parsers.Brainfuck.Types.Backward ) cs buf callerEnded else let _ = "choicesBranch.else" in if (\x -> (GHC.Classes.==) '>' x) c then let _ = "choicesBranch checkedHorizon=1" in let _ = "pushValue" in let _ = "comment: satisfy (GHC.Base.const GHC.Types.True)" in let _ = "checkHorizon.oldCheck: checkedHorizon=1" in let _ = "checkToken" in let !(# c, cs #) = readNext buf callerInput in let _ = "lift2Value checkedHorizon=0" in let _ = "resume" in join initPos Data.Set.Internal.empty ( let _ = "resume.genCode" in Parsers.Brainfuck.Types.Forward ) cs buf callerEnded else let _ = "choicesBranch.else" in if (\x -> (GHC.Classes.==) '+' x) c then let _ = "choicesBranch checkedHorizon=1" in let _ = "pushValue" in let _ = "comment: satisfy (GHC.Base.const GHC.Types.True)" in let _ = "checkHorizon.oldCheck: checkedHorizon=1" in let _ = "checkToken" in let !(# c, cs #) = readNext buf callerInput in let _ = "lift2Value checkedHorizon=0" in let _ = "resume" in join initPos Data.Set.Internal.empty ( let _ = "resume.genCode" in Parsers.Brainfuck.Types.Increment ) cs buf callerEnded else let _ = "choicesBranch.else" in if (\x -> (GHC.Classes.==) '-' x) c then let _ = "choicesBranch checkedHorizon=1" in let _ = "pushValue" in let _ = "comment: satisfy (GHC.Base.const GHC.Types.True)" in let _ = "checkHorizon.oldCheck: checkedHorizon=1" in let _ = "checkToken" in let !(# c, cs #) = readNext buf callerInput in let _ = "lift2Value checkedHorizon=0" in let _ = "resume" in join initPos Data.Set.Internal.empty ( let _ = "resume.genCode" in Parsers.Brainfuck.Types.Decrement ) cs buf callerEnded else let _ = "choicesBranch.else" in if (\x -> (GHC.Classes.==) ',' x) c then let _ = "choicesBranch checkedHorizon=1" in let _ = "pushValue" in let _ = "comment: satisfy (GHC.Base.const GHC.Types.True)" in let _ = "checkHorizon.oldCheck: checkedHorizon=1" in let _ = "checkToken" in let !(# c, cs #) = readNext buf callerInput in let _ = "lift2Value checkedHorizon=0" in let _ = "resume" in join initPos Data.Set.Internal.empty ( let _ = "resume.genCode" in Parsers.Brainfuck.Types.Input ) cs buf callerEnded else let _ = "choicesBranch.else" in if (\x -> (GHC.Classes.==) '.' x) c then let _ = "choicesBranch checkedHorizon=1" in let _ = "pushValue" in let _ = "comment: satisfy (GHC.Base.const GHC.Types.True)" in let _ = "checkHorizon.oldCheck: checkedHorizon=1" in let _ = "checkToken" in let !(# c, cs #) = readNext buf callerInput in let _ = "lift2Value checkedHorizon=0" in let _ = "resume" in join initPos Data.Set.Internal.empty ( let _ = "resume.genCode" in Parsers.Brainfuck.Types.Output ) cs buf callerEnded else let _ = "choicesBranch.else" in if (\x -> (GHC.Classes.==) '[' x) c then let _ = "choicesBranch checkedHorizon=1" in let _ = "pushValue" in let _ = "comment: satisfy (GHC.Base.const GHC.Types.True)" in let _ = "checkHorizon.oldCheck: checkedHorizon=1" in let _ = "checkToken" in let !(# c, cs #) = readNext buf callerInput in let _ = "lift2Value checkedHorizon=0" in name ( let _ = "onReturn" in \farInp farExp v (!inp) buf end -> let _ = "lift2Value checkedHorizon=0" in name ( let _ = "onReturn" in \farInp farExp v (!inp) buf end -> let _ = "lift2Value checkedHorizon=0" in let _ = "comment: satisfy ((GHC.Classes.==) ']')" in let partialCont buf = let readFail = readFail in let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1" in if readMore buf inp then let _ = "checkToken" in let !(# c, cs #) = readNext buf inp in if (GHC.Classes.==) ']' c then let _ = "lift2Value checkedHorizon=1" in let _ = "resume" in join farInp farExp ( let _ = "resume.genCode" in Parsers.Brainfuck.Types.Loop v ) cs buf end else let _ = "checkToken.fail" in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure inp farInp farExp buf end else let _ = "checkHorizon.newCheck.fail" in let noMoreInput = let failExp = Data.Set.Internal.Bin 1 ( Symantic.Parser.Grammar.Combinators.SomeFailure ( case inputToken of (Data.Proxy.Proxy :: Data.Proxy.Proxy tok') -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok' 1 ) ) Data.Set.Internal.Tip Data.Set.Internal.Tip in let (# farInp, farExp #) = case GHC.Classes.compare @GHC.Types.Int farInp inp of GHC.Types.LT -> (# inp, failExp #) GHC.Types.EQ -> (# farInp, failExp GHC.Base.<> farExp #) GHC.Types.GT -> (# farInp, farExp #) in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure inp farInp farExp buf GHC.Types.True in if end then noMoreInput else Symantic.Parser.Machine.Generate.returnST GHC.Base.$ ( Symantic.Parser.Machine.Generate.ResultPartial GHC.Base.$ ( \newInput -> if Symantic.Parser.Machine.Input.nullInput newInput then noMoreInput else partialCont (append buf newInput) ) ) in partialCont buf ) inp buf end (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure readFail Data.Map.Internal.Tip Data.Map.Internal.Tip) ) cs buf callerEnded (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure readFail Data.Map.Internal.Tip Data.Map.Internal.Tip) else let _ = "choicesBranch.else" in let failExp = Data.Set.Internal.Bin 1 (Symantic.Parser.Grammar.Combinators.SomeFailure Symantic.Parser.Grammar.Combinators.FailureEmpty) Data.Set.Internal.Tip Data.Set.Internal.Tip in let (# farInp, farExp #) = case GHC.Classes.compare @GHC.Types.Int initPos callerInput of GHC.Types.LT -> (# callerInput, failExp #) GHC.Types.EQ -> (# initPos, failExp GHC.Base.<> Data.Set.Internal.empty #) GHC.Types.GT -> (# initPos, Data.Set.Internal.empty #) in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure callerInput farInp farExp buf callerEnded else let _ = "checkHorizon.newCheck.fail" in let noMoreInput = let failExp = Data.Set.Internal.Bin 1 ( Symantic.Parser.Grammar.Combinators.SomeFailure ( case inputToken of (Data.Proxy.Proxy :: Data.Proxy.Proxy tok') -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok' 1 ) ) Data.Set.Internal.Tip Data.Set.Internal.Tip in let (# farInp, farExp #) = case GHC.Classes.compare @GHC.Types.Int initPos callerInput of GHC.Types.LT -> (# callerInput, failExp #) GHC.Types.EQ -> (# initPos, failExp GHC.Base.<> Data.Set.Internal.empty #) GHC.Types.GT -> (# initPos, Data.Set.Internal.empty #) in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure callerInput farInp farExp buf GHC.Types.True in if callerEnded then noMoreInput else Symantic.Parser.Machine.Generate.returnST GHC.Base.$ ( Symantic.Parser.Machine.Generate.ResultPartial GHC.Base.$ ( \newInput -> if Symantic.Parser.Machine.Input.nullInput newInput then noMoreInput else partialCont (append buf newInput) ) ) in partialCont buf else let _ = "checkHorizon.newCheck.fail" in let noMoreInput = let failExp = Data.Set.Internal.Bin 1 ( Symantic.Parser.Grammar.Combinators.SomeFailure ( case inputToken of (Data.Proxy.Proxy :: Data.Proxy.Proxy tok') -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok' 1 ) ) Data.Set.Internal.Tip Data.Set.Internal.Tip in let (# farInp, farExp #) = case GHC.Classes.compare @GHC.Types.Int initPos callerInput of GHC.Types.LT -> (# callerInput, failExp #) GHC.Types.EQ -> (# initPos, failExp GHC.Base.<> Data.Set.Internal.empty #) GHC.Types.GT -> (# initPos, Data.Set.Internal.empty #) in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure callerInput farInp farExp buf GHC.Types.True in if callerEnded then noMoreInput else Symantic.Parser.Machine.Generate.returnST GHC.Base.$ ( Symantic.Parser.Machine.Generate.ResultPartial GHC.Base.$ ( \newInput -> if Symantic.Parser.Machine.Input.nullInput newInput then noMoreInput else partialCont (append buf newInput) ) ) in partialCont callerBuffer in let _ = "jump" in loop callerOnReturn callerInput callerBuffer callerEnd (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure (Data.Map.Strict.Internal.findWithDefault (Symantic.Parser.Machine.Generate.unForallOnException finalRaise) Symantic.Parser.Grammar.Combinators.ExceptionFailure callerOnExceptionStackByLabel) Data.Map.Internal.Tip Data.Map.Internal.Tip) in let _ = "pushValue" in name ( let _ = "onReturn" in \farInp farExp v (!inp) buf end -> let _ = "lift2Value checkedHorizon=0" in name ( let _ = "onReturn" in \farInp farExp v (!inp) buf end -> let _ = "lift2Value checkedHorizon=0" in let _ = "resume" in finalRet farInp farExp ( let _ = "resume.genCode" in GHC.Show.show v ) inp buf end ) inp buf end Data.Map.Internal.Tip ) initPos initBuffer GHC.Types.False Data.Map.Internal.Tip