symantic-parser-0.2.1.20210803: tests/Golden/Splice/G13.expected.txt
\(input :: inp) ->
let !(#
init,
readMore,
readNext
#) =
let _ = "cursorOf"
in let next
( t@( Data.Text.Internal.Text
arr
off
unconsumed
)
) =
let !( Data.Text.Unsafe.Iter
c
d
) = Data.Text.Unsafe.iter t 0
in (#
c,
Data.Text.Internal.Text arr (off GHC.Num.+ d) (unconsumed GHC.Num.- d)
#)
more
( Data.Text.Internal.Text
_
_
unconsumed
) = unconsumed GHC.Classes.> 0
in (# input, more, next #)
finalRet = \_farInp _farExp v _inp -> Symantic.Parser.Machine.Generate.returnST GHC.Base.$ Data.Either.Right v
finalRaise ::
forall st b.
Symantic.Parser.Machine.Generate.OnException
st
inp
b = \(!exn) _failInp (!farInp) (!farExp) ->
Symantic.Parser.Machine.Generate.returnST GHC.Base.$
Data.Either.Left
Symantic.Parser.Machine.Generate.ParsingError
{ Symantic.Parser.Machine.Generate.parsingErrorOffset = Symantic.Parser.Machine.Input.offset farInp,
Symantic.Parser.Machine.Generate.parsingErrorException = exn,
Symantic.Parser.Machine.Generate.parsingErrorUnexpected =
if readMore farInp
then
GHC.Maybe.Just
( let (#
c,
_
#) = readNext 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 GHC.ST.runST
( let inputToken = Data.Proxy.Proxy :: Data.Proxy.Proxy (Symantic.Parser.Machine.Input.InputToken inp)
in let _ = "checkHorizon.noCheck"
in let name = \(!callerOnReturn) (!callerInput) (!callerOnExceptionStackByLabel) ->
let _ = "pushValue"
in let _ = "pushValue"
in do
let dupv = \x -> x
reg <- GHC.STRef.newSTRef dupv
let _ = "iter"
in let onException loopInput =
let _ = "onException"
in \(!_exn) (!failInp) (!farInp) (!farExp) ->
let _ = "comment: raiseAgainIfConsumed"
in let _ = "saveInput checkedHorizon=0"
in let _ = "lift2Value checkedHorizon=0"
in if ( \( Data.Text.Internal.Text
_
i
_
)
( Data.Text.Internal.Text
_
j
_
) -> i GHC.Classes.== j
)
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
else
let _ = "choicesBranch.else"
in Data.Map.Strict.Internal.findWithDefault finalRaise Symantic.Parser.Grammar.Combinators.ExceptionFailure callerOnExceptionStackByLabel Symantic.Parser.Grammar.Combinators.ExceptionFailure failInp farInp farExp
loop = \_callerOnReturn callerInput 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 inp = callerInput
in let readFail = onException callerInput
in let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1"
in if readMore inp
then
let _ = "checkToken"
in let !(#
c,
cs
#) = readNext inp
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 (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 inp init Data.Set.Internal.empty
else
let _ = "checkHorizon.newCheck.fail"
in 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 `Data.Function.on` Symantic.Parser.Machine.Input.offset) init inp of
GHC.Types.LT ->
(#
inp,
failExp
#)
GHC.Types.EQ ->
(#
init,
failExp GHC.Base.<> Data.Set.Internal.empty
#)
GHC.Types.GT ->
(#
init,
Data.Set.Internal.empty
#)
in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure inp farInp farExp
in let _ = "jump"
in loop callerOnReturn callerInput (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure (Data.Map.Strict.Internal.findWithDefault finalRaise Symantic.Parser.Grammar.Combinators.ExceptionFailure callerOnExceptionStackByLabel) Data.Map.Internal.Tip Data.Map.Internal.Tip)
name = \(!callerOnReturn) (!callerInput) (!callerOnExceptionStackByLabel) ->
let _ = "pushValue"
in do
let dupv = \x -> x
reg <- GHC.STRef.newSTRef dupv
let _ = "iter"
in let onException loopInput =
let _ = "onException"
in \(!_exn) (!failInp) (!farInp) (!farExp) ->
let _ = "comment: raiseAgainIfConsumed"
in let _ = "saveInput checkedHorizon=0"
in let _ = "lift2Value checkedHorizon=0"
in if ( \( Data.Text.Internal.Text
_
i
_
)
( Data.Text.Internal.Text
_
j
_
) -> i GHC.Classes.== j
)
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
else
let _ = "choicesBranch.else"
in Data.Map.Strict.Internal.findWithDefault finalRaise Symantic.Parser.Grammar.Combinators.ExceptionFailure callerOnExceptionStackByLabel Symantic.Parser.Grammar.Combinators.ExceptionFailure failInp farInp farExp
loop = \_callerOnReturn callerInput callerOnExceptionStackByLabel ->
let _ = "pushValue"
in let join = \farInp farExp v (!inp) ->
let _ = "lift2Value checkedHorizon=0"
in name
( let _ = "onReturn"
in \farInp farExp v (!inp) ->
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 = \x -> sr ((GHC.Types.:) v x)
GHC.STRef.writeSTRef reg dupv
let _ = "jump"
in loop (GHC.Err.error "invalid onReturn") inp (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure (onException callerInput) Data.Map.Internal.Tip Data.Map.Internal.Tip)
)
inp
(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 ((\\x_0 -> \\x_1 -> x_0) GHC.Types.True)"
in let inp = callerInput
in let readFail = onException callerInput
in let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1"
in if readMore inp
then
let _ = "checkToken"
in let !(#
c,
cs
#) = readNext inp
in let _ = "loadInput checkedHorizon=0"
in let inp = callerInput
in let readFail = readFail
in let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1"
in if readMore inp
then
if (\x -> (\x -> \x -> (GHC.Classes.==) x x) '<' x) c
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,
cs
#) = readNext inp
in let _ = "lift2Value checkedHorizon=0"
in let _ = "resume"
in join
init
Data.Set.Internal.empty
( let _ = "resume.genCode"
in Parsers.Brainfuck.Types.Backward
)
cs
else
let _ = "choicesBranch.else"
in if (\x -> (\x -> \x -> (GHC.Classes.==) x x) '>' x) c
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,
cs
#) = readNext inp
in let _ = "lift2Value checkedHorizon=0"
in let _ = "resume"
in join
init
Data.Set.Internal.empty
( let _ = "resume.genCode"
in Parsers.Brainfuck.Types.Forward
)
cs
else
let _ = "choicesBranch.else"
in if (\x -> (\x -> \x -> (GHC.Classes.==) x x) '+' x) c
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,
cs
#) = readNext inp
in let _ = "lift2Value checkedHorizon=0"
in let _ = "resume"
in join
init
Data.Set.Internal.empty
( let _ = "resume.genCode"
in Parsers.Brainfuck.Types.Increment
)
cs
else
let _ = "choicesBranch.else"
in if (\x -> (\x -> \x -> (GHC.Classes.==) x x) '-' x) c
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,
cs
#) = readNext inp
in let _ = "lift2Value checkedHorizon=0"
in let _ = "resume"
in join
init
Data.Set.Internal.empty
( let _ = "resume.genCode"
in Parsers.Brainfuck.Types.Decrement
)
cs
else
let _ = "choicesBranch.else"
in if (\x -> (\x -> \x -> (GHC.Classes.==) x x) ',' x) c
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,
cs
#) = readNext inp
in let _ = "lift2Value checkedHorizon=0"
in let _ = "resume"
in join
init
Data.Set.Internal.empty
( let _ = "resume.genCode"
in Parsers.Brainfuck.Types.Input
)
cs
else
let _ = "choicesBranch.else"
in if (\x -> (\x -> \x -> (GHC.Classes.==) x x) '.' x) c
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,
cs
#) = readNext inp
in let _ = "lift2Value checkedHorizon=0"
in let _ = "resume"
in join
init
Data.Set.Internal.empty
( let _ = "resume.genCode"
in Parsers.Brainfuck.Types.Output
)
cs
else
let _ = "choicesBranch.else"
in if (\x -> (\x -> \x -> (GHC.Classes.==) x x) '[' x) c
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,
cs
#) = readNext inp
in let _ = "lift2Value checkedHorizon=0"
in name
( let _ = "onReturn"
in \farInp farExp v (!inp) ->
let _ = "lift2Value checkedHorizon=0"
in name
( let _ = "onReturn"
in \farInp farExp v (!inp) ->
let _ = "lift2Value checkedHorizon=0"
in let _ = "comment: satisfy ((GHC.Classes.==) ']')"
in let inp = inp
in let readFail = readFail
in let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=1"
in if readMore inp
then
let _ = "checkToken"
in let !(#
c,
cs
#) = readNext 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
else
let _ = "checkToken.fail"
in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure inp farInp farExp
else
let _ = "checkHorizon.newCheck.fail"
in 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 `Data.Function.on` Symantic.Parser.Machine.Input.offset) 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
)
inp
(Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure readFail Data.Map.Internal.Tip Data.Map.Internal.Tip)
)
cs
(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 `Data.Function.on` Symantic.Parser.Machine.Input.offset) init inp of
GHC.Types.LT ->
(#
inp,
failExp
#)
GHC.Types.EQ ->
(#
init,
failExp GHC.Base.<> Data.Set.Internal.empty
#)
GHC.Types.GT ->
(#
init,
Data.Set.Internal.empty
#)
in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure inp farInp farExp
else
let _ = "checkHorizon.newCheck.fail"
in 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 `Data.Function.on` Symantic.Parser.Machine.Input.offset) init inp of
GHC.Types.LT ->
(#
inp,
failExp
#)
GHC.Types.EQ ->
(#
init,
failExp GHC.Base.<> Data.Set.Internal.empty
#)
GHC.Types.GT ->
(#
init,
Data.Set.Internal.empty
#)
in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure inp farInp farExp
else
let _ = "checkHorizon.newCheck.fail"
in 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 `Data.Function.on` Symantic.Parser.Machine.Input.offset) init inp of
GHC.Types.LT ->
(#
inp,
failExp
#)
GHC.Types.EQ ->
(#
init,
failExp GHC.Base.<> Data.Set.Internal.empty
#)
GHC.Types.GT ->
(#
init,
Data.Set.Internal.empty
#)
in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure inp farInp farExp
in let _ = "jump"
in loop callerOnReturn callerInput (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure (Data.Map.Strict.Internal.findWithDefault 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) ->
let _ = "lift2Value checkedHorizon=0"
in name
( let _ = "onReturn"
in \farInp farExp v (!inp) ->
let _ = "lift2Value checkedHorizon=0"
in let _ = "resume"
in finalRet
farInp
farExp
( let _ = "resume.genCode"
in GHC.Show.show v
)
inp
)
inp
Data.Map.Internal.Tip
)
init
Data.Map.Internal.Tip
)