diff --git a/stage0/src/Init/LeanInit.lean b/stage0/src/Init/LeanInit.lean index d5bb9d0eec..35105f3eec 100644 --- a/stage0/src/Init/LeanInit.lean +++ b/stage0/src/Init/LeanInit.lean @@ -191,6 +191,8 @@ inductive ParserDescr | cat : Name → Nat → ParserDescr | parser : Name → ParserDescr | notFollowedBy : ParserDescr → ParserDescr + | withPosition : ParserDescr → ParserDescr + | checkCol : Bool → ParserDescr instance : Inhabited ParserDescr := ⟨ParserDescr.symbol ""⟩ abbrev TrailingParserDescr := ParserDescr diff --git a/stage0/src/Lean.lean b/stage0/src/Lean.lean index 73a7944d92..a840d18df3 100644 --- a/stage0/src/Lean.lean +++ b/stage0/src/Lean.lean @@ -25,5 +25,3 @@ import Lean.Delaborator import Lean.PrettyPrinter import Lean.CoreM import Lean.InternalExceptionId --- import only for `[init]` side-effects -import Lean.PrettyPrinter.Meta diff --git a/stage0/src/Lean/Delaborator.lean b/stage0/src/Lean/Delaborator.lean index 58d8278b52..1c0cd012b7 100644 --- a/stage0/src/Lean/Delaborator.lean +++ b/stage0/src/Lean/Delaborator.lean @@ -234,15 +234,14 @@ def annotateCurPos (stx : Syntax) : Delab := do liftM x partial def delabFor : Name → Delab - | k => do + | Name.anonymous => failure + | k => do let env ← getEnv (match (delabAttribute.ext.getState env).table.find? k with | some delabs => delabs.firstM id >>= annotateCurPos | none => failure) <|> - (match k with - | Name.str Name.anonymous _ _ => failure - | Name.str n _ _ => delabFor n.getRoot -- have `app.Option.some` fall back to `app` etc. - | _ => failure) + -- have `app.Option.some` fall back to `app` etc. + delabFor k.getRoot def delab : Delab := do let k ← getExprKind diff --git a/stage0/src/Lean/Parser/Extension.lean b/stage0/src/Lean/Parser/Extension.lean index 04ed8ea687..429c5da0e1 100644 --- a/stage0/src/Lean/Parser/Extension.lean +++ b/stage0/src/Lean/Parser/Extension.lean @@ -214,6 +214,8 @@ partial def compileParserDescr (env : Environment) (opts : Options) (categories | ParserDescr.nameLit => pure $ nameLit | ParserDescr.interpolatedStr d => interpolatedStr <$> visit d | ParserDescr.ident => pure $ ident + | ParserDescr.checkCol strict => pure $ if strict then checkColGt else checkColGe + | ParserDescr.withPosition d => withPosition <$> visit d | ParserDescr.nonReservedSymbol tk includeIdent => pure $ nonReservedSymbol tk includeIdent | ParserDescr.parser constName => do let (_, p) ← mkParserOfConstantAux env opts categories constName visit; @@ -246,7 +248,7 @@ builtin_initialize descr := "explicitly run hooks normally activated by builtin parser attributes", add := fun decl args persistent => do if args.hasArgs then throwError "invalid attribute 'runBuiltinParserAttributeHooks', unexpected argument" - runParserAttributeHooks `Name.anonymous decl (builtin := true) + runParserAttributeHooks Name.anonymous decl (builtin := true) } builtin_initialize @@ -255,7 +257,7 @@ builtin_initialize descr := "explicitly run hooks normally activated by parser attributes", add := fun decl args persistent => do if args.hasArgs then throwError "invalid attribute 'runParserAttributeHooks', unexpected argument" - runParserAttributeHooks `Name.anonymous decl (builtin := false) + runParserAttributeHooks Name.anonymous decl (builtin := false) } private def ParserExtension.addImported (es : Array (Array ParserExtensionOleanEntry)) : ImportM ParserExtensionState := do diff --git a/stage0/src/Lean/ParserCompiler.lean b/stage0/src/Lean/ParserCompiler.lean index 67427046ce..1bf8c54e09 100644 --- a/stage0/src/Lean/ParserCompiler.lean +++ b/stage0/src/Lean/ParserCompiler.lean @@ -19,11 +19,10 @@ namespace ParserCompiler structure Context (α : Type) := (varName : Name) - (runtimeAttr : KeyedDeclsAttribute α) + (categoryAttr : KeyedDeclsAttribute α) (combinatorAttr : CombinatorAttribute) - (interpretParserDescr : ParserDescr → AttrM α) -def Context.tyName {α} (ctx : Context α) : Name := ctx.runtimeAttr.defn.valueTypeName +def Context.tyName {α} (ctx : Context α) : Name := ctx.categoryAttr.defn.valueTypeName -- replace all references of `Parser` with `tyName` as a first approximation def preprocessParserBody {α} (ctx : Context α) (e : Expr) : Expr := @@ -32,11 +31,14 @@ def preprocessParserBody {α} (ctx : Context α) (e : Expr) : Expr := section open Meta --- translate an expression of type `Parser` into one of type `tyName` -partial def compileParserBody {α} (ctx : Context α) (e : Expr) (force : Bool := false) : MetaM Expr := do +variables {α} (ctx : Context α) (force : Bool := false) in +/-- + Translate an expression of type `Parser` into one of type `tyName`, tagging intermediary constants with + `ctx.combinatorAttr`. If `force` is `false`, refuse to do so for imported constants. -/ +partial def compileParserExpr (e : Expr) : MetaM Expr := do let e ← whnfCore e match e with - | e@(Expr.lam _ _ _ _) => lambdaLetTelescope e fun xs b => compileParserBody ctx b >>= mkLambdaFVars xs + | e@(Expr.lam _ _ _ _) => lambdaLetTelescope e fun xs b => compileParserExpr b >>= mkLambdaFVars xs | e@(Expr.fvar _ _) => pure e | _ => do let fn := e.getAppFn @@ -55,11 +57,11 @@ partial def compileParserBody {α} (ctx : Context α) (e : Expr) (force : Bool : let arg := args[i] let paramTy ← inferType param let resultTy ← forallTelescope paramTy fun _ b => pure b - let arg ← if resultTy.isConstOf ctx.tyName then compileParserBody ctx arg else pure arg + let arg ← if resultTy.isConstOf ctx.tyName then compileParserExpr arg else pure arg p := mkApp p arg pure p let env ← getEnv - match ctx.combinatorAttr.getDeclFor env c with + match ctx.combinatorAttr.getDeclFor? env c with | some p => mkCall p | none => let c' := c ++ ctx.varName @@ -71,7 +73,7 @@ partial def compileParserBody {α} (ctx : Context α) (e : Expr) (force : Bool : | throwError! "don't know how to generate {ctx.varName} for non-definition '{e}'" unless (env.getModuleIdxFor? c).isNone || force do throwError! "refusing to generate code for imported parser declaration '{c}'; use `@[runParserAttributeHooks]` on its definition instead." - let value ← compileParserBody ctx $ preprocessParserBody ctx value + let value ← compileParserExpr $ preprocessParserBody ctx value let ty ← forallTelescope cinfo.type fun params _ => params.foldrM (init := mkConst ctx.tyName) fun param ty => do let paramTy ← inferType param; @@ -93,51 +95,67 @@ partial def compileParserBody {α} (ctx : Context α) (e : Expr) (force : Bool : -- back to parser combinators let some e' ← unfoldDefinition? e | throwError! "don't know how to generate {ctx.varName} for non-parser combinator '{e}'" - compileParserBody ctx e' + compileParserExpr e' end open Core -/-- Compile the given declaration into a `[(builtin)runtimeAttr declName]` -/ -def compileParser {α} (ctx : Context α) (declName : Name) (builtin : Bool) (force := false) : AttrM Unit := do +/-- Compile the given declaration into a `[(builtin)categoryAttr declName]` -/ +def compileCategoryParser {α} (ctx : Context α) (declName : Name) (builtin : Bool) : AttrM Unit := do -- This will also tag the declaration as a `[combinatorParenthesizer declName]` in case the parser is used by other parsers. -- Note that simply having `[(builtin)Parenthesizer]` imply `[combinatorParenthesizer]` is not ideal since builtin -- attributes are active only in the next stage, while `[combinatorParenthesizer]` is active immediately (since we never -- call them at compile time but only reference them). - let (Expr.const c' _ _) ← (compileParserBody ctx (mkConst declName) force).run' + let (Expr.const c' _ _) ← (compileParserExpr ctx (mkConst declName) (force := false)).run' | unreachable! -- We assume that for tagged parsers, the kind is equal to the declaration name. This is automatically true for parsers -- using `parser!` or `syntax`. let kind := declName - addAttribute c' (if builtin then ctx.runtimeAttr.defn.builtinName else ctx.runtimeAttr.defn.name) (mkNullNode #[mkIdent kind]) - -- When called from `interpretParserDescr`, `declName` might not be a tagged parser, so ignore "not a valid syntax kind" failures - <|> pure () + addAttribute c' (if builtin then ctx.categoryAttr.defn.builtinName else ctx.categoryAttr.defn.name) (mkNullNode #[mkIdent kind]) -unsafe def interpretParser {α} (ctx : Context α) (constName : Name) (force := false) : AttrM α := do - let info ← getConstInfo constName - let env ← getEnv - if info.type.isConstOf `Lean.Parser.TrailingParser || info.type.isConstOf `Lean.Parser.Parser then - match ctx.runtimeAttr.getValues env constName with - | p::_ => pure p - | _ => - compileParser ctx constName (builtin := false) force - evalConst α (constName ++ ctx.varName) - else - let d ← evalConst TrailingParserDescr constName - ctx.interpretParserDescr d +variables {α} (ctx : Context α) in +def compileEmbeddedParsers : ParserDescr → MetaM Unit + | ParserDescr.parser constName => discard $ compileParserExpr ctx (mkConst constName) (force := false) + | ParserDescr.andthen d₁ d₂ => compileEmbeddedParsers d₁ *> compileEmbeddedParsers d₂ + | ParserDescr.orelse d₁ d₂ => compileEmbeddedParsers d₁ *> compileEmbeddedParsers d₂ + | ParserDescr.optional d => compileEmbeddedParsers d + | ParserDescr.lookahead d => compileEmbeddedParsers d + | ParserDescr.try d => compileEmbeddedParsers d + | ParserDescr.notFollowedBy d => compileEmbeddedParsers d + | ParserDescr.many d => compileEmbeddedParsers d + | ParserDescr.many1 d => compileEmbeddedParsers d + | ParserDescr.sepBy d₁ d₂ => compileEmbeddedParsers d₁ *> compileEmbeddedParsers d₂ + | ParserDescr.sepBy1 d₁ d₂ => compileEmbeddedParsers d₁ *> compileEmbeddedParsers d₂ + | ParserDescr.node k prec d => compileEmbeddedParsers d + | ParserDescr.trailingNode k prec d => compileEmbeddedParsers d + | ParserDescr.interpolatedStr d => compileEmbeddedParsers d + | ParserDescr.withPosition d => compileEmbeddedParsers d + | ParserDescr.checkCol _ => pure () + | ParserDescr.symbol tk => pure () + | ParserDescr.numLit => pure () + | ParserDescr.strLit => pure () + | ParserDescr.charLit => pure () + | ParserDescr.nameLit => pure () + | ParserDescr.ident => pure () + | ParserDescr.nonReservedSymbol tk includeIdent => pure () + | ParserDescr.noWs => pure () + | ParserDescr.cat catName prec => pure () +/-- Precondition: `α` must match `ctx.tyName`. -/ unsafe def registerParserCompiler {α} (ctx : Context α) : IO Unit := do Parser.registerParserAttributeHook { - postAdd := fun catName declName builtin => do - -- force compilation of parser even if imported, which can be the case with `[runBuiltinParserAttributeHooks]` - if builtin then - compileParser ctx declName builtin (force := true) + postAdd := fun catName constName builtin => do + let info ← getConstInfo constName + if info.type.isConstOf `Lean.ParserDescr || info.type.isConstOf `Lean.TrailingParserDescr then + let d ← evalConstCheck ParserDescr `Lean.ParserDescr constName <|> + evalConstCheck TrailingParserDescr `Lean.TrailingParserDescr constName + compileEmbeddedParsers ctx d $.run' else - let p ← interpretParser ctx declName (force := true) - -- Register `p` without exporting it to the .olean file. It will be re-interpreted and registered - -- when the parser is imported. - let env ← getEnv - setEnv $ ctx.runtimeAttr.ext.modifyState env fun st => { st with table := st.table.insert declName p } + if catName.isAnonymous then + -- `[runBuiltinParserAttributeHooks]` => force compilation even if imported, do not apply `ctx.categoryAttr`. + discard (compileParserExpr ctx (mkConst constName) (force := true)).run' + else + compileCategoryParser ctx constName builtin } end ParserCompiler diff --git a/stage0/src/Lean/ParserCompiler/Attribute.lean b/stage0/src/Lean/ParserCompiler/Attribute.lean index bd95801122..d9c05073ed 100644 --- a/stage0/src/Lean/ParserCompiler/Attribute.lean +++ b/stage0/src/Lean/ParserCompiler/Attribute.lean @@ -12,7 +12,7 @@ namespace Lean namespace ParserCompiler structure CombinatorAttribute := - (attr : AttributeImpl) + (impl : AttributeImpl) (ext : SimplePersistentEnvExtension (Name × Name) (NameMap Name)) -- TODO(Sebastian): We'll probably want priority support here at some point @@ -36,18 +36,23 @@ def registerCombinatorAttribute (name : Name) (descr : String) | none => throwError $ "invalid [" ++ name ++ "] argument, expected identifier" } registerBuiltinAttribute attrImpl - pure { attr := attrImpl, ext := ext } + pure { impl := attrImpl, ext := ext } namespace CombinatorAttribute -instance : Inhabited CombinatorAttribute := ⟨{attr := arbitrary _, ext := arbitrary _}⟩ +instance : Inhabited CombinatorAttribute := ⟨{impl := arbitrary _, ext := arbitrary _}⟩ -def getDeclFor (attr : CombinatorAttribute) (env : Environment) (parserDecl : Name) : Option Name := +def getDeclFor? (attr : CombinatorAttribute) (env : Environment) (parserDecl : Name) : Option Name := (attr.ext.getState env).find? parserDecl def setDeclFor (attr : CombinatorAttribute) (env : Environment) (parserDecl : Name) (decl : Name) : Environment := attr.ext.addEntry env (parserDecl, decl) +unsafe def runDeclFor {α} (attr : CombinatorAttribute) (parserDecl : Name) : CoreM α := do + match attr.getDeclFor? (← getEnv) parserDecl with + | some d => evalConst α d + | _ => throwError! "no declaration of attribute [{attr.impl.name}] found for '{parserDecl}'" + end CombinatorAttribute end ParserCompiler diff --git a/stage0/src/Lean/PrettyPrinter.lean b/stage0/src/Lean/PrettyPrinter.lean index 0cb03f8c51..56811184a3 100644 --- a/stage0/src/Lean/PrettyPrinter.lean +++ b/stage0/src/Lean/PrettyPrinter.lean @@ -7,6 +7,7 @@ import Lean.Delaborator import Lean.PrettyPrinter.Parenthesizer import Lean.PrettyPrinter.Formatter import Lean.Parser.Module +import Lean.ParserCompiler namespace Lean @@ -64,7 +65,12 @@ builtin_initialize } builtin_initialize - registerTraceClass `PrettyPrinter; + registerTraceClass `PrettyPrinter + +@[builtinInit] +unsafe def registerParserCompilers : IO Unit := do + ParserCompiler.registerParserCompiler ⟨`parenthesizer, parenthesizerAttribute, combinatorParenthesizerAttribute⟩ + ParserCompiler.registerParserCompiler ⟨`formatter, formatterAttribute, combinatorFormatterAttribute⟩ end PrettyPrinter end Lean diff --git a/stage0/src/Lean/PrettyPrinter/Backtrack.lean b/stage0/src/Lean/PrettyPrinter/Backtrack.lean deleted file mode 100644 index 410f6133a9..0000000000 --- a/stage0/src/Lean/PrettyPrinter/Backtrack.lean +++ /dev/null @@ -1,16 +0,0 @@ -/- -Copyright (c) 2020 Sebastian Ullrich. All rights reserved. -Released under Apache 2.0 license as described in the file LICENSE. -Authors: Sebastian Ullrich --/ -import Lean.InternalExceptionId - -namespace Lean -namespace PrettyPrinter - -/- Auxiliary internal exception for backtracking the pretty printer. - See `orelse.parenthesizer` for example -/ -builtin_initialize backtrackExceptionId : InternalExceptionId ← registerInternalExceptionId `backtrackFormatter - -end PrettyPrinter -end Lean diff --git a/stage0/src/Lean/PrettyPrinter/Basic.lean b/stage0/src/Lean/PrettyPrinter/Basic.lean new file mode 100644 index 0000000000..11ce863f89 --- /dev/null +++ b/stage0/src/Lean/PrettyPrinter/Basic.lean @@ -0,0 +1,29 @@ +/- +Copyright (c) 2020 Sebastian Ullrich. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Sebastian Ullrich +-/ +import Lean.InternalExceptionId +import Lean.KeyedDeclsAttribute + +namespace Lean +namespace PrettyPrinter + +/- Auxiliary internal exception for backtracking the pretty printer. + See `orelse.parenthesizer` for example -/ +builtin_initialize backtrackExceptionId : InternalExceptionId ← registerInternalExceptionId `backtrackFormatter + +unsafe def runForNodeKind {α} (attr : KeyedDeclsAttribute α) (k : SyntaxNodeKind) (interp : ParserDescr → CoreM α) : CoreM α := do + match attr.getValues (← getEnv) k with + | p::_ => pure p + | _ => + -- assume `k` is from a `ParserDescr`, in which case we assume it's also the declaration name + let info ← getConstInfo k + if info.type.isConstOf `Lean.ParserDescr || info.type.isConstOf `Lean.TrailingParserDescr then + let d ← evalConst ParserDescr k + interp d + else + throwError! "no declaration of attribute [{attr.defn.name}] found for '{k}'" + +end PrettyPrinter +end Lean diff --git a/stage0/src/Lean/PrettyPrinter/Formatter.lean b/stage0/src/Lean/PrettyPrinter/Formatter.lean index 6e641d4246..06bb67afb7 100644 --- a/stage0/src/Lean/PrettyPrinter/Formatter.lean +++ b/stage0/src/Lean/PrettyPrinter/Formatter.lean @@ -17,7 +17,7 @@ import Lean.CoreM import Lean.Parser.Extension import Lean.KeyedDeclsAttribute import Lean.ParserCompiler.Attribute -import Lean.PrettyPrinter.Backtrack +import Lean.PrettyPrinter.Basic namespace Lean namespace PrettyPrinter @@ -156,11 +156,15 @@ def group (x : Formatter) : Formatter := do @[extern "lean_mk_antiquot_formatter"] constant mkAntiquot.formatter' (name : String) (kind : Option SyntaxNodeKind) (anonymous := true) : Formatter -def formatterForKind (k : SyntaxNodeKind) : Formatter := do - let env ← getEnv - let p::_ ← pure $ formatterAttribute.getValues env k - | throwError! "no known formatter for kind '{k}'" - p +-- break up big mutual recursion +@[extern "lean_pretty_printer_formatter_interpret_parser_descr"] +constant interpretParserDescr' : ParserDescr → CoreM Formatter := arbitrary _ + +unsafe def formatterForKindUnsafe (k : SyntaxNodeKind) : Formatter := do + (← liftM $ runForNodeKind formatterAttribute k interpretParserDescr') + +@[implementedBy formatterForKindUnsafe] +constant formatterForKind (k : SyntaxNodeKind) : Formatter := arbitrary _ @[combinatorFormatter Lean.Parser.withAntiquot] def withAntiquot.formatter (antiP p : Formatter) : Formatter := @@ -396,6 +400,34 @@ def interpolatedStr.formatter (p : Formatter) : Formatter := do @[combinatorFormatter ite, macroInline] def ite {α : Type} (c : Prop) [h : Decidable c] (t e : Formatter) : Formatter := if c then t else e +@[export lean_pretty_printer_formatter_interpret_parser_descr] +unsafe def interpretParserDescr : ParserDescr → CoreM Formatter + | ParserDescr.andthen d₁ d₂ => andthen.formatter <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ + | ParserDescr.orelse d₁ d₂ => orelse.formatter <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ + | ParserDescr.optional d => optional.formatter <$> interpretParserDescr d + | ParserDescr.lookahead d => lookahead.formatter <$> interpretParserDescr d + | ParserDescr.try d => try.formatter <$> interpretParserDescr d + | ParserDescr.notFollowedBy d => notFollowedBy.formatter <$> interpretParserDescr d + | ParserDescr.many d => many.formatter <$> interpretParserDescr d + | ParserDescr.many1 d => many1.formatter <$> interpretParserDescr d + | ParserDescr.sepBy d₁ d₂ => sepBy.formatter <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ + | ParserDescr.sepBy1 d₁ d₂ => sepBy1.formatter <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ + | ParserDescr.node k prec d => node.formatter k <$> interpretParserDescr d + | ParserDescr.trailingNode k prec d => trailingNode.formatter k prec <$> interpretParserDescr d + | ParserDescr.symbol tk => pure $ symbol.formatter tk + | ParserDescr.numLit => pure $ withAntiquot.formatter (mkAntiquot.formatter' "numLit" `numLit) numLitNoAntiquot.formatter + | ParserDescr.strLit => pure $ withAntiquot.formatter (mkAntiquot.formatter' "strLit" `strLit) strLitNoAntiquot.formatter + | ParserDescr.charLit => pure $ withAntiquot.formatter (mkAntiquot.formatter' "charLit" `charLit) charLitNoAntiquot.formatter + | ParserDescr.nameLit => pure $ withAntiquot.formatter (mkAntiquot.formatter' "nameLit" `nameLit) nameLitNoAntiquot.formatter + | ParserDescr.ident => pure $ withAntiquot.formatter (mkAntiquot.formatter' "ident" `ident) identNoAntiquot.formatter + | ParserDescr.interpolatedStr d => interpolatedStr.formatter <$> interpretParserDescr d + | ParserDescr.nonReservedSymbol tk includeIdent => pure $ nonReservedSymbol.formatter tk + | ParserDescr.noWs => pure $ checkNoWsBefore.formatter + | ParserDescr.withPosition d => withPosition.formatter <$> interpretParserDescr d + | ParserDescr.checkCol strict => pure $ if strict then checkColGt.formatter else checkColGe.formatter + | ParserDescr.parser constName => combinatorFormatterAttribute.runDeclFor constName + | ParserDescr.cat catName prec => pure $ categoryParser.formatter catName + end Formatter open Formatter diff --git a/stage0/src/Lean/PrettyPrinter/Meta.lean b/stage0/src/Lean/PrettyPrinter/Meta.lean deleted file mode 100644 index cd495e988a..0000000000 --- a/stage0/src/Lean/PrettyPrinter/Meta.lean +++ /dev/null @@ -1,91 +0,0 @@ -/- -Copyright (c) 2020 Sebastian Ullrich. All rights reserved. -Released under Apache 2.0 license as described in the file LICENSE. -Authors: Sebastian Ullrich --/ - -/-! -Set up pretty printer compilers for the next stage. --/ - -import Lean.PrettyPrinter.Parenthesizer -import Lean.PrettyPrinter.Formatter -import Lean.ParserCompiler - -namespace Lean -namespace PrettyPrinter - -open Lean.ParserCompiler - -namespace Parenthesizer - -def ctx (interp) : ParserCompiler.Context Parenthesizer := -⟨`parenthesizer, parenthesizerAttribute, combinatorParenthesizerAttribute, interp⟩ - -unsafe def interpretParserDescr : ParserDescr → AttrM Parenthesizer - | ParserDescr.andthen d₁ d₂ => andthen.parenthesizer <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ - | ParserDescr.orelse d₁ d₂ => orelse.parenthesizer <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ - | ParserDescr.optional d => optional.parenthesizer <$> interpretParserDescr d - | ParserDescr.lookahead d => lookahead.parenthesizer <$> interpretParserDescr d - | ParserDescr.try d => try.parenthesizer <$> interpretParserDescr d - | ParserDescr.notFollowedBy d => notFollowedBy.parenthesizer <$> interpretParserDescr d - | ParserDescr.many d => many.parenthesizer <$> interpretParserDescr d - | ParserDescr.many1 d => many1.parenthesizer <$> interpretParserDescr d - | ParserDescr.sepBy d₁ d₂ => sepBy.parenthesizer <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ - | ParserDescr.sepBy1 d₁ d₂ => sepBy1.parenthesizer <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ - | ParserDescr.node k prec d => leadingNode.parenthesizer k prec <$> interpretParserDescr d - | ParserDescr.trailingNode k prec d => trailingNode.parenthesizer k prec <$> interpretParserDescr d - | ParserDescr.symbol tk => pure $ symbol.parenthesizer tk - | ParserDescr.numLit => pure $ withAntiquot.parenthesizer (mkAntiquot.parenthesizer' "numLit" `numLit) numLitNoAntiquot.parenthesizer - | ParserDescr.strLit => pure $ withAntiquot.parenthesizer (mkAntiquot.parenthesizer' "strLit" `strLit) strLitNoAntiquot.parenthesizer - | ParserDescr.charLit => pure $ withAntiquot.parenthesizer (mkAntiquot.parenthesizer' "charLit" `charLit) charLitNoAntiquot.parenthesizer - | ParserDescr.nameLit => pure $ withAntiquot.parenthesizer (mkAntiquot.parenthesizer' "nameLit" `nameLit) nameLitNoAntiquot.parenthesizer - | ParserDescr.ident => pure $ withAntiquot.parenthesizer (mkAntiquot.parenthesizer' "ident" `ident) identNoAntiquot.parenthesizer - | ParserDescr.interpolatedStr d => interpolatedStr.parenthesizer <$> interpretParserDescr d - | ParserDescr.nonReservedSymbol tk includeIdent => pure $ nonReservedSymbol.parenthesizer tk includeIdent - | ParserDescr.noWs => pure $ checkNoWsBefore.parenthesizer - | ParserDescr.parser constName => interpretParser (ctx interpretParserDescr) constName - | ParserDescr.cat catName prec => pure $ categoryParser.parenthesizer catName prec - -@[builtinInit] unsafe def regHook : IO Unit := - ParserCompiler.registerParserCompiler (ctx interpretParserDescr) - -end Parenthesizer - -namespace Formatter - -def ctx (interp) : ParserCompiler.Context Formatter := - ⟨`formatter, formatterAttribute, combinatorFormatterAttribute, interp⟩ - -unsafe def interpretParserDescr : ParserDescr → AttrM Formatter - | ParserDescr.andthen d₁ d₂ => andthen.formatter <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ - | ParserDescr.orelse d₁ d₂ => orelse.formatter <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ - | ParserDescr.optional d => optional.formatter <$> interpretParserDescr d - | ParserDescr.lookahead d => lookahead.formatter <$> interpretParserDescr d - | ParserDescr.try d => try.formatter <$> interpretParserDescr d - | ParserDescr.notFollowedBy d => notFollowedBy.formatter <$> interpretParserDescr d - | ParserDescr.many d => many.formatter <$> interpretParserDescr d - | ParserDescr.many1 d => many1.formatter <$> interpretParserDescr d - | ParserDescr.sepBy d₁ d₂ => sepBy.formatter <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ - | ParserDescr.sepBy1 d₁ d₂ => sepBy1.formatter <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ - | ParserDescr.node k prec d => node.formatter k <$> interpretParserDescr d - | ParserDescr.trailingNode k prec d => trailingNode.formatter k prec <$> interpretParserDescr d - | ParserDescr.symbol tk => pure $ symbol.formatter tk - | ParserDescr.numLit => pure $ withAntiquot.formatter (mkAntiquot.formatter' "numLit" `numLit) numLitNoAntiquot.formatter - | ParserDescr.strLit => pure $ withAntiquot.formatter (mkAntiquot.formatter' "strLit" `strLit) strLitNoAntiquot.formatter - | ParserDescr.charLit => pure $ withAntiquot.formatter (mkAntiquot.formatter' "charLit" `charLit) charLitNoAntiquot.formatter - | ParserDescr.nameLit => pure $ withAntiquot.formatter (mkAntiquot.formatter' "nameLit" `nameLit) nameLitNoAntiquot.formatter - | ParserDescr.interpolatedStr d => interpolatedStr.formatter <$> interpretParserDescr d - | ParserDescr.ident => pure $ withAntiquot.formatter (mkAntiquot.formatter' "ident" `ident) identNoAntiquot.formatter - | ParserDescr.nonReservedSymbol tk includeIdent => pure $ nonReservedSymbol.formatter tk - | ParserDescr.noWs => pure $ checkNoWsBefore.formatter - | ParserDescr.parser constName => interpretParser (ctx interpretParserDescr) constName - | ParserDescr.cat catName prec => pure $ categoryParser.formatter catName - -@[builtinInit] unsafe def regHook : IO Unit := - ParserCompiler.registerParserCompiler (ctx interpretParserDescr) - -end Formatter - -end PrettyPrinter -end Lean diff --git a/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean b/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean index 8a41bc6ac6..0b2e0ed363 100644 --- a/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean +++ b/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean @@ -75,7 +75,7 @@ import Lean.CoreM import Lean.KeyedDeclsAttribute import Lean.Parser.Extension import Lean.ParserCompiler.Attribute -import Lean.PrettyPrinter.Backtrack +import Lean.PrettyPrinter.Basic namespace Lean namespace PrettyPrinter @@ -268,11 +268,15 @@ constant mkAntiquot.parenthesizer' (name : String) (kind : Option SyntaxNodeKind def throwError {α} (msg : MessageData) : ParenthesizerM α := liftCoreM $ Lean.throwError msg -def parenthesizerForKind (k : SyntaxNodeKind) : Parenthesizer := do - let env ← getEnv - let p::_ ← pure $ parenthesizerAttribute.getValues env k - | throwError! "no known parenthesizer for kind '{k}'" - p +-- break up big mutual recursion +@[extern "lean_pretty_printer_parenthesizer_interpret_parser_descr"] +constant interpretParserDescr' : ParserDescr → CoreM Parenthesizer := arbitrary _ + +unsafe def parenthesizerForKindUnsafe (k : SyntaxNodeKind) : Parenthesizer := do + (← liftM $ runForNodeKind parenthesizerAttribute k interpretParserDescr') + +@[implementedBy parenthesizerForKindUnsafe] +constant parenthesizerForKind (k : SyntaxNodeKind) : Parenthesizer := arbitrary _ @[combinatorParenthesizer Lean.Parser.withAntiquot] def withAntiquot.parenthesizer (antiP p : Parenthesizer) : Parenthesizer := @@ -473,6 +477,34 @@ def interpolatedStr.parenthesizer (p : Parenthesizer) : Parenthesizer := do @[combinatorParenthesizer ite, macroInline] def ite {α : Type} (c : Prop) [h : Decidable c] (t e : Parenthesizer) : Parenthesizer := if c then t else e +@[export lean_pretty_printer_parenthesizer_interpret_parser_descr] +unsafe def interpretParserDescr : ParserDescr → CoreM Parenthesizer + | ParserDescr.andthen d₁ d₂ => andthen.parenthesizer <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ + | ParserDescr.orelse d₁ d₂ => orelse.parenthesizer <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ + | ParserDescr.optional d => optional.parenthesizer <$> interpretParserDescr d + | ParserDescr.lookahead d => lookahead.parenthesizer <$> interpretParserDescr d + | ParserDescr.try d => try.parenthesizer <$> interpretParserDescr d + | ParserDescr.notFollowedBy d => notFollowedBy.parenthesizer <$> interpretParserDescr d + | ParserDescr.many d => many.parenthesizer <$> interpretParserDescr d + | ParserDescr.many1 d => many1.parenthesizer <$> interpretParserDescr d + | ParserDescr.sepBy d₁ d₂ => sepBy.parenthesizer <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ + | ParserDescr.sepBy1 d₁ d₂ => sepBy1.parenthesizer <$> interpretParserDescr d₁ <*> interpretParserDescr d₂ + | ParserDescr.node k prec d => leadingNode.parenthesizer k prec <$> interpretParserDescr d + | ParserDescr.trailingNode k prec d => trailingNode.parenthesizer k prec <$> interpretParserDescr d + | ParserDescr.symbol tk => pure $ symbol.parenthesizer tk + | ParserDescr.numLit => pure $ withAntiquot.parenthesizer (mkAntiquot.parenthesizer' "numLit" `numLit) numLitNoAntiquot.parenthesizer + | ParserDescr.strLit => pure $ withAntiquot.parenthesizer (mkAntiquot.parenthesizer' "strLit" `strLit) strLitNoAntiquot.parenthesizer + | ParserDescr.charLit => pure $ withAntiquot.parenthesizer (mkAntiquot.parenthesizer' "charLit" `charLit) charLitNoAntiquot.parenthesizer + | ParserDescr.nameLit => pure $ withAntiquot.parenthesizer (mkAntiquot.parenthesizer' "nameLit" `nameLit) nameLitNoAntiquot.parenthesizer + | ParserDescr.ident => pure $ withAntiquot.parenthesizer (mkAntiquot.parenthesizer' "ident" `ident) identNoAntiquot.parenthesizer + | ParserDescr.interpolatedStr d => interpolatedStr.parenthesizer <$> interpretParserDescr d + | ParserDescr.nonReservedSymbol tk includeIdent => pure $ nonReservedSymbol.parenthesizer tk includeIdent + | ParserDescr.noWs => pure $ checkNoWsBefore.parenthesizer + | ParserDescr.checkCol strict => pure $ if strict then checkColGt.parenthesizer else checkColGe.parenthesizer + | ParserDescr.withPosition d => withPosition.parenthesizer <$> interpretParserDescr d + | ParserDescr.parser constName => combinatorParenthesizerAttribute.runDeclFor constName + | ParserDescr.cat catName prec => pure $ categoryParser.parenthesizer catName prec + end Parenthesizer open Parenthesizer diff --git a/stage0/stdlib/CMakeLists.txt b/stage0/stdlib/CMakeLists.txt index 651e91a384..e4d0e7057c 100644 --- a/stage0/stdlib/CMakeLists.txt +++ b/stage0/stdlib/CMakeLists.txt @@ -1 +1 @@ -add_library (stage0 OBJECT ./Init.c ./Init/Coe.c ./Init/Control.c ./Init/Control/Alternative.c ./Init/Control/Applicative.c ./Init/Control/Conditional.c ./Init/Control/EState.c ./Init/Control/Except.c ./Init/Control/Functor.c ./Init/Control/Id.c ./Init/Control/Monad.c ./Init/Control/MonadControl.c ./Init/Control/MonadFunctor.c ./Init/Control/MonadLift.c ./Init/Control/Option.c ./Init/Control/Reader.c ./Init/Control/State.c ./Init/Control/StateRef.c ./Init/Core.c ./Init/Data.c ./Init/Data/Array.c ./Init/Data/Array/Basic.c ./Init/Data/Array/BinSearch.c ./Init/Data/Array/Macros.c ./Init/Data/Array/QSort.c ./Init/Data/Array/Subarray.c ./Init/Data/Basic.c ./Init/Data/ByteArray.c ./Init/Data/ByteArray/Basic.c ./Init/Data/Char.c ./Init/Data/Char/Basic.c ./Init/Data/Fin.c ./Init/Data/Fin/Basic.c ./Init/Data/Float.c ./Init/Data/FloatArray.c ./Init/Data/FloatArray/Basic.c ./Init/Data/Hashable.c ./Init/Data/Int.c ./Init/Data/Int/Basic.c ./Init/Data/List.c ./Init/Data/List/Basic.c ./Init/Data/List/BasicAux.c ./Init/Data/List/Control.c ./Init/Data/Nat.c ./Init/Data/Nat/Basic.c ./Init/Data/Nat/Bitwise.c ./Init/Data/Nat/Control.c ./Init/Data/Nat/Div.c ./Init/Data/Option.c ./Init/Data/Option/Basic.c ./Init/Data/Option/BasicAux.c ./Init/Data/Option/Instances.c ./Init/Data/Random.c ./Init/Data/Range.c ./Init/Data/Repr.c ./Init/Data/String.c ./Init/Data/String/Basic.c ./Init/Data/String/Extra.c ./Init/Data/ToString.c ./Init/Data/ToString/Basic.c ./Init/Data/ToString/Macro.c ./Init/Data/UInt.c ./Init/Fix.c ./Init/LeanInit.c ./Init/System.c ./Init/System/FilePath.c ./Init/System/IO.c ./Init/System/IOError.c ./Init/System/Platform.c ./Init/System/ST.c ./Init/Tactics.c ./Init/Util.c ./Init/WF.c ./Lean.c ./Lean/Attributes.c ./Lean/AuxRecursor.c ./Lean/Class.c ./Lean/Compiler.c ./Lean/Compiler/BorrowedAnnotation.c ./Lean/Compiler/ClosedTermCache.c ./Lean/Compiler/ConstFolding.c ./Lean/Compiler/ExportAttr.c ./Lean/Compiler/ExternAttr.c ./Lean/Compiler/IR.c ./Lean/Compiler/IR/Basic.c ./Lean/Compiler/IR/Borrow.c ./Lean/Compiler/IR/Boxing.c ./Lean/Compiler/IR/Checker.c ./Lean/Compiler/IR/CompilerM.c ./Lean/Compiler/IR/CtorLayout.c ./Lean/Compiler/IR/ElimDeadBranches.c ./Lean/Compiler/IR/ElimDeadVars.c ./Lean/Compiler/IR/EmitC.c ./Lean/Compiler/IR/EmitUtil.c ./Lean/Compiler/IR/ExpandResetReuse.c ./Lean/Compiler/IR/Format.c ./Lean/Compiler/IR/FreeVars.c ./Lean/Compiler/IR/LiveVars.c ./Lean/Compiler/IR/NormIds.c ./Lean/Compiler/IR/PushProj.c ./Lean/Compiler/IR/RC.c ./Lean/Compiler/IR/ResetReuse.c ./Lean/Compiler/IR/SimpCase.c ./Lean/Compiler/IR/UnboxResult.c ./Lean/Compiler/ImplementedByAttr.c ./Lean/Compiler/InitAttr.c ./Lean/Compiler/InlineAttrs.c ./Lean/Compiler/NameMangling.c ./Lean/Compiler/NeverExtractAttr.c ./Lean/Compiler/Specialize.c ./Lean/Compiler/Util.c ./Lean/CoreM.c ./Lean/Data/Format.c ./Lean/Data/FormatMacro.c ./Lean/Data/Json.c ./Lean/Data/Json/Basic.c ./Lean/Data/Json/FromToJson.c ./Lean/Data/Json/Parser.c ./Lean/Data/Json/Printer.c ./Lean/Data/Json/Stream.c ./Lean/Data/JsonRpc.c ./Lean/Data/KVMap.c ./Lean/Data/LBool.c ./Lean/Data/LOption.c ./Lean/Data/Lsp.c ./Lean/Data/Lsp/Basic.c ./Lean/Data/Lsp/Capabilities.c ./Lean/Data/Lsp/Communication.c ./Lean/Data/Lsp/Diagnostics.c ./Lean/Data/Lsp/Hover.c ./Lean/Data/Lsp/InitShutdown.c ./Lean/Data/Lsp/TextSync.c ./Lean/Data/Lsp/Utf16.c ./Lean/Data/Lsp/Workspace.c ./Lean/Data/Name.c ./Lean/Data/Occurrences.c ./Lean/Data/OpenDecl.c ./Lean/Data/Options.c ./Lean/Data/Position.c ./Lean/Data/SMap.c ./Lean/Data/Trie.c ./Lean/Declaration.c ./Lean/Delaborator.c ./Lean/Elab.c ./Lean/Elab/App.c ./Lean/Elab/Attributes.c ./Lean/Elab/Binders.c ./Lean/Elab/BuiltinNotation.c ./Lean/Elab/CollectFVars.c ./Lean/Elab/Command.c ./Lean/Elab/DeclModifiers.c ./Lean/Elab/DeclUtil.c ./Lean/Elab/Declaration.c ./Lean/Elab/DefView.c ./Lean/Elab/Do.c ./Lean/Elab/Exception.c ./Lean/Elab/Frontend.c ./Lean/Elab/Import.c ./Lean/Elab/Inductive.c ./Lean/Elab/LetRec.c ./Lean/Elab/Level.c ./Lean/Elab/Log.c ./Lean/Elab/Match.c ./Lean/Elab/MutualDef.c ./Lean/Elab/PreDefinition.c ./Lean/Elab/PreDefinition/Basic.c ./Lean/Elab/PreDefinition/Main.c ./Lean/Elab/PreDefinition/MkInhabitant.c ./Lean/Elab/PreDefinition/Structural.c ./Lean/Elab/PreDefinition/WF.c ./Lean/Elab/Print.c ./Lean/Elab/Quotation.c ./Lean/Elab/StructInst.c ./Lean/Elab/Structure.c ./Lean/Elab/Syntax.c ./Lean/Elab/SyntheticMVars.c ./Lean/Elab/Tactic.c ./Lean/Elab/Tactic/Basic.c ./Lean/Elab/Tactic/Binders.c ./Lean/Elab/Tactic/ElabTerm.c ./Lean/Elab/Tactic/Generalize.c ./Lean/Elab/Tactic/Induction.c ./Lean/Elab/Tactic/Injection.c ./Lean/Elab/Tactic/Location.c ./Lean/Elab/Tactic/Match.c ./Lean/Elab/Tactic/Rewrite.c ./Lean/Elab/Term.c ./Lean/Elab/Util.c ./Lean/Environment.c ./Lean/Eval.c ./Lean/Exception.c ./Lean/Expr.c ./Lean/HeadIndex.c ./Lean/Hygiene.c ./Lean/InternalExceptionId.c ./Lean/KeyedDeclsAttribute.c ./Lean/Level.c ./Lean/LocalContext.c ./Lean/Message.c ./Lean/Meta.c ./Lean/Meta/AbstractMVars.c ./Lean/Meta/AbstractNestedProofs.c ./Lean/Meta/AppBuilder.c ./Lean/Meta/Basic.c ./Lean/Meta/Check.c ./Lean/Meta/Closure.c ./Lean/Meta/CollectMVars.c ./Lean/Meta/DiscrTree.c ./Lean/Meta/DiscrTreeTypes.c ./Lean/Meta/ExprDefEq.c ./Lean/Meta/ForEachExpr.c ./Lean/Meta/FunInfo.c ./Lean/Meta/GeneralizeTelescope.c ./Lean/Meta/InferType.c ./Lean/Meta/Instances.c ./Lean/Meta/KAbstract.c ./Lean/Meta/LevelDefEq.c ./Lean/Meta/Match.c ./Lean/Meta/Match/CaseArraySizes.c ./Lean/Meta/Match/CaseValues.c ./Lean/Meta/Match/MVarRenaming.c ./Lean/Meta/Match/Match.c ./Lean/Meta/Match/MatchPatternAttr.c ./Lean/Meta/MatchUtil.c ./Lean/Meta/Offset.c ./Lean/Meta/RecursorInfo.c ./Lean/Meta/Reduce.c ./Lean/Meta/ReduceEval.c ./Lean/Meta/SynthInstance.c ./Lean/Meta/Tactic.c ./Lean/Meta/Tactic/Apply.c ./Lean/Meta/Tactic/Assert.c ./Lean/Meta/Tactic/Assumption.c ./Lean/Meta/Tactic/Cases.c ./Lean/Meta/Tactic/Clear.c ./Lean/Meta/Tactic/ElimInfo.c ./Lean/Meta/Tactic/FVarSubst.c ./Lean/Meta/Tactic/Generalize.c ./Lean/Meta/Tactic/Induction.c ./Lean/Meta/Tactic/Injection.c ./Lean/Meta/Tactic/Intro.c ./Lean/Meta/Tactic/Replace.c ./Lean/Meta/Tactic/Revert.c ./Lean/Meta/Tactic/Rewrite.c ./Lean/Meta/Tactic/Subst.c ./Lean/Meta/Tactic/Util.c ./Lean/Meta/TransparencyMode.c ./Lean/Meta/WHNF.c ./Lean/MetavarContext.c ./Lean/Modifiers.c ./Lean/MonadEnv.c ./Lean/Parser.c ./Lean/Parser/Basic.c ./Lean/Parser/Command.c ./Lean/Parser/Do.c ./Lean/Parser/Extension.c ./Lean/Parser/Extra.c ./Lean/Parser/Level.c ./Lean/Parser/Module.c ./Lean/Parser/StrInterpolation.c ./Lean/Parser/Syntax.c ./Lean/Parser/Tactic.c ./Lean/Parser/Term.c ./Lean/Parser/Transform.c ./Lean/ParserCompiler.c ./Lean/ParserCompiler/Attribute.c ./Lean/PrettyPrinter.c ./Lean/PrettyPrinter/Backtrack.c ./Lean/PrettyPrinter/Formatter.c ./Lean/PrettyPrinter/Meta.c ./Lean/PrettyPrinter/Parenthesizer.c ./Lean/ProjFns.c ./Lean/ReducibilityAttrs.c ./Lean/ResolveName.c ./Lean/Runtime.c ./Lean/Server.c ./Lean/Server/ServerBin.c ./Lean/Server/Snapshots.c ./Lean/Structure.c ./Lean/Syntax.c ./Lean/ToExpr.c ./Lean/Util.c ./Lean/Util/CollectFVars.c ./Lean/Util/CollectLevelParams.c ./Lean/Util/CollectMVars.c ./Lean/Util/Constructions.c ./Lean/Util/FindExpr.c ./Lean/Util/FindMVar.c ./Lean/Util/FoldConsts.c ./Lean/Util/ForEachExpr.c ./Lean/Util/MonadCache.c ./Lean/Util/PPExt.c ./Lean/Util/PPGoal.c ./Lean/Util/Path.c ./Lean/Util/Profile.c ./Lean/Util/RecDepth.c ./Lean/Util/Recognizers.c ./Lean/Util/ReplaceExpr.c ./Lean/Util/ReplaceLevel.c ./Lean/Util/SCC.c ./Lean/Util/Sorry.c ./Lean/Util/Trace.c ./Std.c ./Std/Data.c ./Std/Data/AssocList.c ./Std/Data/BinomialHeap.c ./Std/Data/DList.c ./Std/Data/HashMap.c ./Std/Data/HashSet.c ./Std/Data/PersistentArray.c ./Std/Data/PersistentHashMap.c ./Std/Data/PersistentHashSet.c ./Std/Data/Queue.c ./Std/Data/RBMap.c ./Std/Data/RBTree.c ./Std/Data/Stack.c ./Std/ShareCommon.c ) +add_library (stage0 OBJECT ./Init.c ./Init/Coe.c ./Init/Control.c ./Init/Control/Alternative.c ./Init/Control/Applicative.c ./Init/Control/Conditional.c ./Init/Control/EState.c ./Init/Control/Except.c ./Init/Control/Functor.c ./Init/Control/Id.c ./Init/Control/Monad.c ./Init/Control/MonadControl.c ./Init/Control/MonadFunctor.c ./Init/Control/MonadLift.c ./Init/Control/Option.c ./Init/Control/Reader.c ./Init/Control/State.c ./Init/Control/StateRef.c ./Init/Core.c ./Init/Data.c ./Init/Data/Array.c ./Init/Data/Array/Basic.c ./Init/Data/Array/BinSearch.c ./Init/Data/Array/Macros.c ./Init/Data/Array/QSort.c ./Init/Data/Array/Subarray.c ./Init/Data/Basic.c ./Init/Data/ByteArray.c ./Init/Data/ByteArray/Basic.c ./Init/Data/Char.c ./Init/Data/Char/Basic.c ./Init/Data/Fin.c ./Init/Data/Fin/Basic.c ./Init/Data/Float.c ./Init/Data/FloatArray.c ./Init/Data/FloatArray/Basic.c ./Init/Data/Hashable.c ./Init/Data/Int.c ./Init/Data/Int/Basic.c ./Init/Data/List.c ./Init/Data/List/Basic.c ./Init/Data/List/BasicAux.c ./Init/Data/List/Control.c ./Init/Data/Nat.c ./Init/Data/Nat/Basic.c ./Init/Data/Nat/Bitwise.c ./Init/Data/Nat/Control.c ./Init/Data/Nat/Div.c ./Init/Data/Option.c ./Init/Data/Option/Basic.c ./Init/Data/Option/BasicAux.c ./Init/Data/Option/Instances.c ./Init/Data/Random.c ./Init/Data/Range.c ./Init/Data/Repr.c ./Init/Data/String.c ./Init/Data/String/Basic.c ./Init/Data/String/Extra.c ./Init/Data/ToString.c ./Init/Data/ToString/Basic.c ./Init/Data/ToString/Macro.c ./Init/Data/UInt.c ./Init/Fix.c ./Init/LeanInit.c ./Init/System.c ./Init/System/FilePath.c ./Init/System/IO.c ./Init/System/IOError.c ./Init/System/Platform.c ./Init/System/ST.c ./Init/Tactics.c ./Init/Util.c ./Init/WF.c ./Lean.c ./Lean/Attributes.c ./Lean/AuxRecursor.c ./Lean/Class.c ./Lean/Compiler.c ./Lean/Compiler/BorrowedAnnotation.c ./Lean/Compiler/ClosedTermCache.c ./Lean/Compiler/ConstFolding.c ./Lean/Compiler/ExportAttr.c ./Lean/Compiler/ExternAttr.c ./Lean/Compiler/IR.c ./Lean/Compiler/IR/Basic.c ./Lean/Compiler/IR/Borrow.c ./Lean/Compiler/IR/Boxing.c ./Lean/Compiler/IR/Checker.c ./Lean/Compiler/IR/CompilerM.c ./Lean/Compiler/IR/CtorLayout.c ./Lean/Compiler/IR/ElimDeadBranches.c ./Lean/Compiler/IR/ElimDeadVars.c ./Lean/Compiler/IR/EmitC.c ./Lean/Compiler/IR/EmitUtil.c ./Lean/Compiler/IR/ExpandResetReuse.c ./Lean/Compiler/IR/Format.c ./Lean/Compiler/IR/FreeVars.c ./Lean/Compiler/IR/LiveVars.c ./Lean/Compiler/IR/NormIds.c ./Lean/Compiler/IR/PushProj.c ./Lean/Compiler/IR/RC.c ./Lean/Compiler/IR/ResetReuse.c ./Lean/Compiler/IR/SimpCase.c ./Lean/Compiler/IR/UnboxResult.c ./Lean/Compiler/ImplementedByAttr.c ./Lean/Compiler/InitAttr.c ./Lean/Compiler/InlineAttrs.c ./Lean/Compiler/NameMangling.c ./Lean/Compiler/NeverExtractAttr.c ./Lean/Compiler/Specialize.c ./Lean/Compiler/Util.c ./Lean/CoreM.c ./Lean/Data/Format.c ./Lean/Data/FormatMacro.c ./Lean/Data/Json.c ./Lean/Data/Json/Basic.c ./Lean/Data/Json/FromToJson.c ./Lean/Data/Json/Parser.c ./Lean/Data/Json/Printer.c ./Lean/Data/Json/Stream.c ./Lean/Data/JsonRpc.c ./Lean/Data/KVMap.c ./Lean/Data/LBool.c ./Lean/Data/LOption.c ./Lean/Data/Lsp.c ./Lean/Data/Lsp/Basic.c ./Lean/Data/Lsp/Capabilities.c ./Lean/Data/Lsp/Communication.c ./Lean/Data/Lsp/Diagnostics.c ./Lean/Data/Lsp/Hover.c ./Lean/Data/Lsp/InitShutdown.c ./Lean/Data/Lsp/TextSync.c ./Lean/Data/Lsp/Utf16.c ./Lean/Data/Lsp/Workspace.c ./Lean/Data/Name.c ./Lean/Data/Occurrences.c ./Lean/Data/OpenDecl.c ./Lean/Data/Options.c ./Lean/Data/Position.c ./Lean/Data/SMap.c ./Lean/Data/Trie.c ./Lean/Declaration.c ./Lean/Delaborator.c ./Lean/Elab.c ./Lean/Elab/App.c ./Lean/Elab/Attributes.c ./Lean/Elab/Binders.c ./Lean/Elab/BuiltinNotation.c ./Lean/Elab/CollectFVars.c ./Lean/Elab/Command.c ./Lean/Elab/DeclModifiers.c ./Lean/Elab/DeclUtil.c ./Lean/Elab/Declaration.c ./Lean/Elab/DefView.c ./Lean/Elab/Do.c ./Lean/Elab/Exception.c ./Lean/Elab/Frontend.c ./Lean/Elab/Import.c ./Lean/Elab/Inductive.c ./Lean/Elab/LetRec.c ./Lean/Elab/Level.c ./Lean/Elab/Log.c ./Lean/Elab/Match.c ./Lean/Elab/MutualDef.c ./Lean/Elab/PreDefinition.c ./Lean/Elab/PreDefinition/Basic.c ./Lean/Elab/PreDefinition/Main.c ./Lean/Elab/PreDefinition/MkInhabitant.c ./Lean/Elab/PreDefinition/Structural.c ./Lean/Elab/PreDefinition/WF.c ./Lean/Elab/Print.c ./Lean/Elab/Quotation.c ./Lean/Elab/StructInst.c ./Lean/Elab/Structure.c ./Lean/Elab/Syntax.c ./Lean/Elab/SyntheticMVars.c ./Lean/Elab/Tactic.c ./Lean/Elab/Tactic/Basic.c ./Lean/Elab/Tactic/Binders.c ./Lean/Elab/Tactic/ElabTerm.c ./Lean/Elab/Tactic/Generalize.c ./Lean/Elab/Tactic/Induction.c ./Lean/Elab/Tactic/Injection.c ./Lean/Elab/Tactic/Location.c ./Lean/Elab/Tactic/Match.c ./Lean/Elab/Tactic/Rewrite.c ./Lean/Elab/Term.c ./Lean/Elab/Util.c ./Lean/Environment.c ./Lean/Eval.c ./Lean/Exception.c ./Lean/Expr.c ./Lean/HeadIndex.c ./Lean/Hygiene.c ./Lean/InternalExceptionId.c ./Lean/KeyedDeclsAttribute.c ./Lean/Level.c ./Lean/LocalContext.c ./Lean/Message.c ./Lean/Meta.c ./Lean/Meta/AbstractMVars.c ./Lean/Meta/AbstractNestedProofs.c ./Lean/Meta/AppBuilder.c ./Lean/Meta/Basic.c ./Lean/Meta/Check.c ./Lean/Meta/Closure.c ./Lean/Meta/CollectMVars.c ./Lean/Meta/DiscrTree.c ./Lean/Meta/DiscrTreeTypes.c ./Lean/Meta/ExprDefEq.c ./Lean/Meta/ForEachExpr.c ./Lean/Meta/FunInfo.c ./Lean/Meta/GeneralizeTelescope.c ./Lean/Meta/InferType.c ./Lean/Meta/Instances.c ./Lean/Meta/KAbstract.c ./Lean/Meta/LevelDefEq.c ./Lean/Meta/Match.c ./Lean/Meta/Match/CaseArraySizes.c ./Lean/Meta/Match/CaseValues.c ./Lean/Meta/Match/MVarRenaming.c ./Lean/Meta/Match/Match.c ./Lean/Meta/Match/MatchPatternAttr.c ./Lean/Meta/MatchUtil.c ./Lean/Meta/Offset.c ./Lean/Meta/RecursorInfo.c ./Lean/Meta/Reduce.c ./Lean/Meta/ReduceEval.c ./Lean/Meta/SynthInstance.c ./Lean/Meta/Tactic.c ./Lean/Meta/Tactic/Apply.c ./Lean/Meta/Tactic/Assert.c ./Lean/Meta/Tactic/Assumption.c ./Lean/Meta/Tactic/Cases.c ./Lean/Meta/Tactic/Clear.c ./Lean/Meta/Tactic/ElimInfo.c ./Lean/Meta/Tactic/FVarSubst.c ./Lean/Meta/Tactic/Generalize.c ./Lean/Meta/Tactic/Induction.c ./Lean/Meta/Tactic/Injection.c ./Lean/Meta/Tactic/Intro.c ./Lean/Meta/Tactic/Replace.c ./Lean/Meta/Tactic/Revert.c ./Lean/Meta/Tactic/Rewrite.c ./Lean/Meta/Tactic/Subst.c ./Lean/Meta/Tactic/Util.c ./Lean/Meta/TransparencyMode.c ./Lean/Meta/WHNF.c ./Lean/MetavarContext.c ./Lean/Modifiers.c ./Lean/MonadEnv.c ./Lean/Parser.c ./Lean/Parser/Basic.c ./Lean/Parser/Command.c ./Lean/Parser/Do.c ./Lean/Parser/Extension.c ./Lean/Parser/Extra.c ./Lean/Parser/Level.c ./Lean/Parser/Module.c ./Lean/Parser/StrInterpolation.c ./Lean/Parser/Syntax.c ./Lean/Parser/Tactic.c ./Lean/Parser/Term.c ./Lean/Parser/Transform.c ./Lean/ParserCompiler.c ./Lean/ParserCompiler/Attribute.c ./Lean/PrettyPrinter.c ./Lean/PrettyPrinter/Basic.c ./Lean/PrettyPrinter/Formatter.c ./Lean/PrettyPrinter/Parenthesizer.c ./Lean/ProjFns.c ./Lean/ReducibilityAttrs.c ./Lean/ResolveName.c ./Lean/Runtime.c ./Lean/Server.c ./Lean/Server/ServerBin.c ./Lean/Server/Snapshots.c ./Lean/Structure.c ./Lean/Syntax.c ./Lean/ToExpr.c ./Lean/Util.c ./Lean/Util/CollectFVars.c ./Lean/Util/CollectLevelParams.c ./Lean/Util/CollectMVars.c ./Lean/Util/Constructions.c ./Lean/Util/FindExpr.c ./Lean/Util/FindMVar.c ./Lean/Util/FoldConsts.c ./Lean/Util/ForEachExpr.c ./Lean/Util/MonadCache.c ./Lean/Util/PPExt.c ./Lean/Util/PPGoal.c ./Lean/Util/Path.c ./Lean/Util/Profile.c ./Lean/Util/RecDepth.c ./Lean/Util/Recognizers.c ./Lean/Util/ReplaceExpr.c ./Lean/Util/ReplaceLevel.c ./Lean/Util/SCC.c ./Lean/Util/Sorry.c ./Lean/Util/Trace.c ./Std.c ./Std/Data.c ./Std/Data/AssocList.c ./Std/Data/BinomialHeap.c ./Std/Data/DList.c ./Std/Data/HashMap.c ./Std/Data/HashSet.c ./Std/Data/PersistentArray.c ./Std/Data/PersistentHashMap.c ./Std/Data/PersistentHashSet.c ./Std/Data/Queue.c ./Std/Data/RBMap.c ./Std/Data/RBTree.c ./Std/Data/Stack.c ./Std/ShareCommon.c ) diff --git a/stage0/stdlib/Init/LeanInit.c b/stage0/stdlib/Init/LeanInit.c index 7236dbf2f6..f55fbb1c7d 100644 --- a/stage0/stdlib/Init/LeanInit.c +++ b/stage0/stdlib/Init/LeanInit.c @@ -3677,7 +3677,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__1; x_2 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__2; -x_3 = lean_unsigned_to_nat(352u); +x_3 = lean_unsigned_to_nat(354u); x_4 = lean_unsigned_to_nat(24u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4006,7 +4006,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__1; x_2 = l___private_Init_LeanInit_0__Lean_assembleParts___closed__1; -x_3 = lean_unsigned_to_nat(386u); +x_3 = lean_unsigned_to_nat(388u); x_4 = lean_unsigned_to_nat(35u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4133,7 +4133,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__1; x_2 = l___private_Init_LeanInit_0__Lean_extractImported___closed__1; -x_3 = lean_unsigned_to_nat(395u); +x_3 = lean_unsigned_to_nat(397u); x_4 = lean_unsigned_to_nat(35u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4269,7 +4269,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__1; x_2 = l___private_Init_LeanInit_0__Lean_extractMainModule___closed__1; -x_3 = lean_unsigned_to_nat(404u); +x_3 = lean_unsigned_to_nat(406u); x_4 = lean_unsigned_to_nat(33u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4403,7 +4403,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__1; x_2 = l___private_Init_LeanInit_0__Lean_extractMacroScopesAux___closed__1; -x_3 = lean_unsigned_to_nat(409u); +x_3 = lean_unsigned_to_nat(411u); x_4 = lean_unsigned_to_nat(29u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean.c b/stage0/stdlib/Lean.c index cf2ba1f441..f6e5f7959e 100644 --- a/stage0/stdlib/Lean.c +++ b/stage0/stdlib/Lean.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean -// Imports: Init Lean.Compiler Lean.Environment Lean.Modifiers Lean.ProjFns Lean.Runtime Lean.ResolveName Lean.Attributes Lean.Parser Lean.ReducibilityAttrs Lean.Elab Lean.Class Lean.LocalContext Lean.MetavarContext Lean.AuxRecursor Lean.Meta Lean.Util Lean.Eval Lean.Structure Lean.Delaborator Lean.PrettyPrinter Lean.CoreM Lean.InternalExceptionId Lean.PrettyPrinter.Meta +// Imports: Init Lean.Compiler Lean.Environment Lean.Modifiers Lean.ProjFns Lean.Runtime Lean.ResolveName Lean.Attributes Lean.Parser Lean.ReducibilityAttrs Lean.Elab Lean.Class Lean.LocalContext Lean.MetavarContext Lean.AuxRecursor Lean.Meta Lean.Util Lean.Eval Lean.Structure Lean.Delaborator Lean.PrettyPrinter Lean.CoreM Lean.InternalExceptionId #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -36,7 +36,6 @@ lean_object* initialize_Lean_Delaborator(lean_object*); lean_object* initialize_Lean_PrettyPrinter(lean_object*); lean_object* initialize_Lean_CoreM(lean_object*); lean_object* initialize_Lean_InternalExceptionId(lean_object*); -lean_object* initialize_Lean_PrettyPrinter_Meta(lean_object*); static bool _G_initialized = false; lean_object* initialize_Lean(lean_object* w) { lean_object * res; @@ -111,9 +110,6 @@ lean_dec_ref(res); res = initialize_Lean_InternalExceptionId(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_PrettyPrinter_Meta(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Delaborator.c b/stage0/stdlib/Lean/Delaborator.c index 4c4b4d06ed..baf4c009e7 100644 --- a/stage0/stdlib/Lean/Delaborator.c +++ b/stage0/stdlib/Lean/Delaborator.c @@ -335,7 +335,6 @@ lean_object* l_Lean_Delaborator_delabLE___lambda__1(uint8_t, lean_object*, lean_ lean_object* l_Lean_Level_quote_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabStructureInstance___closed__4; lean_object* l___regBuiltin_Lean_Delaborator_delabMVar(lean_object*); -lean_object* l_Lean_Delaborator_delabFor_match__3___rarg(lean_object*, lean_object*); lean_object* l_Lean_Delaborator_withAppFn___rarg___closed__1; uint8_t l_USize_decLt(size_t, size_t); lean_object* l_Lean_Delaborator_withMDataExpr___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -586,7 +585,6 @@ lean_object* l_Lean_Delaborator_delabLam___lambda__3___closed__1; extern lean_object* l_Init_Data_Repr___instance__15___closed__1; lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Delaborator_withBindingBody___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_headD___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Delaborator_delabFor_match__3(lean_object*); lean_object* l_Lean_SMap_find_x3f___at_Lean_Delaborator_delabFor___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Level_quote___lambda__2___closed__1; lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Delaborator_delabForall___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -807,7 +805,7 @@ lean_object* l___private_Lean_Delaborator_0__Lean_Delaborator_unresolveOpenDecls lean_object* l_Lean_Delaborator_delabSort___closed__2; lean_object* l_Lean_Delaborator_delabMap___lambda__1___closed__3; lean_object* l___regBuiltin_Lean_Delaborator_delabLE___closed__1; -lean_object* l_Lean_Delaborator_delabFor_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Delaborator_delabFor_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabOrM___closed__1; lean_object* l_Lean_SMap_find_x3f___at_Lean_Delaborator_delabFor___spec__1___boxed(lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Delaborator_delabProjectionApp(lean_object*); @@ -10031,47 +10029,23 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Delaborator_delabFor_match__1___rarg), 3 return x_2; } } -lean_object* l_Lean_Delaborator_delabFor_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Lean_Delaborator_delabFor_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { -if (lean_obj_tag(x_1) == 1) +if (lean_obj_tag(x_1) == 0) { -lean_object* x_5; -lean_dec(x_4); -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -if (lean_obj_tag(x_5) == 0) -{ -lean_object* x_6; size_t x_7; lean_object* x_8; lean_object* x_9; +lean_object* x_4; lean_object* x_5; lean_dec(x_3); -x_6 = lean_ctor_get(x_1, 1); -lean_inc(x_6); -x_7 = lean_ctor_get_usize(x_1, 2); -lean_dec(x_1); -x_8 = lean_box_usize(x_7); -x_9 = lean_apply_2(x_2, x_6, x_8); -return x_9; +x_4 = lean_box(0); +x_5 = lean_apply_1(x_2, x_4); +return x_5; } else { -lean_object* x_10; size_t x_11; lean_object* x_12; lean_object* x_13; +lean_object* x_6; lean_dec(x_2); -x_10 = lean_ctor_get(x_1, 1); -lean_inc(x_10); -x_11 = lean_ctor_get_usize(x_1, 2); -lean_dec(x_1); -x_12 = lean_box_usize(x_11); -x_13 = lean_apply_3(x_3, x_5, x_10, x_12); -return x_13; -} -} -else -{ -lean_object* x_14; -lean_dec(x_3); -lean_dec(x_2); -x_14 = lean_apply_1(x_4, x_1); -return x_14; +x_6 = lean_apply_1(x_3, x_1); +return x_6; } } } @@ -10079,23 +10053,7 @@ lean_object* l_Lean_Delaborator_delabFor_match__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Delaborator_delabFor_match__2___rarg), 4, 0); -return x_2; -} -} -lean_object* l_Lean_Delaborator_delabFor_match__3___rarg(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = lean_apply_1(x_2, x_1); -return x_3; -} -} -lean_object* l_Lean_Delaborator_delabFor_match__3(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Delaborator_delabFor_match__3___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Delaborator_delabFor_match__2___rarg), 3, 0); return x_2; } } @@ -10479,159 +10437,240 @@ goto _start; lean_object* l_Lean_Delaborator_delabFor(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_8; lean_object* x_9; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_21 = lean_st_ref_get(x_6, x_7); -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_ctor_get(x_22, 0); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Lean_Delaborator_delabAttribute; -x_26 = lean_ctor_get(x_25, 2); -lean_inc(x_26); -x_27 = l_Lean_PersistentEnvExtension_getState___rarg(x_26, x_24); -lean_dec(x_24); -lean_dec(x_26); -x_28 = lean_ctor_get(x_27, 1); -lean_inc(x_28); -lean_dec(x_27); -x_29 = l_Lean_SMap_find_x3f___at_Lean_Delaborator_delabFor___spec__1(x_28, x_1); -if (lean_obj_tag(x_29) == 0) +if (lean_obj_tag(x_1) == 0) { -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = l_Lean_Delaborator_failure___rarg(x_23); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_8 = x_31; -x_9 = x_32; -goto block_20; -} -else -{ -lean_object* x_33; lean_object* x_34; -x_33 = lean_ctor_get(x_29, 0); -lean_inc(x_33); -lean_dec(x_29); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_34 = l_List_firstM___at_Lean_Delaborator_delabFor___spec__7(x_33, x_2, x_3, x_4, x_5, x_6, x_23); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; -lean_dec(x_1); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -lean_dec(x_34); -x_37 = l_Lean_Delaborator_annotateCurPos(x_35, x_2, x_3, x_4, x_5, x_6, x_36); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_37; -} -else -{ -lean_object* x_38; lean_object* x_39; -x_38 = lean_ctor_get(x_34, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_34, 1); -lean_inc(x_39); -lean_dec(x_34); -x_8 = x_38; -x_9 = x_39; -goto block_20; -} -} -block_20: -{ -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_10; +lean_object* x_8; lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_10 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_10, 0, x_8); -lean_ctor_set(x_10, 1, x_9); -return x_10; +x_8 = l_Lean_Delaborator_failure___rarg(x_7); +return x_8; } else { -lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_11 = lean_ctor_get(x_8, 0); +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_9 = lean_st_ref_get(x_6, x_7); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); lean_inc(x_11); -x_12 = l_Lean_Delaborator_delabFailureId; -x_13 = lean_nat_dec_eq(x_12, x_11); -lean_dec(x_11); -if (x_13 == 0) -{ -lean_object* x_14; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_8); -lean_ctor_set(x_14, 1, x_9); -return x_14; -} -else -{ -lean_dec(x_8); -if (lean_obj_tag(x_1) == 1) -{ -lean_object* x_15; -x_15 = lean_ctor_get(x_1, 0); -lean_inc(x_15); -lean_dec(x_1); -if (lean_obj_tag(x_15) == 0) -{ -lean_object* x_16; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_16 = l_Lean_Delaborator_failure___rarg(x_9); -return x_16; -} -else -{ -lean_object* x_17; -x_17 = l_Lean_Name_getRoot(x_15); +lean_dec(x_9); +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_12); +lean_dec(x_10); +x_13 = l_Lean_Delaborator_delabAttribute; +x_14 = lean_ctor_get(x_13, 2); +lean_inc(x_14); +x_15 = l_Lean_PersistentEnvExtension_getState___rarg(x_14, x_12); +lean_dec(x_12); +lean_dec(x_14); +x_16 = lean_ctor_get(x_15, 1); +lean_inc(x_16); lean_dec(x_15); -x_1 = x_17; -x_7 = x_9; +x_17 = l_Lean_SMap_find_x3f___at_Lean_Delaborator_delabFor___spec__1(x_16, x_1); +x_18 = l_Lean_Name_getRoot(x_1); +lean_dec(x_1); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_19; uint8_t x_20; +x_19 = l_Lean_Delaborator_failure___rarg(x_11); +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; +x_21 = lean_ctor_get(x_19, 0); +x_22 = lean_ctor_get(x_19, 1); +x_23 = lean_ctor_get(x_21, 0); +lean_inc(x_23); +x_24 = l_Lean_Delaborator_delabFailureId; +x_25 = lean_nat_dec_eq(x_24, x_23); +lean_dec(x_23); +if (x_25 == 0) +{ +lean_dec(x_18); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_19; +} +else +{ +lean_free_object(x_19); +lean_dec(x_21); +x_1 = x_18; +x_7 = x_22; goto _start; } } else { -lean_object* x_19; +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; +x_27 = lean_ctor_get(x_19, 0); +x_28 = lean_ctor_get(x_19, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_19); +x_29 = lean_ctor_get(x_27, 0); +lean_inc(x_29); +x_30 = l_Lean_Delaborator_delabFailureId; +x_31 = lean_nat_dec_eq(x_30, x_29); +lean_dec(x_29); +if (x_31 == 0) +{ +lean_object* x_32; +lean_dec(x_18); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_19 = l_Lean_Delaborator_failure___rarg(x_9); -return x_19; +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_27); +lean_ctor_set(x_32, 1, x_28); +return x_32; +} +else +{ +lean_dec(x_27); +x_1 = x_18; +x_7 = x_28; +goto _start; +} +} +} +else +{ +lean_object* x_34; lean_object* x_35; +x_34 = lean_ctor_get(x_17, 0); +lean_inc(x_34); +lean_dec(x_17); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_35 = l_List_firstM___at_Lean_Delaborator_delabFor___spec__7(x_34, x_2, x_3, x_4, x_5, x_6, x_11); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; +lean_dec(x_18); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +x_38 = l_Lean_Delaborator_annotateCurPos(x_36, x_2, x_3, x_4, x_5, x_6, x_37); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_38; +} +else +{ +lean_object* x_39; +x_39 = lean_ctor_get(x_35, 0); +lean_inc(x_39); +if (lean_obj_tag(x_39) == 0) +{ +uint8_t x_40; +lean_dec(x_18); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_40 = !lean_is_exclusive(x_35); +if (x_40 == 0) +{ +lean_object* x_41; +x_41 = lean_ctor_get(x_35, 0); +lean_dec(x_41); +return x_35; +} +else +{ +lean_object* x_42; lean_object* x_43; +x_42 = lean_ctor_get(x_35, 1); +lean_inc(x_42); +lean_dec(x_35); +x_43 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_43, 0, x_39); +lean_ctor_set(x_43, 1, x_42); +return x_43; +} +} +else +{ +uint8_t x_44; +x_44 = !lean_is_exclusive(x_35); +if (x_44 == 0) +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; +x_45 = lean_ctor_get(x_35, 1); +x_46 = lean_ctor_get(x_35, 0); +lean_dec(x_46); +x_47 = lean_ctor_get(x_39, 0); +lean_inc(x_47); +x_48 = l_Lean_Delaborator_delabFailureId; +x_49 = lean_nat_dec_eq(x_48, x_47); +lean_dec(x_47); +if (x_49 == 0) +{ +lean_dec(x_18); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_35; +} +else +{ +lean_free_object(x_35); +lean_dec(x_39); +x_1 = x_18; +x_7 = x_45; +goto _start; +} +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; +x_51 = lean_ctor_get(x_35, 1); +lean_inc(x_51); +lean_dec(x_35); +x_52 = lean_ctor_get(x_39, 0); +lean_inc(x_52); +x_53 = l_Lean_Delaborator_delabFailureId; +x_54 = lean_nat_dec_eq(x_53, x_52); +lean_dec(x_52); +if (x_54 == 0) +{ +lean_object* x_55; +lean_dec(x_18); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_39); +lean_ctor_set(x_55, 1, x_51); +return x_55; +} +else +{ +lean_dec(x_39); +x_1 = x_18; +x_7 = x_51; +goto _start; +} +} } } } @@ -10971,7 +11010,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabFVar___closed__1; -x_3 = lean_unsigned_to_nat(253u); +x_3 = lean_unsigned_to_nat(252u); x_4 = lean_unsigned_to_nat(31u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11152,7 +11191,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabBVar___closed__1; -x_3 = lean_unsigned_to_nat(264u); +x_3 = lean_unsigned_to_nat(263u); x_4 = lean_unsigned_to_nat(34u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11295,7 +11334,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabMVar___closed__1; -x_3 = lean_unsigned_to_nat(269u); +x_3 = lean_unsigned_to_nat(268u); x_4 = lean_unsigned_to_nat(32u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11577,7 +11616,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabSort___closed__1; -x_3 = lean_unsigned_to_nat(275u); +x_3 = lean_unsigned_to_nat(274u); x_4 = lean_unsigned_to_nat(32u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -12941,7 +12980,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabConst___closed__1; -x_3 = lean_unsigned_to_nat(307u); +x_3 = lean_unsigned_to_nat(306u); x_4 = lean_unsigned_to_nat(36u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -18103,7 +18142,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabMData___closed__1; -x_3 = lean_unsigned_to_nat(381u); +x_3 = lean_unsigned_to_nat(380u); x_4 = lean_unsigned_to_nat(35u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -19682,7 +19721,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabLam___lambda__3___closed__2; -x_3 = lean_unsigned_to_nat(474u); +x_3 = lean_unsigned_to_nat(473u); x_4 = lean_unsigned_to_nat(44u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -20856,7 +20895,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabForall___lambda__1___closed__3; -x_3 = lean_unsigned_to_nat(497u); +x_3 = lean_unsigned_to_nat(496u); x_4 = lean_unsigned_to_nat(33u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -21774,7 +21813,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabLetE___closed__1; -x_3 = lean_unsigned_to_nat(501u); +x_3 = lean_unsigned_to_nat(500u); x_4 = lean_unsigned_to_nat(38u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -22180,7 +22219,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabLit___closed__1; -x_3 = lean_unsigned_to_nat(512u); +x_3 = lean_unsigned_to_nat(511u); x_4 = lean_unsigned_to_nat(31u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -22575,7 +22614,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabProj___closed__1; -x_3 = lean_unsigned_to_nat(530u); +x_3 = lean_unsigned_to_nat(529u); x_4 = lean_unsigned_to_nat(38u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -30535,7 +30574,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_delab___closed__1; -x_3 = lean_unsigned_to_nat(691u); +x_3 = lean_unsigned_to_nat(690u); x_4 = lean_unsigned_to_nat(14u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/Command.c b/stage0/stdlib/Lean/Elab/Command.c index 4a91cd8273..add983f2de 100644 --- a/stage0/stdlib/Lean/Elab/Command.c +++ b/stage0/stdlib/Lean/Elab/Command.c @@ -757,7 +757,6 @@ lean_object* l_Lean_Elab_Command_elabEnd___lambda__1___closed__1; lean_object* l_Lean_Elab_applyVisibility___at_Lean_Elab_Command_expandDeclId___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_addClass___closed__1; lean_object* l_Lean_Elab_Command_liftTermElabM_match__2(lean_object*, lean_object*); -extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__3; lean_object* l_Lean_Elab_Command_mkCommandElabAttributeUnsafe___closed__6; lean_object* l_Lean_Elab_Command_elabVariable___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext(lean_object*, lean_object*, lean_object*); @@ -769,6 +768,7 @@ lean_object* l_Lean_Elab_Command_elabOpenSimple___boxed(lean_object*, lean_objec lean_object* l_Lean_setEnv___at_Lean_Elab_Command_elabInitQuot___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_addOpenDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkAppStx___closed__2; +extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__3; lean_object* l_Lean_Elab_Command_elabOpenRenaming___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabOpenOnly___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4662,7 +4662,7 @@ x_3 = l_Lean_Elab_Command_mkCommandElabAttributeUnsafe___closed__5; x_4 = l_Lean_Elab_Command_mkCommandElabAttributeUnsafe___closed__7; x_5 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__2; x_6 = l_Lean_Elab_Command_mkCommandElabAttributeUnsafe___closed__9; -x_7 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__3; +x_7 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__3; x_8 = l_Lean_Elab_mkElabAttribute___rarg(x_2, x_3, x_4, x_5, x_6, x_7, x_1); return x_8; } @@ -5628,7 +5628,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_834____closed__1; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__3; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c index 371a537512..a7dedbd878 100644 --- a/stage0/stdlib/Lean/Elab/Match.c +++ b/stage0/stdlib/Lean/Elab/Match.c @@ -95,6 +95,7 @@ lean_object* l_Lean_Elab_Term_finalizePatternDecls_match__1___rarg(lean_object*, extern lean_object* l_Lean_Init_LeanInit___instance__9; extern lean_object* l_Lean_Elab_throwUnsupportedSyntax___rarg___closed__1; extern lean_object* l_Lean_myMacro____x40_Lean_Data_FormatMacro___hyg_40____closed__4; +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__22; lean_object* l_Lean_Elab_Term_elabMatch_match__17(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__11; @@ -367,6 +368,7 @@ lean_object* l_Lean_Elab_Term_ToDepElimPattern_main(lean_object*, lean_object*, lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_fvarId_x21(lean_object*); +extern lean_object* l___private_Init_LeanInit_0__Lean_quoteName___closed__3; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_quotedNameToPattern(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor_match__1(lean_object*); lean_object* l_Init_Control_Monad___instance__2___rarg(lean_object*, lean_object*); @@ -592,7 +594,6 @@ uint8_t l_Lean_Expr_isMVar(lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_ToDepElimPattern_main___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor_match__1(lean_object*); lean_object* l_Lean_Elab_Term_ToDepElimPattern_main___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___closed__1; lean_object* l_Lean_throwError___at___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_finalize___spec__1(lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop___lambda__1___boxed(lean_object**); @@ -8745,11 +8746,9 @@ static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectP _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l___private_Init_LeanInit_0__Lean_quoteName___closed__4; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); +x_1 = l_Lean_Lean_ToExpr___instance__7___closed__1; +x_2 = l___private_Init_LeanInit_0__Lean_quoteName___closed__3; +x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } @@ -8758,8 +8757,8 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__4; -x_3 = lean_alloc_ctor(1, 2, 0); +x_2 = l___private_Init_LeanInit_0__Lean_quoteName___closed__4; +x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; @@ -8768,27 +8767,39 @@ return x_3; static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__6() { _start: { -lean_object* x_1; -x_1 = lean_mk_string("Name.str"); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__5; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; } } static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__7() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__6; -x_2 = lean_string_utf8_byte_size(x_1); -return x_2; +lean_object* x_1; +x_1 = lean_mk_string("Name.str"); +return x_1; } } static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__8() { _start: { +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__7; +x_2 = lean_string_utf8_byte_size(x_1); +return x_2; +} +} +static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__9() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__6; +x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__7; x_2 = lean_unsigned_to_nat(0u); -x_3 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__7; +x_3 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__8; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -8796,7 +8807,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__9() { +static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__10() { _start: { lean_object* x_1; @@ -8804,22 +8815,12 @@ x_1 = lean_mk_string("str"); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__10() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Lean_ToExpr___instance__7___closed__1; -x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__9; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Init_LeanInit_0__Lean_quoteName___closed__2; -x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__9; +x_1 = l_Lean_Lean_ToExpr___instance__7___closed__1; +x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__10; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } @@ -8828,11 +8829,9 @@ static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectP _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__11; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); +x_1 = l___private_Init_LeanInit_0__Lean_quoteName___closed__2; +x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__10; +x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } @@ -8842,7 +8841,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__12; -x_3 = lean_alloc_ctor(1, 2, 0); +x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; @@ -8851,27 +8850,39 @@ return x_3; static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__14() { _start: { -lean_object* x_1; -x_1 = lean_mk_string("Name.num"); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__13; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; } } static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__15() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__14; -x_2 = lean_string_utf8_byte_size(x_1); -return x_2; +lean_object* x_1; +x_1 = lean_mk_string("Name.num"); +return x_1; } } static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__16() { _start: { +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__15; +x_2 = lean_string_utf8_byte_size(x_1); +return x_2; +} +} +static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__17() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__14; +x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__15; x_2 = lean_unsigned_to_nat(0u); -x_3 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__15; +x_3 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__16; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -8879,7 +8890,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__17() { +static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__18() { _start: { lean_object* x_1; @@ -8887,22 +8898,12 @@ x_1 = lean_mk_string("num"); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__18() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Lean_ToExpr___instance__7___closed__1; -x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__17; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__19() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Init_LeanInit_0__Lean_quoteName___closed__2; -x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__17; +x_1 = l_Lean_Lean_ToExpr___instance__7___closed__1; +x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__18; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } @@ -8911,11 +8912,9 @@ static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectP _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__19; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); +x_1 = l___private_Init_LeanInit_0__Lean_quoteName___closed__2; +x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__18; +x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } @@ -8925,6 +8924,18 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__20; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__22() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__21; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); @@ -8950,11 +8961,11 @@ if (x_13 == 0) { lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; x_14 = lean_ctor_get(x_12, 0); -x_15 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___closed__1; +x_15 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__4; x_16 = l_Lean_addMacroScope(x_14, x_15, x_10); x_17 = l_Lean_Init_LeanInit___instance__8___closed__1; x_18 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__3; -x_19 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__5; +x_19 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__6; x_20 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_20, 0, x_17); lean_ctor_set(x_20, 1, x_18); @@ -8971,11 +8982,11 @@ x_22 = lean_ctor_get(x_12, 1); lean_inc(x_22); lean_inc(x_21); lean_dec(x_12); -x_23 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___closed__1; +x_23 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__4; x_24 = l_Lean_addMacroScope(x_21, x_23, x_10); x_25 = l_Lean_Init_LeanInit___instance__8___closed__1; x_26 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__3; -x_27 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__5; +x_27 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__6; x_28 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_28, 0, x_25); lean_ctor_set(x_28, 1, x_26); @@ -9013,11 +9024,11 @@ if (x_39 == 0) { lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; x_40 = lean_ctor_get(x_38, 0); -x_41 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__10; +x_41 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__11; x_42 = l_Lean_addMacroScope(x_40, x_41, x_36); x_43 = l_Lean_Init_LeanInit___instance__8___closed__1; -x_44 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__8; -x_45 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__13; +x_44 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__9; +x_45 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__14; x_46 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_46, 0, x_43); lean_ctor_set(x_46, 1, x_44); @@ -9051,11 +9062,11 @@ x_60 = lean_ctor_get(x_38, 1); lean_inc(x_60); lean_inc(x_59); lean_dec(x_38); -x_61 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__10; +x_61 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__11; x_62 = l_Lean_addMacroScope(x_59, x_61, x_36); x_63 = l_Lean_Init_LeanInit___instance__8___closed__1; -x_64 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__8; -x_65 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__13; +x_64 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__9; +x_65 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__14; x_66 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_66, 0, x_63); lean_ctor_set(x_66, 1, x_64); @@ -9110,11 +9121,11 @@ if (x_89 == 0) { lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; x_90 = lean_ctor_get(x_88, 0); -x_91 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__18; +x_91 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__19; x_92 = l_Lean_addMacroScope(x_90, x_91, x_86); x_93 = l_Lean_Init_LeanInit___instance__8___closed__1; -x_94 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__16; -x_95 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__21; +x_94 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__17; +x_95 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__22; x_96 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_96, 0, x_93); lean_ctor_set(x_96, 1, x_94); @@ -9149,11 +9160,11 @@ x_112 = lean_ctor_get(x_88, 1); lean_inc(x_112); lean_inc(x_111); lean_dec(x_88); -x_113 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__18; +x_113 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__19; x_114 = l_Lean_addMacroScope(x_111, x_113, x_86); x_115 = l_Lean_Init_LeanInit___instance__8___closed__1; -x_116 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__16; -x_117 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__21; +x_116 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__17; +x_117 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__22; x_118 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_118, 0, x_115); lean_ctor_set(x_118, 1, x_116); @@ -29616,6 +29627,8 @@ l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern__ lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__20); l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__21 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__21(); lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__21); +l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__22 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__22(); +lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__22); l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__1 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__1); l_Lean_Elab_Term_CollectPatternVars_collect___closed__1 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___closed__1(); diff --git a/stage0/stdlib/Lean/Elab/Syntax.c b/stage0/stdlib/Lean/Elab/Syntax.c index 0bd8459e61..ca82484bf8 100644 --- a/stage0/stdlib/Lean/Elab/Syntax.c +++ b/stage0/stdlib/Lean/Elab/Syntax.c @@ -92,6 +92,7 @@ lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__14; lean_object* lean_array_uget(lean_object*, size_t); lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__28; lean_object* lean_io_error_to_string(lean_object*); +extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3083____closed__2; lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__128; lean_object* l___regBuiltin_Lean_Elab_Command_elabDeclareSyntaxCat___closed__1; lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__116; @@ -99,6 +100,7 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__12; lean_object* l_Array_filterSepElemsM___at_Lean_Elab_Command_elabNoKindMacroRulesAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_expandMixfix___closed__25; +extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3083____closed__1; lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__30; extern lean_object* l_Lean_Parser_mkParserOfConstantUnsafe_match__1___rarg___closed__3; lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__90; @@ -157,7 +159,6 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__172; extern lean_object* l_myMacro____x40_Init_Tactics___hyg_502____closed__4; lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__18; lean_object* l_Lean_Elab_Command_expandElab___closed__45; -extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__1; lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Term_toParserDescrAux___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__165; @@ -182,7 +183,6 @@ lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQ extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_955____closed__14; lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Term_mkParserSeq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__29; -extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__2; lean_object* l_Lean_Elab_Command_elabSyntax___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_elabKindPrio___closed__5; lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); @@ -287,6 +287,7 @@ extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__11; lean_object* l___regBuiltin_Lean_Elab_Command_elabElab___closed__2; extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__25; lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__105; +extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; lean_object* l_Lean_Elab_Term_expandOptPrecedence___closed__1; lean_object* l___regBuiltin_Lean_Elab_Command_elabSyntaxAbbrev___closed__1; lean_object* l___regBuiltin_Lean_Elab_Command_expandNotation(lean_object*); @@ -300,7 +301,6 @@ lean_object* l_Lean_Elab_Command_elabMacro___lambda__1(lean_object*, lean_object lean_object* l_Lean_Elab_Command_expandMacro(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_checkLeftRec___closed__4; -extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__71; lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__63; lean_object* l_Lean_Elab_Term_toParserDescrAux___lambda__1___closed__3; @@ -10807,7 +10807,7 @@ static lean_object* _init_l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_decl _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__1; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3083____closed__1; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } @@ -10816,7 +10816,7 @@ static lean_object* _init_l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__1; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3083____closed__1; x_2 = lean_unsigned_to_nat(0u); x_3 = l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__13; x_4 = lean_alloc_ctor(0, 3, 0); @@ -11295,7 +11295,7 @@ lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); lean_inc(x_17); lean_dec(x_15); -x_18 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__2; +x_18 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3083____closed__2; lean_inc(x_13); lean_inc(x_16); x_19 = l_Lean_addMacroScope(x_16, x_18, x_13); @@ -21624,7 +21624,7 @@ x_60 = lean_name_eq(x_22, x_59); if (x_60 == 0) { lean_object* x_61; uint8_t x_62; -x_61 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_61 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_62 = lean_name_eq(x_22, x_61); if (x_62 == 0) { @@ -22775,7 +22775,7 @@ x_725 = lean_name_eq(x_22, x_724); if (x_725 == 0) { lean_object* x_726; uint8_t x_727; -x_726 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_726 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_727 = lean_name_eq(x_22, x_726); if (x_727 == 0) { diff --git a/stage0/stdlib/Lean/Parser/Command.c b/stage0/stdlib/Lean/Parser/Command.c index 4363d3136c..32435d0912 100644 --- a/stage0/stdlib/Lean/Parser/Command.c +++ b/stage0/stdlib/Lean/Parser/Command.c @@ -841,6 +841,7 @@ lean_object* l_Lean_Parser_Command_variables___closed__5; lean_object* l___regBuiltin_Lean_Parser_Command_universes_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__8; lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__15; +extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; lean_object* l_Lean_Parser_Command_export___elambda__1___closed__10; lean_object* l_Lean_Parser_Command_synth; lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__17; @@ -877,7 +878,6 @@ lean_object* l_Lean_Parser_Command_inferMod_formatter(lean_object*, lean_object* lean_object* l_Lean_Parser_Command_builtin__initialize_formatter___closed__3; lean_object* l_Lean_Parser_Command_inferMod_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_declaration___elambda__1(lean_object*, lean_object*); -extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; lean_object* l___regBuiltinParser_Lean_Parser_Command_check(lean_object*); lean_object* l_Lean_Parser_Command_attribute___closed__14; lean_object* l_Lean_Parser_Command_check__failure_formatter___closed__4; @@ -2704,7 +2704,7 @@ static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -2830,7 +2830,7 @@ static lean_object* _init_l_Lean_Parser_Term_quot___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_2 = lean_unsigned_to_nat(0u); x_3 = l_Lean_Parser_categoryParser(x_1, x_2); return x_3; @@ -11039,7 +11039,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_declaration(lean_object* x _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_declaration___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_declaration; @@ -17501,7 +17501,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_section(lean_object* x_1) _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_section___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_section; @@ -17890,7 +17890,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_namespace(lean_object* x_1 _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_namespace___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_namespace; @@ -18257,7 +18257,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_end(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_end___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_end; @@ -18620,7 +18620,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_variable(lean_object* x_1) _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_variable___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_variable; @@ -18993,7 +18993,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_variables(lean_object* x_1 _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_variables___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_variables; @@ -19382,7 +19382,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_universe(lean_object* x_1) _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_universe___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_universe; @@ -19751,7 +19751,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_universes(lean_object* x_1 _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_universes___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_universes; @@ -20120,7 +20120,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_check(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_check___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_check; @@ -20489,7 +20489,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_check__failure(lean_object _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_check__failure___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_check__failure; @@ -20858,7 +20858,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_eval(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_eval___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_eval; @@ -21227,7 +21227,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_synth(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_synth___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_synth; @@ -21572,7 +21572,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_exit(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_exit___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_exit; @@ -21941,7 +21941,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_print(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_print___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_print; @@ -22357,7 +22357,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_printAxioms(lean_object* x _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_printAxioms; @@ -22753,7 +22753,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_resolve__name(lean_object* _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_resolve__name; @@ -23090,7 +23090,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_init__quot(lean_object* x_ _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_init__quot; @@ -23559,7 +23559,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_set__option(lean_object* x _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_set__option___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_set__option; @@ -24225,7 +24225,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_attribute(lean_object* x_1 _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_attribute___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_attribute; @@ -24818,7 +24818,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_export(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_export___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_export; @@ -26386,7 +26386,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_open(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_open___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_open; @@ -27731,7 +27731,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_mutual(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_mutual___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_mutual; @@ -28309,7 +28309,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_initialize(lean_object* x_ _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_initialize___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_initialize; @@ -28788,7 +28788,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_builtin__initialize(lean_o _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_builtin__initialize; @@ -29019,7 +29019,7 @@ lean_inc(x_11); if (lean_obj_tag(x_11) == 0) { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_12 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_12 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_13 = lean_unsigned_to_nat(0u); x_14 = l_Lean_Parser_categoryParser___elambda__1(x_12, x_13, x_1, x_10); x_15 = l_Lean_Parser_Command_in___elambda__1___closed__2; @@ -29110,7 +29110,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_in(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_in___elambda__1___closed__2; x_4 = 0; x_5 = l_Lean_Parser_Command_in; diff --git a/stage0/stdlib/Lean/Parser/Do.c b/stage0/stdlib/Lean/Parser/Do.c index 4abdee7427..e5723faa1f 100644 --- a/stage0/stdlib/Lean/Parser/Do.c +++ b/stage0/stdlib/Lean/Parser/Do.c @@ -36,6 +36,7 @@ lean_object* l_Lean_Parser_doElemParser(lean_object*); lean_object* l_Lean_Parser_Term_doUnless_formatter___closed__2; lean_object* l_Lean_Parser_Term_doSeqBracketed___closed__1; lean_object* l_Lean_Parser_Term_doLet___closed__6; +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; extern lean_object* l_Lean_Parser_Term_letDecl_formatter___closed__6; lean_object* l_Lean_Parser_Term_doElem_quot_formatter___closed__1; lean_object* l_Lean_Parser_Term_doMatch_parenthesizer___closed__5; @@ -119,7 +120,6 @@ lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_doExpr___closed__4; lean_object* l_Lean_Parser_Term_doTry___closed__9; lean_object* l_Lean_Parser_Term_doContinue___elambda__1___closed__1; -extern lean_object* l_Lean_Parser_many1Indent_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_doMatchAlt_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_doContinue_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_doReturn_formatter___closed__5; @@ -653,7 +653,6 @@ lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_doSeqIndent___closed__8; lean_object* l___regBuiltin_Lean_Parser_Term_doHave_formatter___closed__1; lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__2; -extern lean_object* l_Lean_Parser_many1Indent_formatter___closed__1; lean_object* l_Lean_Parser_Term_doUnless___closed__4; lean_object* l_Lean_Parser_Term_doIf___closed__3; lean_object* l_Lean_Parser_Term_doAssert___elambda__1___closed__3; @@ -1126,6 +1125,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_withForbidden_parenthesizer___ra extern lean_object* l_Lean_Parser_Term_let_formatter___closed__3; extern lean_object* l_Lean_Parser_Term_matchAlt_parenthesizer___closed__2; lean_object* l___regBuiltin_Lean_Parser_Term_doMatch_parenthesizer(lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; lean_object* l_Lean_Parser_Term_doReassign___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__3; lean_object* l___regBuiltin_Lean_Parser_Term_termReturn_parenthesizer(lean_object*); @@ -8306,7 +8306,7 @@ static lean_object* _init_l_Lean_Parser_Term_doIf_formatter___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_many1Indent_formatter___closed__1; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; x_2 = l_Lean_Parser_Term_doIf_formatter___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -8340,7 +8340,7 @@ static lean_object* _init_l_Lean_Parser_Term_doIf_formatter___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_many1Indent_formatter___closed__1; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; x_2 = l_Lean_Parser_Term_doIf_formatter___closed__11; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -8838,7 +8838,7 @@ static lean_object* _init_l_Lean_Parser_Term_doIf_parenthesizer___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_many1Indent_parenthesizer___closed__1; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; x_2 = l_Lean_Parser_Term_doIf_parenthesizer___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -8872,7 +8872,7 @@ static lean_object* _init_l_Lean_Parser_Term_doIf_parenthesizer___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_many1Indent_parenthesizer___closed__1; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; x_2 = l_Lean_Parser_Term_doIf_parenthesizer___closed__11; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); diff --git a/stage0/stdlib/Lean/Parser/Extension.c b/stage0/stdlib/Lean/Parser/Extension.c index 98c16fb277..8754c45d87 100644 --- a/stage0/stdlib/Lean/Parser/Extension.c +++ b/stage0/stdlib/Lean/Parser/Extension.c @@ -17,24 +17,32 @@ lean_object* l_List_reverse___rarg(lean_object*); lean_object* l_Lean_Parser_declareLeadingBuiltinParser___closed__2; lean_object* l_Lean_Parser_builtinTokenTable; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_updateBuiltinTokens_match__1(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__1; lean_object* l_List_map___at_Lean_Parser_addLeadingParser___spec__1(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__5; extern lean_object* l_Std_RBTree_toList___rarg___closed__1; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add_match__1(lean_object*); size_t l_USize_add(size_t, size_t); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__2; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTokenConfig(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_foldlMAux___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_declareLeadingBuiltinParser___closed__1; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__1; lean_object* l_Std_PersistentHashMap_containsAtAux___at_Lean_Parser_isValidSyntaxNodeKind___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__4; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__2; lean_object* l_Lean_Syntax_isNatLitAux(lean_object*, lean_object*); +lean_object* l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_addImported___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__8; lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* l_Lean_Parser_andthenInfo(lean_object*, lean_object*); lean_object* l_Lean_Parser_leadingIdentAsSymbol___boxed(lean_object*, lean_object*); lean_object* l_Lean_Parser_notFollowedByTermToken___closed__1; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_ParserState_mkError(lean_object*, lean_object*); -lean_object* l_Lean_Parser_compileParserDescr_visit_match__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_compileParserDescr_visit_match__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkParserContext(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_insert___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__4(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkParserOfConstantUnsafe_match__1(lean_object*); @@ -44,15 +52,16 @@ lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_ad lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtensionAddEntry_match__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_foldlMAux___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_ofExcept___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_addImported___spec__2(lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder_match__1(lean_object*); lean_object* l_Lean_Parser_notFollowedByFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_USize_decEq(size_t, size_t); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__6; lean_object* lean_array_uget(lean_object*, size_t); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_io_error_to_string(lean_object*); lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3083____closed__2; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3083____closed__1; lean_object* l_IO_ofExcept___at___private_Lean_Parser_Extension_0__Lean_Parser_addBuiltinParserCategory___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Parser_mkParserOfConstantUnsafe_match__1___rarg___closed__3; @@ -62,21 +71,24 @@ lean_object* l_List_foldlM___at_Lean_Parser_addParserTokens___spec__1(lean_objec extern lean_object* l_Lean_LocalContext_fvarIdToDecl___default___closed__1; extern lean_object* l_Lean_Parser_charLit; lean_object* l_Lean_Parser_mkParserOfConstantAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__1; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTokenConfig_match__1(lean_object*); lean_object* l_Lean_Parser_registerBuiltinParserAttribute___closed__1; lean_object* l_Lean_Parser_parserExtension___elambda__1___boxed(lean_object*); +lean_object* l_Lean_Parser_compileParserDescr_visit___closed__12; lean_object* l_List_forM___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_getTokenTable___boxed(lean_object*); lean_object* l_Lean_Parser_notFollowedByCategoryTokenFn_match__1(lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add_match__3(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____lambda__2___boxed(lean_object*); extern lean_object* l_Lean_registerInternalExceptionId___closed__2; lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__2; lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__1; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__3; lean_object* l_Lean_Parser_addParser(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_categoryParserFnRef; lean_object* l_Lean_Parser_compileParserDescr_visit_match__1(lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addBuiltinParserCategory___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__2; lean_object* l_Lean_Parser_parserExtension___elambda__3___boxed(lean_object*, lean_object*); lean_object* l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_4____spec__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_addLeadingParser_match__2___rarg(lean_object*, lean_object*, lean_object*); @@ -88,34 +100,32 @@ lean_object* l_List_forM___at___private_Lean_Parser_Extension_0__Lean_Parser_Par lean_object* l_Lean_Parser_parserExtension; extern lean_object* l_Lean_Parser_ident; lean_object* l_Lean_Parser_parserExtension___closed__2; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__6; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__1; lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* l_Lean_Parser_nonReservedSymbolFn(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_getParserPriority_match__2(lean_object*); lean_object* l_Lean_Parser_mkParserState(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__2; lean_object* l_Lean_Parser_ParserExtensionState_newEntries___default; uint8_t lean_name_eq(lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder___lambda__1___closed__1; lean_object* l_Lean_Parser_declareBuiltinParser___closed__3; lean_object* l_Lean_Parser_notFollowedByCommandToken___closed__1; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__1; lean_object* l_Lean_Parser_orelseFn(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_registerBuiltinDynamicParserAttribute(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtensionAddEntry_match__1(lean_object*); lean_object* l_Std_PersistentHashMap_forM___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__2; lean_object* l_Lean_Parser_mkInputContext(lean_object*, lean_object*); lean_object* l_Lean_Parser_addBuiltinParser___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_addBuiltinParser(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_List_foldl___at_Lean_Parser_addLeadingParser___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__1; lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_Std_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add_match__1___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__8___closed__1; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); lean_object* l_Lean_Parser_runParserAttributeHooks___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_compileParserDescr_visit___closed__4; @@ -132,18 +142,19 @@ lean_object* l_Lean_Parser_leadingParserAux___boxed(lean_object*, lean_object*, lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_Parser_getSyntaxNodeKinds___spec__1___boxed(lean_object*, lean_object*); lean_object* l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_22____spec__1(lean_object*, lean_object*); size_t l_USize_shiftRight(size_t, size_t); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__8; lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_notFollowedByCategoryTokenFn_match__4___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_isParserCategory___boxed(lean_object*, lean_object*); lean_object* l_Lean_Parser_declareBuiltinParser___closed__2; lean_object* l_Lean_Parser_mkParserOfConstantUnsafe_match__1___rarg___closed__2; extern lean_object* l_Lean_mkAppStx___closed__4; +lean_object* l_Lean_Parser_compileParserDescr_visit___closed__11; lean_object* l_Lean_Parser_addTrailingParser_match__1(lean_object*); lean_object* l_Lean_Parser_parserExtension___closed__1; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__2; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__5; extern lean_object* l_Lean_nameLitKind; lean_object* l_Lean_Parser_getParserPriority_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__4; lean_object* l_Lean_Parser_notFollowedByCategoryTokenFn_match__3(lean_object*); lean_object* l_Lean_Parser_mkCategoryAntiquotParser(lean_object*); lean_object* l_Lean_Parser_Lean_Parser_Extension___instance__1; @@ -169,27 +180,27 @@ uint8_t l_Lean_Parser_leadingIdentAsSymbol(lean_object*, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_Parser_getSyntaxNodeKinds___spec__1(lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add_match__2___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__3; lean_object* l_Lean_Parser_compileParserDescr_visit___closed__1; extern lean_object* l_Lean_mkAttributeImplOfConstant___closed__1; lean_object* l_List_eraseDups___at_Lean_ResolveName_resolveGlobalName_loop___spec__1(lean_object*); lean_object* l_Lean_Parser_getParserPriority_match__1(lean_object*); lean_object* l_Lean_Parser_setCategoryParserFnRef(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_throwUnknownParserCategory(lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_throwUnknownParserCategory___rarg___closed__1; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__3; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; lean_object* l_Std_PersistentHashMap_containsAux___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_declareTrailingBuiltinParser___closed__2; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__3; lean_object* l_Lean_Parser_initCacheForInput(lean_object*); lean_object* l_Lean_Parser_addSyntaxNodeKind(lean_object*, lean_object*); lean_object* l_List_forM___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__1___closed__2; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__1; lean_object* l_Lean_Parser_compileParserDescr_visit___closed__8; lean_object* l_Lean_Parser_mkParserAttributeImpl___elambda__1(lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_Parser_compileParserDescr_visit_match__2___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_compileParserDescr_visit___closed__17; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_updateBuiltinTokens___closed__2; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___boxed(lean_object*); @@ -197,12 +208,10 @@ extern lean_object* l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___clos lean_object* l_Lean_Parser_lookaheadFn(lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); lean_object* l_Lean_Parser_nodeInfo(lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__5; extern lean_object* l_Std_PersistentHashMap_insertAux___rarg___closed__3; lean_object* l_Lean_Parser_symbolFn___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_numLitKind; lean_object* l_Lean_Parser_categoryParserFnImpl___closed__1; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__6; lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Parser_getCategory___spec__2(lean_object*, size_t, lean_object*); uint8_t l_Std_PersistentHashMap_containsAtAux___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkParserOfConstantUnsafe___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -210,10 +219,10 @@ lean_object* l_Std_PersistentHashMap_forM___at___private_Lean_Parser_Extension_0 lean_object* l_Lean_Parser_declareBuiltinParser(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_foldlM___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_checkNoWsBefore(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__3; lean_object* l_Lean_Parser_noFirstTokenInfo(lean_object*); extern lean_object* l_Lean_KeyedDeclsAttribute_declareBuiltin___rarg___closed__6; lean_object* l_Lean_Parser_categoryParserFnImpl___closed__2; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_insertAux___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkParserOfConstantUnsafe___closed__1; extern lean_object* l_Lean_strLitKind; @@ -227,18 +236,19 @@ lean_object* l_Lean_registerAttributeOfBuilder(lean_object*, lean_object*, lean_ lean_object* l_Lean_Parser_commandParser(lean_object*); lean_object* l_Lean_Parser_notFollowedByTermToken___closed__2; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__2___closed__2; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861_(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063_(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053_(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881_(lean_object*); lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073_(lean_object*); lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3083_(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654_(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598_(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1539_(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103_(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093_(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674_(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618_(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1559_(lean_object*); lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_98_(lean_object*); lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_49_(lean_object*); lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_4_(lean_object*); lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_22_(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__5; lean_object* l_Std_PersistentHashMap_containsAtAux___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_notFollowedByCategoryTokenFn_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Parser_getSyntaxNodeKinds___spec__3(lean_object*, size_t, size_t, lean_object*); @@ -249,62 +259,61 @@ uint8_t l_Std_PersistentHashMap_contains___at___private_Lean_Parser_Extension_0_ lean_object* l_List_foldl___at___private_Lean_Parser_Extension_0__Lean_Parser_addTrailingParserAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTrailingParserAux_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_addImported___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__2; lean_object* l_Lean_Parser_parserExtension___closed__4; lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Parser_tryAnti(lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____lambda__2___boxed(lean_object*); lean_object* l_Lean_Parser_optionaInfo(lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_peekToken(lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder___lambda__1(lean_object*); -extern lean_object* l___private_Init_LeanInit_0__Lean_quoteName___closed__3; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__3; lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_nameLit; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__4; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__1; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder___closed__2; lean_object* l_Lean_Parser_parserExtension___elambda__4(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_Parser_getSyntaxNodeKinds___spec__2(lean_object*, lean_object*); lean_object* l_Lean_Parser_notFollowedByCategoryTokenFn_match__4(lean_object*); lean_object* l_Lean_Parser_throwUnknownParserCategory___rarg(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__1; lean_object* l_Lean_Parser_compileParserDescr_visit_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_Parser_addLeadingParser___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____spec__2(lean_object*, lean_object*, size_t, size_t); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add_match__2(lean_object*); lean_object* l_Std_PersistentHashMap_foldlMAux_traverse___at_Lean_Parser_getSyntaxNodeKinds___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_toExprAux(lean_object*); size_t l_Lean_Name_hash(lean_object*); lean_object* l_Lean_Parser_notFollowedByCategoryTokenFn_match__3___rarg(lean_object*, lean_object*); lean_object* l_Lean_Parser_addToken(lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__3; lean_object* l_Lean_Parser_categoryParserFnImpl___closed__4; lean_object* l_Lean_Parser_notFollowedByCategoryToken(lean_object*); lean_object* l_Nat_repr(lean_object*); extern lean_object* l___kind_tactic____x40_Init_Tactics___hyg_461____closed__9; lean_object* l_Lean_Parser_registerBuiltinParserAttribute___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_compileParserDescr_visit_match__3(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_addImported(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_orelseInfo(lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Parser_getCategory___spec__1(lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__5; lean_object* l_List_foldl___at___private_Lean_Parser_Extension_0__Lean_Parser_addTrailingParserAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkParserAttributeImpl___closed__1; lean_object* lean_name_mk_string(lean_object*, lean_object*); extern lean_object* l_Lean_choiceKind; +lean_object* l_Lean_Parser_compileParserDescr_visit___closed__13; extern lean_object* l_Lean_charLitKind; lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___lambda__2(lean_object*, lean_object*, lean_object*); extern lean_object* l_Init_Data_Repr___instance__15___closed__1; lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Parser_getCategory___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_throwParserCategoryAlreadyDefined___rarg___closed__2; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____spec__2(lean_object*, lean_object*, size_t, size_t); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__4; lean_object* lean_eval_const(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkParserAttributeImpl(lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_mkInitial(lean_object*); extern lean_object* l_Lean_Parser_ParserState_mkEOIError___closed__1; lean_object* l_Std_PersistentHashMap_insertAux_traverse___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__2; lean_object* l_Lean_Parser_compileParserDescr(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_declareTrailingBuiltinParser(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_setCategoryParserFnRef___closed__1; @@ -314,9 +323,7 @@ lean_object* l_Lean_ofExcept___at___private_Lean_Parser_Extension_0__Lean_Parser lean_object* l_Lean_Parser_parserExtension___elambda__2(lean_object*); extern lean_object* l_Lean_persistentEnvExtensionsRef; lean_object* l_Lean_Parser_interpolatedStr(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__2; lean_object* l_Lean_Parser_addParserCategory___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__1; lean_object* l_Lean_Parser_registerBuiltinParserAttribute(lean_object*, lean_object*, uint8_t, lean_object*); lean_object* l_Lean_Parser_mkParserOfConstantUnsafe_match__1___rarg___closed__1; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add_match__3___rarg(lean_object*, lean_object*, lean_object*); @@ -333,7 +340,7 @@ lean_object* l_List_forM___at_Lean_Parser_runParserAttributeHooks___spec__1(lean lean_object* l_Lean_Parser_leadingIdentAsSymbol_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Parser_getSyntaxNodeKinds___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_getParserPriority___closed__4; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_categoryParserFnImpl_match__1(lean_object*); size_t l_USize_mul(size_t, size_t); lean_object* l_Lean_FileMap_ofString(lean_object*); @@ -345,7 +352,7 @@ lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_mkCategoryAntiquot lean_object* l_Lean_Parser_getParserPriority___closed__2; uint8_t l_Std_PersistentHashMap_containsAtAux___at_Lean_Parser_isValidSyntaxNodeKind___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_isValidSyntaxNodeKind___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__2; +lean_object* l_Lean_Parser_compileParserDescr_visit___closed__15; lean_object* l_Lean_Parser_notFollowedByCategoryTokenFn(lean_object*, lean_object*, lean_object*); lean_object* l_List_foldl___at_Lean_Parser_addLeadingParser___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_sepByFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -356,6 +363,7 @@ lean_object* l_Lean_ConstantInfo_type(lean_object*); lean_object* l_Lean_Parser_trailingNodeFn(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_addBuiltinLeadingParser(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_updateBuiltinTokens_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__5; lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*); size_t l_USize_land(size_t, size_t); lean_object* l_Lean_Parser_parserExtension___elambda__4___boxed(lean_object*, lean_object*); @@ -370,26 +378,25 @@ lean_object* l_Lean_Parser_sepBy1Info(lean_object*, lean_object*); lean_object* l_Lean_Parser_categoryParserFnImpl_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_sepBy1Fn___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkAppStx___closed__3; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____lambda__1(lean_object*); lean_object* l_Lean_Parser_declareLeadingBuiltinParser(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_checkColGeFn(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_addImported___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_compileParserDescr_visit(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_registerParserCategory(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*); lean_object* l_IO_ofExcept___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_addImported___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__7; extern lean_object* l_Lean_identKind; lean_object* l_Lean_Parser_trailingLoop(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtensionAddEntry(lean_object*, lean_object*); -extern lean_object* l_Lean_Lean_ToExpr___instance__7___closed__1; extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1; extern lean_object* l_Lean_Parser_numLit; uint8_t l_Std_PersistentHashMap_containsAux___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__2(lean_object*, size_t, lean_object*); lean_object* l_Std_PersistentHashMap_insertAux_traverse___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__6(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_List_forM___at_Lean_Parser_runParserAttributeHooks___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____lambda__1(lean_object*); lean_object* l_IO_ofExcept___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_addImported___spec__2___boxed(lean_object*, lean_object*); extern lean_object* l_String_splitAux___closed__1; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__7; lean_object* l_Lean_Parser_mkParserAttributeImpl___elambda__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getNumArgs(lean_object*); extern lean_object* l_Lean_registerTagAttribute___lambda__5___closed__2; @@ -402,16 +409,17 @@ lean_object* l_Lean_Parser_notFollowedByCategoryTokenFn_match__2(lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___rarg(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_forM___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__1___closed__1; uint8_t l_Lean_Syntax_hasArgs(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___closed__1; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__3; lean_object* l_Lean_Parser_tryFn(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Parser_isParserCategory(lean_object*, lean_object*); +lean_object* l_Lean_Parser_compileParserDescr_visit___closed__16; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_withPosition___lambda__1(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); uint8_t l_USize_decLe(size_t, size_t); lean_object* l_IO_ofExcept___at___private_Lean_Parser_Extension_0__Lean_Parser_addBuiltinParserCategory___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_categoryParser(lean_object*, lean_object*); lean_object* l_Lean_Name_append(lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_98____spec__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_categoryParserFnImpl___closed__3; lean_object* l_Lean_Environment_addAndCompile(lean_object*, lean_object*, lean_object*); @@ -421,7 +429,6 @@ lean_object* l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___s uint8_t l_Lean_Parser_isValidSyntaxNodeKind(lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_updateBuiltinTokens___closed__1; lean_object* lean_panic_fn(lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_runParserCategory(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_addLeadingParser(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg___closed__1; @@ -430,34 +437,36 @@ lean_object* l_Lean_Parser_addLeadingParser_match__1(lean_object*); lean_object* l_Lean_Parser_symbolInfo(lean_object*); lean_object* l_Lean_Parser_parserAttributeHooks; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_updateBuiltinTokens(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_epsilonInfo; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder___closed__3; lean_object* l_Lean_Parser_notFollowedByTermToken; +lean_object* l_Lean_Parser_compileParserDescr_visit___closed__14; lean_object* l_Lean_Parser_addTrailingParser_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_leadingIdentAsSymbol_match__1(lean_object*); extern lean_object* l_Lean_regularInitAttr; lean_object* l_Lean_Parser_compileParserDescr_visit___closed__5; lean_object* l_Lean_Parser_getParserPriority(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__2; lean_object* l_Lean_Parser_builtinSyntaxNodeKindSetRef; lean_object* l_Std_PersistentHashMap_foldlMAux___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_registerBuiltinNodeKind(lean_object*, lean_object*); lean_object* l_Lean_Parser_mkParserState___boxed(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__2; lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Parser_getCategory___spec__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_declareBuiltinParser_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__6; +lean_object* l_Lean_Parser_compileParserDescr_visit___closed__10; lean_object* l_Std_PersistentHashMap_foldlMAux___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__4___closed__1; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTokenConfig_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__1; lean_object* l_Lean_Parser_runParserAttributeHooks(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__2; lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__5(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); lean_object* l_Lean_Parser_notFollowedByCommandToken; -lean_object* l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTokenConfig___closed__1; lean_object* l_Std_PersistentHashMap_foldlMAux_traverse___at_Lean_Parser_getSyntaxNodeKinds___spec__4(lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTrailingParserAux_match__1(lean_object*); @@ -472,18 +481,20 @@ lean_object* l_Lean_Parser_ParserExtensionState_categories___default; lean_object* l_Lean_Parser_optionalFn(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_TokenMap_insert___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_EnvExtensionInterfaceUnsafe_Lean_Environment___instance__6___closed__2; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__1; lean_object* l_Lean_Parser_mkParserOfConstantUnsafe_match__2___rarg(lean_object*, lean_object*, lean_object*); extern size_t l_Std_PersistentHashMap_insertAux___rarg___closed__2; lean_object* lean_st_ref_swap(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__6; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____lambda__2(lean_object*); lean_object* l_Lean_PersistentEnvExtension_getState___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_throwParserCategoryAlreadyDefined___rarg___closed__1; lean_object* l_Lean_Parser_mkParserOfConstant(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTrailingParserAux(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_compileParserDescr_visit_match__3___rarg___boxed(lean_object**); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____lambda__2(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__3; lean_object* l_Lean_ofExcept___at___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_parserExtension___elambda__1(lean_object*); +lean_object* l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1559____spec__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_getSyntaxNodeKinds(lean_object*); lean_object* l_Lean_Parser_addBuiltinTrailingParser(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t); @@ -491,6 +502,7 @@ lean_object* l_Lean_Parser_addParser___boxed(lean_object*, lean_object*, lean_ob lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add_match__1(lean_object*); lean_object* l_Lean_Parser_compileParserDescr_visit___closed__7; lean_object* l_Lean_Parser_ParserState_toErrorMsg(lean_object*, lean_object*); +lean_object* l_Lean_Parser_checkColGtFn(lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_contains___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); lean_object* l_Lean_Parser_manyFn(lean_object*, lean_object*, lean_object*); @@ -498,7 +510,6 @@ lean_object* l_Lean_Parser_addLeadingParser_match__2(lean_object*); lean_object* l_Lean_Parser_getParserPriority___closed__3; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtensionAddEntry_match__3(lean_object*); lean_object* l_Lean_mkNatLit(lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__4; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtensionAddEntry___closed__2; lean_object* l_Lean_Parser_ParserExtensionState_kinds___default; extern lean_object* l_System_FilePath_dirName___closed__1; @@ -508,16 +519,15 @@ lean_object* l_List_lengthAux___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_addLeadingParser_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtensionAddEntry_match__2___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__6; lean_object* lean_usize_to_nat(size_t); lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__4; lean_object* l_Lean_registerAttributeImplBuilder(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtensionAddEntry_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__3; lean_object* l_Lean_Parser_getSyntaxNodeKinds___boxed(lean_object*); -lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____spec__1(lean_object*, lean_object*); lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*); +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__3; lean_object* l_IO_ofExcept___at_Lean_KeyedDeclsAttribute_declareBuiltin___spec__1(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_containsAux___at_Lean_Parser_isValidSyntaxNodeKind___spec__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_getParserPriority_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -525,26 +535,24 @@ lean_object* l_Lean_Parser_addParser_match__1___rarg(uint8_t, lean_object*, lean uint8_t lean_string_utf8_at_end(lean_object*, lean_object*); lean_object* l_Lean_mkConst(lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__2___closed__3; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__3; +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__1; extern lean_object* l_IO_Error_Init_System_IOError___instance__3___closed__1; extern lean_object* l_Lean_mkAppStx___closed__1; extern lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__14___closed__1; lean_object* l_Lean_Parser_Trie_find_x3f_loop___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_getCategory(lean_object*, lean_object*); -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__1; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder___lambda__1___closed__2; extern lean_object* l_Lean_Parser_strLit; lean_object* l_Std_PersistentHashMap_foldlM___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_ParserExtensionState_tokens___default; lean_object* l_Std_PersistentHashMap_foldlMAux_traverse___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_compileParserDescr_visit_match__2(lean_object*); -lean_object* l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1539____spec__1(lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtensionAddEntry___closed__1; lean_object* l_Lean_Parser_parserExtension___elambda__3(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____spec__1(lean_object*, lean_object*); uint8_t lean_string_dec_eq(lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTokenConfig___closed__2; -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__2; lean_object* l_Std_PersistentHashMap_contains___at_Lean_Parser_isValidSyntaxNodeKind___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Parser_registerParserCategory___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); @@ -5601,13 +5609,15 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Parser_compileParserDescr_visit_match__2 return x_2; } } -lean_object* l_Lean_Parser_compileParserDescr_visit_match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24) { +lean_object* l_Lean_Parser_compileParserDescr_visit_match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24, lean_object* x_25, lean_object* x_26) { _start: { switch (lean_obj_tag(x_1)) { case 0: { -lean_object* x_25; lean_object* x_26; lean_object* x_27; +lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -5630,17 +5640,19 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_25 = lean_ctor_get(x_1, 0); -lean_inc(x_25); -x_26 = lean_ctor_get(x_1, 1); -lean_inc(x_26); +x_27 = lean_ctor_get(x_1, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_1, 1); +lean_inc(x_28); lean_dec(x_1); -x_27 = lean_apply_2(x_2, x_25, x_26); -return x_27; +x_29 = lean_apply_2(x_2, x_27, x_28); +return x_29; } case 1: { -lean_object* x_28; lean_object* x_29; lean_object* x_30; +lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -5663,17 +5675,19 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_28 = lean_ctor_get(x_1, 0); -lean_inc(x_28); -x_29 = lean_ctor_get(x_1, 1); -lean_inc(x_29); +x_30 = lean_ctor_get(x_1, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_1, 1); +lean_inc(x_31); lean_dec(x_1); -x_30 = lean_apply_2(x_3, x_28, x_29); -return x_30; +x_32 = lean_apply_2(x_3, x_30, x_31); +return x_32; } case 2: { -lean_object* x_31; lean_object* x_32; +lean_object* x_33; lean_object* x_34; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -5696,46 +5710,17 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_31 = lean_ctor_get(x_1, 0); -lean_inc(x_31); -lean_dec(x_1); -x_32 = lean_apply_1(x_4, x_31); -return x_32; -} -case 3: -{ -lean_object* x_33; lean_object* x_34; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); x_33 = lean_ctor_get(x_1, 0); lean_inc(x_33); lean_dec(x_1); -x_34 = lean_apply_1(x_5, x_33); +x_34 = lean_apply_1(x_4, x_33); return x_34; } -case 4: +case 3: { lean_object* x_35; lean_object* x_36; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -5754,19 +5739,21 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_5); +lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); x_35 = lean_ctor_get(x_1, 0); lean_inc(x_35); lean_dec(x_1); -x_36 = lean_apply_1(x_6, x_35); +x_36 = lean_apply_1(x_5, x_35); return x_36; } -case 5: +case 4: { lean_object* x_37; lean_object* x_38; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -5783,8 +5770,8 @@ lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); +lean_dec(x_8); lean_dec(x_7); -lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -5792,12 +5779,14 @@ lean_dec(x_2); x_37 = lean_ctor_get(x_1, 0); lean_inc(x_37); lean_dec(x_1); -x_38 = lean_apply_1(x_8, x_37); +x_38 = lean_apply_1(x_6, x_37); return x_38; } -case 6: +case 5: { lean_object* x_39; lean_object* x_40; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -5813,7 +5802,7 @@ lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_8); +lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -5823,12 +5812,14 @@ lean_dec(x_2); x_39 = lean_ctor_get(x_1, 0); lean_inc(x_39); lean_dec(x_1); -x_40 = lean_apply_1(x_9, x_39); +x_40 = lean_apply_1(x_8, x_39); return x_40; } -case 7: +case 6: { -lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_object* x_41; lean_object* x_42; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -5843,7 +5834,7 @@ lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); -lean_dec(x_9); +lean_dec(x_10); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -5853,15 +5844,50 @@ lean_dec(x_3); lean_dec(x_2); x_41 = lean_ctor_get(x_1, 0); lean_inc(x_41); -x_42 = lean_ctor_get(x_1, 1); -lean_inc(x_42); lean_dec(x_1); -x_43 = lean_apply_2(x_10, x_41, x_42); -return x_43; +x_42 = lean_apply_1(x_9, x_41); +return x_42; +} +case 7: +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_43 = lean_ctor_get(x_1, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_1, 1); +lean_inc(x_44); +lean_dec(x_1); +x_45 = lean_apply_2(x_10, x_43, x_44); +return x_45; } case 8: { -lean_object* x_44; lean_object* x_45; lean_object* x_46; +lean_object* x_46; lean_object* x_47; lean_object* x_48; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -5884,17 +5910,19 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_44 = lean_ctor_get(x_1, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_1, 1); -lean_inc(x_45); +x_46 = lean_ctor_get(x_1, 0); +lean_inc(x_46); +x_47 = lean_ctor_get(x_1, 1); +lean_inc(x_47); lean_dec(x_1); -x_46 = lean_apply_2(x_11, x_44, x_45); -return x_46; +x_48 = lean_apply_2(x_11, x_46, x_47); +return x_48; } case 9: { -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -5917,19 +5945,21 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_47 = lean_ctor_get(x_1, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_1, 1); -lean_inc(x_48); -x_49 = lean_ctor_get(x_1, 2); +x_49 = lean_ctor_get(x_1, 0); lean_inc(x_49); +x_50 = lean_ctor_get(x_1, 1); +lean_inc(x_50); +x_51 = lean_ctor_get(x_1, 2); +lean_inc(x_51); lean_dec(x_1); -x_50 = lean_apply_3(x_12, x_47, x_48, x_49); -return x_50; +x_52 = lean_apply_3(x_12, x_49, x_50, x_51); +return x_52; } case 10: { -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -5952,19 +5982,21 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_51 = lean_ctor_get(x_1, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_1, 1); -lean_inc(x_52); -x_53 = lean_ctor_get(x_1, 2); +x_53 = lean_ctor_get(x_1, 0); lean_inc(x_53); +x_54 = lean_ctor_get(x_1, 1); +lean_inc(x_54); +x_55 = lean_ctor_get(x_1, 2); +lean_inc(x_55); lean_dec(x_1); -x_54 = lean_apply_3(x_13, x_51, x_52, x_53); -return x_54; +x_56 = lean_apply_3(x_13, x_53, x_54, x_55); +return x_56; } case 11: { -lean_object* x_55; lean_object* x_56; +lean_object* x_57; lean_object* x_58; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -5987,49 +6019,17 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_55 = lean_ctor_get(x_1, 0); -lean_inc(x_55); -lean_dec(x_1); -x_56 = lean_apply_1(x_14, x_55); -return x_56; -} -case 12: -{ -lean_object* x_57; uint8_t x_58; lean_object* x_59; lean_object* x_60; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); x_57 = lean_ctor_get(x_1, 0); lean_inc(x_57); -x_58 = lean_ctor_get_uint8(x_1, sizeof(void*)*1); lean_dec(x_1); -x_59 = lean_box(x_58); -x_60 = lean_apply_2(x_22, x_57, x_59); -return x_60; +x_58 = lean_apply_1(x_14, x_57); +return x_58; } -case 13: +case 12: { -lean_object* x_61; lean_object* x_62; -lean_dec(x_24); +lean_object* x_59; uint8_t x_60; lean_object* x_61; lean_object* x_62; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_23); lean_dec(x_22); lean_dec(x_21); @@ -6038,34 +6038,6 @@ lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_61 = lean_box(0); -x_62 = lean_apply_1(x_15, x_61); -return x_62; -} -case 14: -{ -lean_object* x_63; lean_object* x_64; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); @@ -6080,13 +6052,19 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_63 = lean_box(0); -x_64 = lean_apply_1(x_16, x_63); -return x_64; +x_59 = lean_ctor_get(x_1, 0); +lean_inc(x_59); +x_60 = lean_ctor_get_uint8(x_1, sizeof(void*)*1); +lean_dec(x_1); +x_61 = lean_box(x_60); +x_62 = lean_apply_2(x_24, x_59, x_61); +return x_62; } -case 15: +case 13: { -lean_object* x_65; lean_object* x_66; +lean_object* x_63; lean_object* x_64; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -6094,7 +6072,38 @@ lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); lean_dec(x_18); +lean_dec(x_17); lean_dec(x_16); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_63 = lean_box(0); +x_64 = lean_apply_1(x_15, x_63); +return x_64; +} +case 14: +{ +lean_object* x_65; lean_object* x_66; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); @@ -6110,19 +6119,21 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); x_65 = lean_box(0); -x_66 = lean_apply_1(x_17, x_65); +x_66 = lean_apply_1(x_16, x_65); return x_66; } -case 16: +case 15: { lean_object* x_67; lean_object* x_68; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); -lean_dec(x_17); +lean_dec(x_18); lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); @@ -6139,18 +6150,20 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); x_67 = lean_box(0); -x_68 = lean_apply_1(x_18, x_67); +x_68 = lean_apply_1(x_17, x_67); return x_68; } -case 17: +case 16: { lean_object* x_69; lean_object* x_70; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); lean_dec(x_21); lean_dec(x_20); -lean_dec(x_18); +lean_dec(x_19); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); @@ -6168,12 +6181,45 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); x_69 = lean_box(0); -x_70 = lean_apply_1(x_19, x_69); +x_70 = lean_apply_1(x_18, x_69); return x_70; } +case 17: +{ +lean_object* x_71; lean_object* x_72; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_71 = lean_box(0); +x_72 = lean_apply_1(x_19, x_71); +return x_72; +} case 18: { -lean_object* x_71; lean_object* x_72; +lean_object* x_73; lean_object* x_74; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -6196,15 +6242,17 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_71 = lean_ctor_get(x_1, 0); -lean_inc(x_71); +x_73 = lean_ctor_get(x_1, 0); +lean_inc(x_73); lean_dec(x_1); -x_72 = lean_apply_1(x_20, x_71); -return x_72; +x_74 = lean_apply_1(x_20, x_73); +return x_74; } case 19: { -lean_object* x_73; lean_object* x_74; +lean_object* x_75; lean_object* x_76; +lean_dec(x_26); +lean_dec(x_25); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -6227,13 +6275,15 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_73 = lean_box(0); -x_74 = lean_apply_1(x_21, x_73); -return x_74; +x_75 = lean_box(0); +x_76 = lean_apply_1(x_21, x_75); +return x_76; } case 20: { -lean_object* x_75; lean_object* x_76; lean_object* x_77; +lean_object* x_77; lean_object* x_78; lean_object* x_79; +lean_dec(x_25); +lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); lean_dec(x_21); @@ -6256,48 +6306,18 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_75 = lean_ctor_get(x_1, 0); -lean_inc(x_75); -x_76 = lean_ctor_get(x_1, 1); -lean_inc(x_76); +x_77 = lean_ctor_get(x_1, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_1, 1); +lean_inc(x_78); lean_dec(x_1); -x_77 = lean_apply_2(x_24, x_75, x_76); -return x_77; +x_79 = lean_apply_2(x_26, x_77, x_78); +return x_79; } case 21: { -lean_object* x_78; lean_object* x_79; -lean_dec(x_24); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_78 = lean_ctor_get(x_1, 0); -lean_inc(x_78); -lean_dec(x_1); -x_79 = lean_apply_1(x_23, x_78); -return x_79; -} -default: -{ lean_object* x_80; lean_object* x_81; +lean_dec(x_26); lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); @@ -6315,6 +6335,7 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); @@ -6323,9 +6344,108 @@ lean_dec(x_2); x_80 = lean_ctor_get(x_1, 0); lean_inc(x_80); lean_dec(x_1); -x_81 = lean_apply_1(x_7, x_80); +x_81 = lean_apply_1(x_25, x_80); return x_81; } +case 22: +{ +lean_object* x_82; lean_object* x_83; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_82 = lean_ctor_get(x_1, 0); +lean_inc(x_82); +lean_dec(x_1); +x_83 = lean_apply_1(x_7, x_82); +return x_83; +} +case 23: +{ +lean_object* x_84; lean_object* x_85; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_84 = lean_ctor_get(x_1, 0); +lean_inc(x_84); +lean_dec(x_1); +x_85 = lean_apply_1(x_23, x_84); +return x_85; +} +default: +{ +uint8_t x_86; lean_object* x_87; lean_object* x_88; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_86 = lean_ctor_get_uint8(x_1, 0); +lean_dec(x_1); +x_87 = lean_box(x_86); +x_88 = lean_apply_1(x_22, x_87); +return x_88; +} } } } @@ -6333,7 +6453,7 @@ lean_object* l_Lean_Parser_compileParserDescr_visit_match__3(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_compileParserDescr_visit_match__3___rarg___boxed), 24, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_compileParserDescr_visit_match__3___rarg___boxed), 26, 0); return x_2; } } @@ -6362,11 +6482,13 @@ lean_object* x_21 = _args[20]; lean_object* x_22 = _args[21]; lean_object* x_23 = _args[22]; lean_object* x_24 = _args[23]; +lean_object* x_25 = _args[24]; +lean_object* x_26 = _args[25]; _start: { -lean_object* x_25; -x_25 = l_Lean_Parser_compileParserDescr_visit_match__3___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24); -return x_25; +lean_object* x_27; +x_27 = l_Lean_Parser_compileParserDescr_visit_match__3___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_26); +return x_27; } } static lean_object* _init_l_Lean_Parser_compileParserDescr_visit___closed__1() { @@ -6454,6 +6576,86 @@ x_1 = lean_mk_string("element"); return x_1; } } +static lean_object* _init_l_Lean_Parser_compileParserDescr_visit___closed__10() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("checkColGe"); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_compileParserDescr_visit___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_compileParserDescr_visit___closed__10; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkColGeFn), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_compileParserDescr_visit___closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Lean_Parser_Basic___instance__8___closed__1; +x_2 = l_Lean_Parser_compileParserDescr_visit___closed__11; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_compileParserDescr_visit___closed__13() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_compileParserDescr_visit___closed__12; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_compileParserDescr_visit___closed__14() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("checkColGt"); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_compileParserDescr_visit___closed__15() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_compileParserDescr_visit___closed__14; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkColGtFn), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_compileParserDescr_visit___closed__16() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Lean_Parser_Basic___instance__8___closed__1; +x_2 = l_Lean_Parser_compileParserDescr_visit___closed__15; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_compileParserDescr_visit___closed__17() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_compileParserDescr_visit___closed__16; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} lean_object* l_Lean_Parser_compileParserDescr_visit(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { @@ -7806,7 +8008,7 @@ return x_335; } } } -default: +case 22: { lean_object* x_336; lean_object* x_337; x_336 = lean_ctor_get(x_4, 0); @@ -7877,6 +8079,120 @@ return x_354; } } } +case 23: +{ +lean_object* x_355; lean_object* x_356; +x_355 = lean_ctor_get(x_4, 0); +lean_inc(x_355); +lean_dec(x_4); +x_356 = l_Lean_Parser_compileParserDescr_visit(x_1, x_2, x_3, x_355); +if (lean_obj_tag(x_356) == 0) +{ +uint8_t x_357; +x_357 = !lean_is_exclusive(x_356); +if (x_357 == 0) +{ +return x_356; +} +else +{ +lean_object* x_358; lean_object* x_359; +x_358 = lean_ctor_get(x_356, 0); +lean_inc(x_358); +lean_dec(x_356); +x_359 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_359, 0, x_358); +return x_359; +} +} +else +{ +uint8_t x_360; +x_360 = !lean_is_exclusive(x_356); +if (x_360 == 0) +{ +lean_object* x_361; lean_object* x_362; lean_object* x_363; uint8_t x_364; +x_361 = lean_ctor_get(x_356, 0); +x_362 = lean_ctor_get(x_361, 0); +lean_inc(x_362); +lean_inc(x_361); +x_363 = lean_alloc_closure((void*)(l_Lean_Parser_withPosition___lambda__1), 3, 1); +lean_closure_set(x_363, 0, x_361); +x_364 = !lean_is_exclusive(x_361); +if (x_364 == 0) +{ +lean_object* x_365; lean_object* x_366; +x_365 = lean_ctor_get(x_361, 1); +lean_dec(x_365); +x_366 = lean_ctor_get(x_361, 0); +lean_dec(x_366); +lean_ctor_set(x_361, 1, x_363); +return x_356; +} +else +{ +lean_object* x_367; +lean_dec(x_361); +x_367 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_367, 0, x_362); +lean_ctor_set(x_367, 1, x_363); +lean_ctor_set(x_356, 0, x_367); +return x_356; +} +} +else +{ +lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; +x_368 = lean_ctor_get(x_356, 0); +lean_inc(x_368); +lean_dec(x_356); +x_369 = lean_ctor_get(x_368, 0); +lean_inc(x_369); +lean_inc(x_368); +x_370 = lean_alloc_closure((void*)(l_Lean_Parser_withPosition___lambda__1), 3, 1); +lean_closure_set(x_370, 0, x_368); +if (lean_is_exclusive(x_368)) { + lean_ctor_release(x_368, 0); + lean_ctor_release(x_368, 1); + x_371 = x_368; +} else { + lean_dec_ref(x_368); + x_371 = lean_box(0); +} +if (lean_is_scalar(x_371)) { + x_372 = lean_alloc_ctor(0, 2, 0); +} else { + x_372 = x_371; +} +lean_ctor_set(x_372, 0, x_369); +lean_ctor_set(x_372, 1, x_370); +x_373 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_373, 0, x_372); +return x_373; +} +} +} +default: +{ +uint8_t x_374; +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_374 = lean_ctor_get_uint8(x_4, 0); +lean_dec(x_4); +if (x_374 == 0) +{ +lean_object* x_375; +x_375 = l_Lean_Parser_compileParserDescr_visit___closed__13; +return x_375; +} +else +{ +lean_object* x_376; +x_376 = l_Lean_Parser_compileParserDescr_visit___closed__17; +return x_376; +} +} } } } @@ -7905,7 +8221,7 @@ lean_dec(x_2); return x_6; } } -lean_object* l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1539____spec__1(lean_object* x_1, lean_object* x_2) { +lean_object* l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1559____spec__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; uint8_t x_4; @@ -7930,12 +8246,12 @@ return x_7; } } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1539_(lean_object* x_1) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1559_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; x_2 = lean_box(0); -x_3 = l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1539____spec__1(x_2, x_1); +x_3 = l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1559____spec__1(x_2, x_1); return x_3; } } @@ -8082,27 +8398,17 @@ x_9 = l_Lean_Parser_runParserAttributeHooks(x_1, x_2, x_8, x_4, x_5, x_6, x_7); return x_9; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Lean_ToExpr___instance__7___closed__1; -x_2 = l___private_Init_LeanInit_0__Lean_quoteName___closed__3; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; uint8_t x_8; lean_object* x_9; -x_7 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___closed__1; +x_7 = lean_box(0); x_8 = 1; x_9 = l_Lean_Parser_runParserAttributeHooks(x_7, x_1, x_8, x_3, x_4, x_5, x_6); return x_9; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__1() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__1() { _start: { lean_object* x_1; @@ -8110,69 +8416,70 @@ x_1 = lean_mk_string("invalid attribute 'runBuiltinParserAttributeHooks', unexpe return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__2() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__1; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__3() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__2; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; x_8 = l_Lean_Syntax_hasArgs(x_2); if (x_8 == 0) { -lean_object* x_9; lean_object* x_10; +lean_object* x_9; uint8_t x_10; lean_object* x_11; x_9 = lean_box(0); -x_10 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1(x_1, x_9, x_4, x_5, x_6, x_7); -return x_10; +x_10 = 1; +x_11 = l_Lean_Parser_runParserAttributeHooks(x_9, x_1, x_10, x_4, x_5, x_6, x_7); +return x_11; } else { -lean_object* x_11; lean_object* x_12; uint8_t x_13; +lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_dec(x_1); -x_11 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__3; -x_12 = l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(x_11, x_4, x_5, x_6, x_7); +x_12 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__3; +x_13 = l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(x_12, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) { -return x_12; +return x_13; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_12, 0); -x_15 = lean_ctor_get(x_12, 1); +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_13, 1); +lean_inc(x_16); lean_inc(x_15); -lean_inc(x_14); -lean_dec(x_12); -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -return x_16; +lean_dec(x_13); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +return x_17; } } } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__1() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__1() { _start: { lean_object* x_1; @@ -8180,17 +8487,17 @@ x_1 = lean_mk_string("runBuiltinParserAttributeHooks"); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__2() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__1; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__3() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__3() { _start: { lean_object* x_1; @@ -8198,12 +8505,12 @@ x_1 = lean_mk_string("explicitly run hooks normally activated by builtin parser return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__4() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__4() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__2; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__3; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__2; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__3; x_3 = 0; x_4 = lean_alloc_ctor(0, 2, 1); lean_ctor_set(x_4, 0, x_1); @@ -8212,66 +8519,66 @@ lean_ctor_set_uint8(x_4, sizeof(void*)*2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__5() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__5() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___boxed), 7, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___boxed), 7, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__6() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__4; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__5; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__5; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598_(lean_object* x_1) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__6; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__6; x_3 = l_Lean_registerBuiltinAttribute(x_2, x_1); return x_3; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_2); return x_7; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; lean_object* x_9; x_8 = lean_unbox(x_3); lean_dec(x_3); -x_9 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2(x_1, x_2, x_8, x_4, x_5, x_6, x_7); +x_9 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2(x_1, x_2, x_8, x_4, x_5, x_6, x_7); lean_dec(x_2); return x_9; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; uint8_t x_8; lean_object* x_9; -x_7 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___closed__1; +x_7 = lean_box(0); x_8 = 0; x_9 = l_Lean_Parser_runParserAttributeHooks(x_7, x_1, x_8, x_3, x_4, x_5, x_6); return x_9; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__1() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__1() { _start: { lean_object* x_1; @@ -8279,69 +8586,70 @@ x_1 = lean_mk_string("invalid attribute 'runParserAttributeHooks', unexpected ar return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__2() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__1; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__3() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__2; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; x_8 = l_Lean_Syntax_hasArgs(x_2); if (x_8 == 0) { -lean_object* x_9; lean_object* x_10; +lean_object* x_9; uint8_t x_10; lean_object* x_11; x_9 = lean_box(0); -x_10 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__1(x_1, x_9, x_4, x_5, x_6, x_7); -return x_10; +x_10 = 0; +x_11 = l_Lean_Parser_runParserAttributeHooks(x_9, x_1, x_10, x_4, x_5, x_6, x_7); +return x_11; } else { -lean_object* x_11; lean_object* x_12; uint8_t x_13; +lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_dec(x_1); -x_11 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__3; -x_12 = l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(x_11, x_4, x_5, x_6, x_7); +x_12 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__3; +x_13 = l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(x_12, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) { -return x_12; +return x_13; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_12, 0); -x_15 = lean_ctor_get(x_12, 1); +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_13, 1); +lean_inc(x_16); lean_inc(x_15); -lean_inc(x_14); -lean_dec(x_12); -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -return x_16; +lean_dec(x_13); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +return x_17; } } } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__1() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__1() { _start: { lean_object* x_1; @@ -8349,17 +8657,17 @@ x_1 = lean_mk_string("runParserAttributeHooks"); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__2() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__1; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__3() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__3() { _start: { lean_object* x_1; @@ -8367,12 +8675,12 @@ x_1 = lean_mk_string("explicitly run hooks normally activated by parser attribut return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__4() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__4() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__2; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__3; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__2; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__3; x_3 = 0; x_4 = lean_alloc_ctor(0, 2, 1); lean_ctor_set(x_4, 0, x_1); @@ -8381,51 +8689,51 @@ lean_ctor_set_uint8(x_4, sizeof(void*)*2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__5() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__5() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___boxed), 7, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___boxed), 7, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__6() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__4; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__5; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__5; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654_(lean_object* x_1) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__6; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__6; x_3 = l_Lean_registerBuiltinAttribute(x_2, x_1); return x_3; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_2); return x_7; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; lean_object* x_9; x_8 = lean_unbox(x_3); lean_dec(x_3); -x_9 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2(x_1, x_2, x_8, x_4, x_5, x_6, x_7); +x_9 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2(x_1, x_2, x_8, x_4, x_5, x_6, x_7); lean_dec(x_2); return x_9; } @@ -9358,7 +9666,7 @@ lean_dec(x_1); return x_4; } } -uint8_t l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +uint8_t l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { _start: { uint8_t x_5; @@ -9396,7 +9704,7 @@ return x_14; } } } -lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____spec__1(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____spec__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; @@ -9441,7 +9749,7 @@ size_t x_16; size_t x_17; uint8_t x_18; x_16 = 0; x_17 = lean_usize_of_nat(x_8); lean_dec(x_8); -x_18 = l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____spec__2(x_1, x_6, x_16, x_17); +x_18 = l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____spec__2(x_1, x_6, x_16, x_17); lean_dec(x_6); if (x_18 == 0) { @@ -9512,7 +9820,7 @@ size_t x_39; size_t x_40; uint8_t x_41; x_39 = 0; x_40 = lean_usize_of_nat(x_31); lean_dec(x_31); -x_41 = l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____spec__2(x_1, x_29, x_39, x_40); +x_41 = l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____spec__2(x_1, x_29, x_39, x_40); lean_dec(x_29); if (x_41 == 0) { @@ -9546,7 +9854,7 @@ return x_52; } } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____lambda__1(lean_object* x_1) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____lambda__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; @@ -9561,7 +9869,7 @@ x_6 = l_List_toArrayAux___rarg(x_3, x_5); return x_6; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____lambda__2(lean_object* x_1) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____lambda__2(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; @@ -9578,7 +9886,7 @@ lean_ctor_set(x_8, 1, x_6); return x_8; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__1() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__1() { _start: { lean_object* x_1; @@ -9586,17 +9894,17 @@ x_1 = lean_mk_string("parserExt"); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__2() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__1; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__3() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__3() { _start: { lean_object* x_1; @@ -9604,7 +9912,7 @@ x_1 = lean_alloc_closure((void*)(l___private_Lean_Parser_Extension_0__Lean_Parse return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__4() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__4() { _start: { lean_object* x_1; @@ -9612,7 +9920,7 @@ x_1 = lean_alloc_closure((void*)(l___private_Lean_Parser_Extension_0__Lean_Parse return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__5() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__5() { _start: { lean_object* x_1; @@ -9620,32 +9928,32 @@ x_1 = lean_alloc_closure((void*)(l___private_Lean_Parser_Extension_0__Lean_Parse return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__6() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__6() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____lambda__1), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____lambda__1), 1, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__7() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__7() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____lambda__2___boxed), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____lambda__2___boxed), 1, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__8() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__2; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__3; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__4; -x_4 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__5; -x_5 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__6; -x_6 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__7; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__2; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__3; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__4; +x_4 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__5; +x_5 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__6; +x_6 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__7; x_7 = lean_alloc_ctor(0, 6, 0); lean_ctor_set(x_7, 0, x_1); lean_ctor_set(x_7, 1, x_2); @@ -9656,16 +9964,16 @@ lean_ctor_set(x_7, 5, x_6); return x_7; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861_(lean_object* x_1) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__8; -x_3 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____spec__1(x_2, x_1); +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__8; +x_3 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____spec__1(x_2, x_1); return x_3; } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8; @@ -9673,18 +9981,18 @@ x_5 = lean_unbox_usize(x_3); lean_dec(x_3); x_6 = lean_unbox_usize(x_4); lean_dec(x_4); -x_7 = l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____spec__2(x_1, x_2, x_5, x_6); +x_7 = l_Array_anyMUnsafe_any___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____spec__2(x_1, x_2, x_5, x_6); lean_dec(x_2); lean_dec(x_1); x_8 = lean_box(x_7); return x_8; } } -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____lambda__2___boxed(lean_object* x_1) { +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____lambda__2___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____lambda__2(x_1); +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____lambda__2(x_1); lean_dec(x_1); return x_2; } @@ -14173,68 +14481,11 @@ x_7 = l_Lean_Parser_registerParserCategory(x_1, x_2, x_3, x_6, x_5); return x_7; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("builtinTermParser"); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__1; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053_(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__2; -x_3 = l___kind_tactic____x40_Init_Tactics___hyg_461____closed__9; -x_4 = 0; -x_5 = l_Lean_Parser_registerBuiltinParserAttribute(x_2, x_3, x_4, x_1); -return x_5; -} -} -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("termParser"); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__1; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063_(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__2; -x_3 = l___kind_tactic____x40_Init_Tactics___hyg_461____closed__9; -x_4 = l_Lean_Parser_registerBuiltinDynamicParserAttribute(x_2, x_3, x_1); -return x_4; -} -} static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string("builtinCommandParser"); +x_1 = lean_mk_string("builtinTermParser"); return x_1; } } @@ -14248,30 +14499,12 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("command"); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__3; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_3 = l___kind_tactic____x40_Init_Tactics___hyg_461____closed__9; x_4 = 0; x_5 = l_Lean_Parser_registerBuiltinParserAttribute(x_2, x_3, x_4, x_1); return x_5; @@ -14281,7 +14514,7 @@ static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hy _start: { lean_object* x_1; -x_1 = lean_mk_string("commandParser"); +x_1 = lean_mk_string("termParser"); return x_1; } } @@ -14300,7 +14533,82 @@ _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3083____closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_3 = l___kind_tactic____x40_Init_Tactics___hyg_461____closed__9; +x_4 = l_Lean_Parser_registerBuiltinDynamicParserAttribute(x_2, x_3, x_1); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("builtinCommandParser"); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("command"); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093_(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; +x_4 = 0; +x_5 = l_Lean_Parser_registerBuiltinParserAttribute(x_2, x_3, x_4, x_1); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("commandParser"); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103_(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_4 = l_Lean_Parser_registerBuiltinDynamicParserAttribute(x_2, x_3, x_1); return x_4; } @@ -14309,7 +14617,7 @@ lean_object* l_Lean_Parser_commandParser(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_categoryParser(x_2, x_1); return x_3; } @@ -14672,7 +14980,7 @@ static lean_object* _init_l_Lean_Parser_notFollowedByCommandToken___closed__1() _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_notFollowedByCategoryTokenFn), 3, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -14829,71 +15137,85 @@ l_Lean_Parser_compileParserDescr_visit___closed__8 = _init_l_Lean_Parser_compile lean_mark_persistent(l_Lean_Parser_compileParserDescr_visit___closed__8); l_Lean_Parser_compileParserDescr_visit___closed__9 = _init_l_Lean_Parser_compileParserDescr_visit___closed__9(); lean_mark_persistent(l_Lean_Parser_compileParserDescr_visit___closed__9); -res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1539_(lean_io_mk_world()); +l_Lean_Parser_compileParserDescr_visit___closed__10 = _init_l_Lean_Parser_compileParserDescr_visit___closed__10(); +lean_mark_persistent(l_Lean_Parser_compileParserDescr_visit___closed__10); +l_Lean_Parser_compileParserDescr_visit___closed__11 = _init_l_Lean_Parser_compileParserDescr_visit___closed__11(); +lean_mark_persistent(l_Lean_Parser_compileParserDescr_visit___closed__11); +l_Lean_Parser_compileParserDescr_visit___closed__12 = _init_l_Lean_Parser_compileParserDescr_visit___closed__12(); +lean_mark_persistent(l_Lean_Parser_compileParserDescr_visit___closed__12); +l_Lean_Parser_compileParserDescr_visit___closed__13 = _init_l_Lean_Parser_compileParserDescr_visit___closed__13(); +lean_mark_persistent(l_Lean_Parser_compileParserDescr_visit___closed__13); +l_Lean_Parser_compileParserDescr_visit___closed__14 = _init_l_Lean_Parser_compileParserDescr_visit___closed__14(); +lean_mark_persistent(l_Lean_Parser_compileParserDescr_visit___closed__14); +l_Lean_Parser_compileParserDescr_visit___closed__15 = _init_l_Lean_Parser_compileParserDescr_visit___closed__15(); +lean_mark_persistent(l_Lean_Parser_compileParserDescr_visit___closed__15); +l_Lean_Parser_compileParserDescr_visit___closed__16 = _init_l_Lean_Parser_compileParserDescr_visit___closed__16(); +lean_mark_persistent(l_Lean_Parser_compileParserDescr_visit___closed__16); +l_Lean_Parser_compileParserDescr_visit___closed__17 = _init_l_Lean_Parser_compileParserDescr_visit___closed__17(); +lean_mark_persistent(l_Lean_Parser_compileParserDescr_visit___closed__17); +res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1559_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Parser_parserAttributeHooks = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Parser_parserAttributeHooks); lean_dec_ref(res); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___closed__1(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__1___closed__1); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__1(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__1); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__2(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__2); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__3(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____lambda__2___closed__3); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__1(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__1); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__2(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__2); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__3(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__3); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__4(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__4); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__5 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__5(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__5); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__6 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__6(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598____closed__6); -res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1598_(lean_io_mk_world()); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__1(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__1); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__2(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__2); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__3(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____lambda__2___closed__3); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__1(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__1); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__2(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__2); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__3(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__3); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__4(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__4); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__5 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__5(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__5); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__6 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__6(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618____closed__6); +res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1618_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__1(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__1); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__2(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__2); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__3(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____lambda__2___closed__3); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__1(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__1); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__2(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__2); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__3(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__3); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__4(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__4); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__5 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__5(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__5); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__6 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__6(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654____closed__6); -res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1654_(lean_io_mk_world()); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__1(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__1); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__2(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__2); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__3(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____lambda__2___closed__3); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__1(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__1); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__2(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__2); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__3(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__3); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__4(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__4); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__5 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__5(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__5); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__6 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__6(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674____closed__6); +res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1674_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__1(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__1); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__2(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__2); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__3(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__3); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__4(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__4); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__5 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__5(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__5); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__6 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__6(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__6); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__7 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__7(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__7); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__8 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__8(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861____closed__8); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__1(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__1); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__2(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__2); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__3(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__3); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__4(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__4); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__5 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__5(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__5); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__6 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__6(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__6); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__7 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__7(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__7); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__8 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__8(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881____closed__8); l_Lean_Parser_parserExtension___closed__1 = _init_l_Lean_Parser_parserExtension___closed__1(); lean_mark_persistent(l_Lean_Parser_parserExtension___closed__1); l_Lean_Parser_parserExtension___closed__2 = _init_l_Lean_Parser_parserExtension___closed__2(); @@ -14904,7 +15226,7 @@ l_Lean_Parser_parserExtension___closed__4 = _init_l_Lean_Parser_parserExtension_ lean_mark_persistent(l_Lean_Parser_parserExtension___closed__4); l_Lean_Parser_parserExtension___closed__5 = _init_l_Lean_Parser_parserExtension___closed__5(); lean_mark_persistent(l_Lean_Parser_parserExtension___closed__5); -res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1861_(lean_io_mk_world()); +res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1881_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Parser_parserExtension = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Parser_parserExtension); @@ -14977,28 +15299,10 @@ lean_mark_persistent(l___private_Lean_Parser_Extension_0__Lean_Parser_registerPa res = l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__1(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__1); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__2(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053____closed__2); -res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3053_(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__1(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__1); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__2(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063____closed__2); -res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3063_(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__1(); lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__1); l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__2(); lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__2); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__3(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__3); -l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4); res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -15009,6 +15313,24 @@ lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_308 res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3083_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__1(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__1); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__2(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__2); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__3(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__3); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4); +res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093_(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__1(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__1); +l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__2(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103____closed__2); +res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3103_(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_Parser_notFollowedByCommandToken___closed__1 = _init_l_Lean_Parser_notFollowedByCommandToken___closed__1(); lean_mark_persistent(l_Lean_Parser_notFollowedByCommandToken___closed__1); l_Lean_Parser_notFollowedByCommandToken___closed__2 = _init_l_Lean_Parser_notFollowedByCommandToken___closed__2(); diff --git a/stage0/stdlib/Lean/Parser/Extra.c b/stage0/stdlib/Lean/Parser/Extra.c index 08fd81a536..34313f3d8e 100644 --- a/stage0/stdlib/Lean/Parser/Extra.c +++ b/stage0/stdlib/Lean/Parser/Extra.c @@ -13,12 +13,13 @@ #ifdef __cplusplus extern "C" { #endif -lean_object* l_Lean_PrettyPrinter_Formatter_strLitNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_indent___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_ppIndent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_many1Indent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_ppSpace_parenthesizer(lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__3; lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_andthenInfo(lean_object*, lean_object*); lean_object* l_Lean_Parser_ParserState_mkError(lean_object*, lean_object*); @@ -33,10 +34,9 @@ extern lean_object* l_Lean_nullKind; lean_object* l_Lean_Parser_notFollowedByFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_identKind___closed__1; lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__10; +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; lean_object* l_Lean_Parser_ppSpace_parenthesizer___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_many_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_identNoAntiquot_parenthesizer___boxed(lean_object*); -lean_object* l_Lean_Parser_many1Indent_parenthesizer___closed__1; lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__3; lean_object* l_Lean_Parser_ppGroup___boxed(lean_object*); extern lean_object* l_Lean_Parser_numLit___elambda__1___closed__1; @@ -59,20 +59,17 @@ lean_object* l_Lean_PrettyPrinter_Formatter_pushLine(lean_object*, lean_object*, lean_object* l_Lean_Parser_strLit_formatter___closed__1; lean_object* l___regBuiltin_Lean_Parser_ppSpace_parenthesizer___closed__1; lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__8; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_nameLitNoAntiquot_parenthesizer___boxed(lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_Lean_Parser_ppIndent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_charLitKind___closed__1; extern lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__8___closed__1; +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__9; -lean_object* l_Lean_PrettyPrinter_Formatter_charLitNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_strLit_formatter___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_toggleInsideQuot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_charLit___elambda__1___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_try_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_ppSpace_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_numLitNoAntiquot_parenthesizer___boxed(lean_object*); lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__5; lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppHardSpace_formatter(lean_object*); lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__5; @@ -94,14 +91,13 @@ lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__3; extern lean_object* l_Lean_Parser_mkAntiquot___closed__3; lean_object* l_Lean_PrettyPrinter_Formatter_optional_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_nameLit_formatter(lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_checkColGe_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_PrettyPrinter_parenthesizerAttribute; lean_object* l_Lean_PrettyPrinter_Parenthesizer_setExpected_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_termParser_formatter___boxed(lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3; +extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; lean_object* l___regBuiltin_Lean_Parser_charLit_formatter___closed__1; -lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__12; lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__2; -extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; lean_object* l_Lean_Parser_ppSpace_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppSpace_formatter___closed__3; extern lean_object* l___private_Lean_Data_Format_0__Lean_Format_pushNewline___closed__1; @@ -109,9 +105,7 @@ lean_object* l_Lean_Parser_ppHardSpace_parenthesizer___boxed(lean_object*, lean_ lean_object* l___regBuiltin_Lean_Parser_charLit_formatter(lean_object*); extern lean_object* l_Init_Data_Repr___instance__7___rarg___closed__2; lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__11; -lean_object* l_Lean_Parser_charLit_formatter___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_setExpected_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_strLit_parenthesizer___closed__2; lean_object* l_Lean_Parser_nodeInfo(lean_object*, lean_object*); lean_object* l_Lean_Parser_symbolFn___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_strLit_parenthesizer___closed__1; @@ -139,17 +133,16 @@ extern lean_object* l_Lean_strLitKind___closed__1; lean_object* l___regBuiltin_Lean_Parser_nameLit_parenthesizer___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_toggleInsideQuot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_node_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_many1Indent_formatter___closed__1; lean_object* l___regBuiltin_Lean_Parser_strLit_parenthesizer(lean_object*); lean_object* l___regBuiltin_Lean_Parser_antiquotExpr_formatter___closed__3; lean_object* l___regBuiltin_Lean_Parser_ident_formatter___closed__1; lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__6; extern lean_object* l___private_Init_Util_0__mkPanicMessage___closed__2; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_charLitNoAntiquot_parenthesizer___boxed(lean_object*); lean_object* l_Lean_Parser_manyIndent(lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppSpace_formatter(lean_object*); lean_object* l_Lean_Parser_antiquotNestedExpr_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___kind_tactic____x40_Init_Tactics___hyg_461____closed__9; +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3; lean_object* l_Lean_Parser_ppSpace; lean_object* l_Lean_Parser_ppHardSpace; lean_object* l_Lean_Parser_termParser_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -169,7 +162,6 @@ extern lean_object* l_Lean_PrettyPrinter_formatterAttribute; lean_object* l_Lean_Parser_ppLine_parenthesizer___rarg(lean_object*); lean_object* l___regBuiltin_Lean_Parser_numLit_parenthesizer(lean_object*); lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__10; -lean_object* l_Lean_Parser_antiquotExpr_parenthesizer___closed__1; lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_symbol_parenthesizer___boxed(lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppHardSpace_formatter___closed__1; @@ -177,7 +169,6 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_pushNone_parenthesizer___boxed(l lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppLine_formatter(lean_object*); lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__9; -lean_object* l_Lean_Parser_numLit_parenthesizer___closed__2; lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppHardSpace_formatter___closed__2; lean_object* l_Lean_Parser_ppIndent___boxed(lean_object*); lean_object* l___regBuiltin_Lean_Parser_strLit_formatter___closed__1; @@ -195,17 +186,18 @@ lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__6; lean_object* l_Lean_PrettyPrinter_Formatter_ppSpace_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkAntiquot_formatter(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_nameLit___elambda__1___closed__1; +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__3; lean_object* l_Lean_Parser_notSymbol(lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3; lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__2; lean_object* l_Lean_Parser_termParser_formatter(lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_ppLine_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__3; extern lean_object* l_Lean_Parser_ident___elambda__1___closed__1; lean_object* l_Lean_Parser_checkColGeFn(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__1; lean_object* l_Lean_Parser_commandParser_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_nameLit_parenthesizer___closed__1; lean_object* l_Lean_Parser_charLit_formatter___closed__1; lean_object* l_Lean_Parser_ppDedent___boxed(lean_object*); @@ -213,7 +205,6 @@ lean_object* l_Lean_PrettyPrinter_Formatter_push(lean_object*, lean_object*, lea lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppLine_formatter___closed__3; lean_object* l___regBuiltin_Lean_Parser_numLit_formatter___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_ppHardSpace_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_checkNoWsBefore_formatter___boxed(lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_nameLit_parenthesizer(lean_object*); lean_object* l_Lean_Parser_ppGroup_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -221,20 +212,21 @@ lean_object* l_Lean_Parser_commandParser_parenthesizer(lean_object*, lean_object lean_object* l_Lean_Name_append(lean_object*, lean_object*); lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__7; lean_object* l___regBuiltin_Lean_Parser_ppLine_parenthesizer(lean_object*); -lean_object* l_Lean_Parser_nameLit_parenthesizer___closed__2; lean_object* l___regBuiltin_Lean_Parser_numLit_formatter___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_ppDedent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_charLit_parenthesizer___closed__1; lean_object* l_Lean_Parser_charLit_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_many1Indent___lambda__1___closed__1; +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3; lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__6; -lean_object* l_Lean_Parser_charLit_parenthesizer___closed__2; lean_object* l_Lean_Parser_notSymbol_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Format_getIndent(lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; lean_object* l_Lean_Parser_many1Indent(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoImmediateColon_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_pushNone_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_charLit_parenthesizer(lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__3; lean_object* l___regBuiltin_Lean_Parser_ppLine_parenthesizer___closed__1; lean_object* l_Lean_Parser_notSymbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_mkAntiquot___closed__19; @@ -243,11 +235,9 @@ lean_object* l_Lean_Parser_nameLit_formatter___closed__1; lean_object* l_Lean_Parser_antiquotExpr_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_ident_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkNoImmediateColon_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_numLit_formatter___closed__2; lean_object* l_Lean_Parser_numLit_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_antiquotNestedExpr_formatter___closed__2; lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppHardSpace_formatter___closed__3; -lean_object* l_Lean_PrettyPrinter_Formatter_numLitNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_String_trim(lean_object*); lean_object* l___regBuiltin_Lean_Parser_antiquotExpr_parenthesizer(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_optional_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -255,7 +245,6 @@ lean_object* l_Lean_Parser_nodeFn(lean_object*, lean_object*, lean_object*, lean lean_object* l_Lean_Parser_nameLit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_int_sub(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_nameLit_formatter___closed__2; lean_object* l_Lean_Parser_ppGroup(lean_object*); lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__4; lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__4; @@ -263,18 +252,15 @@ lean_object* l_Lean_Parser_ident_parenthesizer___closed__1; lean_object* l___regBuiltin_Lean_Parser_antiquotNestedExpr_formatter(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_strLitNoAntiquot_parenthesizer___boxed(lean_object*); lean_object* l___regBuiltin_Lean_Parser_ident_formatter(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_ppLine_formatter___closed__1; lean_object* l___regBuiltin_Lean_Parser_strLit_formatter___closed__2; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkColGe_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_ppLine_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__12; extern lean_object* l_Lean_Parser_mkAntiquot___closed__8; -lean_object* l_Lean_PrettyPrinter_Formatter_nameLitNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_many1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_notSymbol_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_antiquotExpr_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3; lean_object* l___regBuiltin_Lean_Parser_charLit_parenthesizer___closed__1; lean_object* l_Lean_Parser_numLit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__5; @@ -286,6 +272,7 @@ lean_object* l_Lean_PrettyPrinter_Formatter_group(lean_object*, lean_object*, le lean_object* l_Lean_Parser_nameLit_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_foldlMUnsafe_fold___at_Lean_ppGoal___spec__7___closed__1; lean_object* lean_nat_to_int(lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__3; lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__7; lean_object* l_Lean_Parser_notSymbol_parenthesizer___rarg(lean_object*); lean_object* l___regBuiltin_Lean_Parser_numLit_parenthesizer___closed__1; @@ -297,7 +284,6 @@ extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__2; lean_object* l_Lean_Parser_ppDedent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_notSymbol_formatter___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_try_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_antiquotExpr_formatter___closed__1; lean_object* l_Lean_Parser_termParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_nameLitKind___closed__1; lean_object* l_Lean_Parser_manyIndent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -374,7 +360,7 @@ lean_object* l_Lean_Parser_commandParser_formatter___rarg(lean_object* x_1, lean _start: { lean_object* x_6; lean_object* x_7; -x_6 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_6 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_7 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(x_6, x_1, x_2, x_3, x_4, x_5); return x_7; } @@ -400,7 +386,7 @@ lean_object* l_Lean_Parser_commandParser_parenthesizer(lean_object* x_1, lean_ob _start: { lean_object* x_7; lean_object* x_8; -x_7 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_7 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_8 = l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(x_7, x_1, x_2, x_3, x_4, x_5, x_6); return x_8; } @@ -599,19 +585,11 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } -static lean_object* _init_l_Lean_Parser_antiquotExpr_formatter___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___boxed), 5, 0); -return x_1; -} -} lean_object* l_Lean_Parser_antiquotExpr_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_antiquotExpr_formatter___closed__1; +x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__3; x_7 = l___regBuiltin_Lean_Parser_antiquotNestedExpr_formatter___closed__2; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; @@ -654,19 +632,11 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } -static lean_object* _init_l_Lean_Parser_antiquotExpr_parenthesizer___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_identNoAntiquot_parenthesizer___boxed), 1, 0); -return x_1; -} -} lean_object* l_Lean_Parser_antiquotExpr_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_antiquotExpr_parenthesizer___closed__1; +x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3; x_7 = l___regBuiltin_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__1; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; @@ -714,16 +684,8 @@ return x_2; static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__3() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkNoWsBefore_formatter___boxed), 1, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__4() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__3; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_mkAntiquot_formatter___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -731,17 +693,17 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__4; +x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__3; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_many_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__6() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__5() { _start: { lean_object* x_1; lean_object* x_2; @@ -751,29 +713,29 @@ lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__7() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__3; -x_2 = l_Lean_Parser_mkAntiquot_formatter___closed__6; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; +x_2 = l_Lean_Parser_mkAntiquot_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__8() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__7() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__7; +x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__6; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_optional_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__9() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__8() { _start: { lean_object* x_1; lean_object* x_2; @@ -783,7 +745,7 @@ lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__10() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__9() { _start: { lean_object* x_1; @@ -791,7 +753,7 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkNoImmediate return x_1; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__11() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__10() { _start: { lean_object* x_1; @@ -799,12 +761,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_pushNone_formatt return x_1; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__12() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_formatter___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__10; -x_2 = l_Lean_Parser_mkAntiquot_formatter___closed__11; +x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__9; +x_2 = l_Lean_Parser_mkAntiquot_formatter___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -842,11 +804,11 @@ if (x_3 == 0) lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; x_12 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_nonReservedSymbol_formatter___boxed), 6, 1); lean_closure_set(x_12, 0, x_1); -x_13 = l_Lean_Parser_mkAntiquot_formatter___closed__9; +x_13 = l_Lean_Parser_mkAntiquot_formatter___closed__8; x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_14, 0, x_13); lean_closure_set(x_14, 1, x_12); -x_15 = l_Lean_Parser_mkAntiquot_formatter___closed__3; +x_15 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; x_16 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_16, 0, x_15); lean_closure_set(x_16, 1, x_14); @@ -854,7 +816,7 @@ x_17 = l_Lean_Parser_mkAntiquot___closed__3; x_18 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_node_formatter), 7, 2); lean_closure_set(x_18, 0, x_17); lean_closure_set(x_18, 1, x_16); -x_19 = l_Lean_Parser_mkAntiquot_formatter___closed__8; +x_19 = l_Lean_Parser_mkAntiquot_formatter___closed__7; x_20 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_20, 0, x_18); lean_closure_set(x_20, 1, x_19); @@ -865,7 +827,7 @@ lean_closure_set(x_22, 1, x_20); x_23 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_23, 0, x_15); lean_closure_set(x_23, 1, x_22); -x_24 = l_Lean_Parser_mkAntiquot_formatter___closed__5; +x_24 = l_Lean_Parser_mkAntiquot_formatter___closed__4; x_25 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_25, 0, x_24); lean_closure_set(x_25, 1, x_23); @@ -883,11 +845,11 @@ else lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; x_30 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_nonReservedSymbol_formatter___boxed), 6, 1); lean_closure_set(x_30, 0, x_1); -x_31 = l_Lean_Parser_mkAntiquot_formatter___closed__9; +x_31 = l_Lean_Parser_mkAntiquot_formatter___closed__8; x_32 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_32, 0, x_31); lean_closure_set(x_32, 1, x_30); -x_33 = l_Lean_Parser_mkAntiquot_formatter___closed__3; +x_33 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; x_34 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_34, 0, x_33); lean_closure_set(x_34, 1, x_32); @@ -895,11 +857,11 @@ x_35 = l_Lean_Parser_mkAntiquot___closed__3; x_36 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_node_formatter), 7, 2); lean_closure_set(x_36, 0, x_35); lean_closure_set(x_36, 1, x_34); -x_37 = l_Lean_Parser_mkAntiquot_formatter___closed__12; +x_37 = l_Lean_Parser_mkAntiquot_formatter___closed__11; x_38 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); lean_closure_set(x_38, 0, x_36); lean_closure_set(x_38, 1, x_37); -x_39 = l_Lean_Parser_mkAntiquot_formatter___closed__8; +x_39 = l_Lean_Parser_mkAntiquot_formatter___closed__7; x_40 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_40, 0, x_38); lean_closure_set(x_40, 1, x_39); @@ -910,7 +872,7 @@ lean_closure_set(x_42, 1, x_40); x_43 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_43, 0, x_33); lean_closure_set(x_43, 1, x_42); -x_44 = l_Lean_Parser_mkAntiquot_formatter___closed__5; +x_44 = l_Lean_Parser_mkAntiquot_formatter___closed__4; x_45 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_45, 0, x_44); lean_closure_set(x_45, 1, x_43); @@ -959,16 +921,8 @@ return x_2; static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__3() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer___boxed), 4, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__4() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -976,17 +930,17 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__4; +x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__6() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; @@ -996,29 +950,29 @@ lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__7() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; -x_2 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__6; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; +x_2 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__8() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__7() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__7; +x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__6; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_optional_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__9() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__8() { _start: { lean_object* x_1; lean_object* x_2; @@ -1028,7 +982,7 @@ lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__10() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__9() { _start: { lean_object* x_1; @@ -1036,7 +990,7 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkNoImmed return x_1; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__11() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__10() { _start: { lean_object* x_1; @@ -1044,12 +998,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_pushNone_par return x_1; } } -static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__12() { +static lean_object* _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__10; -x_2 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__11; +x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__9; +x_2 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -1090,11 +1044,11 @@ x_13 = lean_box(x_12); x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_nonReservedSymbol_parenthesizer___boxed), 3, 2); lean_closure_set(x_14, 0, x_1); lean_closure_set(x_14, 1, x_13); -x_15 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__9; +x_15 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; x_16 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_16, 0, x_15); lean_closure_set(x_16, 1, x_14); -x_17 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; +x_17 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; x_18 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_18, 0, x_17); lean_closure_set(x_18, 1, x_16); @@ -1102,7 +1056,7 @@ x_19 = l_Lean_Parser_mkAntiquot___closed__3; x_20 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer), 7, 2); lean_closure_set(x_20, 0, x_19); lean_closure_set(x_20, 1, x_18); -x_21 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; +x_21 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__7; x_22 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_22, 0, x_20); lean_closure_set(x_22, 1, x_21); @@ -1113,7 +1067,7 @@ lean_closure_set(x_24, 1, x_22); x_25 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_25, 0, x_17); lean_closure_set(x_25, 1, x_24); -x_26 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__5; +x_26 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__4; x_27 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_27, 0, x_26); lean_closure_set(x_27, 1, x_25); @@ -1134,11 +1088,11 @@ x_33 = lean_box(x_32); x_34 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_nonReservedSymbol_parenthesizer___boxed), 3, 2); lean_closure_set(x_34, 0, x_1); lean_closure_set(x_34, 1, x_33); -x_35 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__9; +x_35 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; x_36 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_36, 0, x_35); lean_closure_set(x_36, 1, x_34); -x_37 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; +x_37 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; x_38 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_38, 0, x_37); lean_closure_set(x_38, 1, x_36); @@ -1146,11 +1100,11 @@ x_39 = l_Lean_Parser_mkAntiquot___closed__3; x_40 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer), 7, 2); lean_closure_set(x_40, 0, x_39); lean_closure_set(x_40, 1, x_38); -x_41 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__12; +x_41 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__11; x_42 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); lean_closure_set(x_42, 0, x_40); lean_closure_set(x_42, 1, x_41); -x_43 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; +x_43 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__7; x_44 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_44, 0, x_42); lean_closure_set(x_44, 1, x_43); @@ -1161,7 +1115,7 @@ lean_closure_set(x_46, 1, x_44); x_47 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_47, 0, x_37); lean_closure_set(x_47, 1, x_46); -x_48 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__5; +x_48 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__4; x_49 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_49, 0, x_48); lean_closure_set(x_49, 1, x_47); @@ -1247,7 +1201,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_ident_formatter___closed__1; -x_7 = l_Lean_Parser_antiquotExpr_formatter___closed__1; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__3; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -1301,7 +1255,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_ident_parenthesizer___closed__1; -x_7 = l_Lean_Parser_antiquotExpr_parenthesizer___closed__1; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -1340,20 +1294,12 @@ lean_closure_set(x_5, 2, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_numLit_formatter___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_numLitNoAntiquot_formatter___boxed), 5, 0); -return x_1; -} -} lean_object* l_Lean_Parser_numLit_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_numLit_formatter___closed__1; -x_7 = l_Lean_Parser_numLit_formatter___closed__2; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__3; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -1402,20 +1348,12 @@ lean_closure_set(x_5, 2, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_numLit_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_numLitNoAntiquot_parenthesizer___boxed), 1, 0); -return x_1; -} -} lean_object* l_Lean_Parser_numLit_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_numLit_parenthesizer___closed__1; -x_7 = l_Lean_Parser_numLit_parenthesizer___closed__2; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -1454,20 +1392,12 @@ lean_closure_set(x_5, 2, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_charLit_formatter___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_charLitNoAntiquot_formatter___boxed), 5, 0); -return x_1; -} -} lean_object* l_Lean_Parser_charLit_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_charLit_formatter___closed__1; -x_7 = l_Lean_Parser_charLit_formatter___closed__2; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__3; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -1516,20 +1446,12 @@ lean_closure_set(x_5, 2, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_charLit_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_charLitNoAntiquot_parenthesizer___boxed), 1, 0); -return x_1; -} -} lean_object* l_Lean_Parser_charLit_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_charLit_parenthesizer___closed__1; -x_7 = l_Lean_Parser_charLit_parenthesizer___closed__2; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -1568,20 +1490,12 @@ lean_closure_set(x_5, 2, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_strLit_formatter___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_strLitNoAntiquot_formatter___boxed), 5, 0); -return x_1; -} -} lean_object* l_Lean_Parser_strLit_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_strLit_formatter___closed__1; -x_7 = l_Lean_Parser_strLit_formatter___closed__2; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__3; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -1630,20 +1544,12 @@ lean_closure_set(x_5, 2, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_strLit_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_strLitNoAntiquot_parenthesizer___boxed), 1, 0); -return x_1; -} -} lean_object* l_Lean_Parser_strLit_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_strLit_parenthesizer___closed__1; -x_7 = l_Lean_Parser_strLit_parenthesizer___closed__2; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -1682,20 +1588,12 @@ lean_closure_set(x_5, 2, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_nameLit_formatter___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_nameLitNoAntiquot_formatter___boxed), 5, 0); -return x_1; -} -} lean_object* l_Lean_Parser_nameLit_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_nameLit_formatter___closed__1; -x_7 = l_Lean_Parser_nameLit_formatter___closed__2; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__3; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -1744,20 +1642,12 @@ lean_closure_set(x_5, 2, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_nameLit_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_nameLitNoAntiquot_parenthesizer___boxed), 1, 0); -return x_1; -} -} lean_object* l_Lean_Parser_nameLit_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_nameLit_parenthesizer___closed__1; -x_7 = l_Lean_Parser_nameLit_parenthesizer___closed__2; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -1819,19 +1709,11 @@ lean_ctor_set(x_7, 1, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_many1Indent_formatter___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkColGe_formatter___boxed), 4, 0); -return x_1; -} -} lean_object* l_Lean_Parser_many1Indent_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_7 = l_Lean_Parser_many1Indent_formatter___closed__1; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; x_8 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_8, 0, x_7); lean_closure_set(x_8, 1, x_1); @@ -1839,19 +1721,11 @@ x_9 = l_Lean_PrettyPrinter_Formatter_many_formatter(x_8, x_2, x_3, x_4, x_5, x_6 return x_9; } } -static lean_object* _init_l_Lean_Parser_many1Indent_parenthesizer___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkColGe_parenthesizer___boxed), 4, 0); -return x_1; -} -} lean_object* l_Lean_Parser_many1Indent_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_7 = l_Lean_Parser_many1Indent_parenthesizer___closed__1; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; x_8 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_8, 0, x_7); lean_closure_set(x_8, 1, x_1); @@ -2211,7 +2085,7 @@ lean_object* l_Lean_Parser_manyIndent_formatter(lean_object* x_1, lean_object* x _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_7 = l_Lean_Parser_many1Indent_formatter___closed__1; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; x_8 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_8, 0, x_7); lean_closure_set(x_8, 1, x_1); @@ -2223,7 +2097,7 @@ lean_object* l_Lean_Parser_manyIndent_parenthesizer(lean_object* x_1, lean_objec _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_7 = l_Lean_Parser_many1Indent_parenthesizer___closed__1; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; x_8 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_8, 0, x_7); lean_closure_set(x_8, 1, x_1); @@ -2988,8 +2862,6 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_antiquotNestedExpr_parenthesizer res = l___regBuiltin_Lean_Parser_antiquotNestedExpr_parenthesizer(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Parser_antiquotExpr_formatter___closed__1 = _init_l_Lean_Parser_antiquotExpr_formatter___closed__1(); -lean_mark_persistent(l_Lean_Parser_antiquotExpr_formatter___closed__1); l___regBuiltin_Lean_Parser_antiquotExpr_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_antiquotExpr_formatter___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_antiquotExpr_formatter___closed__1); l___regBuiltin_Lean_Parser_antiquotExpr_formatter___closed__2 = _init_l___regBuiltin_Lean_Parser_antiquotExpr_formatter___closed__2(); @@ -2999,8 +2871,6 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_antiquotExpr_formatter___closed_ res = l___regBuiltin_Lean_Parser_antiquotExpr_formatter(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Parser_antiquotExpr_parenthesizer___closed__1 = _init_l_Lean_Parser_antiquotExpr_parenthesizer___closed__1(); -lean_mark_persistent(l_Lean_Parser_antiquotExpr_parenthesizer___closed__1); l___regBuiltin_Lean_Parser_antiquotExpr_parenthesizer___closed__1 = _init_l___regBuiltin_Lean_Parser_antiquotExpr_parenthesizer___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_antiquotExpr_parenthesizer___closed__1); res = l___regBuiltin_Lean_Parser_antiquotExpr_parenthesizer(lean_io_mk_world()); @@ -3028,8 +2898,6 @@ l_Lean_Parser_mkAntiquot_formatter___closed__10 = _init_l_Lean_Parser_mkAntiquot lean_mark_persistent(l_Lean_Parser_mkAntiquot_formatter___closed__10); l_Lean_Parser_mkAntiquot_formatter___closed__11 = _init_l_Lean_Parser_mkAntiquot_formatter___closed__11(); lean_mark_persistent(l_Lean_Parser_mkAntiquot_formatter___closed__11); -l_Lean_Parser_mkAntiquot_formatter___closed__12 = _init_l_Lean_Parser_mkAntiquot_formatter___closed__12(); -lean_mark_persistent(l_Lean_Parser_mkAntiquot_formatter___closed__12); l_Lean_Parser_mkAntiquot_parenthesizer___closed__1 = _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_mkAntiquot_parenthesizer___closed__1); l_Lean_Parser_mkAntiquot_parenthesizer___closed__2 = _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__2(); @@ -3052,8 +2920,6 @@ l_Lean_Parser_mkAntiquot_parenthesizer___closed__10 = _init_l_Lean_Parser_mkAnti lean_mark_persistent(l_Lean_Parser_mkAntiquot_parenthesizer___closed__10); l_Lean_Parser_mkAntiquot_parenthesizer___closed__11 = _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__11(); lean_mark_persistent(l_Lean_Parser_mkAntiquot_parenthesizer___closed__11); -l_Lean_Parser_mkAntiquot_parenthesizer___closed__12 = _init_l_Lean_Parser_mkAntiquot_parenthesizer___closed__12(); -lean_mark_persistent(l_Lean_Parser_mkAntiquot_parenthesizer___closed__12); l_Lean_Parser_ident_formatter___closed__1 = _init_l_Lean_Parser_ident_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_ident_formatter___closed__1); l___regBuiltin_Lean_Parser_ident_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_ident_formatter___closed__1(); @@ -3072,8 +2938,6 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Parser_numLit_formatter___closed__1 = _init_l_Lean_Parser_numLit_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_numLit_formatter___closed__1); -l_Lean_Parser_numLit_formatter___closed__2 = _init_l_Lean_Parser_numLit_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_numLit_formatter___closed__2); l___regBuiltin_Lean_Parser_numLit_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_numLit_formatter___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_numLit_formatter___closed__1); l___regBuiltin_Lean_Parser_numLit_formatter___closed__2 = _init_l___regBuiltin_Lean_Parser_numLit_formatter___closed__2(); @@ -3083,8 +2947,6 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Parser_numLit_parenthesizer___closed__1 = _init_l_Lean_Parser_numLit_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_numLit_parenthesizer___closed__1); -l_Lean_Parser_numLit_parenthesizer___closed__2 = _init_l_Lean_Parser_numLit_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_numLit_parenthesizer___closed__2); l___regBuiltin_Lean_Parser_numLit_parenthesizer___closed__1 = _init_l___regBuiltin_Lean_Parser_numLit_parenthesizer___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_numLit_parenthesizer___closed__1); res = l___regBuiltin_Lean_Parser_numLit_parenthesizer(lean_io_mk_world()); @@ -3092,8 +2954,6 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Parser_charLit_formatter___closed__1 = _init_l_Lean_Parser_charLit_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_charLit_formatter___closed__1); -l_Lean_Parser_charLit_formatter___closed__2 = _init_l_Lean_Parser_charLit_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_charLit_formatter___closed__2); l___regBuiltin_Lean_Parser_charLit_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_charLit_formatter___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_charLit_formatter___closed__1); l___regBuiltin_Lean_Parser_charLit_formatter___closed__2 = _init_l___regBuiltin_Lean_Parser_charLit_formatter___closed__2(); @@ -3103,8 +2963,6 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Parser_charLit_parenthesizer___closed__1 = _init_l_Lean_Parser_charLit_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_charLit_parenthesizer___closed__1); -l_Lean_Parser_charLit_parenthesizer___closed__2 = _init_l_Lean_Parser_charLit_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_charLit_parenthesizer___closed__2); l___regBuiltin_Lean_Parser_charLit_parenthesizer___closed__1 = _init_l___regBuiltin_Lean_Parser_charLit_parenthesizer___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_charLit_parenthesizer___closed__1); res = l___regBuiltin_Lean_Parser_charLit_parenthesizer(lean_io_mk_world()); @@ -3112,8 +2970,6 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Parser_strLit_formatter___closed__1 = _init_l_Lean_Parser_strLit_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_strLit_formatter___closed__1); -l_Lean_Parser_strLit_formatter___closed__2 = _init_l_Lean_Parser_strLit_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_strLit_formatter___closed__2); l___regBuiltin_Lean_Parser_strLit_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_strLit_formatter___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_strLit_formatter___closed__1); l___regBuiltin_Lean_Parser_strLit_formatter___closed__2 = _init_l___regBuiltin_Lean_Parser_strLit_formatter___closed__2(); @@ -3123,8 +2979,6 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Parser_strLit_parenthesizer___closed__1 = _init_l_Lean_Parser_strLit_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_strLit_parenthesizer___closed__1); -l_Lean_Parser_strLit_parenthesizer___closed__2 = _init_l_Lean_Parser_strLit_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_strLit_parenthesizer___closed__2); l___regBuiltin_Lean_Parser_strLit_parenthesizer___closed__1 = _init_l___regBuiltin_Lean_Parser_strLit_parenthesizer___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_strLit_parenthesizer___closed__1); res = l___regBuiltin_Lean_Parser_strLit_parenthesizer(lean_io_mk_world()); @@ -3132,8 +2986,6 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Parser_nameLit_formatter___closed__1 = _init_l_Lean_Parser_nameLit_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_nameLit_formatter___closed__1); -l_Lean_Parser_nameLit_formatter___closed__2 = _init_l_Lean_Parser_nameLit_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_nameLit_formatter___closed__2); l___regBuiltin_Lean_Parser_nameLit_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_nameLit_formatter___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_nameLit_formatter___closed__1); l___regBuiltin_Lean_Parser_nameLit_formatter___closed__2 = _init_l___regBuiltin_Lean_Parser_nameLit_formatter___closed__2(); @@ -3143,17 +2995,11 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Parser_nameLit_parenthesizer___closed__1 = _init_l_Lean_Parser_nameLit_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_nameLit_parenthesizer___closed__1); -l_Lean_Parser_nameLit_parenthesizer___closed__2 = _init_l_Lean_Parser_nameLit_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_nameLit_parenthesizer___closed__2); l___regBuiltin_Lean_Parser_nameLit_parenthesizer___closed__1 = _init_l___regBuiltin_Lean_Parser_nameLit_parenthesizer___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_nameLit_parenthesizer___closed__1); res = l___regBuiltin_Lean_Parser_nameLit_parenthesizer(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Parser_many1Indent_formatter___closed__1 = _init_l_Lean_Parser_many1Indent_formatter___closed__1(); -lean_mark_persistent(l_Lean_Parser_many1Indent_formatter___closed__1); -l_Lean_Parser_many1Indent_parenthesizer___closed__1 = _init_l_Lean_Parser_many1Indent_parenthesizer___closed__1(); -lean_mark_persistent(l_Lean_Parser_many1Indent_parenthesizer___closed__1); l_Lean_Parser_many1Indent___lambda__1___closed__1 = _init_l_Lean_Parser_many1Indent___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Parser_many1Indent___lambda__1___closed__1); l_Lean_Parser_many1Indent___closed__1 = _init_l_Lean_Parser_many1Indent___closed__1(); diff --git a/stage0/stdlib/Lean/Parser/Syntax.c b/stage0/stdlib/Lean/Parser/Syntax.c index 17fec3bcb4..dd1335ed7a 100644 --- a/stage0/stdlib/Lean/Parser/Syntax.c +++ b/stage0/stdlib/Lean/Parser/Syntax.c @@ -99,6 +99,7 @@ lean_object* l_Lean_Parser_Syntax_ident_formatter___closed__2; lean_object* l___regBuiltin_Lean_Parser_Syntax_char_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Syntax_str___closed__6; lean_object* l_Lean_Parser_Command_macroHead_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__5; lean_object* l___regBuiltin_Lean_Parser_Syntax_sepBy_formatter___closed__1; lean_object* l_Lean_Parser_Syntax_lookahead___closed__4; lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__13; @@ -131,6 +132,7 @@ lean_object* l_Lean_Parser_Syntax_str___elambda__1___closed__5; lean_object* l_Lean_Parser_Command_macroTail___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__9; extern lean_object* l_Lean_identKind___closed__1; +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__4; lean_object* l_Lean_Parser_Command_syntaxCat___elambda__1___closed__3; lean_object* l_Lean_Parser_Command_elab_formatter___closed__7; @@ -155,7 +157,6 @@ lean_object* l_Lean_Parser_Command_infixl_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_parserKindPrio_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_parserKindPrio___closed__7; lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__9; -extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__3; lean_object* l_Lean_Parser_Command_infixr___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__7; lean_object* l___regBuiltinParser_Lean_Parser_Command_elab__rules(lean_object*); @@ -326,6 +327,7 @@ lean_object* l_Lean_Parser_Command_mixfix___elambda__1(lean_object*, lean_object lean_object* l_Lean_Parser_Syntax_cat___closed__2; lean_object* l_Lean_Parser_Command_notation___closed__10; extern lean_object* l___regBuiltin_Lean_Parser_ppSpace_parenthesizer___closed__1; +extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__8; lean_object* l_Lean_Parser_Command_identPrec_parenthesizer___closed__2; lean_object* l_Lean_Parser_addBuiltinParser(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Syntax_atom_formatter___closed__1; @@ -338,8 +340,8 @@ lean_object* l_Lean_Parser_Command_elab__rules_parenthesizer___closed__6; lean_object* l_Lean_Parser_Syntax_paren_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__4; lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__9; +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; lean_object* lean_string_append(lean_object*, lean_object*); -extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__9; lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__7; lean_object* l_Lean_Parser_Command_infixr; lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__6; @@ -533,6 +535,7 @@ lean_object* l_Lean_Parser_Command_syntaxAbbrev_parenthesizer___closed__1; lean_object* l_Lean_Parser_Syntax_noWs___elambda__1___closed__5; lean_object* l_Lean_Parser_Command_notation_parenthesizer___closed__3; lean_object* l_Lean_Parser_Syntax_interpolatedStr_parenthesizer___closed__1; +extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__8; lean_object* l_Lean_Parser_Command_elab__rules_formatter___closed__2; extern lean_object* l_Lean_Parser_numLit___closed__2; @@ -564,7 +567,6 @@ lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1(lean_object*, lean_object* lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__5; lean_object* l_Lean_Parser_Syntax_noWs___elambda__1___closed__3; lean_object* l_Lean_Parser_Syntax_num_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; lean_object* l_Lean_Parser_Command_notation___closed__3; lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_elabHead; @@ -798,7 +800,6 @@ lean_object* l_Lean_Parser_Syntax_lookahead___elambda__1___closed__5; lean_object* l_Lean_Parser_Syntax_notFollowedBy; lean_object* l_Lean_Parser_Command_infixr_parenthesizer___closed__2; lean_object* l_Lean_Parser_Syntax_num___closed__1; -extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__6; lean_object* l_Lean_Parser_Term_stx_quot_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__7; lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__6; @@ -964,6 +965,7 @@ lean_object* l_Lean_Parser_Command_prefix___closed__2; lean_object* l_Lean_Parser_Command_macroArg___elambda__1___closed__1; lean_object* l_Lean_Parser_Syntax_lookahead_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_infix_parenthesizer___closed__3; +extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; lean_object* l_Lean_Parser_Syntax_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Syntax_num___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_notationItem___closed__2; @@ -979,7 +981,6 @@ lean_object* l_Lean_Parser_Command_elabTail___closed__6; lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_macroTailDefault_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_stx_quot_parenthesizer___closed__3; -extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__9; lean_object* l___regBuiltin_Lean_Parser_Syntax_cat_formatter(lean_object*); lean_object* l_Lean_Parser_Command_macro__rules_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__3; @@ -1270,7 +1271,6 @@ lean_object* l_Lean_Parser_symbolInfo(lean_object*); lean_object* l_Lean_Parser_Term_stx_quot_parenthesizer___closed__6; lean_object* l_Lean_Parser_Syntax_noWs___closed__1; lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__8; -extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__6; lean_object* l___regBuiltinParser_Lean_Parser_Command_mixfix(lean_object*); lean_object* l___regBuiltin_Lean_Parser_Syntax_try_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Command_mixfix___closed__3; @@ -1545,7 +1545,6 @@ extern lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_notation___elambda__1___closed__5; lean_object* l_Lean_Parser_Command_macroArg_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_elabTail___elambda__1___closed__4; -extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; extern lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__2; lean_object* l_Lean_Parser_Syntax_lookahead; lean_object* l___regBuiltin_Lean_Parser_Syntax_lookahead_formatter___closed__1; @@ -1636,6 +1635,7 @@ lean_object* l___regBuiltin_Lean_Parser_Syntax_cat_formatter___closed__1; lean_object* l_Lean_Parser_Syntax_char_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_mixfixKind___closed__5; lean_object* l_Lean_Parser_Command_infix_formatter___closed__2; +extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__5; lean_object* l_Lean_Parser_Syntax_atom___closed__5; lean_object* l_Lean_Parser_Command_macro___closed__4; lean_object* l_Lean_Parser_Command_macro__rules_parenthesizer___closed__6; @@ -3025,7 +3025,7 @@ static lean_object* _init_l_Lean_Parser_precedence_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__9; +x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__8; x_2 = l_Lean_Parser_precedence_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -3259,7 +3259,7 @@ static lean_object* _init_l_Lean_Parser_precedence_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__9; +x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; x_2 = l_Lean_Parser_precedence_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -7820,7 +7820,7 @@ _start: lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; x_6 = l_Lean_Parser_Syntax_many___elambda__1___closed__2; x_7 = lean_unsigned_to_nat(1024u); -x_8 = l_Lean_Parser_mkAntiquot_formatter___closed__6; +x_8 = l_Lean_Parser_mkAntiquot_formatter___closed__5; x_9 = l_Lean_PrettyPrinter_Formatter_trailingNode_formatter(x_6, x_7, x_8, x_1, x_2, x_3, x_4, x_5); return x_9; } @@ -7850,7 +7850,7 @@ _start: lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; x_6 = l_Lean_Parser_Syntax_many___elambda__1___closed__2; x_7 = lean_unsigned_to_nat(1024u); -x_8 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__6; +x_8 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__5; x_9 = l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer(x_6, x_7, x_8, x_1, x_2, x_3, x_4, x_5); return x_9; } @@ -9954,7 +9954,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_mixfix(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_mixfix; @@ -11495,7 +11495,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_notation(lean_object* x_1) _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_notation___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_notation; @@ -12168,7 +12168,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_macro__rules(lean_object* _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_macro__rules; @@ -13339,7 +13339,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_syntax(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__1; x_4 = 1; x_5 = l_Lean_Parser_Command_syntax; @@ -14294,7 +14294,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_syntaxAbbrev(lean_object* _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_syntaxAbbrev; @@ -14691,7 +14691,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_syntaxCat(lean_object* x_1 _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_syntaxCat; @@ -15362,7 +15362,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___ _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_identEqFn), 3, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -16210,7 +16210,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_macro(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_macro___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_macro; @@ -16271,7 +16271,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroArgSimple_formatter___close _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__9; +x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__8; x_2 = l_Lean_Parser_Syntax_paren_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -16283,7 +16283,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroArgSimple_formatter___close _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__3; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_Command_macroArgSimple_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -16895,7 +16895,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroArgSimple_parenthesizer___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__9; +x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; x_2 = l_Lean_Parser_Syntax_interpolatedStr_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -16907,7 +16907,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroArgSimple_parenthesizer___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_Command_macroArgSimple_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -17099,7 +17099,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailCommand_parenthesizer__ _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_identEq_parenthesizer___boxed), 2, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -17772,7 +17772,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_elab__rules(lean_object* x _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_elab__rules; @@ -18568,7 +18568,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_elab(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_3 = l_Lean_Parser_Command_elab___elambda__1___closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_elab; diff --git a/stage0/stdlib/Lean/Parser/Tactic.c b/stage0/stdlib/Lean/Parser/Tactic.c index 5500277547..637c025c7a 100644 --- a/stage0/stdlib/Lean/Parser/Tactic.c +++ b/stage0/stdlib/Lean/Parser/Tactic.c @@ -59,6 +59,7 @@ lean_object* l_Lean_Parser_Tactic_suffices___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_show_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_done___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__11; +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; lean_object* l_Lean_Parser_Tactic_match___closed__7; lean_object* l_Lean_Parser_Tactic_locationTarget_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_injection_parenthesizer___closed__5; @@ -93,6 +94,7 @@ lean_object* l_Lean_Parser_Tactic_altRHS___closed__4; lean_object* l_Lean_Parser_Tactic_unknown___elambda__1___closed__2; lean_object* l_Lean_Parser_andthenInfo(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_traceState_parenthesizer___closed__2; +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8; lean_object* l_Lean_Parser_Tactic_rwRuleSeq_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_apply___closed__2; extern lean_object* l_Lean_Parser_Term_optType___closed__2; @@ -106,6 +108,7 @@ lean_object* l_Lean_Parser_Tactic_change_parenthesizer___closed__6; lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__13; extern lean_object* l_Lean_Parser_Term_letrec_formatter___closed__7; lean_object* l_Lean_Parser_Tactic_induction_formatter___closed__10; +extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__5; lean_object* l_Lean_Parser_Tactic_cases_parenthesizer___closed__5; extern lean_object* l_Lean_Parser_Term_explicit___closed__2; lean_object* l_Lean_Parser_Tactic_traceState_parenthesizer___closed__1; @@ -173,7 +176,6 @@ lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_have_formatter___closed__2; -extern lean_object* l_Lean_Parser_many1Indent_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_changeWith; lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__10; @@ -424,7 +426,6 @@ lean_object* l_Lean_Parser_Tactic_clear___closed__4; lean_object* l___regBuiltin_Lean_Parser_Tactic_assumption_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Tactic_match_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1(lean_object*, lean_object*); -extern lean_object* l_Lean_Parser_Term_app_formatter___closed__5; lean_object* l_Lean_Parser_Tactic_unknown___elambda__1___closed__5; lean_object* l___regBuiltin_Lean_Parser_Tactic_letrec_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_revert___closed__1; @@ -445,7 +446,6 @@ lean_object* l_Lean_Parser_Tactic_orelse___closed__5; lean_object* l_Lean_Parser_Tactic_withIds; lean_object* l_Lean_Parser_Tactic_suffices___closed__4; lean_object* l_Lean_Parser_Tactic_usingRec_formatter___closed__2; -lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__18; lean_object* l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__8; lean_object* l___regBuiltin_Lean_Parser_Tactic_refine_x21_formatter___closed__1; @@ -628,7 +628,6 @@ lean_object* l___regBuiltinParser_Lean_Parser_Tactic_generalize(lean_object*); extern lean_object* l_Lean_Parser_identNoAntiquot___closed__1; lean_object* l_Lean_Parser_Tactic_suffices___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_intros___closed__8; -extern lean_object* l_Lean_Parser_Term_app_parenthesizer___closed__5; lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_paren_formatter___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_errorAtSavedPos_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -838,7 +837,6 @@ lean_object* l___regBuiltin_Lean_Parser_Tactic_introMatch_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_intro___closed__10; lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__13; lean_object* l_Lean_Parser_Tactic_skip___closed__5; -extern lean_object* l_Lean_Parser_many1Indent_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_rewrite___closed__8; lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_withIds___closed__4; @@ -854,7 +852,6 @@ lean_object* l_Lean_Parser_Tactic_apply___closed__6; lean_object* l_Lean_Parser_Tactic_refine_x21_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_locationTarget___closed__1; extern lean_object* l_Lean_Parser_Term_have_parenthesizer___closed__4; -extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__6; lean_object* l_Lean_Parser_Tactic_locationTarget___closed__2; lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_revert___closed__3; @@ -1108,6 +1105,7 @@ lean_object* l_Lean_Parser_Tactic_done___closed__2; lean_object* l_Lean_Parser_Tactic_change___closed__3; lean_object* l_Lean_Parser_Tactic_unknown_parenthesizer___closed__4; lean_object* l_Lean_Parser_Tactic_generalize___closed__10; +extern lean_object* l_Lean_Parser_compileParserDescr_visit___closed__15; lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_match___closed__2; lean_object* l_Lean_Parser_Tactic_allGoals_parenthesizer___closed__4; @@ -1179,6 +1177,7 @@ lean_object* l_Lean_Parser_Tactic_unknown_formatter___closed__5; lean_object* l___regBuiltin_Lean_Parser_Tactic_assumption_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_location_parenthesizer___closed__8; lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__8; +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8; lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__9; lean_object* l___regBuiltin_Lean_Parser_Tactic_show_formatter(lean_object*); lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__9; @@ -1231,7 +1230,6 @@ lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_match_parenthesizer___closed__8; lean_object* l_Lean_Parser_Tactic_match___closed__1; lean_object* l_Lean_Parser_Tactic_show___closed__5; -lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__19; lean_object* l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__8; lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__4; lean_object* l_Lean_Parser_nodeWithAntiquot(lean_object*, lean_object*, lean_object*); @@ -1401,7 +1399,6 @@ lean_object* l_Lean_Parser_Tactic_show___closed__2; lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__10; extern lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_formatter___closed__1; -extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__6; lean_object* l_Lean_Parser_Tactic_refine_x21___closed__2; lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__12; lean_object* l_Lean_Parser_Tactic_letrec; @@ -1437,6 +1434,7 @@ lean_object* l_Lean_Parser_Tactic_unknown_parenthesizer___closed__2; extern lean_object* l_Lean_Parser_Term_matchAlt_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__11; lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__11; +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; extern lean_object* l_Lean_Parser_Term_typeAscription___closed__1; lean_object* l___regBuiltin_Lean_Parser_Tactic_changeWith_formatter(lean_object*); lean_object* l_Lean_Parser_Tactic_case_formatter___closed__5; @@ -1653,7 +1651,6 @@ extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__4; lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_generalizingVars_formatter___closed__3; extern lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__1; -lean_object* l_Lean_Parser_checkColGtFn(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2; extern lean_object* l_Lean_Parser_Term_matchAlts___closed__5; lean_object* l_Lean_Parser_Tactic_matchAlt___elambda__1(lean_object*, lean_object*); @@ -1798,6 +1795,7 @@ lean_object* l_Lean_Parser_Tactic_matchAlt___closed__5; lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*); lean_object* l_Lean_Parser_Tactic_traceState_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_intro_formatter___closed__3; +extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__5; lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__9; lean_object* l___regBuiltinParser_Lean_Parser_Tactic_orelse(lean_object*); lean_object* l_Lean_Parser_Tactic_rwRuleSeq_parenthesizer___closed__3; @@ -2343,9 +2341,13 @@ return x_3; static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__12() { _start: { -lean_object* x_1; -x_1 = lean_mk_string("checkColGt"); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_compileParserDescr_visit___closed__15; +x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__13() { @@ -2353,7 +2355,7 @@ _start: { lean_object* x_1; lean_object* x_2; x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__12; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkColGtFn), 3, 1); +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1); lean_closure_set(x_2, 0, x_1); return x_2; } @@ -2362,8 +2364,8 @@ static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__14() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__13; -x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__8; +x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__11; +x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__13; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -2373,20 +2375,22 @@ return x_3; static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__15() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__7; +x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__11; +x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2; x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__15; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; @@ -2396,32 +2400,8 @@ static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__17() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__7; -x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__16; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__18() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2; -x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__17; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__19() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; -x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__18; +x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__16; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -2435,7 +2415,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_3 = l_Lean_Parser_Tactic_intro___elambda__1___closed__4; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); -x_5 = l_Lean_Parser_Tactic_intro___elambda__1___closed__19; +x_5 = l_Lean_Parser_Tactic_intro___elambda__1___closed__17; x_6 = 1; x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); return x_7; @@ -2604,7 +2584,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_intro_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_app_formatter___closed__5; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8; x_2 = l_Lean_Parser_antiquotNestedExpr_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -2731,7 +2711,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_intro_parenthesizer___closed__4() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_app_parenthesizer___closed__5; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8; x_2 = l_Lean_Parser_Term_explicit_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -2886,7 +2866,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__8() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__13; +x_1 = l_Lean_Parser_compileParserDescr_visit___closed__15; x_2 = l_Lean_Parser_Tactic_ident_x27___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -3122,7 +3102,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_intros_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_app_formatter___closed__5; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8; x_2 = l_Lean_Parser_Tactic_intros_formatter___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -3253,7 +3233,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_intros_parenthesizer___closed__4( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_app_parenthesizer___closed__5; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8; x_2 = l_Lean_Parser_Tactic_intros_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -3396,7 +3376,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__8() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__13; +x_1 = l_Lean_Parser_compileParserDescr_visit___closed__15; x_2 = l_Lean_Parser_ident___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -3597,7 +3577,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_revert_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_app_formatter___closed__5; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8; x_2 = l___regBuiltin_Lean_Parser_ident_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -3702,7 +3682,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_revert_parenthesizer___closed__3( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_app_parenthesizer___closed__5; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8; x_2 = l___regBuiltin_Lean_Parser_ident_parenthesizer___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -11163,7 +11143,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_mkAntiquot_formatter___closed__6; +x_3 = l_Lean_Parser_mkAntiquot_formatter___closed__5; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -11521,7 +11501,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__6; +x_3 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__5; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -15200,7 +15180,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_many1Indent_formatter___closed__1; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; x_2 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -15568,7 +15548,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_many1Indent_parenthesizer___closed__1; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; x_2 = l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21067,10 +21047,6 @@ l_Lean_Parser_Tactic_intro___elambda__1___closed__16 = _init_l_Lean_Parser_Tacti lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__16); l_Lean_Parser_Tactic_intro___elambda__1___closed__17 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__17(); lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__17); -l_Lean_Parser_Tactic_intro___elambda__1___closed__18 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__18(); -lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__18); -l_Lean_Parser_Tactic_intro___elambda__1___closed__19 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__19(); -lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__19); l_Lean_Parser_Tactic_intro___closed__1 = _init_l_Lean_Parser_Tactic_intro___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_intro___closed__1); l_Lean_Parser_Tactic_intro___closed__2 = _init_l_Lean_Parser_Tactic_intro___closed__2(); diff --git a/stage0/stdlib/Lean/Parser/Term.c b/stage0/stdlib/Lean/Parser/Term.c index 55efcc4104..0e69fc3bd6 100644 --- a/stage0/stdlib/Lean/Parser/Term.c +++ b/stage0/stdlib/Lean/Parser/Term.c @@ -108,6 +108,7 @@ lean_object* l_Lean_Parser_Term_andthen___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_dbgTrace_parenthesizer___closed__8; lean_object* l_Lean_Parser_Term_emptyC_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__17; +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; lean_object* l_Lean_Parser_Term_letDecl_formatter___closed__6; lean_object* l_Lean_Parser_Term_arrayLit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_app___elambda__1___closed__1; @@ -188,6 +189,7 @@ lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_bnot___closed__4; lean_object* l_Lean_Parser_Term_sub___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_ParserState_mkError(lean_object*, lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8; extern lean_object* l_Lean_Syntax_isQuot_match__1___rarg___closed__1; lean_object* l_Lean_Parser_Term_optType___closed__2; lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__7; @@ -325,10 +327,12 @@ lean_object* l_Lean_Parser_Term_not___elambda__1___closed__7; extern lean_object* l_Lean_identKind___closed__1; lean_object* l_Lean_Parser_Term_matchAlts___closed__13; lean_object* l___regBuiltin_Lean_Parser_Term_anonymousCtor_formatter(lean_object*); +extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__10; lean_object* l_Lean_Parser_Term_bracketedBinder(uint8_t); lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5; lean_object* l_Lean_Parser_Term_have___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_sub_parenthesizer___closed__1; +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; lean_object* l_Lean_Parser_Term_structInst___closed__6; lean_object* l_Lean_Parser_Level_quot_parenthesizer___closed__6; lean_object* l_Lean_Parser_Term_ensureExpectedType___closed__1; @@ -401,11 +405,9 @@ lean_object* l___regBuiltin_Lean_Parser_Term_seq_formatter(lean_object*); lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__7; lean_object* l_Lean_Parser_Term_seqLeft___closed__2; lean_object* l_Lean_Parser_Term_attributes_parenthesizer___closed__5; -extern lean_object* l_Lean_Parser_many1Indent_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_namedArgument___closed__5; lean_object* l_Lean_Parser_Term_app_formatter___closed__6; lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__3; lean_object* l_Lean_Parser_Term_typeOf___closed__4; lean_object* l_Lean_Parser_Term_mod_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_show___elambda__1___closed__8; @@ -868,6 +870,7 @@ lean_object* l_Lean_Parser_Term_suffices_parenthesizer___closed__2; extern lean_object* l___regBuiltin_Lean_Parser_ppSpace_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_assert_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_not___closed__3; +extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__8; lean_object* l_Lean_Parser_addBuiltinParser(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_letRecDecls_formatter___closed__1; lean_object* l_Lean_Parser_Term_optIdent___closed__4; @@ -892,9 +895,9 @@ lean_object* l_Lean_Parser_Term_syntheticHole___closed__7; lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_cdot___elambda__1___closed__7; extern lean_object* l_Lean_Parser_leadPrec___closed__1; +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; lean_object* l_Lean_Parser_Term_nomatch___elambda__1___closed__8; lean_object* lean_string_append(lean_object*, lean_object*); -extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__9; lean_object* l_Lean_Parser_Term_dbgTrace___closed__6; lean_object* l_Lean_PrettyPrinter_Formatter_checkWsBefore_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_explicit___elambda__1(lean_object*, lean_object*); @@ -1198,7 +1201,6 @@ lean_object* l_Lean_Parser_Term_typeOf_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_lt_parenthesizer___closed__1; lean_object* lean_nat_add(lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_checkColGt_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_basicFun_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Term_seqLeft_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Term_inaccessible; @@ -1548,7 +1550,6 @@ lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__16; lean_object* l_Lean_Parser_Term_match_formatter___closed__8; lean_object* l_Lean_Parser_Term_uminus___closed__4; lean_object* l_Lean_Parser_Term_prod; -extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__11; lean_object* l_Lean_Parser_Term_sorry___elambda__1___closed__1; lean_object* l___regBuiltin_Lean_Parser_Term_equiv_formatter(lean_object*); lean_object* l_Lean_Parser_Term_let___closed__8; @@ -1965,7 +1966,6 @@ lean_object* l_Lean_Parser_Term_andM___closed__1; lean_object* l_Lean_Parser_Term_listLit___closed__5; lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__14; lean_object* l_Lean_Parser_Term_seqLeft_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Parser_many1Indent_formatter___closed__1; lean_object* l_Lean_Parser_Term_matchDiscr___closed__7; lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_structInstField___elambda__1___closed__5; @@ -2353,6 +2353,7 @@ lean_object* l_Lean_Parser_Term_letPatDecl___closed__7; lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_explicitBinder___boxed(lean_object*); +extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__10; lean_object* l_Lean_Parser_Term_seq_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_matchAlts_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Term_andthen_parenthesizer(lean_object*); @@ -2464,6 +2465,7 @@ lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_namedPattern___closed__5; lean_object* l_Lean_Parser_Term_mod___closed__1; lean_object* l_Lean_Parser_Term_app_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; lean_object* l_Lean_Parser_Term_explicitBinder(uint8_t); lean_object* l_Lean_Parser_Term_type___closed__1; lean_object* l_Lean_Parser_Term_arrow___elambda__1___closed__2; @@ -2521,7 +2523,6 @@ lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__21; lean_object* l_Lean_Parser_Term_isIdent___boxed(lean_object*); lean_object* l_Lean_Parser_Term_matchAlts___closed__14; lean_object* l_Lean_Parser_Term_emptyC; -extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__9; lean_object* l_Lean_Parser_Term_app___elambda__1___closed__6; lean_object* l_Lean_Parser_Term_letPatDecl___closed__3; lean_object* l___regBuiltinParser_Lean_Parser_Term_sort(lean_object*); @@ -2585,7 +2586,6 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_mod(lean_object*); lean_object* l_Lean_Parser_Term_attrInstance_formatter___closed__2; extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__1; lean_object* l___regBuiltin_Lean_Parser_Term_lt_parenthesizer___closed__1; -extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__11; lean_object* l_Lean_Parser_Term_emptyC___closed__1; lean_object* l_Lean_Parser_Term_sort_formatter___closed__2; lean_object* l___regBuiltin_Lean_Parser_Term_and_formatter(lean_object*); @@ -2754,6 +2754,7 @@ lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__7; lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__3; lean_object* l_Lean_Parser_Term_binderType___closed__5; +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8; lean_object* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4; lean_object* l___regBuiltin_Lean_Parser_Term_beq_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_have___elambda__1___closed__8; @@ -3022,7 +3023,6 @@ lean_object* l_Lean_Parser_Term_dollar___closed__3; lean_object* l_Lean_Parser_Term_eq_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__18; lean_object* l_Lean_Parser_Term_bne___closed__1; -lean_object* l_Lean_Parser_Term_app_parenthesizer___closed__8; lean_object* l___regBuiltin_Lean_Parser_Term_typeOf_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__14; lean_object* l_Lean_Parser_Term_ne_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3051,7 +3051,6 @@ lean_object* l_Lean_Parser_Term_match___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_explicitUniv_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_le___closed__1; lean_object* l_Lean_Parser_Term_and___closed__4; -lean_object* l_Lean_Parser_Term_app_formatter___closed__8; extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__2; lean_object* l_Lean_Parser_Term_sorry; lean_object* l_Lean_Parser_Term_matchAlt_parenthesizer___closed__4; @@ -3436,6 +3435,7 @@ lean_object* l_Lean_Parser_Term_explicitUniv___closed__1; lean_object* l_Lean_Parser_Tactic_tacticSeq_formatter___closed__3; lean_object* l_Lean_Parser_Term_matchAlts___closed__9; lean_object* l_Lean_Parser_Tactic_quot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; lean_object* l_Lean_Parser_Term_typeAscription___closed__1; lean_object* l_Lean_Parser_Term_gt___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_letDecl_parenthesizer___closed__8; @@ -4053,7 +4053,6 @@ lean_object* l_Lean_Parser_Term_haveAssign_formatter___closed__1; lean_object* l_Lean_Parser_Term_sort_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_sorry___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_dollarProj; -extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_dollarProj___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_proj___closed__6; lean_object* l_Lean_Parser_Term_type___closed__4; @@ -4238,7 +4237,6 @@ lean_object* l_Lean_Parser_Term_decide___elambda__1___closed__5; lean_object* l___regBuiltin_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_nomatch___closed__3; lean_object* l_Lean_Parser_Term_orM___elambda__1___closed__3; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkColGt_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_dbgTrace___closed__3; lean_object* l_Lean_Parser_Term_bindOp___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_quotSeq_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -25305,8 +25303,8 @@ static lean_object* _init_l_Lean_Parser_Term_matchDiscr_formatter___closed__2() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__3; -x_2 = l_Lean_Parser_mkAntiquot_formatter___closed__9; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; +x_2 = l_Lean_Parser_mkAntiquot_formatter___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -25492,7 +25490,7 @@ static lean_object* _init_l_Lean_Parser_Term_matchAlts_formatter___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_many1Indent_formatter___closed__1; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; x_2 = l_Lean_Parser_Term_matchAlts_formatter___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -25847,8 +25845,8 @@ static lean_object* _init_l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; -x_2 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__9; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; +x_2 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -26061,7 +26059,7 @@ static lean_object* _init_l_Lean_Parser_Term_matchAlts_parenthesizer___closed__5 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_many1Indent_parenthesizer___closed__1; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; x_2 = l_Lean_Parser_Term_matchAlts_parenthesizer___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -28211,7 +28209,7 @@ static lean_object* _init_l_Lean_Parser_Term_optExprPrecedence_formatter___close _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__9; +x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__8; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_try_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -28342,7 +28340,7 @@ static lean_object* _init_l_Lean_Parser_Term_optExprPrecedence_parenthesizer___c _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__9; +x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__8; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_try_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -31095,7 +31093,7 @@ static lean_object* _init_l_Lean_Parser_Term_letPatDecl_formatter___closed__2() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__11; +x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__10; x_2 = l_Lean_Parser_Term_letPatDecl_formatter___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -31494,7 +31492,7 @@ static lean_object* _init_l_Lean_Parser_Term_letPatDecl_parenthesizer___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__11; +x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__10; x_2 = l_Lean_Parser_Term_letPatDecl_parenthesizer___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -38818,17 +38816,21 @@ return x_3; static lean_object* _init_l_Lean_Parser_Term_app_formatter___closed__5() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkColGt_formatter___boxed), 4, 0); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8; +x_2 = l_Lean_Parser_Term_app_formatter___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Parser_Term_app_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_app_formatter___closed__5; -x_2 = l_Lean_Parser_Term_app_formatter___closed__4; +x_1 = l_Lean_Parser_Term_type_formatter___closed__4; +x_2 = l_Lean_Parser_Term_app_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -38838,20 +38840,8 @@ return x_3; static lean_object* _init_l_Lean_Parser_Term_app_formatter___closed__7() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_type_formatter___closed__4; -x_2 = l_Lean_Parser_Term_app_formatter___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_app_formatter___closed__8() { -_start: -{ lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_app_formatter___closed__7; +x_1 = l_Lean_Parser_Term_app_formatter___closed__6; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_many1_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -38863,7 +38853,7 @@ _start: lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; x_6 = l_Lean_mkAppStx___closed__8; x_7 = l_Lean_Parser_leadPrec___closed__1; -x_8 = l_Lean_Parser_Term_app_formatter___closed__8; +x_8 = l_Lean_Parser_Term_app_formatter___closed__7; x_9 = l_Lean_PrettyPrinter_Formatter_trailingNode_formatter(x_6, x_7, x_8, x_1, x_2, x_3, x_4, x_5); return x_9; } @@ -39054,17 +39044,21 @@ return x_3; static lean_object* _init_l_Lean_Parser_Term_app_parenthesizer___closed__5() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkColGt_parenthesizer___boxed), 4, 0); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8; +x_2 = l_Lean_Parser_Term_app_parenthesizer___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Parser_Term_app_parenthesizer___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_app_parenthesizer___closed__5; -x_2 = l_Lean_Parser_Term_app_parenthesizer___closed__4; +x_1 = l_Lean_Parser_Term_type_parenthesizer___closed__5; +x_2 = l_Lean_Parser_Term_app_parenthesizer___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -39074,20 +39068,8 @@ return x_3; static lean_object* _init_l_Lean_Parser_Term_app_parenthesizer___closed__7() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_type_parenthesizer___closed__5; -x_2 = l_Lean_Parser_Term_app_parenthesizer___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_app_parenthesizer___closed__8() { -_start: -{ lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_app_parenthesizer___closed__7; +x_1 = l_Lean_Parser_Term_app_parenthesizer___closed__6; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_many1_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -39099,7 +39081,7 @@ _start: lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; x_6 = l_Lean_mkAppStx___closed__8; x_7 = l_Lean_Parser_leadPrec___closed__1; -x_8 = l_Lean_Parser_Term_app_parenthesizer___closed__8; +x_8 = l_Lean_Parser_Term_app_parenthesizer___closed__7; x_9 = l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer(x_6, x_7, x_8, x_1, x_2, x_3, x_4, x_5); return x_9; } @@ -39344,7 +39326,7 @@ static lean_object* _init_l_Lean_Parser_Term_proj_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__3; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_Term_proj_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -39410,7 +39392,7 @@ static lean_object* _init_l_Lean_Parser_Term_proj_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_Term_proj_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -39670,7 +39652,7 @@ static lean_object* _init_l_Lean_Parser_Term_arrayRef_formatter___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__3; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -39712,7 +39694,7 @@ static lean_object* _init_l_Lean_Parser_Term_arrayRef_parenthesizer___closed__1( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -40425,7 +40407,7 @@ static lean_object* _init_l_Lean_Parser_Term_explicitUniv_formatter___closed__5( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__3; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_Term_explicitUniv_formatter___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -40533,7 +40515,7 @@ static lean_object* _init_l_Lean_Parser_Term_explicitUniv_parenthesizer___closed _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_Term_explicitUniv_parenthesizer___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -40809,7 +40791,7 @@ static lean_object* _init_l_Lean_Parser_Term_namedPattern_formatter___closed__1( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_formatter___closed__3; +x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_Term_explicit_formatter___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -40863,7 +40845,7 @@ static lean_object* _init_l_Lean_Parser_Term_namedPattern_parenthesizer___closed _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___closed__3; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; x_2 = l_Lean_Parser_Term_explicit_parenthesizer___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -59857,8 +59839,6 @@ l_Lean_Parser_Term_app_formatter___closed__6 = _init_l_Lean_Parser_Term_app_form lean_mark_persistent(l_Lean_Parser_Term_app_formatter___closed__6); l_Lean_Parser_Term_app_formatter___closed__7 = _init_l_Lean_Parser_Term_app_formatter___closed__7(); lean_mark_persistent(l_Lean_Parser_Term_app_formatter___closed__7); -l_Lean_Parser_Term_app_formatter___closed__8 = _init_l_Lean_Parser_Term_app_formatter___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_app_formatter___closed__8); l___regBuiltin_Lean_Parser_Term_app_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_app_formatter___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_app_formatter___closed__1); res = l___regBuiltin_Lean_Parser_Term_app_formatter(lean_io_mk_world()); @@ -59894,8 +59874,6 @@ l_Lean_Parser_Term_app_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_app_ lean_mark_persistent(l_Lean_Parser_Term_app_parenthesizer___closed__6); l_Lean_Parser_Term_app_parenthesizer___closed__7 = _init_l_Lean_Parser_Term_app_parenthesizer___closed__7(); lean_mark_persistent(l_Lean_Parser_Term_app_parenthesizer___closed__7); -l_Lean_Parser_Term_app_parenthesizer___closed__8 = _init_l_Lean_Parser_Term_app_parenthesizer___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_app_parenthesizer___closed__8); l___regBuiltin_Lean_Parser_Term_app_parenthesizer___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_app_parenthesizer___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_app_parenthesizer___closed__1); res = l___regBuiltin_Lean_Parser_Term_app_parenthesizer(lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/ParserCompiler.c b/stage0/stdlib/Lean/ParserCompiler.c index 2ffec6b263..3b7a3a85f4 100644 --- a/stage0/stdlib/Lean/ParserCompiler.c +++ b/stage0/stdlib/Lean/ParserCompiler.c @@ -13,382 +13,391 @@ #ifdef __cplusplus extern "C" { #endif -lean_object* l_Lean_ParserCompiler_compileParser___rarg___closed__3; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__12___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__3(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__9___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__37(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__47___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__33(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__42___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__17___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__16___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__37(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__11___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__8(lean_object*); +lean_object* l_Lean_ParserCompiler_compileCategoryParser___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__3___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13; +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__17___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__41(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__35(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__49___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__9(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_nullKind; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__36(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody_match__2(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileCategoryParser_match__1___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_USize_decEq(size_t, size_t); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__25___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); lean_object* lean_io_error_to_string(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__39___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__45___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_mdata(lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__30___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__27(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__45___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__44(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__23___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__44(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__18(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__50(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_mkParserOfConstantUnsafe_match__1___rarg___closed__3; lean_object* l_Lean_Parser_registerParserAttributeHook(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_interpretParser_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__35___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__33(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__21(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__36(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__46___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__20___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__31___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParser___rarg___closed__5; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__6; -lean_object* l_Lean_ParserCompiler_interpretParser___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__37___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__26___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__7___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__26___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__20(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9; +lean_object* l_Lean_Meta_MetaM_run_x27___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_sub(size_t, size_t); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__35___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__37(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__2; +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__41___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_Context_tyName___rarg(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__9___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__21___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__19(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__14___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileCategoryParser_match__1(lean_object*); +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__10___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__6(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__7___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__29(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__38___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; +lean_object* l_ReaderT_lift___rarg___boxed(lean_object*, lean_object*); lean_object* l_Lean_Core_Lean_CoreM___instance__2___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__29___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__48___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__1; +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__10(lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__50(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__27___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__6___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__41(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__8___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__12(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__17(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__4(lean_object*); +lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserExpr___spec__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__10___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__13___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_getAppArgs___closed__1; -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__35___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_setEnv___at_Lean_registerTagAttribute___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PersistentEnvExtension_modifyState___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__18___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParser(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody_match__5___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__8(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__28___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__47(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__15(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__51___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_mkParserOfConstantUnsafe_match__1___rarg___closed__2; extern lean_object* l_Lean_mkAppStx___closed__4; -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__11___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__41(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__37___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__13; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__51(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__9(lean_object*); -lean_object* l_Lean_ParserCompiler_interpretParser(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__19___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__18___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__9___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__29___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__44___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__51(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__43___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__40(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__42(lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); lean_object* l_Lean_addAttribute(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__4; extern lean_object* l_Std_HashMap_Std_Data_HashMap___instance__1___closed__1; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__1; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__8; -lean_object* l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__25___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileEmbeddedParsers___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__30(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__37___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_preprocessParserBody___rarg___boxed(lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__14___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__28___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__28(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__34___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__30___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__1; +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__19___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__31___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileCategoryParser___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__34(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__43___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__50___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_interpretParser___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__13(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__2; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__12(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__25___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__34(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__42(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3; +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__41(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__28(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__2; +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__40___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__49(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__20(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__38___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_toString(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__46___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__9; +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__37___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__29___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__12___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__15___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody_match__4___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__33(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__18___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParser_match__1(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody_match__3___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__6; lean_object* l_Lean_ParserCompiler_Context_tyName(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__31(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__42___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__35___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__13(lean_object*); lean_object* l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__46(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__33___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__28(lean_object*); lean_object* l_Lean_KernelException_toMessageData(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__23(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__15(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__30___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__26(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__13___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__5___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__16___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__31(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserBody___spec__22(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__10(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody_match__6(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__26(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__39___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_unfoldDefinitionImp_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__6(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__2___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__43___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__1; +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__30___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__43(lean_object*); +lean_object* l_Lean_ParserCompiler_compileEmbeddedParsers_match__1___rarg___boxed(lean_object**); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__35(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__20(lean_object*); lean_object* l_Lean_ParserCompiler_preprocessParserBody___rarg(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParser___rarg___closed__2; -lean_object* l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__8___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); -lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_name_mk_string(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__11; -lean_object* l_Lean_ParserCompiler_compileParserBody_match__1(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__41___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__30(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2; +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__8___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1(lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* lean_eval_const(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_KeyedDeclsAttribute_getValues___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__38(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody_match__2___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__43___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__48(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody_match__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__10; +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__17___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__39(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__27___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_mkParserOfConstantUnsafe_match__1___rarg___closed__1; +lean_object* l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__23(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__21(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkSimpleThunk___closed__1; -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_isEmpty___rarg(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__28___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__38___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParser___rarg(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__21___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___rarg___closed__3; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__18___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__36___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__33___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__16(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__6(lean_object*); extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__3; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__29(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_KeyedDeclsAttribute_Table_insert___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__37___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__37(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__28___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__32(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__25(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_let(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__9(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__12___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__36___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__34___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_preprocessParserBody(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__36___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__33___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__38(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__42___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1(lean_object*); lean_object* l_Lean_ConstantInfo_type(lean_object*); lean_object* l_Lean_ConstantInfo_value_x3f(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__39(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__22(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__2(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__40(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__30(lean_object*); lean_object* lean_expr_update_proj(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__40___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__45(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__20___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_interpretParser_match__1(lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__17(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__34(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__23___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__24___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__50___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__21___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7; +lean_object* l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__5; size_t l_USize_mod(size_t, size_t); -lean_object* l_Lean_ParserCompiler_compileParserBody_match__3(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__38___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkAppStx___closed__3; -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__12; -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__39___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__13___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__20___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__10(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__3; +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__29(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__48(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__33___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__11___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__15___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__38___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__19(lean_object*); size_t lean_ptr_addr(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__14(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__25(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__24___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserBody___spec__23___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserBody___spec__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__21(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__30___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__7(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__24___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__28___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__6___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); -lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_interpretParser___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__27(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__45(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Init_Control_Reader___instance__1___rarg___boxed(lean_object*, lean_object*); lean_object* l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__39(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__42___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__40___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_Lean_Expr___instance__11; -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__40(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__12___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__32___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__22(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__47___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__35(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__32(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkApp(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__40(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__35___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__34___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; lean_object* l_Lean_Name_append(lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__31___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Environment_addAndCompile(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_interpretParser___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__16(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__41___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__31___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__26___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Name_isAnonymous(lean_object*); +lean_object* l_Lean_ParserCompiler_compileCategoryParser(lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__24(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParser_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__38(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__19(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__25(lean_object*); -lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_interpretParser___spec__2(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__36(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__41___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__3(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__15___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__4; +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__14___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__24(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__31___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__26(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__24(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__48___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__40___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__19(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_Context_tyName___rarg___boxed(lean_object*); lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__13___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__17(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileEmbeddedParsers_match__1(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__28___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__30___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__34___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__36(lean_object*); +lean_object* l_Functor_discard___at_Lean_ParserCompiler_compileEmbeddedParsers___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_evalConstCheck___at_Lean_KeyedDeclsAttribute_init___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__41___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(lean_object*, size_t, lean_object*, lean_object*); lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__29___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__24___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__7(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__38(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*); lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__21(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__43(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__33___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParser___rarg___closed__1; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__10; -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__11(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__42___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__34___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__32___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody_match__5(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParser___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11; +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__5(lean_object*); +lean_object* l_Functor_discard___at_Lean_ParserCompiler_registerParserCompiler___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__23(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserExpr___spec__22(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MetavarContext_MkBinding_mkBinding(uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody_match__4(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__31(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__46(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__18(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__17___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__39___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__27___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg(lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__25___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__43___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__7(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserBody___spec__23(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__11___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__32___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__29___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__25___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__43(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__32(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__3___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__33(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__33___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__25___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__14___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__49(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__21___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__26(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__11(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__15(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5(lean_object*); lean_object* lean_mk_syntax_ident(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__19___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__7; -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__20(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__19___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__39(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__12; +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__26___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkOptionalNode___closed__2; -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__10___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__14(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); extern lean_object* l_Lean_Meta_Lean_Meta_Basic___instance__11___rarg___closed__2; -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__35(lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__30(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__24(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__3(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__31___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__51___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__24___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__12(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__1(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__37___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__4___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__4; +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___closed__8; +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__32___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__35___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_min(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__43___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__3___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__4(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__16___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__32___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_mkAppStx___closed__2; +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__36___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerParserCompiler(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__26___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__25(lean_object*); extern lean_object* l_Lean_Meta_Lean_Meta_Basic___instance__11___rarg___closed__1; -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__41___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParser___rarg___closed__4; -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__10___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__32___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__43(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkConst(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__27___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__34(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__28(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__47(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__9___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__29(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__42___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__32(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__39___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1(lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__16___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__40___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__15___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__24___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__8___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__42(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__31(lean_object*); +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__5(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__14(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__36___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_ReplaceImpl_initCache; -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__40___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__20___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__36___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__38___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__42(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_compileEmbeddedParsers(lean_object*); +lean_object* l_Lean_ParserCompiler_compileEmbeddedParsers_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_Context_tyName___rarg(lean_object* x_1) { _start: { @@ -1256,7 +1265,7 @@ lean_dec(x_1); return x_3; } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -1281,15 +1290,15 @@ return x_7; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__1(lean_object* x_1) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody_match__1___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr_match__1___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -1311,15 +1320,15 @@ return x_6; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__2(lean_object* x_1) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody_match__2___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr_match__2___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -1341,15 +1350,15 @@ return x_6; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__3(lean_object* x_1) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__3(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody_match__3___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr_match__3___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -1372,15 +1381,15 @@ return x_7; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__4(lean_object* x_1) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__4(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody_match__4___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr_match__4___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__5___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__5___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 4) @@ -1406,15 +1415,15 @@ return x_9; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__5(lean_object* x_1) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__5(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody_match__5___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr_match__5___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { switch (lean_obj_tag(x_1)) { @@ -1457,15 +1466,15 @@ return x_15; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody_match__6(lean_object* x_1) { +lean_object* l_Lean_ParserCompiler_compileParserExpr_match__6(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody_match__6___rarg), 4, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr_match__6___rarg), 4, 0); return x_2; } } -lean_object* l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; @@ -1516,15 +1525,15 @@ return x_16; } } } -lean_object* l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1(lean_object* x_1) { +lean_object* l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg), 7, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg), 7, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { uint8_t x_10; @@ -1551,7 +1560,7 @@ return x_15; } } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { uint8_t x_12; @@ -1577,14 +1586,14 @@ lean_inc(x_18); lean_dec(x_16); lean_inc(x_1); lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); lean_closure_set(x_19, 0, x_2); lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); if (lean_obj_tag(x_20) == 0) { lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; @@ -1677,15 +1686,15 @@ return x_35; } } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2(lean_object* x_1) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___boxed), 11, 0); +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___boxed), 11, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { uint8_t x_12; @@ -1711,14 +1720,14 @@ lean_inc(x_18); lean_dec(x_16); lean_inc(x_1); lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); lean_closure_set(x_19, 0, x_2); lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); if (lean_obj_tag(x_20) == 0) { lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; @@ -1811,15 +1820,15 @@ return x_35; } } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__3(lean_object* x_1) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__3(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__3___rarg___boxed), 11, 0); +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__3___rarg___boxed), 11, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; lean_object* x_9; lean_object* x_10; @@ -1832,177 +1841,176 @@ lean_ctor_set(x_10, 1, x_7); return x_10; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___lambda__1___boxed), 7, 0); +x_1 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___lambda__1___boxed), 7, 0); return x_1; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_14; uint8_t x_15; -x_14 = lean_ctor_get(x_5, 1); -x_15 = lean_nat_dec_le(x_14, x_7); -if (x_15 == 0) +lean_object* x_15; uint8_t x_16; +x_15 = lean_ctor_get(x_6, 1); +x_16 = lean_nat_dec_le(x_15, x_8); +if (x_16 == 0) { -lean_object* x_16; uint8_t x_17; -x_16 = lean_unsigned_to_nat(0u); -x_17 = lean_nat_dec_eq(x_6, x_16); -if (x_17 == 0) +lean_object* x_17; uint8_t x_18; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_nat_dec_eq(x_7, x_17); +if (x_18 == 0) { -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_18 = lean_unsigned_to_nat(1u); -x_19 = lean_nat_sub(x_6, x_18); -lean_dec(x_6); -x_20 = l_Lean_Expr_Lean_Expr___instance__11; -x_21 = lean_array_get(x_20, x_3, x_7); -x_22 = lean_array_get(x_20, x_4, x_7); +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_7, x_19); +lean_dec(x_7); +x_21 = l_Lean_Expr_Lean_Expr___instance__11; +x_22 = lean_array_get(x_21, x_4, x_8); +x_23 = lean_array_get(x_21, x_5, x_8); +lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -x_23 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_21, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_23) == 0) +x_24 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_22, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); lean_inc(x_25); -lean_dec(x_23); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_2); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_24, x_2, x_9, x_10, x_11, x_12, x_25); -if (lean_obj_tag(x_26) == 0) +lean_inc(x_3); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_25, x_3, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_32 = lean_apply_7(x_29, x_8, x_22, x_9, x_10, x_11, x_12, x_28); -if (lean_obj_tag(x_32) == 0) +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) { lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_33 = lean_apply_7(x_30, x_9, x_23, x_10, x_11, x_12, x_13, x_29); if (lean_obj_tag(x_33) == 0) { -uint8_t x_34; -lean_dec(x_19); +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +lean_dec(x_20); +lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_2); +lean_dec(x_8); +lean_dec(x_3); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); +lean_object* x_36; lean_object* x_37; x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_5, 2); -x_43 = lean_nat_add(x_7, x_42); -lean_dec(x_7); -x_6 = x_19; -x_7 = x_43; -x_8 = x_41; -x_13 = x_40; +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_6, 2); +x_44 = lean_nat_add(x_8, x_43); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_44; +x_9 = x_42; +x_14 = x_41; goto _start; } } else { -uint8_t x_45; -lean_dec(x_19); +uint8_t x_46; +lean_dec(x_20); +lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_2); +lean_dec(x_8); +lean_dec(x_3); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; +lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_22, x_49, x_9, x_10, x_11, x_12, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_23, x_10, x_11, x_12, x_13, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -2011,11 +2019,11 @@ lean_inc(x_51); x_52 = lean_ctor_get(x_50, 1); lean_inc(x_52); lean_dec(x_50); +lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -x_53 = lean_apply_7(x_29, x_8, x_51, x_9, x_10, x_11, x_12, x_52); +x_53 = lean_apply_7(x_30, x_9, x_51, x_10, x_11, x_12, x_13, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -2024,13 +2032,13 @@ lean_inc(x_54); if (lean_obj_tag(x_54) == 0) { uint8_t x_55; -lean_dec(x_19); +lean_dec(x_20); +lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_2); +lean_dec(x_8); +lean_dec(x_3); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -2068,26 +2076,26 @@ lean_dec(x_53); x_62 = lean_ctor_get(x_54, 0); lean_inc(x_62); lean_dec(x_54); -x_63 = lean_ctor_get(x_5, 2); -x_64 = lean_nat_add(x_7, x_63); -lean_dec(x_7); -x_6 = x_19; -x_7 = x_64; -x_8 = x_62; -x_13 = x_61; +x_63 = lean_ctor_get(x_6, 2); +x_64 = lean_nat_add(x_8, x_63); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_64; +x_9 = x_62; +x_14 = x_61; goto _start; } } else { uint8_t x_66; -lean_dec(x_19); +lean_dec(x_20); +lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_2); +lean_dec(x_8); +lean_dec(x_3); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -2112,14 +2120,14 @@ return x_69; else { uint8_t x_70; -lean_dec(x_19); +lean_dec(x_20); +lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); +lean_dec(x_3); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -2145,29 +2153,29 @@ return x_73; else { uint8_t x_74; -lean_dec(x_22); -lean_dec(x_19); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); +lean_dec(x_3); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -2178,29 +2186,29 @@ return x_77; else { uint8_t x_78; -lean_dec(x_22); -lean_dec(x_19); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); +lean_dec(x_3); lean_dec(x_1); -x_78 = !lean_is_exclusive(x_23); +x_78 = !lean_is_exclusive(x_24); if (x_78 == 0) { -return x_23; +return x_24; } else { lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_23, 0); -x_80 = lean_ctor_get(x_23, 1); +x_79 = lean_ctor_get(x_24, 0); +x_80 = lean_ctor_get(x_24, 1); lean_inc(x_80); lean_inc(x_79); -lean_dec(x_23); +lean_dec(x_24); x_81 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_81, 0, x_79); lean_ctor_set(x_81, 1, x_80); @@ -2211,47 +2219,47 @@ return x_81; else { lean_object* x_82; +lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); +lean_dec(x_8); lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); +lean_dec(x_3); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_8); -lean_ctor_set(x_82, 1, x_13); +lean_ctor_set(x_82, 0, x_9); +lean_ctor_set(x_82, 1, x_14); return x_82; } } else { lean_object* x_83; +lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); +lean_dec(x_8); lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); +lean_dec(x_3); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_8); -lean_ctor_set(x_83, 1, x_13); +lean_ctor_set(x_83, 0, x_9); +lean_ctor_set(x_83, 1, x_14); return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___boxed), 13, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___boxed), 14, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; @@ -2261,685 +2269,15 @@ lean_ctor_set(x_8, 1, x_7); return x_8; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___lambda__1___boxed), 7, 0); +x_1 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___lambda__1___boxed), 7, 0); return x_1; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_4, 1); -x_14 = lean_nat_dec_le(x_13, x_6); -if (x_14 == 0) -{ -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_5, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_5, x_17); -lean_dec(x_5); -x_19 = l_Lean_Expr_Lean_Expr___instance__11; -x_20 = lean_array_get(x_19, x_2, x_6); -x_21 = lean_array_get(x_19, x_3, x_6); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_22 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_20, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_23, x_25, x_8, x_9, x_10, x_11, x_24); -if (lean_obj_tag(x_26) == 0) -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); -lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_32 = lean_apply_7(x_29, x_7, x_21, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) -{ -uint8_t x_34; -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) -{ -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); -x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); -lean_inc(x_38); -lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; -} -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); -lean_inc(x_41); -lean_dec(x_33); -x_42 = lean_ctor_get(x_4, 2); -x_43 = lean_nat_add(x_6, x_42); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_43; -x_7 = x_41; -x_12 = x_40; -goto _start; -} -} -else -{ -uint8_t x_45; -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) -{ -return x_32; -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); -lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; -} -} -} -else -{ -uint8_t x_49; lean_object* x_50; -x_49 = 0; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_21, x_49, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_50) == 0) -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -lean_dec(x_50); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_53 = lean_apply_7(x_29, x_7, x_51, x_8, x_9, x_10, x_11, x_52); -if (lean_obj_tag(x_53) == 0) -{ -lean_object* x_54; -x_54 = lean_ctor_get(x_53, 0); -lean_inc(x_54); -if (lean_obj_tag(x_54) == 0) -{ -uint8_t x_55; -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_1); -x_55 = !lean_is_exclusive(x_53); -if (x_55 == 0) -{ -lean_object* x_56; lean_object* x_57; -x_56 = lean_ctor_get(x_53, 0); -lean_dec(x_56); -x_57 = lean_ctor_get(x_54, 0); -lean_inc(x_57); -lean_dec(x_54); -lean_ctor_set(x_53, 0, x_57); -return x_53; -} -else -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_53, 1); -lean_inc(x_58); -lean_dec(x_53); -x_59 = lean_ctor_get(x_54, 0); -lean_inc(x_59); -lean_dec(x_54); -x_60 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_58); -return x_60; -} -} -else -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_61 = lean_ctor_get(x_53, 1); -lean_inc(x_61); -lean_dec(x_53); -x_62 = lean_ctor_get(x_54, 0); -lean_inc(x_62); -lean_dec(x_54); -x_63 = lean_ctor_get(x_4, 2); -x_64 = lean_nat_add(x_6, x_63); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_64; -x_7 = x_62; -x_12 = x_61; -goto _start; -} -} -else -{ -uint8_t x_66; -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_1); -x_66 = !lean_is_exclusive(x_53); -if (x_66 == 0) -{ -return x_53; -} -else -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_67 = lean_ctor_get(x_53, 0); -x_68 = lean_ctor_get(x_53, 1); -lean_inc(x_68); -lean_inc(x_67); -lean_dec(x_53); -x_69 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_69, 0, x_67); -lean_ctor_set(x_69, 1, x_68); -return x_69; -} -} -} -else -{ -uint8_t x_70; -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_1); -x_70 = !lean_is_exclusive(x_50); -if (x_70 == 0) -{ -return x_50; -} -else -{ -lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = lean_ctor_get(x_50, 0); -x_72 = lean_ctor_get(x_50, 1); -lean_inc(x_72); -lean_inc(x_71); -lean_dec(x_50); -x_73 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_73, 0, x_71); -lean_ctor_set(x_73, 1, x_72); -return x_73; -} -} -} -} -else -{ -uint8_t x_74; -lean_dec(x_21); -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); -if (x_74 == 0) -{ -return x_26; -} -else -{ -lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); -lean_inc(x_76); -lean_inc(x_75); -lean_dec(x_26); -x_77 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_77, 0, x_75); -lean_ctor_set(x_77, 1, x_76); -return x_77; -} -} -} -else -{ -uint8_t x_78; -lean_dec(x_21); -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_1); -x_78 = !lean_is_exclusive(x_22); -if (x_78 == 0) -{ -return x_22; -} -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_22, 0); -x_80 = lean_ctor_get(x_22, 1); -lean_inc(x_80); -lean_inc(x_79); -lean_dec(x_22); -x_81 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_81, 0, x_79); -lean_ctor_set(x_81, 1, x_80); -return x_81; -} -} -} -else -{ -lean_object* x_82; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_7); -lean_ctor_set(x_82, 1, x_12); -return x_82; -} -} -else -{ -lean_object* x_83; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_7); -lean_ctor_set(x_83, 1, x_12); -return x_83; -} -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___boxed), 12, 0); -return x_2; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__6(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__6___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__7___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__7(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__7___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__8___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; uint8_t x_15; @@ -2966,142 +2304,139 @@ lean_inc(x_9); x_23 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_21, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); +x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -lean_inc(x_2); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_24, x_2, x_9, x_10, x_11, x_12, x_25); -if (lean_obj_tag(x_26) == 0) +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_24, x_26, x_9, x_10, x_11, x_12, x_25); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_32 = lean_apply_7(x_29, x_8, x_22, x_9, x_10, x_11, x_12, x_28); -if (lean_obj_tag(x_32) == 0) +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) { lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_33 = lean_apply_7(x_30, x_8, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_33) == 0) { -uint8_t x_34; +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); +lean_object* x_36; lean_object* x_37; x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_5, 2); -x_43 = lean_nat_add(x_7, x_42); +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_5, 2); +x_44 = lean_nat_add(x_7, x_43); lean_dec(x_7); x_6 = x_19; -x_7 = x_43; -x_8 = x_41; -x_13 = x_40; +x_7 = x_44; +x_8 = x_42; +x_13 = x_41; goto _start; } } else { -uint8_t x_45; +uint8_t x_46; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_22, x_49, x_9, x_10, x_11, x_12, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -3114,7 +2449,7 @@ lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_53 = lean_apply_7(x_29, x_8, x_51, x_9, x_10, x_11, x_12, x_52); +x_53 = lean_apply_7(x_30, x_8, x_51, x_9, x_10, x_11, x_12, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -3129,7 +2464,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -3186,7 +2520,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -3218,7 +2551,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -3252,21 +2584,20 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -3285,7 +2616,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_78 = !lean_is_exclusive(x_23); if (x_78 == 0) @@ -3316,7 +2646,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_82, 0, x_8); @@ -3333,7 +2662,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_83, 0, x_8); @@ -3342,175 +2670,444 @@ return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__8(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__8___rarg___boxed), 13, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___boxed), 13, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__9___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_4, 1); -x_14 = lean_nat_dec_le(x_13, x_6); -if (x_14 == 0) +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) { -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_5, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_5, x_17); -lean_dec(x_5); -x_19 = l_Lean_Expr_Lean_Expr___instance__11; -x_20 = lean_array_get(x_19, x_2, x_6); -x_21 = lean_array_get(x_19, x_3, x_6); -lean_inc(x_11); +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_22 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_20, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_22) == 0) +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; -lean_inc(x_11); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_23, x_25, x_8, x_9, x_10, x_11, x_24); -if (lean_obj_tag(x_26) == 0) +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); -lean_dec(x_27); -if (x_31 == 0) +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else { -lean_object* x_32; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_32 = lean_apply_7(x_29, x_7, x_21, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) -{ -uint8_t x_34; -lean_dec(x_18); -lean_dec(x_11); +uint8_t x_27; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); -x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +return x_20; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__6(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__6___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__7___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) +{ +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else +{ +uint8_t x_27; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) +{ +return x_20; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__7(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__7___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__8___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; uint8_t x_16; +x_15 = lean_ctor_get(x_6, 1); +x_16 = lean_nat_dec_le(x_15, x_8); +if (x_16 == 0) +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_nat_dec_eq(x_7, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_7, x_19); +lean_dec(x_7); +x_21 = l_Lean_Expr_Lean_Expr___instance__11; +x_22 = lean_array_get(x_21, x_4, x_8); +x_23 = lean_array_get(x_21, x_5, x_8); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_24 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_22, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_3); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_25, x_3, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) +{ +lean_object* x_33; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_33 = lean_apply_7(x_30, x_9, x_23, x_10, x_11, x_12, x_13, x_29); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_4, 2); -x_43 = lean_nat_add(x_6, x_42); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_43; -x_7 = x_41; -x_12 = x_40; +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_6, 2); +x_44 = lean_nat_add(x_8, x_43); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_44; +x_9 = x_42; +x_14 = x_41; goto _start; } } else { -uint8_t x_45; -lean_dec(x_18); +uint8_t x_46; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_21, x_49, x_8, x_9, x_10, x_11, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_23, x_10, x_11, x_12, x_13, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -3519,11 +3116,11 @@ lean_inc(x_51); x_52 = lean_ctor_get(x_50, 1); lean_inc(x_52); lean_dec(x_50); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_53 = lean_apply_7(x_29, x_7, x_51, x_8, x_9, x_10, x_11, x_52); +x_53 = lean_apply_7(x_30, x_9, x_51, x_10, x_11, x_12, x_13, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -3532,12 +3129,13 @@ lean_inc(x_54); if (lean_obj_tag(x_54) == 0) { uint8_t x_55; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -3575,25 +3173,26 @@ lean_dec(x_53); x_62 = lean_ctor_get(x_54, 0); lean_inc(x_62); lean_dec(x_54); -x_63 = lean_ctor_get(x_4, 2); -x_64 = lean_nat_add(x_6, x_63); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_64; -x_7 = x_62; -x_12 = x_61; +x_63 = lean_ctor_get(x_6, 2); +x_64 = lean_nat_add(x_8, x_63); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_64; +x_9 = x_62; +x_14 = x_61; goto _start; } } else { uint8_t x_66; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -3618,13 +3217,14 @@ return x_69; else { uint8_t x_70; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -3650,28 +3250,29 @@ return x_73; else { uint8_t x_74; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -3682,28 +3283,29 @@ return x_77; else { uint8_t x_78; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_78 = !lean_is_exclusive(x_22); +x_78 = !lean_is_exclusive(x_24); if (x_78 == 0) { -return x_22; +return x_24; } else { lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_22, 0); -x_80 = lean_ctor_get(x_22, 1); +x_79 = lean_ctor_get(x_24, 0); +x_80 = lean_ctor_get(x_24, 1); lean_inc(x_80); lean_inc(x_79); -lean_dec(x_22); +lean_dec(x_24); x_81 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_81, 0, x_79); lean_ctor_set(x_81, 1, x_80); @@ -3714,313 +3316,47 @@ return x_81; else { lean_object* x_82; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_7); -lean_ctor_set(x_82, 1, x_12); +lean_ctor_set(x_82, 0, x_9); +lean_ctor_set(x_82, 1, x_14); return x_82; } } else { lean_object* x_83; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_7); -lean_ctor_set(x_83, 1, x_12); +lean_ctor_set(x_83, 0, x_9); +lean_ctor_set(x_83, 1, x_14); return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__9(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__8(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__9___rarg___boxed), 12, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__8___rarg___boxed), 14, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__10___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__10(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__10___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__11___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__11(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__11___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__12___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__9___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; uint8_t x_15; @@ -4047,142 +3383,139 @@ lean_inc(x_9); x_23 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_21, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); +x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -lean_inc(x_2); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_24, x_2, x_9, x_10, x_11, x_12, x_25); -if (lean_obj_tag(x_26) == 0) +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_24, x_26, x_9, x_10, x_11, x_12, x_25); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_32 = lean_apply_7(x_29, x_8, x_22, x_9, x_10, x_11, x_12, x_28); -if (lean_obj_tag(x_32) == 0) +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) { lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_33 = lean_apply_7(x_30, x_8, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_33) == 0) { -uint8_t x_34; +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); +lean_object* x_36; lean_object* x_37; x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_5, 2); -x_43 = lean_nat_add(x_7, x_42); +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_5, 2); +x_44 = lean_nat_add(x_7, x_43); lean_dec(x_7); x_6 = x_19; -x_7 = x_43; -x_8 = x_41; -x_13 = x_40; +x_7 = x_44; +x_8 = x_42; +x_13 = x_41; goto _start; } } else { -uint8_t x_45; +uint8_t x_46; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_22, x_49, x_9, x_10, x_11, x_12, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -4195,7 +3528,7 @@ lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_53 = lean_apply_7(x_29, x_8, x_51, x_9, x_10, x_11, x_12, x_52); +x_53 = lean_apply_7(x_30, x_8, x_51, x_9, x_10, x_11, x_12, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -4210,7 +3543,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -4267,7 +3599,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -4299,7 +3630,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -4333,21 +3663,20 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -4366,7 +3695,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_78 = !lean_is_exclusive(x_23); if (x_78 == 0) @@ -4397,7 +3725,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_82, 0, x_8); @@ -4414,7 +3741,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_83, 0, x_8); @@ -4423,175 +3749,444 @@ return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__12(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__9(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__12___rarg___boxed), 13, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__9___rarg___boxed), 13, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__13___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__10___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_4, 1); -x_14 = lean_nat_dec_le(x_13, x_6); -if (x_14 == 0) +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) { -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_5, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_5, x_17); -lean_dec(x_5); -x_19 = l_Lean_Expr_Lean_Expr___instance__11; -x_20 = lean_array_get(x_19, x_2, x_6); -x_21 = lean_array_get(x_19, x_3, x_6); -lean_inc(x_11); +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_22 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_20, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_22) == 0) +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; -lean_inc(x_11); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_23, x_25, x_8, x_9, x_10, x_11, x_24); -if (lean_obj_tag(x_26) == 0) +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); -lean_dec(x_27); -if (x_31 == 0) +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else { -lean_object* x_32; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_32 = lean_apply_7(x_29, x_7, x_21, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) -{ -uint8_t x_34; -lean_dec(x_18); -lean_dec(x_11); +uint8_t x_27; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); -x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +return x_20; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__10(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__10___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__11___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) +{ +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else +{ +uint8_t x_27; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) +{ +return x_20; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__11(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__11___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__12___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; uint8_t x_16; +x_15 = lean_ctor_get(x_6, 1); +x_16 = lean_nat_dec_le(x_15, x_8); +if (x_16 == 0) +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_nat_dec_eq(x_7, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_7, x_19); +lean_dec(x_7); +x_21 = l_Lean_Expr_Lean_Expr___instance__11; +x_22 = lean_array_get(x_21, x_4, x_8); +x_23 = lean_array_get(x_21, x_5, x_8); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_24 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_22, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_3); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_25, x_3, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) +{ +lean_object* x_33; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_33 = lean_apply_7(x_30, x_9, x_23, x_10, x_11, x_12, x_13, x_29); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_4, 2); -x_43 = lean_nat_add(x_6, x_42); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_43; -x_7 = x_41; -x_12 = x_40; +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_6, 2); +x_44 = lean_nat_add(x_8, x_43); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_44; +x_9 = x_42; +x_14 = x_41; goto _start; } } else { -uint8_t x_45; -lean_dec(x_18); +uint8_t x_46; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_21, x_49, x_8, x_9, x_10, x_11, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_23, x_10, x_11, x_12, x_13, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -4600,11 +4195,11 @@ lean_inc(x_51); x_52 = lean_ctor_get(x_50, 1); lean_inc(x_52); lean_dec(x_50); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_53 = lean_apply_7(x_29, x_7, x_51, x_8, x_9, x_10, x_11, x_52); +x_53 = lean_apply_7(x_30, x_9, x_51, x_10, x_11, x_12, x_13, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -4613,12 +4208,13 @@ lean_inc(x_54); if (lean_obj_tag(x_54) == 0) { uint8_t x_55; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -4656,25 +4252,26 @@ lean_dec(x_53); x_62 = lean_ctor_get(x_54, 0); lean_inc(x_62); lean_dec(x_54); -x_63 = lean_ctor_get(x_4, 2); -x_64 = lean_nat_add(x_6, x_63); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_64; -x_7 = x_62; -x_12 = x_61; +x_63 = lean_ctor_get(x_6, 2); +x_64 = lean_nat_add(x_8, x_63); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_64; +x_9 = x_62; +x_14 = x_61; goto _start; } } else { uint8_t x_66; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -4699,13 +4296,14 @@ return x_69; else { uint8_t x_70; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -4731,28 +4329,29 @@ return x_73; else { uint8_t x_74; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -4763,28 +4362,29 @@ return x_77; else { uint8_t x_78; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_78 = !lean_is_exclusive(x_22); +x_78 = !lean_is_exclusive(x_24); if (x_78 == 0) { -return x_22; +return x_24; } else { lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_22, 0); -x_80 = lean_ctor_get(x_22, 1); +x_79 = lean_ctor_get(x_24, 0); +x_80 = lean_ctor_get(x_24, 1); lean_inc(x_80); lean_inc(x_79); -lean_dec(x_22); +lean_dec(x_24); x_81 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_81, 0, x_79); lean_ctor_set(x_81, 1, x_80); @@ -4795,313 +4395,47 @@ return x_81; else { lean_object* x_82; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_7); -lean_ctor_set(x_82, 1, x_12); +lean_ctor_set(x_82, 0, x_9); +lean_ctor_set(x_82, 1, x_14); return x_82; } } else { lean_object* x_83; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_7); -lean_ctor_set(x_83, 1, x_12); +lean_ctor_set(x_83, 0, x_9); +lean_ctor_set(x_83, 1, x_14); return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__13(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__12(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__13___rarg___boxed), 12, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__12___rarg___boxed), 14, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__14___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__14(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__14___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__15___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__15(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__15___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__16___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__13___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; uint8_t x_15; @@ -5128,142 +4462,139 @@ lean_inc(x_9); x_23 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_21, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); +x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -lean_inc(x_2); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_24, x_2, x_9, x_10, x_11, x_12, x_25); -if (lean_obj_tag(x_26) == 0) +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_24, x_26, x_9, x_10, x_11, x_12, x_25); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_32 = lean_apply_7(x_29, x_8, x_22, x_9, x_10, x_11, x_12, x_28); -if (lean_obj_tag(x_32) == 0) +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) { lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_33 = lean_apply_7(x_30, x_8, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_33) == 0) { -uint8_t x_34; +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); +lean_object* x_36; lean_object* x_37; x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_5, 2); -x_43 = lean_nat_add(x_7, x_42); +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_5, 2); +x_44 = lean_nat_add(x_7, x_43); lean_dec(x_7); x_6 = x_19; -x_7 = x_43; -x_8 = x_41; -x_13 = x_40; +x_7 = x_44; +x_8 = x_42; +x_13 = x_41; goto _start; } } else { -uint8_t x_45; +uint8_t x_46; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_22, x_49, x_9, x_10, x_11, x_12, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -5276,7 +4607,7 @@ lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_53 = lean_apply_7(x_29, x_8, x_51, x_9, x_10, x_11, x_12, x_52); +x_53 = lean_apply_7(x_30, x_8, x_51, x_9, x_10, x_11, x_12, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -5291,7 +4622,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -5348,7 +4678,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -5380,7 +4709,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -5414,21 +4742,20 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -5447,7 +4774,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_78 = !lean_is_exclusive(x_23); if (x_78 == 0) @@ -5478,7 +4804,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_82, 0, x_8); @@ -5495,7 +4820,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_83, 0, x_8); @@ -5504,175 +4828,444 @@ return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__16(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__13(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__16___rarg___boxed), 13, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__13___rarg___boxed), 13, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__17___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__14___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_4, 1); -x_14 = lean_nat_dec_le(x_13, x_6); -if (x_14 == 0) +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) { -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_5, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_5, x_17); -lean_dec(x_5); -x_19 = l_Lean_Expr_Lean_Expr___instance__11; -x_20 = lean_array_get(x_19, x_2, x_6); -x_21 = lean_array_get(x_19, x_3, x_6); -lean_inc(x_11); +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_22 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_20, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_22) == 0) +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; -lean_inc(x_11); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_23, x_25, x_8, x_9, x_10, x_11, x_24); -if (lean_obj_tag(x_26) == 0) +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); -lean_dec(x_27); -if (x_31 == 0) +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else { -lean_object* x_32; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_32 = lean_apply_7(x_29, x_7, x_21, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) -{ -uint8_t x_34; -lean_dec(x_18); -lean_dec(x_11); +uint8_t x_27; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); -x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +return x_20; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__14(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__14___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__15___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) +{ +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else +{ +uint8_t x_27; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) +{ +return x_20; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__15(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__15___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__16___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; uint8_t x_16; +x_15 = lean_ctor_get(x_6, 1); +x_16 = lean_nat_dec_le(x_15, x_8); +if (x_16 == 0) +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_nat_dec_eq(x_7, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_7, x_19); +lean_dec(x_7); +x_21 = l_Lean_Expr_Lean_Expr___instance__11; +x_22 = lean_array_get(x_21, x_4, x_8); +x_23 = lean_array_get(x_21, x_5, x_8); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_24 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_22, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_3); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_25, x_3, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) +{ +lean_object* x_33; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_33 = lean_apply_7(x_30, x_9, x_23, x_10, x_11, x_12, x_13, x_29); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_4, 2); -x_43 = lean_nat_add(x_6, x_42); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_43; -x_7 = x_41; -x_12 = x_40; +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_6, 2); +x_44 = lean_nat_add(x_8, x_43); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_44; +x_9 = x_42; +x_14 = x_41; goto _start; } } else { -uint8_t x_45; -lean_dec(x_18); +uint8_t x_46; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_21, x_49, x_8, x_9, x_10, x_11, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_23, x_10, x_11, x_12, x_13, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -5681,11 +5274,11 @@ lean_inc(x_51); x_52 = lean_ctor_get(x_50, 1); lean_inc(x_52); lean_dec(x_50); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_53 = lean_apply_7(x_29, x_7, x_51, x_8, x_9, x_10, x_11, x_52); +x_53 = lean_apply_7(x_30, x_9, x_51, x_10, x_11, x_12, x_13, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -5694,12 +5287,13 @@ lean_inc(x_54); if (lean_obj_tag(x_54) == 0) { uint8_t x_55; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -5737,25 +5331,26 @@ lean_dec(x_53); x_62 = lean_ctor_get(x_54, 0); lean_inc(x_62); lean_dec(x_54); -x_63 = lean_ctor_get(x_4, 2); -x_64 = lean_nat_add(x_6, x_63); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_64; -x_7 = x_62; -x_12 = x_61; +x_63 = lean_ctor_get(x_6, 2); +x_64 = lean_nat_add(x_8, x_63); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_64; +x_9 = x_62; +x_14 = x_61; goto _start; } } else { uint8_t x_66; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -5780,13 +5375,14 @@ return x_69; else { uint8_t x_70; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -5812,28 +5408,29 @@ return x_73; else { uint8_t x_74; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -5844,28 +5441,29 @@ return x_77; else { uint8_t x_78; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_78 = !lean_is_exclusive(x_22); +x_78 = !lean_is_exclusive(x_24); if (x_78 == 0) { -return x_22; +return x_24; } else { lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_22, 0); -x_80 = lean_ctor_get(x_22, 1); +x_79 = lean_ctor_get(x_24, 0); +x_80 = lean_ctor_get(x_24, 1); lean_inc(x_80); lean_inc(x_79); -lean_dec(x_22); +lean_dec(x_24); x_81 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_81, 0, x_79); lean_ctor_set(x_81, 1, x_80); @@ -5876,313 +5474,47 @@ return x_81; else { lean_object* x_82; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_7); -lean_ctor_set(x_82, 1, x_12); +lean_ctor_set(x_82, 0, x_9); +lean_ctor_set(x_82, 1, x_14); return x_82; } } else { lean_object* x_83; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_7); -lean_ctor_set(x_83, 1, x_12); +lean_ctor_set(x_83, 0, x_9); +lean_ctor_set(x_83, 1, x_14); return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__17(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__16(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__17___rarg___boxed), 12, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__16___rarg___boxed), 14, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__18___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__18(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__18___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__19___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__19(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__19___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__20___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__17___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; uint8_t x_15; @@ -6209,142 +5541,139 @@ lean_inc(x_9); x_23 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_21, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); +x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -lean_inc(x_2); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_24, x_2, x_9, x_10, x_11, x_12, x_25); -if (lean_obj_tag(x_26) == 0) +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_24, x_26, x_9, x_10, x_11, x_12, x_25); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_32 = lean_apply_7(x_29, x_8, x_22, x_9, x_10, x_11, x_12, x_28); -if (lean_obj_tag(x_32) == 0) +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) { lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_33 = lean_apply_7(x_30, x_8, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_33) == 0) { -uint8_t x_34; +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); +lean_object* x_36; lean_object* x_37; x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_5, 2); -x_43 = lean_nat_add(x_7, x_42); +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_5, 2); +x_44 = lean_nat_add(x_7, x_43); lean_dec(x_7); x_6 = x_19; -x_7 = x_43; -x_8 = x_41; -x_13 = x_40; +x_7 = x_44; +x_8 = x_42; +x_13 = x_41; goto _start; } } else { -uint8_t x_45; +uint8_t x_46; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_22, x_49, x_9, x_10, x_11, x_12, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -6357,7 +5686,7 @@ lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_53 = lean_apply_7(x_29, x_8, x_51, x_9, x_10, x_11, x_12, x_52); +x_53 = lean_apply_7(x_30, x_8, x_51, x_9, x_10, x_11, x_12, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -6372,7 +5701,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -6429,7 +5757,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -6461,7 +5788,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -6495,21 +5821,20 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -6528,7 +5853,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_78 = !lean_is_exclusive(x_23); if (x_78 == 0) @@ -6559,7 +5883,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_82, 0, x_8); @@ -6576,7 +5899,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_83, 0, x_8); @@ -6585,175 +5907,444 @@ return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__20(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__17(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__20___rarg___boxed), 13, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__17___rarg___boxed), 13, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__21___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__18___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_4, 1); -x_14 = lean_nat_dec_le(x_13, x_6); -if (x_14 == 0) +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) { -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_5, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_5, x_17); -lean_dec(x_5); -x_19 = l_Lean_Expr_Lean_Expr___instance__11; -x_20 = lean_array_get(x_19, x_2, x_6); -x_21 = lean_array_get(x_19, x_3, x_6); -lean_inc(x_11); +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_22 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_20, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_22) == 0) +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; -lean_inc(x_11); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_23, x_25, x_8, x_9, x_10, x_11, x_24); -if (lean_obj_tag(x_26) == 0) +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); -lean_dec(x_27); -if (x_31 == 0) +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else { -lean_object* x_32; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_32 = lean_apply_7(x_29, x_7, x_21, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) -{ -uint8_t x_34; -lean_dec(x_18); -lean_dec(x_11); +uint8_t x_27; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); -x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +return x_20; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__18(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__18___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__19___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) +{ +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else +{ +uint8_t x_27; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) +{ +return x_20; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__19(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__19___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__20___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; uint8_t x_16; +x_15 = lean_ctor_get(x_6, 1); +x_16 = lean_nat_dec_le(x_15, x_8); +if (x_16 == 0) +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_nat_dec_eq(x_7, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_7, x_19); +lean_dec(x_7); +x_21 = l_Lean_Expr_Lean_Expr___instance__11; +x_22 = lean_array_get(x_21, x_4, x_8); +x_23 = lean_array_get(x_21, x_5, x_8); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_24 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_22, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_3); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_25, x_3, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) +{ +lean_object* x_33; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_33 = lean_apply_7(x_30, x_9, x_23, x_10, x_11, x_12, x_13, x_29); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_4, 2); -x_43 = lean_nat_add(x_6, x_42); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_43; -x_7 = x_41; -x_12 = x_40; +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_6, 2); +x_44 = lean_nat_add(x_8, x_43); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_44; +x_9 = x_42; +x_14 = x_41; goto _start; } } else { -uint8_t x_45; -lean_dec(x_18); +uint8_t x_46; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_21, x_49, x_8, x_9, x_10, x_11, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_23, x_10, x_11, x_12, x_13, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -6762,11 +6353,11 @@ lean_inc(x_51); x_52 = lean_ctor_get(x_50, 1); lean_inc(x_52); lean_dec(x_50); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_53 = lean_apply_7(x_29, x_7, x_51, x_8, x_9, x_10, x_11, x_52); +x_53 = lean_apply_7(x_30, x_9, x_51, x_10, x_11, x_12, x_13, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -6775,12 +6366,13 @@ lean_inc(x_54); if (lean_obj_tag(x_54) == 0) { uint8_t x_55; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -6818,25 +6410,26 @@ lean_dec(x_53); x_62 = lean_ctor_get(x_54, 0); lean_inc(x_62); lean_dec(x_54); -x_63 = lean_ctor_get(x_4, 2); -x_64 = lean_nat_add(x_6, x_63); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_64; -x_7 = x_62; -x_12 = x_61; +x_63 = lean_ctor_get(x_6, 2); +x_64 = lean_nat_add(x_8, x_63); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_64; +x_9 = x_62; +x_14 = x_61; goto _start; } } else { uint8_t x_66; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -6861,13 +6454,14 @@ return x_69; else { uint8_t x_70; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -6893,28 +6487,29 @@ return x_73; else { uint8_t x_74; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -6925,28 +6520,29 @@ return x_77; else { uint8_t x_78; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_78 = !lean_is_exclusive(x_22); +x_78 = !lean_is_exclusive(x_24); if (x_78 == 0) { -return x_22; +return x_24; } else { lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_22, 0); -x_80 = lean_ctor_get(x_22, 1); +x_79 = lean_ctor_get(x_24, 0); +x_80 = lean_ctor_get(x_24, 1); lean_inc(x_80); lean_inc(x_79); -lean_dec(x_22); +lean_dec(x_24); x_81 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_81, 0, x_79); lean_ctor_set(x_81, 1, x_80); @@ -6957,45 +6553,448 @@ return x_81; else { lean_object* x_82; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_7); -lean_ctor_set(x_82, 1, x_12); +lean_ctor_set(x_82, 0, x_9); +lean_ctor_set(x_82, 1, x_14); return x_82; } } else { lean_object* x_83; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_7); -lean_ctor_set(x_83, 1, x_12); +lean_ctor_set(x_83, 0, x_9); +lean_ctor_set(x_83, 1, x_14); return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__21(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__20(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__21___rarg___boxed), 12, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__20___rarg___boxed), 14, 0); return x_2; } } -lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserBody___spec__22(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__21___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; uint8_t x_15; +x_14 = lean_ctor_get(x_5, 1); +x_15 = lean_nat_dec_le(x_14, x_7); +if (x_15 == 0) +{ +lean_object* x_16; uint8_t x_17; +x_16 = lean_unsigned_to_nat(0u); +x_17 = lean_nat_dec_eq(x_6, x_16); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_18 = lean_unsigned_to_nat(1u); +x_19 = lean_nat_sub(x_6, x_18); +lean_dec(x_6); +x_20 = l_Lean_Expr_Lean_Expr___instance__11; +x_21 = lean_array_get(x_20, x_3, x_7); +x_22 = lean_array_get(x_20, x_4, x_7); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_23 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_21, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_24, x_26, x_9, x_10, x_11, x_12, x_25); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) +{ +lean_object* x_33; +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_33 = lean_apply_7(x_30, x_8, x_22, x_9, x_10, x_11, x_12, x_29); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +lean_dec(x_19); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); +lean_inc(x_38); +lean_dec(x_33); +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; +} +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); +lean_inc(x_41); +lean_dec(x_33); +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_5, 2); +x_44 = lean_nat_add(x_7, x_43); +lean_dec(x_7); +x_6 = x_19; +x_7 = x_44; +x_8 = x_42; +x_13 = x_41; +goto _start; +} +} +else +{ +uint8_t x_46; +lean_dec(x_19); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_1); +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) +{ +return x_33; +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; +} +} +} +else +{ +lean_object* x_50; +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_1); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_22, x_9, x_10, x_11, x_12, x_29); +if (lean_obj_tag(x_50) == 0) +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_50, 1); +lean_inc(x_52); +lean_dec(x_50); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_53 = lean_apply_7(x_30, x_8, x_51, x_9, x_10, x_11, x_12, x_52); +if (lean_obj_tag(x_53) == 0) +{ +lean_object* x_54; +x_54 = lean_ctor_get(x_53, 0); +lean_inc(x_54); +if (lean_obj_tag(x_54) == 0) +{ +uint8_t x_55; +lean_dec(x_19); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_1); +x_55 = !lean_is_exclusive(x_53); +if (x_55 == 0) +{ +lean_object* x_56; lean_object* x_57; +x_56 = lean_ctor_get(x_53, 0); +lean_dec(x_56); +x_57 = lean_ctor_get(x_54, 0); +lean_inc(x_57); +lean_dec(x_54); +lean_ctor_set(x_53, 0, x_57); +return x_53; +} +else +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_53, 1); +lean_inc(x_58); +lean_dec(x_53); +x_59 = lean_ctor_get(x_54, 0); +lean_inc(x_59); +lean_dec(x_54); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_58); +return x_60; +} +} +else +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_61 = lean_ctor_get(x_53, 1); +lean_inc(x_61); +lean_dec(x_53); +x_62 = lean_ctor_get(x_54, 0); +lean_inc(x_62); +lean_dec(x_54); +x_63 = lean_ctor_get(x_5, 2); +x_64 = lean_nat_add(x_7, x_63); +lean_dec(x_7); +x_6 = x_19; +x_7 = x_64; +x_8 = x_62; +x_13 = x_61; +goto _start; +} +} +else +{ +uint8_t x_66; +lean_dec(x_19); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_1); +x_66 = !lean_is_exclusive(x_53); +if (x_66 == 0) +{ +return x_53; +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_53, 0); +x_68 = lean_ctor_get(x_53, 1); +lean_inc(x_68); +lean_inc(x_67); +lean_dec(x_53); +x_69 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_69, 0, x_67); +lean_ctor_set(x_69, 1, x_68); +return x_69; +} +} +} +else +{ +uint8_t x_70; +lean_dec(x_19); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_1); +x_70 = !lean_is_exclusive(x_50); +if (x_70 == 0) +{ +return x_50; +} +else +{ +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_50, 0); +x_72 = lean_ctor_get(x_50, 1); +lean_inc(x_72); +lean_inc(x_71); +lean_dec(x_50); +x_73 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +return x_73; +} +} +} +} +else +{ +uint8_t x_74; +lean_dec(x_22); +lean_dec(x_19); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_1); +x_74 = !lean_is_exclusive(x_27); +if (x_74 == 0) +{ +return x_27; +} +else +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); +lean_inc(x_76); +lean_inc(x_75); +lean_dec(x_27); +x_77 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +return x_77; +} +} +} +else +{ +uint8_t x_78; +lean_dec(x_22); +lean_dec(x_19); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_1); +x_78 = !lean_is_exclusive(x_23); +if (x_78 == 0) +{ +return x_23; +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_23, 0); +x_80 = lean_ctor_get(x_23, 1); +lean_inc(x_80); +lean_inc(x_79); +lean_dec(x_23); +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_79); +lean_ctor_set(x_81, 1, x_80); +return x_81; +} +} +} +else +{ +lean_object* x_82; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_82 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_82, 0, x_8); +lean_ctor_set(x_82, 1, x_13); +return x_82; +} +} +else +{ +lean_object* x_83; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_83 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_83, 0, x_8); +lean_ctor_set(x_83, 1, x_13); +return x_83; +} +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__21(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__21___rarg___boxed), 13, 0); +return x_2; +} +} +lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserExpr___spec__22(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; @@ -7206,7 +7205,7 @@ return x_73; } } } -lean_object* l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserBody___spec__23___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__23___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; lean_object* x_9; @@ -7258,15 +7257,15 @@ return x_17; } } } -lean_object* l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserBody___spec__23(lean_object* x_1) { +lean_object* l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__23(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserBody___spec__23___rarg), 7, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__23___rarg), 7, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__24___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__24___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { uint8_t x_12; @@ -7292,14 +7291,14 @@ lean_inc(x_18); lean_dec(x_16); lean_inc(x_1); lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); lean_closure_set(x_19, 0, x_2); lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); if (lean_obj_tag(x_20) == 0) { lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; @@ -7392,15 +7391,15 @@ return x_35; } } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__24(lean_object* x_1) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__24(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__24___rarg___boxed), 11, 0); +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__24___rarg___boxed), 11, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__25___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__25___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { uint8_t x_12; @@ -7426,14 +7425,14 @@ lean_inc(x_18); lean_dec(x_16); lean_inc(x_1); lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); lean_closure_set(x_19, 0, x_2); lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); if (lean_obj_tag(x_20) == 0) { lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; @@ -7526,15 +7525,425 @@ return x_35; } } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__25(lean_object* x_1) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__25(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__25___rarg___boxed), 11, 0); +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__25___rarg___boxed), 11, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__26___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__26___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; uint8_t x_16; +x_15 = lean_ctor_get(x_6, 1); +x_16 = lean_nat_dec_le(x_15, x_8); +if (x_16 == 0) +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_nat_dec_eq(x_7, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_7, x_19); +lean_dec(x_7); +x_21 = l_Lean_Expr_Lean_Expr___instance__11; +x_22 = lean_array_get(x_21, x_4, x_8); +x_23 = lean_array_get(x_21, x_5, x_8); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_24 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_22, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_3); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_25, x_3, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) +{ +lean_object* x_33; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_33 = lean_apply_7(x_30, x_9, x_23, x_10, x_11, x_12, x_13, x_29); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); +lean_inc(x_38); +lean_dec(x_33); +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; +} +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); +lean_inc(x_41); +lean_dec(x_33); +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_6, 2); +x_44 = lean_nat_add(x_8, x_43); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_44; +x_9 = x_42; +x_14 = x_41; +goto _start; +} +} +else +{ +uint8_t x_46; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) +{ +return x_33; +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; +} +} +} +else +{ +lean_object* x_50; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_1); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_23, x_10, x_11, x_12, x_13, x_29); +if (lean_obj_tag(x_50) == 0) +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_50, 1); +lean_inc(x_52); +lean_dec(x_50); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_53 = lean_apply_7(x_30, x_9, x_51, x_10, x_11, x_12, x_13, x_52); +if (lean_obj_tag(x_53) == 0) +{ +lean_object* x_54; +x_54 = lean_ctor_get(x_53, 0); +lean_inc(x_54); +if (lean_obj_tag(x_54) == 0) +{ +uint8_t x_55; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_55 = !lean_is_exclusive(x_53); +if (x_55 == 0) +{ +lean_object* x_56; lean_object* x_57; +x_56 = lean_ctor_get(x_53, 0); +lean_dec(x_56); +x_57 = lean_ctor_get(x_54, 0); +lean_inc(x_57); +lean_dec(x_54); +lean_ctor_set(x_53, 0, x_57); +return x_53; +} +else +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_53, 1); +lean_inc(x_58); +lean_dec(x_53); +x_59 = lean_ctor_get(x_54, 0); +lean_inc(x_59); +lean_dec(x_54); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_58); +return x_60; +} +} +else +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_61 = lean_ctor_get(x_53, 1); +lean_inc(x_61); +lean_dec(x_53); +x_62 = lean_ctor_get(x_54, 0); +lean_inc(x_62); +lean_dec(x_54); +x_63 = lean_ctor_get(x_6, 2); +x_64 = lean_nat_add(x_8, x_63); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_64; +x_9 = x_62; +x_14 = x_61; +goto _start; +} +} +else +{ +uint8_t x_66; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_66 = !lean_is_exclusive(x_53); +if (x_66 == 0) +{ +return x_53; +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_53, 0); +x_68 = lean_ctor_get(x_53, 1); +lean_inc(x_68); +lean_inc(x_67); +lean_dec(x_53); +x_69 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_69, 0, x_67); +lean_ctor_set(x_69, 1, x_68); +return x_69; +} +} +} +else +{ +uint8_t x_70; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_70 = !lean_is_exclusive(x_50); +if (x_70 == 0) +{ +return x_50; +} +else +{ +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_50, 0); +x_72 = lean_ctor_get(x_50, 1); +lean_inc(x_72); +lean_inc(x_71); +lean_dec(x_50); +x_73 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +return x_73; +} +} +} +} +else +{ +uint8_t x_74; +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_74 = !lean_is_exclusive(x_27); +if (x_74 == 0) +{ +return x_27; +} +else +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); +lean_inc(x_76); +lean_inc(x_75); +lean_dec(x_27); +x_77 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +return x_77; +} +} +} +else +{ +uint8_t x_78; +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_78 = !lean_is_exclusive(x_24); +if (x_78 == 0) +{ +return x_24; +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_24, 0); +x_80 = lean_ctor_get(x_24, 1); +lean_inc(x_80); +lean_inc(x_79); +lean_dec(x_24); +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_79); +lean_ctor_set(x_81, 1, x_80); +return x_81; +} +} +} +else +{ +lean_object* x_82; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_3); +lean_dec(x_1); +x_82 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_82, 0, x_9); +lean_ctor_set(x_82, 1, x_14); +return x_82; +} +} +else +{ +lean_object* x_83; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_3); +lean_dec(x_1); +x_83 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_83, 0, x_9); +lean_ctor_set(x_83, 1, x_14); +return x_83; +} +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__26(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__26___rarg___boxed), 14, 0); +return x_2; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__27___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; uint8_t x_15; @@ -7561,142 +7970,139 @@ lean_inc(x_9); x_23 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_21, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); +x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -lean_inc(x_2); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_24, x_2, x_9, x_10, x_11, x_12, x_25); -if (lean_obj_tag(x_26) == 0) +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_24, x_26, x_9, x_10, x_11, x_12, x_25); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_32 = lean_apply_7(x_29, x_8, x_22, x_9, x_10, x_11, x_12, x_28); -if (lean_obj_tag(x_32) == 0) +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) { lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_33 = lean_apply_7(x_30, x_8, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_33) == 0) { -uint8_t x_34; +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); +lean_object* x_36; lean_object* x_37; x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_5, 2); -x_43 = lean_nat_add(x_7, x_42); +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_5, 2); +x_44 = lean_nat_add(x_7, x_43); lean_dec(x_7); x_6 = x_19; -x_7 = x_43; -x_8 = x_41; -x_13 = x_40; +x_7 = x_44; +x_8 = x_42; +x_13 = x_41; goto _start; } } else { -uint8_t x_45; +uint8_t x_46; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_22, x_49, x_9, x_10, x_11, x_12, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -7709,7 +8115,7 @@ lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_53 = lean_apply_7(x_29, x_8, x_51, x_9, x_10, x_11, x_12, x_52); +x_53 = lean_apply_7(x_30, x_8, x_51, x_9, x_10, x_11, x_12, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -7724,7 +8130,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -7781,7 +8186,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -7813,7 +8217,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -7847,21 +8250,20 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -7880,7 +8282,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_78 = !lean_is_exclusive(x_23); if (x_78 == 0) @@ -7911,7 +8312,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_82, 0, x_8); @@ -7928,7 +8328,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_83, 0, x_8); @@ -7937,175 +8336,444 @@ return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__26(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__27(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__26___rarg___boxed), 13, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__27___rarg___boxed), 13, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__27___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__28___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_4, 1); -x_14 = lean_nat_dec_le(x_13, x_6); -if (x_14 == 0) +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) { -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_5, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_5, x_17); -lean_dec(x_5); -x_19 = l_Lean_Expr_Lean_Expr___instance__11; -x_20 = lean_array_get(x_19, x_2, x_6); -x_21 = lean_array_get(x_19, x_3, x_6); -lean_inc(x_11); +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_22 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_20, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_22) == 0) +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; -lean_inc(x_11); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_23, x_25, x_8, x_9, x_10, x_11, x_24); -if (lean_obj_tag(x_26) == 0) +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); -lean_dec(x_27); -if (x_31 == 0) +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else { -lean_object* x_32; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_32 = lean_apply_7(x_29, x_7, x_21, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) -{ -uint8_t x_34; -lean_dec(x_18); -lean_dec(x_11); +uint8_t x_27; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); -x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +return x_20; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__28(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__28___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__29___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) +{ +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else +{ +uint8_t x_27; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) +{ +return x_20; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__29(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__29___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__30___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; uint8_t x_16; +x_15 = lean_ctor_get(x_6, 1); +x_16 = lean_nat_dec_le(x_15, x_8); +if (x_16 == 0) +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_nat_dec_eq(x_7, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_7, x_19); +lean_dec(x_7); +x_21 = l_Lean_Expr_Lean_Expr___instance__11; +x_22 = lean_array_get(x_21, x_4, x_8); +x_23 = lean_array_get(x_21, x_5, x_8); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_24 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_22, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_3); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_25, x_3, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) +{ +lean_object* x_33; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_33 = lean_apply_7(x_30, x_9, x_23, x_10, x_11, x_12, x_13, x_29); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_4, 2); -x_43 = lean_nat_add(x_6, x_42); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_43; -x_7 = x_41; -x_12 = x_40; +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_6, 2); +x_44 = lean_nat_add(x_8, x_43); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_44; +x_9 = x_42; +x_14 = x_41; goto _start; } } else { -uint8_t x_45; -lean_dec(x_18); +uint8_t x_46; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_21, x_49, x_8, x_9, x_10, x_11, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_23, x_10, x_11, x_12, x_13, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -8114,11 +8782,11 @@ lean_inc(x_51); x_52 = lean_ctor_get(x_50, 1); lean_inc(x_52); lean_dec(x_50); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_53 = lean_apply_7(x_29, x_7, x_51, x_8, x_9, x_10, x_11, x_52); +x_53 = lean_apply_7(x_30, x_9, x_51, x_10, x_11, x_12, x_13, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -8127,12 +8795,13 @@ lean_inc(x_54); if (lean_obj_tag(x_54) == 0) { uint8_t x_55; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -8170,25 +8839,26 @@ lean_dec(x_53); x_62 = lean_ctor_get(x_54, 0); lean_inc(x_62); lean_dec(x_54); -x_63 = lean_ctor_get(x_4, 2); -x_64 = lean_nat_add(x_6, x_63); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_64; -x_7 = x_62; -x_12 = x_61; +x_63 = lean_ctor_get(x_6, 2); +x_64 = lean_nat_add(x_8, x_63); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_64; +x_9 = x_62; +x_14 = x_61; goto _start; } } else { uint8_t x_66; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -8213,13 +8883,14 @@ return x_69; else { uint8_t x_70; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -8245,28 +8916,29 @@ return x_73; else { uint8_t x_74; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -8277,28 +8949,29 @@ return x_77; else { uint8_t x_78; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_78 = !lean_is_exclusive(x_22); +x_78 = !lean_is_exclusive(x_24); if (x_78 == 0) { -return x_22; +return x_24; } else { lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_22, 0); -x_80 = lean_ctor_get(x_22, 1); +x_79 = lean_ctor_get(x_24, 0); +x_80 = lean_ctor_get(x_24, 1); lean_inc(x_80); lean_inc(x_79); -lean_dec(x_22); +lean_dec(x_24); x_81 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_81, 0, x_79); lean_ctor_set(x_81, 1, x_80); @@ -8309,313 +8982,47 @@ return x_81; else { lean_object* x_82; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_7); -lean_ctor_set(x_82, 1, x_12); +lean_ctor_set(x_82, 0, x_9); +lean_ctor_set(x_82, 1, x_14); return x_82; } } else { lean_object* x_83; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_7); -lean_ctor_set(x_83, 1, x_12); +lean_ctor_set(x_83, 0, x_9); +lean_ctor_set(x_83, 1, x_14); return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__27(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__30(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__27___rarg___boxed), 12, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__30___rarg___boxed), 14, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__28___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__28(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__28___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__29___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__29(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__29___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__30___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__31___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; uint8_t x_15; @@ -8642,142 +9049,139 @@ lean_inc(x_9); x_23 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_21, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); +x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -lean_inc(x_2); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_24, x_2, x_9, x_10, x_11, x_12, x_25); -if (lean_obj_tag(x_26) == 0) +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_24, x_26, x_9, x_10, x_11, x_12, x_25); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_32 = lean_apply_7(x_29, x_8, x_22, x_9, x_10, x_11, x_12, x_28); -if (lean_obj_tag(x_32) == 0) +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) { lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_33 = lean_apply_7(x_30, x_8, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_33) == 0) { -uint8_t x_34; +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); +lean_object* x_36; lean_object* x_37; x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_5, 2); -x_43 = lean_nat_add(x_7, x_42); +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_5, 2); +x_44 = lean_nat_add(x_7, x_43); lean_dec(x_7); x_6 = x_19; -x_7 = x_43; -x_8 = x_41; -x_13 = x_40; +x_7 = x_44; +x_8 = x_42; +x_13 = x_41; goto _start; } } else { -uint8_t x_45; +uint8_t x_46; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_22, x_49, x_9, x_10, x_11, x_12, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -8790,7 +9194,7 @@ lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_53 = lean_apply_7(x_29, x_8, x_51, x_9, x_10, x_11, x_12, x_52); +x_53 = lean_apply_7(x_30, x_8, x_51, x_9, x_10, x_11, x_12, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -8805,7 +9209,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -8862,7 +9265,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -8894,7 +9296,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -8928,21 +9329,20 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -8961,7 +9361,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_78 = !lean_is_exclusive(x_23); if (x_78 == 0) @@ -8992,7 +9391,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_82, 0, x_8); @@ -9009,7 +9407,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_83, 0, x_8); @@ -9018,175 +9415,444 @@ return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__30(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__31(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__30___rarg___boxed), 13, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__31___rarg___boxed), 13, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__31___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__32___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_4, 1); -x_14 = lean_nat_dec_le(x_13, x_6); -if (x_14 == 0) +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) { -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_5, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_5, x_17); -lean_dec(x_5); -x_19 = l_Lean_Expr_Lean_Expr___instance__11; -x_20 = lean_array_get(x_19, x_2, x_6); -x_21 = lean_array_get(x_19, x_3, x_6); -lean_inc(x_11); +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_22 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_20, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_22) == 0) +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; -lean_inc(x_11); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_23, x_25, x_8, x_9, x_10, x_11, x_24); -if (lean_obj_tag(x_26) == 0) +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); -lean_dec(x_27); -if (x_31 == 0) +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else { -lean_object* x_32; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_32 = lean_apply_7(x_29, x_7, x_21, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) -{ -uint8_t x_34; -lean_dec(x_18); -lean_dec(x_11); +uint8_t x_27; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); -x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +return x_20; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__32(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__32___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__33___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) +{ +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else +{ +uint8_t x_27; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) +{ +return x_20; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__33(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__33___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__34___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; uint8_t x_16; +x_15 = lean_ctor_get(x_6, 1); +x_16 = lean_nat_dec_le(x_15, x_8); +if (x_16 == 0) +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_nat_dec_eq(x_7, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_7, x_19); +lean_dec(x_7); +x_21 = l_Lean_Expr_Lean_Expr___instance__11; +x_22 = lean_array_get(x_21, x_4, x_8); +x_23 = lean_array_get(x_21, x_5, x_8); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_24 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_22, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_3); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_25, x_3, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) +{ +lean_object* x_33; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_33 = lean_apply_7(x_30, x_9, x_23, x_10, x_11, x_12, x_13, x_29); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_4, 2); -x_43 = lean_nat_add(x_6, x_42); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_43; -x_7 = x_41; -x_12 = x_40; +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_6, 2); +x_44 = lean_nat_add(x_8, x_43); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_44; +x_9 = x_42; +x_14 = x_41; goto _start; } } else { -uint8_t x_45; -lean_dec(x_18); +uint8_t x_46; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_21, x_49, x_8, x_9, x_10, x_11, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_23, x_10, x_11, x_12, x_13, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -9195,11 +9861,11 @@ lean_inc(x_51); x_52 = lean_ctor_get(x_50, 1); lean_inc(x_52); lean_dec(x_50); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_53 = lean_apply_7(x_29, x_7, x_51, x_8, x_9, x_10, x_11, x_52); +x_53 = lean_apply_7(x_30, x_9, x_51, x_10, x_11, x_12, x_13, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -9208,12 +9874,13 @@ lean_inc(x_54); if (lean_obj_tag(x_54) == 0) { uint8_t x_55; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -9251,25 +9918,26 @@ lean_dec(x_53); x_62 = lean_ctor_get(x_54, 0); lean_inc(x_62); lean_dec(x_54); -x_63 = lean_ctor_get(x_4, 2); -x_64 = lean_nat_add(x_6, x_63); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_64; -x_7 = x_62; -x_12 = x_61; +x_63 = lean_ctor_get(x_6, 2); +x_64 = lean_nat_add(x_8, x_63); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_64; +x_9 = x_62; +x_14 = x_61; goto _start; } } else { uint8_t x_66; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -9294,13 +9962,14 @@ return x_69; else { uint8_t x_70; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -9326,28 +9995,29 @@ return x_73; else { uint8_t x_74; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -9358,28 +10028,29 @@ return x_77; else { uint8_t x_78; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_78 = !lean_is_exclusive(x_22); +x_78 = !lean_is_exclusive(x_24); if (x_78 == 0) { -return x_22; +return x_24; } else { lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_22, 0); -x_80 = lean_ctor_get(x_22, 1); +x_79 = lean_ctor_get(x_24, 0); +x_80 = lean_ctor_get(x_24, 1); lean_inc(x_80); lean_inc(x_79); -lean_dec(x_22); +lean_dec(x_24); x_81 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_81, 0, x_79); lean_ctor_set(x_81, 1, x_80); @@ -9390,313 +10061,47 @@ return x_81; else { lean_object* x_82; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_7); -lean_ctor_set(x_82, 1, x_12); +lean_ctor_set(x_82, 0, x_9); +lean_ctor_set(x_82, 1, x_14); return x_82; } } else { lean_object* x_83; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_7); -lean_ctor_set(x_83, 1, x_12); +lean_ctor_set(x_83, 0, x_9); +lean_ctor_set(x_83, 1, x_14); return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__31(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__34(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__31___rarg___boxed), 12, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__34___rarg___boxed), 14, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__32___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__32(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__32___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__33___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__33(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__33___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__34___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__35___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; uint8_t x_15; @@ -9723,142 +10128,139 @@ lean_inc(x_9); x_23 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_21, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); +x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -lean_inc(x_2); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_24, x_2, x_9, x_10, x_11, x_12, x_25); -if (lean_obj_tag(x_26) == 0) +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_24, x_26, x_9, x_10, x_11, x_12, x_25); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_32 = lean_apply_7(x_29, x_8, x_22, x_9, x_10, x_11, x_12, x_28); -if (lean_obj_tag(x_32) == 0) +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) { lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_33 = lean_apply_7(x_30, x_8, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_33) == 0) { -uint8_t x_34; +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); +lean_object* x_36; lean_object* x_37; x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_5, 2); -x_43 = lean_nat_add(x_7, x_42); +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_5, 2); +x_44 = lean_nat_add(x_7, x_43); lean_dec(x_7); x_6 = x_19; -x_7 = x_43; -x_8 = x_41; -x_13 = x_40; +x_7 = x_44; +x_8 = x_42; +x_13 = x_41; goto _start; } } else { -uint8_t x_45; +uint8_t x_46; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_22, x_49, x_9, x_10, x_11, x_12, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -9871,7 +10273,7 @@ lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_53 = lean_apply_7(x_29, x_8, x_51, x_9, x_10, x_11, x_12, x_52); +x_53 = lean_apply_7(x_30, x_8, x_51, x_9, x_10, x_11, x_12, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -9886,7 +10288,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -9943,7 +10344,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -9975,7 +10375,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -10009,21 +10408,20 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -10042,7 +10440,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_78 = !lean_is_exclusive(x_23); if (x_78 == 0) @@ -10073,7 +10470,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_82, 0, x_8); @@ -10090,7 +10486,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_83, 0, x_8); @@ -10099,175 +10494,444 @@ return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__34(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__35(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__34___rarg___boxed), 13, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__35___rarg___boxed), 13, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__35___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__36___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_4, 1); -x_14 = lean_nat_dec_le(x_13, x_6); -if (x_14 == 0) +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) { -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_5, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_5, x_17); -lean_dec(x_5); -x_19 = l_Lean_Expr_Lean_Expr___instance__11; -x_20 = lean_array_get(x_19, x_2, x_6); -x_21 = lean_array_get(x_19, x_3, x_6); -lean_inc(x_11); +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_22 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_20, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_22) == 0) +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; -lean_inc(x_11); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_23, x_25, x_8, x_9, x_10, x_11, x_24); -if (lean_obj_tag(x_26) == 0) +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); -lean_dec(x_27); -if (x_31 == 0) +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else { -lean_object* x_32; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_32 = lean_apply_7(x_29, x_7, x_21, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) -{ -uint8_t x_34; -lean_dec(x_18); -lean_dec(x_11); +uint8_t x_27; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); -x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +return x_20; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__36(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__36___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__37___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) +{ +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else +{ +uint8_t x_27; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) +{ +return x_20; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__37(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__37___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__38___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; uint8_t x_16; +x_15 = lean_ctor_get(x_6, 1); +x_16 = lean_nat_dec_le(x_15, x_8); +if (x_16 == 0) +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_nat_dec_eq(x_7, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_7, x_19); +lean_dec(x_7); +x_21 = l_Lean_Expr_Lean_Expr___instance__11; +x_22 = lean_array_get(x_21, x_4, x_8); +x_23 = lean_array_get(x_21, x_5, x_8); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_24 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_22, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_3); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_25, x_3, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) +{ +lean_object* x_33; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_33 = lean_apply_7(x_30, x_9, x_23, x_10, x_11, x_12, x_13, x_29); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_4, 2); -x_43 = lean_nat_add(x_6, x_42); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_43; -x_7 = x_41; -x_12 = x_40; +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_6, 2); +x_44 = lean_nat_add(x_8, x_43); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_44; +x_9 = x_42; +x_14 = x_41; goto _start; } } else { -uint8_t x_45; -lean_dec(x_18); +uint8_t x_46; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_21, x_49, x_8, x_9, x_10, x_11, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_23, x_10, x_11, x_12, x_13, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -10276,11 +10940,11 @@ lean_inc(x_51); x_52 = lean_ctor_get(x_50, 1); lean_inc(x_52); lean_dec(x_50); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_53 = lean_apply_7(x_29, x_7, x_51, x_8, x_9, x_10, x_11, x_52); +x_53 = lean_apply_7(x_30, x_9, x_51, x_10, x_11, x_12, x_13, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -10289,12 +10953,13 @@ lean_inc(x_54); if (lean_obj_tag(x_54) == 0) { uint8_t x_55; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -10332,25 +10997,26 @@ lean_dec(x_53); x_62 = lean_ctor_get(x_54, 0); lean_inc(x_62); lean_dec(x_54); -x_63 = lean_ctor_get(x_4, 2); -x_64 = lean_nat_add(x_6, x_63); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_64; -x_7 = x_62; -x_12 = x_61; +x_63 = lean_ctor_get(x_6, 2); +x_64 = lean_nat_add(x_8, x_63); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_64; +x_9 = x_62; +x_14 = x_61; goto _start; } } else { uint8_t x_66; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -10375,13 +11041,14 @@ return x_69; else { uint8_t x_70; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -10407,28 +11074,29 @@ return x_73; else { uint8_t x_74; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -10439,28 +11107,29 @@ return x_77; else { uint8_t x_78; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_78 = !lean_is_exclusive(x_22); +x_78 = !lean_is_exclusive(x_24); if (x_78 == 0) { -return x_22; +return x_24; } else { lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_22, 0); -x_80 = lean_ctor_get(x_22, 1); +x_79 = lean_ctor_get(x_24, 0); +x_80 = lean_ctor_get(x_24, 1); lean_inc(x_80); lean_inc(x_79); -lean_dec(x_22); +lean_dec(x_24); x_81 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_81, 0, x_79); lean_ctor_set(x_81, 1, x_80); @@ -10471,313 +11140,47 @@ return x_81; else { lean_object* x_82; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_7); -lean_ctor_set(x_82, 1, x_12); +lean_ctor_set(x_82, 0, x_9); +lean_ctor_set(x_82, 1, x_14); return x_82; } } else { lean_object* x_83; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_7); -lean_ctor_set(x_83, 1, x_12); +lean_ctor_set(x_83, 0, x_9); +lean_ctor_set(x_83, 1, x_14); return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__35(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__38(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__35___rarg___boxed), 12, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__38___rarg___boxed), 14, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__36___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__36(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__36___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__37___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__37(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__37___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__38___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__39___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; uint8_t x_15; @@ -10804,142 +11207,139 @@ lean_inc(x_9); x_23 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_21, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); +x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -lean_inc(x_2); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_24, x_2, x_9, x_10, x_11, x_12, x_25); -if (lean_obj_tag(x_26) == 0) +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_24, x_26, x_9, x_10, x_11, x_12, x_25); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_32 = lean_apply_7(x_29, x_8, x_22, x_9, x_10, x_11, x_12, x_28); -if (lean_obj_tag(x_32) == 0) +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) { lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_33 = lean_apply_7(x_30, x_8, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_33) == 0) { -uint8_t x_34; +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); +lean_object* x_36; lean_object* x_37; x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_5, 2); -x_43 = lean_nat_add(x_7, x_42); +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_5, 2); +x_44 = lean_nat_add(x_7, x_43); lean_dec(x_7); x_6 = x_19; -x_7 = x_43; -x_8 = x_41; -x_13 = x_40; +x_7 = x_44; +x_8 = x_42; +x_13 = x_41; goto _start; } } else { -uint8_t x_45; +uint8_t x_46; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_22, x_49, x_9, x_10, x_11, x_12, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -10952,7 +11352,7 @@ lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_53 = lean_apply_7(x_29, x_8, x_51, x_9, x_10, x_11, x_12, x_52); +x_53 = lean_apply_7(x_30, x_8, x_51, x_9, x_10, x_11, x_12, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -10967,7 +11367,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -11024,7 +11423,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -11056,7 +11454,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -11090,21 +11487,20 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -11123,7 +11519,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_78 = !lean_is_exclusive(x_23); if (x_78 == 0) @@ -11154,7 +11549,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_82, 0, x_8); @@ -11171,7 +11565,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_83, 0, x_8); @@ -11180,175 +11573,444 @@ return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__38(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__39(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__38___rarg___boxed), 13, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__39___rarg___boxed), 13, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__39___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__40___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_4, 1); -x_14 = lean_nat_dec_le(x_13, x_6); -if (x_14 == 0) +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) { -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_5, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_5, x_17); -lean_dec(x_5); -x_19 = l_Lean_Expr_Lean_Expr___instance__11; -x_20 = lean_array_get(x_19, x_2, x_6); -x_21 = lean_array_get(x_19, x_3, x_6); -lean_inc(x_11); +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_22 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_20, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_22) == 0) +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; -lean_inc(x_11); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_23, x_25, x_8, x_9, x_10, x_11, x_24); -if (lean_obj_tag(x_26) == 0) +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); -lean_dec(x_27); -if (x_31 == 0) +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else { -lean_object* x_32; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_32 = lean_apply_7(x_29, x_7, x_21, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) -{ -uint8_t x_34; -lean_dec(x_18); -lean_dec(x_11); +uint8_t x_27; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); -x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +return x_20; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__40(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__40___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__41___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = x_4 == x_5; +if (x_12 == 0) +{ +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = x_4 - x_13; +x_15 = lean_array_uget(x_3, x_14); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +lean_inc(x_2); +x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_2); +lean_closure_set(x_19, 1, x_1); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_mkSimpleThunk___closed__1; +x_24 = 0; +x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); +x_4 = x_14; +x_6 = x_25; +x_11 = x_22; +goto _start; +} +else +{ +uint8_t x_27; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) +{ +return x_20; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) +{ +return x_16; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_11); +return x_35; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__41(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__41___rarg___boxed), 11, 0); +return x_2; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__42___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; uint8_t x_16; +x_15 = lean_ctor_get(x_6, 1); +x_16 = lean_nat_dec_le(x_15, x_8); +if (x_16 == 0) +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_nat_dec_eq(x_7, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_7, x_19); +lean_dec(x_7); +x_21 = l_Lean_Expr_Lean_Expr___instance__11; +x_22 = lean_array_get(x_21, x_4, x_8); +x_23 = lean_array_get(x_21, x_5, x_8); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_24 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_22, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_3); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_25, x_3, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) +{ +lean_object* x_33; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_33 = lean_apply_7(x_30, x_9, x_23, x_10, x_11, x_12, x_13, x_29); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_4, 2); -x_43 = lean_nat_add(x_6, x_42); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_43; -x_7 = x_41; -x_12 = x_40; +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_6, 2); +x_44 = lean_nat_add(x_8, x_43); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_44; +x_9 = x_42; +x_14 = x_41; goto _start; } } else { -uint8_t x_45; -lean_dec(x_18); +uint8_t x_46; +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_21, x_49, x_8, x_9, x_10, x_11, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_23, x_10, x_11, x_12, x_13, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -11357,11 +12019,11 @@ lean_inc(x_51); x_52 = lean_ctor_get(x_50, 1); lean_inc(x_52); lean_dec(x_50); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_53 = lean_apply_7(x_29, x_7, x_51, x_8, x_9, x_10, x_11, x_52); +x_53 = lean_apply_7(x_30, x_9, x_51, x_10, x_11, x_12, x_13, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -11370,12 +12032,13 @@ lean_inc(x_54); if (lean_obj_tag(x_54) == 0) { uint8_t x_55; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -11413,25 +12076,26 @@ lean_dec(x_53); x_62 = lean_ctor_get(x_54, 0); lean_inc(x_62); lean_dec(x_54); -x_63 = lean_ctor_get(x_4, 2); -x_64 = lean_nat_add(x_6, x_63); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_64; -x_7 = x_62; -x_12 = x_61; +x_63 = lean_ctor_get(x_6, 2); +x_64 = lean_nat_add(x_8, x_63); +lean_dec(x_8); +x_7 = x_20; +x_8 = x_64; +x_9 = x_62; +x_14 = x_61; goto _start; } } else { uint8_t x_66; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -11456,13 +12120,14 @@ return x_69; else { uint8_t x_70; -lean_dec(x_18); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -11488,28 +12153,29 @@ return x_73; else { uint8_t x_74; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -11520,28 +12186,29 @@ return x_77; else { uint8_t x_78; -lean_dec(x_21); -lean_dec(x_18); +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_3); lean_dec(x_1); -x_78 = !lean_is_exclusive(x_22); +x_78 = !lean_is_exclusive(x_24); if (x_78 == 0) { -return x_22; +return x_24; } else { lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_22, 0); -x_80 = lean_ctor_get(x_22, 1); +x_79 = lean_ctor_get(x_24, 0); +x_80 = lean_ctor_get(x_24, 1); lean_inc(x_80); lean_inc(x_79); -lean_dec(x_22); +lean_dec(x_24); x_81 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_81, 0, x_79); lean_ctor_set(x_81, 1, x_80); @@ -11552,313 +12219,47 @@ return x_81; else { lean_object* x_82; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_7); -lean_ctor_set(x_82, 1, x_12); +lean_ctor_set(x_82, 0, x_9); +lean_ctor_set(x_82, 1, x_14); return x_82; } } else { lean_object* x_83; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_7); +lean_dec(x_3); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_7); -lean_ctor_set(x_83, 1, x_12); +lean_ctor_set(x_83, 0, x_9); +lean_ctor_set(x_83, 1, x_14); return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__39(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__42(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__39___rarg___boxed), 12, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__42___rarg___boxed), 14, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__40___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__40(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__40___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__41___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_4 == x_5; -if (x_12 == 0) -{ -size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = 1; -x_14 = x_4 - x_13; -x_15 = lean_array_uget(x_3, x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_15, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_1); -lean_inc(x_2); -x_19 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_20 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_17, x_19, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_Lean_mkSimpleThunk___closed__1; -x_24 = 0; -x_25 = l_Lean_mkForall(x_23, x_24, x_21, x_6); -x_4 = x_14; -x_6 = x_25; -x_11 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_16); -if (x_31 == 0) -{ -return x_16; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_16, 0); -x_33 = lean_ctor_get(x_16, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_16); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -lean_object* x_35; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_2); -lean_dec(x_1); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_6); -lean_ctor_set(x_35, 1, x_11); -return x_35; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__41(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__41___rarg___boxed), 11, 0); -return x_2; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__42___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__43___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; uint8_t x_15; @@ -11885,142 +12286,139 @@ lean_inc(x_9); x_23 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_21, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); +x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -lean_inc(x_2); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_24, x_2, x_9, x_10, x_11, x_12, x_25); -if (lean_obj_tag(x_26) == 0) +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_24, x_26, x_9, x_10, x_11, x_12, x_25); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_32 = lean_apply_7(x_29, x_8, x_22, x_9, x_10, x_11, x_12, x_28); -if (lean_obj_tag(x_32) == 0) +x_30 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1; +x_31 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_32 = l_Lean_Expr_isConstOf(x_28, x_31); +lean_dec(x_31); +lean_dec(x_28); +if (x_32 == 0) { lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_33 = lean_apply_7(x_30, x_8, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_33) == 0) { -uint8_t x_34; +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) { -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); +lean_object* x_36; lean_object* x_37; x_36 = lean_ctor_get(x_33, 0); -lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; +lean_dec(x_36); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +lean_ctor_set(x_33, 0, x_37); +return x_33; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); lean_inc(x_38); lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; +x_39 = lean_ctor_get(x_34, 0); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); -lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_33, 1); lean_inc(x_41); lean_dec(x_33); -x_42 = lean_ctor_get(x_5, 2); -x_43 = lean_nat_add(x_7, x_42); +x_42 = lean_ctor_get(x_34, 0); +lean_inc(x_42); +lean_dec(x_34); +x_43 = lean_ctor_get(x_5, 2); +x_44 = lean_nat_add(x_7, x_43); lean_dec(x_7); x_6 = x_19; -x_7 = x_43; -x_8 = x_41; -x_13 = x_40; +x_7 = x_44; +x_8 = x_42; +x_13 = x_41; goto _start; } } else { -uint8_t x_45; +uint8_t x_46; lean_dec(x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); -if (x_45 == 0) +x_46 = !lean_is_exclusive(x_33); +if (x_46 == 0) { -return x_32; +return x_33; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_32); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; +lean_dec(x_33); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; } } } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; +lean_object* x_50; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_22, x_49, x_9, x_10, x_11, x_12, x_28); +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_22, x_9, x_10, x_11, x_12, x_29); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; @@ -12033,7 +12431,7 @@ lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_53 = lean_apply_7(x_29, x_8, x_51, x_9, x_10, x_11, x_12, x_52); +x_53 = lean_apply_7(x_30, x_8, x_51, x_9, x_10, x_11, x_12, x_52); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; @@ -12048,7 +12446,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_55 = !lean_is_exclusive(x_53); if (x_55 == 0) @@ -12105,7 +12502,6 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_66 = !lean_is_exclusive(x_53); if (x_66 == 0) @@ -12137,7 +12533,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_70 = !lean_is_exclusive(x_50); if (x_70 == 0) @@ -12171,21 +12566,20 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); +x_74 = !lean_is_exclusive(x_27); if (x_74 == 0) { -return x_26; +return x_27; } else { lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); +x_75 = lean_ctor_get(x_27, 0); +x_76 = lean_ctor_get(x_27, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_26); +lean_dec(x_27); x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_75); lean_ctor_set(x_77, 1, x_76); @@ -12204,7 +12598,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_2); lean_dec(x_1); x_78 = !lean_is_exclusive(x_23); if (x_78 == 0) @@ -12235,7 +12628,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_82 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_82, 0, x_8); @@ -12252,7 +12644,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_2); lean_dec(x_1); x_83 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_83, 0, x_8); @@ -12261,488 +12652,466 @@ return x_83; } } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__42(lean_object* x_1) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__43(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__42___rarg___boxed), 13, 0); +x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__43___rarg___boxed), 13, 0); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__43___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_4, 1); -x_14 = lean_nat_dec_le(x_13, x_6); +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_10 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); +x_11 = lean_box(0); +x_12 = l_Lean_mkConst(x_10, x_11); +x_13 = lean_array_get_size(x_3); +x_14 = lean_nat_dec_le(x_13, x_13); if (x_14 == 0) { lean_object* x_15; uint8_t x_16; x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_5, x_15); +x_16 = lean_nat_dec_lt(x_15, x_13); if (x_16 == 0) { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_5, x_17); +lean_object* x_17; +lean_dec(x_13); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); lean_dec(x_5); -x_19 = l_Lean_Expr_Lean_Expr___instance__11; -x_20 = lean_array_get(x_19, x_2, x_6); -x_21 = lean_array_get(x_19, x_3, x_6); +lean_dec(x_2); +lean_dec(x_1); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_12); +lean_ctor_set(x_17, 1, x_9); +return x_17; +} +else +{ +size_t x_18; size_t x_19; lean_object* x_20; +x_18 = lean_usize_of_nat(x_13); +lean_dec(x_13); +x_19 = 0; +x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); +return x_20; +} +} +else +{ +lean_object* x_21; uint8_t x_22; +x_21 = lean_unsigned_to_nat(0u); +x_22 = lean_nat_dec_lt(x_21, x_13); +if (x_22 == 0) +{ +lean_object* x_23; +lean_dec(x_13); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +lean_dec(x_1); +x_23 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_23, 0, x_12); +lean_ctor_set(x_23, 1, x_9); +return x_23; +} +else +{ +size_t x_24; size_t x_25; lean_object* x_26; +x_24 = lean_usize_of_nat(x_13); +lean_dec(x_13); +x_25 = 0; +x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__3___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); +return x_26; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__2(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_Expr_getAppNumArgsAux(x_1, x_13); +x_15 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_14); +x_16 = lean_mk_array(x_14, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = lean_nat_sub(x_14, x_17); +lean_dec(x_14); +x_19 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_16, x_18); +x_20 = lean_array_get_size(x_6); +x_21 = lean_array_get_size(x_19); +x_22 = l_Nat_min(x_20, x_21); +lean_dec(x_21); +lean_dec(x_20); +lean_inc(x_22); +x_23 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_23, 0, x_13); +lean_ctor_set(x_23, 1, x_22); +lean_ctor_set(x_23, 2, x_17); +x_24 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg(x_2, x_3, x_4, x_6, x_19, x_23, x_22, x_13, x_5, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_23); +lean_dec(x_19); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +return x_24; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_inc(x_3); +x_15 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_9, x_2, x_3); +x_16 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_15, x_10, x_11, x_12, x_13, x_14); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Lean_mkConst(x_3, x_4); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_22 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_20, x_8, x_9, x_10, x_11, x_12); +lean_inc(x_18); +x_19 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_18, x_10, x_11, x_12, x_13, x_17); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(x_7); +x_23 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__2___boxed), 12, 5); +lean_closure_set(x_23, 0, x_5); +lean_closure_set(x_23, 1, x_6); +lean_closure_set(x_23, 2, x_22); +lean_closure_set(x_23, 3, x_8); +lean_closure_set(x_23, 4, x_18); +x_24 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_20, x_23, x_10, x_11, x_12, x_13, x_21); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +return x_19; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_19, 0); +x_27 = lean_ctor_get(x_19, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_19); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__4(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; lean_object* x_18; +x_17 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_1); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_3, x_17, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_1); +x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__1___boxed), 9, 2); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_4); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_5, x_21, x_12, x_13, x_14, x_15, x_20); if (lean_obj_tag(x_22) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; x_23 = lean_ctor_get(x_22, 0); lean_inc(x_23); x_24 = lean_ctor_get(x_22, 1); lean_inc(x_24); lean_dec(x_22); -x_25 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_26 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_23, x_25, x_8, x_9, x_10, x_11, x_24); -if (lean_obj_tag(x_26) == 0) -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1; -x_30 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_31 = l_Lean_Expr_isConstOf(x_27, x_30); -lean_dec(x_30); -lean_dec(x_27); -if (x_31 == 0) -{ -lean_object* x_32; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_32 = lean_apply_7(x_29, x_7, x_21, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); +x_25 = lean_box(0); +lean_inc(x_6); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_6); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_23); +x_27 = lean_box(0); +x_28 = 0; +x_29 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_19); +lean_ctor_set(x_29, 2, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*3, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_st_ref_get(x_15, x_24); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 0); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Environment_addAndCompile(x_34, x_25, x_30); +lean_dec(x_30); +if (lean_obj_tag(x_35) == 0) { -uint8_t x_34; -lean_dec(x_18); -lean_dec(x_11); +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) -{ -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); -x_36 = lean_ctor_get(x_33, 0); +x_36 = lean_ctor_get(x_35, 0); lean_inc(x_36); -lean_dec(x_33); -lean_ctor_set(x_32, 0, x_36); -return x_32; -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_33, 0); +lean_dec(x_35); +x_37 = l_Lean_KernelException_toMessageData(x_36, x_25); +x_38 = lean_ctor_get(x_14, 3); lean_inc(x_38); -lean_dec(x_33); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; -} -} -else +x_39 = l_Lean_MessageData_toString(x_37, x_33); +if (lean_obj_tag(x_39) == 0) { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 1); +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_38); +x_40 = lean_ctor_get(x_39, 0); lean_inc(x_40); -lean_dec(x_32); -x_41 = lean_ctor_get(x_33, 0); +x_41 = lean_ctor_get(x_39, 1); lean_inc(x_41); -lean_dec(x_33); -x_42 = lean_ctor_get(x_4, 2); -x_43 = lean_nat_add(x_6, x_42); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_43; -x_7 = x_41; -x_12 = x_40; -goto _start; -} -} -else -{ -uint8_t x_45; -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_1); -x_45 = !lean_is_exclusive(x_32); +lean_dec(x_39); +x_42 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_42, 0, x_40); +x_43 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_43, x_12, x_13, x_14, x_15, x_41); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_45 = !lean_is_exclusive(x_44); if (x_45 == 0) { -return x_32; +return x_44; } else { lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_32, 0); -x_47 = lean_ctor_get(x_32, 1); +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); lean_inc(x_47); lean_inc(x_46); -lean_dec(x_32); +lean_dec(x_44); x_48 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_48, 0, x_46); lean_ctor_set(x_48, 1, x_47); return x_48; } } +else +{ +uint8_t x_49; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_49 = !lean_is_exclusive(x_39); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_39, 0); +x_51 = lean_io_error_to_string(x_50); +x_52 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_52, 0, x_51); +x_53 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_53, 0, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_38); +lean_ctor_set(x_54, 1, x_53); +lean_ctor_set(x_39, 0, x_54); +return x_39; } else { -uint8_t x_49; lean_object* x_50; -x_49 = 0; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_1); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_21, x_49, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_50) == 0) -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -lean_dec(x_50); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_53 = lean_apply_7(x_29, x_7, x_51, x_8, x_9, x_10, x_11, x_52); -if (lean_obj_tag(x_53) == 0) -{ -lean_object* x_54; -x_54 = lean_ctor_get(x_53, 0); -lean_inc(x_54); -if (lean_obj_tag(x_54) == 0) -{ -uint8_t x_55; -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_1); -x_55 = !lean_is_exclusive(x_53); -if (x_55 == 0) -{ -lean_object* x_56; lean_object* x_57; -x_56 = lean_ctor_get(x_53, 0); -lean_dec(x_56); -x_57 = lean_ctor_get(x_54, 0); -lean_inc(x_57); -lean_dec(x_54); -lean_ctor_set(x_53, 0, x_57); -return x_53; -} -else -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_53, 1); -lean_inc(x_58); -lean_dec(x_53); -x_59 = lean_ctor_get(x_54, 0); -lean_inc(x_59); -lean_dec(x_54); +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_55 = lean_ctor_get(x_39, 0); +x_56 = lean_ctor_get(x_39, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_39); +x_57 = lean_io_error_to_string(x_55); +x_58 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_58, 0, x_57); +x_59 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_59, 0, x_58); x_60 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_58); -return x_60; +lean_ctor_set(x_60, 0, x_38); +lean_ctor_set(x_60, 1, x_59); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_56); +return x_61; +} } } else { -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_61 = lean_ctor_get(x_53, 1); -lean_inc(x_61); -lean_dec(x_53); -x_62 = lean_ctor_get(x_54, 0); +lean_object* x_62; lean_object* x_63; +x_62 = lean_ctor_get(x_35, 0); lean_inc(x_62); -lean_dec(x_54); -x_63 = lean_ctor_get(x_4, 2); -x_64 = lean_nat_add(x_6, x_63); -lean_dec(x_6); -x_5 = x_18; -x_6 = x_64; -x_7 = x_62; -x_12 = x_61; -goto _start; +lean_dec(x_35); +x_63 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__3(x_7, x_8, x_6, x_25, x_9, x_1, x_3, x_10, x_62, x_12, x_13, x_14, x_15, x_33); +return x_63; } } else { -uint8_t x_66; -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_1); -x_66 = !lean_is_exclusive(x_53); -if (x_66 == 0) -{ -return x_53; -} -else -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_67 = lean_ctor_get(x_53, 0); -x_68 = lean_ctor_get(x_53, 1); -lean_inc(x_68); -lean_inc(x_67); -lean_dec(x_53); -x_69 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_69, 0, x_67); -lean_ctor_set(x_69, 1, x_68); -return x_69; -} -} -} -else -{ -uint8_t x_70; -lean_dec(x_18); -lean_dec(x_11); +uint8_t x_64; +lean_dec(x_19); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_1); -x_70 = !lean_is_exclusive(x_50); -if (x_70 == 0) -{ -return x_50; -} -else -{ -lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = lean_ctor_get(x_50, 0); -x_72 = lean_ctor_get(x_50, 1); -lean_inc(x_72); -lean_inc(x_71); -lean_dec(x_50); -x_73 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_73, 0, x_71); -lean_ctor_set(x_73, 1, x_72); -return x_73; -} -} -} -} -else -{ -uint8_t x_74; -lean_dec(x_21); -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_1); -x_74 = !lean_is_exclusive(x_26); -if (x_74 == 0) -{ -return x_26; -} -else -{ -lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_26, 0); -x_76 = lean_ctor_get(x_26, 1); -lean_inc(x_76); -lean_inc(x_75); -lean_dec(x_26); -x_77 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_77, 0, x_75); -lean_ctor_set(x_77, 1, x_76); -return x_77; -} -} -} -else -{ -uint8_t x_78; -lean_dec(x_21); -lean_dec(x_18); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_1); -x_78 = !lean_is_exclusive(x_22); -if (x_78 == 0) +x_64 = !lean_is_exclusive(x_22); +if (x_64 == 0) { return x_22; } else { -lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_22, 0); -x_80 = lean_ctor_get(x_22, 1); -lean_inc(x_80); -lean_inc(x_79); +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_22, 0); +x_66 = lean_ctor_get(x_22, 1); +lean_inc(x_66); +lean_inc(x_65); lean_dec(x_22); -x_81 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_81, 0, x_79); -lean_ctor_set(x_81, 1, x_80); -return x_81; +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; } } } else { -lean_object* x_82; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_7); -lean_ctor_set(x_82, 1, x_12); -return x_82; -} -} -else -{ -lean_object* x_83; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_7); -lean_ctor_set(x_83, 1, x_12); -return x_83; -} -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__43(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__43___rarg___boxed), 12, 0); -return x_2; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; -x_10 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1); -x_11 = lean_box(0); -x_12 = l_Lean_mkConst(x_10, x_11); -x_13 = lean_array_get_size(x_3); -x_14 = lean_nat_dec_le(x_13, x_13); -if (x_14 == 0) -{ -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_lt(x_15, x_13); -if (x_16 == 0) -{ -lean_object* x_17; +uint8_t x_68; +lean_dec(x_15); +lean_dec(x_14); lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -lean_dec(x_2); +lean_dec(x_4); lean_dec(x_1); -x_17 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_17, 0, x_12); -lean_ctor_set(x_17, 1, x_9); -return x_17; +x_68 = !lean_is_exclusive(x_18); +if (x_68 == 0) +{ +return x_18; } else { -size_t x_18; size_t x_19; lean_object* x_20; -x_18 = lean_usize_of_nat(x_13); -lean_dec(x_13); -x_19 = 0; -x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); -return x_20; -} -} -else -{ -lean_object* x_21; uint8_t x_22; -x_21 = lean_unsigned_to_nat(0u); -x_22 = lean_nat_dec_lt(x_21, x_13); -if (x_22 == 0) -{ -lean_object* x_23; -lean_dec(x_13); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_2); -lean_dec(x_1); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_12); -lean_ctor_set(x_23, 1, x_9); -return x_23; -} -else -{ -size_t x_24; size_t x_25; lean_object* x_26; -x_24 = lean_usize_of_nat(x_13); -lean_dec(x_13); -x_25 = 0; -x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__3___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); -return x_26; +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_18, 0); +x_70 = lean_ctor_get(x_18, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_18); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; } } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__5(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -12765,7 +13134,7 @@ x_22 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_22, 0, x_12); lean_ctor_set(x_22, 1, x_21); lean_ctor_set(x_22, 2, x_16); -x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); +x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); lean_dec(x_22); lean_dec(x_18); if (lean_obj_tag(x_23) == 0) @@ -12814,385 +13183,7 @@ return x_31; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_inc(x_3); -x_14 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_8, x_2, x_3); -x_15 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_14, x_9, x_10, x_11, x_12, x_13); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -x_17 = l_Lean_mkConst(x_3, x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_17); -x_18 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_17, x_9, x_10, x_11, x_12, x_16); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__2___boxed), 11, 4); -lean_closure_set(x_21, 0, x_5); -lean_closure_set(x_21, 1, x_6); -lean_closure_set(x_21, 2, x_7); -lean_closure_set(x_21, 3, x_17); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_19, x_21, x_9, x_10, x_11, x_12, x_20); -return x_22; -} -else -{ -uint8_t x_23; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); -x_17 = 0; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_1); -x_18 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_16, x_17, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__1___boxed), 9, 2); -lean_closure_set(x_21, 0, x_1); -lean_closure_set(x_21, 1, x_3); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_4, x_21, x_11, x_12, x_13, x_14, x_20); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_box(0); -lean_inc(x_5); -x_26 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_26, 0, x_5); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_26, 2, x_23); -x_27 = lean_box(0); -x_28 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_19); -lean_ctor_set(x_28, 2, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*3, x_17); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -x_30 = lean_st_ref_get(x_14, x_24); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = lean_ctor_get(x_31, 0); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Environment_addAndCompile(x_33, x_25, x_29); -lean_dec(x_29); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_KernelException_toMessageData(x_35, x_25); -x_37 = lean_ctor_get(x_13, 3); -lean_inc(x_37); -x_38 = l_Lean_MessageData_toString(x_36, x_32); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -lean_dec(x_37); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_39); -x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_41); -x_43 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_42, x_11, x_12, x_13, x_14, x_40); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_44 = !lean_is_exclusive(x_43); -if (x_44 == 0) -{ -return x_43; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_43, 0); -x_46 = lean_ctor_get(x_43, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_43); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -else -{ -uint8_t x_48; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_48 = !lean_is_exclusive(x_38); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_38, 0); -x_50 = lean_io_error_to_string(x_49); -x_51 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_51, 0, x_50); -x_52 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_52, 0, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_37); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set(x_38, 0, x_53); -return x_38; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_54 = lean_ctor_get(x_38, 0); -x_55 = lean_ctor_get(x_38, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_38); -x_56 = lean_io_error_to_string(x_54); -x_57 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_57, 0, x_56); -x_58 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_58, 0, x_57); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_37); -lean_ctor_set(x_59, 1, x_58); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_55); -return x_60; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_34, 0); -lean_inc(x_61); -lean_dec(x_34); -x_62 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__3(x_6, x_7, x_5, x_25, x_8, x_1, x_9, x_61, x_11, x_12, x_13, x_14, x_32); -return x_62; -} -} -else -{ -uint8_t x_63; -lean_dec(x_19); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_63 = !lean_is_exclusive(x_22); -if (x_63 == 0) -{ -return x_22; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_22, 0); -x_65 = lean_ctor_get(x_22, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_22); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_18); -if (x_67 == 0) -{ -return x_18; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_18, 0); -x_69 = lean_ctor_get(x_18, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_18); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Lean_Expr_getAppNumArgsAux(x_1, x_11); -x_13 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_12); -x_14 = lean_mk_array(x_12, x_13); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_sub(x_12, x_15); -lean_dec(x_12); -x_17 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_14, x_16); -x_18 = lean_array_get_size(x_4); -x_19 = lean_array_get_size(x_17); -x_20 = l_Nat_min(x_18, x_19); -lean_dec(x_19); -lean_dec(x_18); -lean_inc(x_20); -x_21 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_21, 0, x_11); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_21, 2, x_15); -x_22 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg(x_2, x_4, x_17, x_21, x_20, x_11, x_3, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_21); -lean_dec(x_17); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -return x_22; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_22); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -else -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_22); -if (x_27 == 0) -{ -return x_22; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_22, 0); -x_29 = lean_ctor_get(x_22, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_22); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -13227,7 +13218,7 @@ size_t x_18; size_t x_19; lean_object* x_20; x_18 = lean_usize_of_nat(x_13); lean_dec(x_13); x_19 = 0; -x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__6___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); +x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__6___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); return x_20; } } @@ -13257,13 +13248,393 @@ size_t x_24; size_t x_25; lean_object* x_26; x_24 = lean_usize_of_nat(x_13); lean_dec(x_13); x_25 = 0; -x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__7___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); +x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__7___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); return x_26; } } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__7(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_Expr_getAppNumArgsAux(x_1, x_13); +x_15 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_14); +x_16 = lean_mk_array(x_14, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = lean_nat_sub(x_14, x_17); +lean_dec(x_14); +x_19 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_16, x_18); +x_20 = lean_array_get_size(x_6); +x_21 = lean_array_get_size(x_19); +x_22 = l_Nat_min(x_20, x_21); +lean_dec(x_21); +lean_dec(x_20); +lean_inc(x_22); +x_23 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_23, 0, x_13); +lean_ctor_set(x_23, 1, x_22); +lean_ctor_set(x_23, 2, x_17); +x_24 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__8___rarg(x_2, x_3, x_4, x_6, x_19, x_23, x_22, x_13, x_5, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_23); +lean_dec(x_19); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +return x_24; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_inc(x_3); +x_15 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_9, x_2, x_3); +x_16 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_15, x_10, x_11, x_12, x_13, x_14); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Lean_mkConst(x_3, x_4); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_18); +x_19 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_18, x_10, x_11, x_12, x_13, x_17); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(x_7); +x_23 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__7___boxed), 12, 5); +lean_closure_set(x_23, 0, x_5); +lean_closure_set(x_23, 1, x_6); +lean_closure_set(x_23, 2, x_22); +lean_closure_set(x_23, 3, x_8); +lean_closure_set(x_23, 4, x_18); +x_24 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_20, x_23, x_10, x_11, x_12, x_13, x_21); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +return x_19; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_19, 0); +x_27 = lean_ctor_get(x_19, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_19); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__9(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; lean_object* x_18; +x_17 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_1); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_3, x_17, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_1); +x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__6___boxed), 9, 2); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_4); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_5, x_21, x_12, x_13, x_14, x_15, x_20); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_box(0); +lean_inc(x_6); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_6); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_23); +x_27 = lean_box(0); +x_28 = 0; +x_29 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_19); +lean_ctor_set(x_29, 2, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*3, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_st_ref_get(x_15, x_24); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 0); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Environment_addAndCompile(x_34, x_25, x_30); +lean_dec(x_30); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +lean_dec(x_35); +x_37 = l_Lean_KernelException_toMessageData(x_36, x_25); +x_38 = lean_ctor_get(x_14, 3); +lean_inc(x_38); +x_39 = l_Lean_MessageData_toString(x_37, x_33); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_38); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_42, 0, x_40); +x_43 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_43, x_12, x_13, x_14, x_15, x_41); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) +{ +return x_44; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +else +{ +uint8_t x_49; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_49 = !lean_is_exclusive(x_39); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_39, 0); +x_51 = lean_io_error_to_string(x_50); +x_52 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_52, 0, x_51); +x_53 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_53, 0, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_38); +lean_ctor_set(x_54, 1, x_53); +lean_ctor_set(x_39, 0, x_54); +return x_39; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_55 = lean_ctor_get(x_39, 0); +x_56 = lean_ctor_get(x_39, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_39); +x_57 = lean_io_error_to_string(x_55); +x_58 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_58, 0, x_57); +x_59 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_38); +lean_ctor_set(x_60, 1, x_59); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_56); +return x_61; +} +} +} +else +{ +lean_object* x_62; lean_object* x_63; +x_62 = lean_ctor_get(x_35, 0); +lean_inc(x_62); +lean_dec(x_35); +x_63 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__8(x_7, x_8, x_6, x_25, x_9, x_1, x_3, x_10, x_62, x_12, x_13, x_14, x_15, x_33); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_19); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_64 = !lean_is_exclusive(x_22); +if (x_64 == 0) +{ +return x_22; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_22, 0); +x_66 = lean_ctor_get(x_22, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_22); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_18); +if (x_68 == 0) +{ +return x_18; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_18, 0); +x_70 = lean_ctor_get(x_18, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_18); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__10(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -13286,7 +13657,7 @@ x_22 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_22, 0, x_12); lean_ctor_set(x_22, 1, x_21); lean_ctor_set(x_22, 2, x_16); -x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__8___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); +x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__9___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); lean_dec(x_22); lean_dec(x_18); if (lean_obj_tag(x_23) == 0) @@ -13335,385 +13706,7 @@ return x_31; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_inc(x_3); -x_14 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_8, x_2, x_3); -x_15 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_14, x_9, x_10, x_11, x_12, x_13); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -x_17 = l_Lean_mkConst(x_3, x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_17); -x_18 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_17, x_9, x_10, x_11, x_12, x_16); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__7___boxed), 11, 4); -lean_closure_set(x_21, 0, x_5); -lean_closure_set(x_21, 1, x_6); -lean_closure_set(x_21, 2, x_7); -lean_closure_set(x_21, 3, x_17); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_19, x_21, x_9, x_10, x_11, x_12, x_20); -return x_22; -} -else -{ -uint8_t x_23; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); -x_17 = 0; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_1); -x_18 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_16, x_17, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__6___boxed), 9, 2); -lean_closure_set(x_21, 0, x_1); -lean_closure_set(x_21, 1, x_3); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_4, x_21, x_11, x_12, x_13, x_14, x_20); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_box(0); -lean_inc(x_5); -x_26 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_26, 0, x_5); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_26, 2, x_23); -x_27 = lean_box(0); -x_28 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_19); -lean_ctor_set(x_28, 2, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*3, x_17); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -x_30 = lean_st_ref_get(x_14, x_24); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = lean_ctor_get(x_31, 0); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Environment_addAndCompile(x_33, x_25, x_29); -lean_dec(x_29); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_KernelException_toMessageData(x_35, x_25); -x_37 = lean_ctor_get(x_13, 3); -lean_inc(x_37); -x_38 = l_Lean_MessageData_toString(x_36, x_32); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -lean_dec(x_37); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_39); -x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_41); -x_43 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_42, x_11, x_12, x_13, x_14, x_40); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_44 = !lean_is_exclusive(x_43); -if (x_44 == 0) -{ -return x_43; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_43, 0); -x_46 = lean_ctor_get(x_43, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_43); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -else -{ -uint8_t x_48; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_48 = !lean_is_exclusive(x_38); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_38, 0); -x_50 = lean_io_error_to_string(x_49); -x_51 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_51, 0, x_50); -x_52 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_52, 0, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_37); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set(x_38, 0, x_53); -return x_38; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_54 = lean_ctor_get(x_38, 0); -x_55 = lean_ctor_get(x_38, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_38); -x_56 = lean_io_error_to_string(x_54); -x_57 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_57, 0, x_56); -x_58 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_58, 0, x_57); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_37); -lean_ctor_set(x_59, 1, x_58); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_55); -return x_60; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_34, 0); -lean_inc(x_61); -lean_dec(x_34); -x_62 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__8(x_6, x_7, x_5, x_25, x_8, x_1, x_9, x_61, x_11, x_12, x_13, x_14, x_32); -return x_62; -} -} -else -{ -uint8_t x_63; -lean_dec(x_19); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_63 = !lean_is_exclusive(x_22); -if (x_63 == 0) -{ -return x_22; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_22, 0); -x_65 = lean_ctor_get(x_22, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_22); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_18); -if (x_67 == 0) -{ -return x_18; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_18, 0); -x_69 = lean_ctor_get(x_18, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_18); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Lean_Expr_getAppNumArgsAux(x_1, x_11); -x_13 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_12); -x_14 = lean_mk_array(x_12, x_13); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_sub(x_12, x_15); -lean_dec(x_12); -x_17 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_14, x_16); -x_18 = lean_array_get_size(x_4); -x_19 = lean_array_get_size(x_17); -x_20 = l_Nat_min(x_18, x_19); -lean_dec(x_19); -lean_dec(x_18); -lean_inc(x_20); -x_21 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_21, 0, x_11); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_21, 2, x_15); -x_22 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__9___rarg(x_2, x_4, x_17, x_21, x_20, x_11, x_3, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_21); -lean_dec(x_17); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -return x_22; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_22); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -else -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_22); -if (x_27 == 0) -{ -return x_22; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_22, 0); -x_29 = lean_ctor_get(x_22, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_22); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -13748,7 +13741,7 @@ size_t x_18; size_t x_19; lean_object* x_20; x_18 = lean_usize_of_nat(x_13); lean_dec(x_13); x_19 = 0; -x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__10___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); +x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__10___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); return x_20; } } @@ -13778,13 +13771,393 @@ size_t x_24; size_t x_25; lean_object* x_26; x_24 = lean_usize_of_nat(x_13); lean_dec(x_13); x_25 = 0; -x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__11___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); +x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__11___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); return x_26; } } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__12(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_Expr_getAppNumArgsAux(x_1, x_13); +x_15 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_14); +x_16 = lean_mk_array(x_14, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = lean_nat_sub(x_14, x_17); +lean_dec(x_14); +x_19 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_16, x_18); +x_20 = lean_array_get_size(x_6); +x_21 = lean_array_get_size(x_19); +x_22 = l_Nat_min(x_20, x_21); +lean_dec(x_21); +lean_dec(x_20); +lean_inc(x_22); +x_23 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_23, 0, x_13); +lean_ctor_set(x_23, 1, x_22); +lean_ctor_set(x_23, 2, x_17); +x_24 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__12___rarg(x_2, x_3, x_4, x_6, x_19, x_23, x_22, x_13, x_5, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_23); +lean_dec(x_19); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +return x_24; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_inc(x_3); +x_15 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_9, x_2, x_3); +x_16 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_15, x_10, x_11, x_12, x_13, x_14); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Lean_mkConst(x_3, x_4); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_18); +x_19 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_18, x_10, x_11, x_12, x_13, x_17); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(x_7); +x_23 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__12___boxed), 12, 5); +lean_closure_set(x_23, 0, x_5); +lean_closure_set(x_23, 1, x_6); +lean_closure_set(x_23, 2, x_22); +lean_closure_set(x_23, 3, x_8); +lean_closure_set(x_23, 4, x_18); +x_24 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_20, x_23, x_10, x_11, x_12, x_13, x_21); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +return x_19; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_19, 0); +x_27 = lean_ctor_get(x_19, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_19); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__14(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; lean_object* x_18; +x_17 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_1); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_3, x_17, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_1); +x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__11___boxed), 9, 2); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_4); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_5, x_21, x_12, x_13, x_14, x_15, x_20); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_box(0); +lean_inc(x_6); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_6); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_23); +x_27 = lean_box(0); +x_28 = 0; +x_29 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_19); +lean_ctor_set(x_29, 2, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*3, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_st_ref_get(x_15, x_24); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 0); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Environment_addAndCompile(x_34, x_25, x_30); +lean_dec(x_30); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +lean_dec(x_35); +x_37 = l_Lean_KernelException_toMessageData(x_36, x_25); +x_38 = lean_ctor_get(x_14, 3); +lean_inc(x_38); +x_39 = l_Lean_MessageData_toString(x_37, x_33); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_38); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_42, 0, x_40); +x_43 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_43, x_12, x_13, x_14, x_15, x_41); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) +{ +return x_44; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +else +{ +uint8_t x_49; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_49 = !lean_is_exclusive(x_39); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_39, 0); +x_51 = lean_io_error_to_string(x_50); +x_52 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_52, 0, x_51); +x_53 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_53, 0, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_38); +lean_ctor_set(x_54, 1, x_53); +lean_ctor_set(x_39, 0, x_54); +return x_39; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_55 = lean_ctor_get(x_39, 0); +x_56 = lean_ctor_get(x_39, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_39); +x_57 = lean_io_error_to_string(x_55); +x_58 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_58, 0, x_57); +x_59 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_38); +lean_ctor_set(x_60, 1, x_59); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_56); +return x_61; +} +} +} +else +{ +lean_object* x_62; lean_object* x_63; +x_62 = lean_ctor_get(x_35, 0); +lean_inc(x_62); +lean_dec(x_35); +x_63 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__13(x_7, x_8, x_6, x_25, x_9, x_1, x_3, x_10, x_62, x_12, x_13, x_14, x_15, x_33); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_19); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_64 = !lean_is_exclusive(x_22); +if (x_64 == 0) +{ +return x_22; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_22, 0); +x_66 = lean_ctor_get(x_22, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_22); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_18); +if (x_68 == 0) +{ +return x_18; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_18, 0); +x_70 = lean_ctor_get(x_18, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_18); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__15(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -13807,7 +14180,7 @@ x_22 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_22, 0, x_12); lean_ctor_set(x_22, 1, x_21); lean_ctor_set(x_22, 2, x_16); -x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__12___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); +x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__13___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); lean_dec(x_22); lean_dec(x_18); if (lean_obj_tag(x_23) == 0) @@ -13856,385 +14229,7 @@ return x_31; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_inc(x_3); -x_14 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_8, x_2, x_3); -x_15 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_14, x_9, x_10, x_11, x_12, x_13); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -x_17 = l_Lean_mkConst(x_3, x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_17); -x_18 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_17, x_9, x_10, x_11, x_12, x_16); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__12___boxed), 11, 4); -lean_closure_set(x_21, 0, x_5); -lean_closure_set(x_21, 1, x_6); -lean_closure_set(x_21, 2, x_7); -lean_closure_set(x_21, 3, x_17); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_19, x_21, x_9, x_10, x_11, x_12, x_20); -return x_22; -} -else -{ -uint8_t x_23; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); -x_17 = 0; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_1); -x_18 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_16, x_17, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__11___boxed), 9, 2); -lean_closure_set(x_21, 0, x_1); -lean_closure_set(x_21, 1, x_3); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_4, x_21, x_11, x_12, x_13, x_14, x_20); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_box(0); -lean_inc(x_5); -x_26 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_26, 0, x_5); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_26, 2, x_23); -x_27 = lean_box(0); -x_28 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_19); -lean_ctor_set(x_28, 2, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*3, x_17); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -x_30 = lean_st_ref_get(x_14, x_24); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = lean_ctor_get(x_31, 0); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Environment_addAndCompile(x_33, x_25, x_29); -lean_dec(x_29); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_KernelException_toMessageData(x_35, x_25); -x_37 = lean_ctor_get(x_13, 3); -lean_inc(x_37); -x_38 = l_Lean_MessageData_toString(x_36, x_32); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -lean_dec(x_37); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_39); -x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_41); -x_43 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_42, x_11, x_12, x_13, x_14, x_40); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_44 = !lean_is_exclusive(x_43); -if (x_44 == 0) -{ -return x_43; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_43, 0); -x_46 = lean_ctor_get(x_43, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_43); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -else -{ -uint8_t x_48; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_48 = !lean_is_exclusive(x_38); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_38, 0); -x_50 = lean_io_error_to_string(x_49); -x_51 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_51, 0, x_50); -x_52 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_52, 0, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_37); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set(x_38, 0, x_53); -return x_38; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_54 = lean_ctor_get(x_38, 0); -x_55 = lean_ctor_get(x_38, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_38); -x_56 = lean_io_error_to_string(x_54); -x_57 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_57, 0, x_56); -x_58 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_58, 0, x_57); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_37); -lean_ctor_set(x_59, 1, x_58); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_55); -return x_60; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_34, 0); -lean_inc(x_61); -lean_dec(x_34); -x_62 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__13(x_6, x_7, x_5, x_25, x_8, x_1, x_9, x_61, x_11, x_12, x_13, x_14, x_32); -return x_62; -} -} -else -{ -uint8_t x_63; -lean_dec(x_19); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_63 = !lean_is_exclusive(x_22); -if (x_63 == 0) -{ -return x_22; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_22, 0); -x_65 = lean_ctor_get(x_22, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_22); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_18); -if (x_67 == 0) -{ -return x_18; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_18, 0); -x_69 = lean_ctor_get(x_18, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_18); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Lean_Expr_getAppNumArgsAux(x_1, x_11); -x_13 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_12); -x_14 = lean_mk_array(x_12, x_13); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_sub(x_12, x_15); -lean_dec(x_12); -x_17 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_14, x_16); -x_18 = lean_array_get_size(x_4); -x_19 = lean_array_get_size(x_17); -x_20 = l_Nat_min(x_18, x_19); -lean_dec(x_19); -lean_dec(x_18); -lean_inc(x_20); -x_21 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_21, 0, x_11); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_21, 2, x_15); -x_22 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__13___rarg(x_2, x_4, x_17, x_21, x_20, x_11, x_3, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_21); -lean_dec(x_17); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -return x_22; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_22); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -else -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_22); -if (x_27 == 0) -{ -return x_22; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_22, 0); -x_29 = lean_ctor_get(x_22, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_22); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__16(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__16(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -14269,7 +14264,7 @@ size_t x_18; size_t x_19; lean_object* x_20; x_18 = lean_usize_of_nat(x_13); lean_dec(x_13); x_19 = 0; -x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__14___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); +x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__14___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); return x_20; } } @@ -14299,13 +14294,393 @@ size_t x_24; size_t x_25; lean_object* x_26; x_24 = lean_usize_of_nat(x_13); lean_dec(x_13); x_25 = 0; -x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__15___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); +x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__15___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); return x_26; } } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__17(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__17(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_Expr_getAppNumArgsAux(x_1, x_13); +x_15 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_14); +x_16 = lean_mk_array(x_14, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = lean_nat_sub(x_14, x_17); +lean_dec(x_14); +x_19 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_16, x_18); +x_20 = lean_array_get_size(x_6); +x_21 = lean_array_get_size(x_19); +x_22 = l_Nat_min(x_20, x_21); +lean_dec(x_21); +lean_dec(x_20); +lean_inc(x_22); +x_23 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_23, 0, x_13); +lean_ctor_set(x_23, 1, x_22); +lean_ctor_set(x_23, 2, x_17); +x_24 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__16___rarg(x_2, x_3, x_4, x_6, x_19, x_23, x_22, x_13, x_5, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_23); +lean_dec(x_19); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +return x_24; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__18(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_inc(x_3); +x_15 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_9, x_2, x_3); +x_16 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_15, x_10, x_11, x_12, x_13, x_14); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Lean_mkConst(x_3, x_4); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_18); +x_19 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_18, x_10, x_11, x_12, x_13, x_17); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(x_7); +x_23 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__17___boxed), 12, 5); +lean_closure_set(x_23, 0, x_5); +lean_closure_set(x_23, 1, x_6); +lean_closure_set(x_23, 2, x_22); +lean_closure_set(x_23, 3, x_8); +lean_closure_set(x_23, 4, x_18); +x_24 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_20, x_23, x_10, x_11, x_12, x_13, x_21); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +return x_19; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_19, 0); +x_27 = lean_ctor_get(x_19, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_19); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__19(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; lean_object* x_18; +x_17 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_1); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_3, x_17, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_1); +x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__16___boxed), 9, 2); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_4); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_5, x_21, x_12, x_13, x_14, x_15, x_20); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_box(0); +lean_inc(x_6); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_6); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_23); +x_27 = lean_box(0); +x_28 = 0; +x_29 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_19); +lean_ctor_set(x_29, 2, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*3, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_st_ref_get(x_15, x_24); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 0); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Environment_addAndCompile(x_34, x_25, x_30); +lean_dec(x_30); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +lean_dec(x_35); +x_37 = l_Lean_KernelException_toMessageData(x_36, x_25); +x_38 = lean_ctor_get(x_14, 3); +lean_inc(x_38); +x_39 = l_Lean_MessageData_toString(x_37, x_33); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_38); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_42, 0, x_40); +x_43 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_43, x_12, x_13, x_14, x_15, x_41); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) +{ +return x_44; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +else +{ +uint8_t x_49; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_49 = !lean_is_exclusive(x_39); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_39, 0); +x_51 = lean_io_error_to_string(x_50); +x_52 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_52, 0, x_51); +x_53 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_53, 0, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_38); +lean_ctor_set(x_54, 1, x_53); +lean_ctor_set(x_39, 0, x_54); +return x_39; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_55 = lean_ctor_get(x_39, 0); +x_56 = lean_ctor_get(x_39, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_39); +x_57 = lean_io_error_to_string(x_55); +x_58 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_58, 0, x_57); +x_59 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_38); +lean_ctor_set(x_60, 1, x_59); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_56); +return x_61; +} +} +} +else +{ +lean_object* x_62; lean_object* x_63; +x_62 = lean_ctor_get(x_35, 0); +lean_inc(x_62); +lean_dec(x_35); +x_63 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__18(x_7, x_8, x_6, x_25, x_9, x_1, x_3, x_10, x_62, x_12, x_13, x_14, x_15, x_33); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_19); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_64 = !lean_is_exclusive(x_22); +if (x_64 == 0) +{ +return x_22; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_22, 0); +x_66 = lean_ctor_get(x_22, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_22); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_18); +if (x_68 == 0) +{ +return x_18; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_18, 0); +x_70 = lean_ctor_get(x_18, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_18); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__20(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -14328,7 +14703,7 @@ x_22 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_22, 0, x_12); lean_ctor_set(x_22, 1, x_21); lean_ctor_set(x_22, 2, x_16); -x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__16___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); +x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__17___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); lean_dec(x_22); lean_dec(x_18); if (lean_obj_tag(x_23) == 0) @@ -14377,385 +14752,7 @@ return x_31; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__18(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_inc(x_3); -x_14 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_8, x_2, x_3); -x_15 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_14, x_9, x_10, x_11, x_12, x_13); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -x_17 = l_Lean_mkConst(x_3, x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_17); -x_18 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_17, x_9, x_10, x_11, x_12, x_16); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__17___boxed), 11, 4); -lean_closure_set(x_21, 0, x_5); -lean_closure_set(x_21, 1, x_6); -lean_closure_set(x_21, 2, x_7); -lean_closure_set(x_21, 3, x_17); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_19, x_21, x_9, x_10, x_11, x_12, x_20); -return x_22; -} -else -{ -uint8_t x_23; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__19(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); -x_17 = 0; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_1); -x_18 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_16, x_17, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__16___boxed), 9, 2); -lean_closure_set(x_21, 0, x_1); -lean_closure_set(x_21, 1, x_3); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_4, x_21, x_11, x_12, x_13, x_14, x_20); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_box(0); -lean_inc(x_5); -x_26 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_26, 0, x_5); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_26, 2, x_23); -x_27 = lean_box(0); -x_28 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_19); -lean_ctor_set(x_28, 2, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*3, x_17); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -x_30 = lean_st_ref_get(x_14, x_24); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = lean_ctor_get(x_31, 0); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Environment_addAndCompile(x_33, x_25, x_29); -lean_dec(x_29); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_KernelException_toMessageData(x_35, x_25); -x_37 = lean_ctor_get(x_13, 3); -lean_inc(x_37); -x_38 = l_Lean_MessageData_toString(x_36, x_32); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -lean_dec(x_37); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_39); -x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_41); -x_43 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_42, x_11, x_12, x_13, x_14, x_40); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_44 = !lean_is_exclusive(x_43); -if (x_44 == 0) -{ -return x_43; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_43, 0); -x_46 = lean_ctor_get(x_43, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_43); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -else -{ -uint8_t x_48; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_48 = !lean_is_exclusive(x_38); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_38, 0); -x_50 = lean_io_error_to_string(x_49); -x_51 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_51, 0, x_50); -x_52 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_52, 0, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_37); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set(x_38, 0, x_53); -return x_38; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_54 = lean_ctor_get(x_38, 0); -x_55 = lean_ctor_get(x_38, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_38); -x_56 = lean_io_error_to_string(x_54); -x_57 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_57, 0, x_56); -x_58 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_58, 0, x_57); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_37); -lean_ctor_set(x_59, 1, x_58); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_55); -return x_60; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_34, 0); -lean_inc(x_61); -lean_dec(x_34); -x_62 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__18(x_6, x_7, x_5, x_25, x_8, x_1, x_9, x_61, x_11, x_12, x_13, x_14, x_32); -return x_62; -} -} -else -{ -uint8_t x_63; -lean_dec(x_19); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_63 = !lean_is_exclusive(x_22); -if (x_63 == 0) -{ -return x_22; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_22, 0); -x_65 = lean_ctor_get(x_22, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_22); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_18); -if (x_67 == 0) -{ -return x_18; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_18, 0); -x_69 = lean_ctor_get(x_18, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_18); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__20(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Lean_Expr_getAppNumArgsAux(x_1, x_11); -x_13 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_12); -x_14 = lean_mk_array(x_12, x_13); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_sub(x_12, x_15); -lean_dec(x_12); -x_17 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_14, x_16); -x_18 = lean_array_get_size(x_4); -x_19 = lean_array_get_size(x_17); -x_20 = l_Nat_min(x_18, x_19); -lean_dec(x_19); -lean_dec(x_18); -lean_inc(x_20); -x_21 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_21, 0, x_11); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_21, 2, x_15); -x_22 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__17___rarg(x_2, x_4, x_17, x_21, x_20, x_11, x_3, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_21); -lean_dec(x_17); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -return x_22; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_22); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -else -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_22); -if (x_27 == 0) -{ -return x_22; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_22, 0); -x_29 = lean_ctor_get(x_22, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_22); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__21(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__21(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -14790,7 +14787,7 @@ size_t x_18; size_t x_19; lean_object* x_20; x_18 = lean_usize_of_nat(x_13); lean_dec(x_13); x_19 = 0; -x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__18___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); +x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__18___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); return x_20; } } @@ -14820,13 +14817,393 @@ size_t x_24; size_t x_25; lean_object* x_26; x_24 = lean_usize_of_nat(x_13); lean_dec(x_13); x_25 = 0; -x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__19___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); +x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__19___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); return x_26; } } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__22(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__22(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_Expr_getAppNumArgsAux(x_1, x_13); +x_15 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_14); +x_16 = lean_mk_array(x_14, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = lean_nat_sub(x_14, x_17); +lean_dec(x_14); +x_19 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_16, x_18); +x_20 = lean_array_get_size(x_6); +x_21 = lean_array_get_size(x_19); +x_22 = l_Nat_min(x_20, x_21); +lean_dec(x_21); +lean_dec(x_20); +lean_inc(x_22); +x_23 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_23, 0, x_13); +lean_ctor_set(x_23, 1, x_22); +lean_ctor_set(x_23, 2, x_17); +x_24 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__20___rarg(x_2, x_3, x_4, x_6, x_19, x_23, x_22, x_13, x_5, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_23); +lean_dec(x_19); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +return x_24; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__23(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_inc(x_3); +x_15 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_9, x_2, x_3); +x_16 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_15, x_10, x_11, x_12, x_13, x_14); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Lean_mkConst(x_3, x_4); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_18); +x_19 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_18, x_10, x_11, x_12, x_13, x_17); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(x_7); +x_23 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__22___boxed), 12, 5); +lean_closure_set(x_23, 0, x_5); +lean_closure_set(x_23, 1, x_6); +lean_closure_set(x_23, 2, x_22); +lean_closure_set(x_23, 3, x_8); +lean_closure_set(x_23, 4, x_18); +x_24 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_20, x_23, x_10, x_11, x_12, x_13, x_21); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +return x_19; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_19, 0); +x_27 = lean_ctor_get(x_19, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_19); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__24(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; lean_object* x_18; +x_17 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_1); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_3, x_17, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_1); +x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__21___boxed), 9, 2); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_4); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_5, x_21, x_12, x_13, x_14, x_15, x_20); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_box(0); +lean_inc(x_6); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_6); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_23); +x_27 = lean_box(0); +x_28 = 0; +x_29 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_19); +lean_ctor_set(x_29, 2, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*3, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_st_ref_get(x_15, x_24); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 0); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Environment_addAndCompile(x_34, x_25, x_30); +lean_dec(x_30); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +lean_dec(x_35); +x_37 = l_Lean_KernelException_toMessageData(x_36, x_25); +x_38 = lean_ctor_get(x_14, 3); +lean_inc(x_38); +x_39 = l_Lean_MessageData_toString(x_37, x_33); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_38); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_42, 0, x_40); +x_43 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_43, x_12, x_13, x_14, x_15, x_41); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) +{ +return x_44; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +else +{ +uint8_t x_49; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_49 = !lean_is_exclusive(x_39); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_39, 0); +x_51 = lean_io_error_to_string(x_50); +x_52 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_52, 0, x_51); +x_53 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_53, 0, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_38); +lean_ctor_set(x_54, 1, x_53); +lean_ctor_set(x_39, 0, x_54); +return x_39; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_55 = lean_ctor_get(x_39, 0); +x_56 = lean_ctor_get(x_39, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_39); +x_57 = lean_io_error_to_string(x_55); +x_58 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_58, 0, x_57); +x_59 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_38); +lean_ctor_set(x_60, 1, x_59); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_56); +return x_61; +} +} +} +else +{ +lean_object* x_62; lean_object* x_63; +x_62 = lean_ctor_get(x_35, 0); +lean_inc(x_62); +lean_dec(x_35); +x_63 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__23(x_7, x_8, x_6, x_25, x_9, x_1, x_3, x_10, x_62, x_12, x_13, x_14, x_15, x_33); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_19); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_64 = !lean_is_exclusive(x_22); +if (x_64 == 0) +{ +return x_22; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_22, 0); +x_66 = lean_ctor_get(x_22, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_22); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_18); +if (x_68 == 0) +{ +return x_18; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_18, 0); +x_70 = lean_ctor_get(x_18, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_18); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__25(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -14849,7 +15226,7 @@ x_22 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_22, 0, x_12); lean_ctor_set(x_22, 1, x_21); lean_ctor_set(x_22, 2, x_16); -x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__20___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); +x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__21___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); lean_dec(x_22); lean_dec(x_18); if (lean_obj_tag(x_23) == 0) @@ -14898,394 +15275,15 @@ return x_31; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__23(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__26(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_inc(x_3); -x_14 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_8, x_2, x_3); -x_15 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_14, x_9, x_10, x_11, x_12, x_13); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -x_17 = l_Lean_mkConst(x_3, x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_17); -x_18 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_17, x_9, x_10, x_11, x_12, x_16); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__22___boxed), 11, 4); -lean_closure_set(x_21, 0, x_5); -lean_closure_set(x_21, 1, x_6); -lean_closure_set(x_21, 2, x_7); -lean_closure_set(x_21, 3, x_17); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_19, x_21, x_9, x_10, x_11, x_12, x_20); -return x_22; -} -else -{ -uint8_t x_23; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__24(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); -x_17 = 0; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_1); -x_18 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_16, x_17, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__21___boxed), 9, 2); -lean_closure_set(x_21, 0, x_1); -lean_closure_set(x_21, 1, x_3); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_4, x_21, x_11, x_12, x_13, x_14, x_20); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_box(0); -lean_inc(x_5); -x_26 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_26, 0, x_5); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_26, 2, x_23); -x_27 = lean_box(0); -x_28 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_19); -lean_ctor_set(x_28, 2, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*3, x_17); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -x_30 = lean_st_ref_get(x_14, x_24); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = lean_ctor_get(x_31, 0); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Environment_addAndCompile(x_33, x_25, x_29); -lean_dec(x_29); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_KernelException_toMessageData(x_35, x_25); -x_37 = lean_ctor_get(x_13, 3); -lean_inc(x_37); -x_38 = l_Lean_MessageData_toString(x_36, x_32); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -lean_dec(x_37); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_39); -x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_41); -x_43 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_42, x_11, x_12, x_13, x_14, x_40); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_44 = !lean_is_exclusive(x_43); -if (x_44 == 0) -{ -return x_43; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_43, 0); -x_46 = lean_ctor_get(x_43, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_43); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -else -{ -uint8_t x_48; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_48 = !lean_is_exclusive(x_38); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_38, 0); -x_50 = lean_io_error_to_string(x_49); -x_51 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_51, 0, x_50); -x_52 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_52, 0, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_37); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set(x_38, 0, x_53); -return x_38; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_54 = lean_ctor_get(x_38, 0); -x_55 = lean_ctor_get(x_38, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_38); -x_56 = lean_io_error_to_string(x_54); -x_57 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_57, 0, x_56); -x_58 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_58, 0, x_57); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_37); -lean_ctor_set(x_59, 1, x_58); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_55); -return x_60; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_34, 0); -lean_inc(x_61); -lean_dec(x_34); -x_62 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__23(x_6, x_7, x_5, x_25, x_8, x_1, x_9, x_61, x_11, x_12, x_13, x_14, x_32); -return x_62; -} -} -else -{ -uint8_t x_63; -lean_dec(x_19); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_63 = !lean_is_exclusive(x_22); -if (x_63 == 0) -{ -return x_22; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_22, 0); -x_65 = lean_ctor_get(x_22, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_22); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_18); -if (x_67 == 0) -{ -return x_18; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_18, 0); -x_69 = lean_ctor_get(x_18, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_18); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__25(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Lean_Expr_getAppNumArgsAux(x_1, x_11); -x_13 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_12); -x_14 = lean_mk_array(x_12, x_13); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_sub(x_12, x_15); -lean_dec(x_12); -x_17 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_14, x_16); -x_18 = lean_array_get_size(x_4); -x_19 = lean_array_get_size(x_17); -x_20 = l_Nat_min(x_18, x_19); -lean_dec(x_19); -lean_dec(x_18); -lean_inc(x_20); -x_21 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_21, 0, x_11); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_21, 2, x_15); -x_22 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__21___rarg(x_2, x_4, x_17, x_21, x_20, x_11, x_3, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_21); -lean_dec(x_17); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -return x_22; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_22); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -else -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_22); -if (x_27 == 0) -{ -return x_22; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_22, 0); -x_29 = lean_ctor_get(x_22, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_22); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__26(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -uint8_t x_9; lean_object* x_10; -x_9 = 0; +lean_object* x_10; +lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -lean_inc(x_4); -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_3, x_9, x_4, x_5, x_6, x_7, x_8); +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_2, x_4, x_5, x_6, x_7, x_8, x_9); if (lean_obj_tag(x_10) == 0) { lean_object* x_11; lean_object* x_12; lean_object* x_13; @@ -15294,20 +15292,20 @@ lean_inc(x_11); x_12 = lean_ctor_get(x_10, 1); lean_inc(x_12); lean_dec(x_10); -x_13 = l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserBody___spec__22(x_2, x_11, x_4, x_5, x_6, x_7, x_12); +x_13 = l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserExpr___spec__22(x_3, x_11, x_5, x_6, x_7, x_8, x_12); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); return x_13; } else { uint8_t x_14; +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); +lean_dec(x_3); x_14 = !lean_is_exclusive(x_10); if (x_14 == 0) { @@ -15329,7 +15327,7 @@ return x_17; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__27(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__27(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -15364,7 +15362,7 @@ size_t x_18; size_t x_19; lean_object* x_20; x_18 = lean_usize_of_nat(x_13); lean_dec(x_13); x_19 = 0; -x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__24___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); +x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__24___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); return x_20; } } @@ -15394,13 +15392,393 @@ size_t x_24; size_t x_25; lean_object* x_26; x_24 = lean_usize_of_nat(x_13); lean_dec(x_13); x_25 = 0; -x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__25___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); +x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__25___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); return x_26; } } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__28(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__28(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_Expr_getAppNumArgsAux(x_1, x_13); +x_15 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_14); +x_16 = lean_mk_array(x_14, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = lean_nat_sub(x_14, x_17); +lean_dec(x_14); +x_19 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_16, x_18); +x_20 = lean_array_get_size(x_6); +x_21 = lean_array_get_size(x_19); +x_22 = l_Nat_min(x_20, x_21); +lean_dec(x_21); +lean_dec(x_20); +lean_inc(x_22); +x_23 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_23, 0, x_13); +lean_ctor_set(x_23, 1, x_22); +lean_ctor_set(x_23, 2, x_17); +x_24 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__26___rarg(x_2, x_3, x_4, x_6, x_19, x_23, x_22, x_13, x_5, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_23); +lean_dec(x_19); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +return x_24; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__29(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_inc(x_3); +x_15 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_9, x_2, x_3); +x_16 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_15, x_10, x_11, x_12, x_13, x_14); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Lean_mkConst(x_3, x_4); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_18); +x_19 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_18, x_10, x_11, x_12, x_13, x_17); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(x_7); +x_23 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__28___boxed), 12, 5); +lean_closure_set(x_23, 0, x_5); +lean_closure_set(x_23, 1, x_6); +lean_closure_set(x_23, 2, x_22); +lean_closure_set(x_23, 3, x_8); +lean_closure_set(x_23, 4, x_18); +x_24 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_20, x_23, x_10, x_11, x_12, x_13, x_21); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +return x_19; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_19, 0); +x_27 = lean_ctor_get(x_19, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_19); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__30(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; lean_object* x_18; +x_17 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_1); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_3, x_17, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_1); +x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__27___boxed), 9, 2); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_4); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_5, x_21, x_12, x_13, x_14, x_15, x_20); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_box(0); +lean_inc(x_6); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_6); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_23); +x_27 = lean_box(0); +x_28 = 0; +x_29 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_19); +lean_ctor_set(x_29, 2, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*3, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_st_ref_get(x_15, x_24); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 0); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Environment_addAndCompile(x_34, x_25, x_30); +lean_dec(x_30); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +lean_dec(x_35); +x_37 = l_Lean_KernelException_toMessageData(x_36, x_25); +x_38 = lean_ctor_get(x_14, 3); +lean_inc(x_38); +x_39 = l_Lean_MessageData_toString(x_37, x_33); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_38); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_42, 0, x_40); +x_43 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_43, x_12, x_13, x_14, x_15, x_41); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) +{ +return x_44; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +else +{ +uint8_t x_49; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_49 = !lean_is_exclusive(x_39); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_39, 0); +x_51 = lean_io_error_to_string(x_50); +x_52 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_52, 0, x_51); +x_53 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_53, 0, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_38); +lean_ctor_set(x_54, 1, x_53); +lean_ctor_set(x_39, 0, x_54); +return x_39; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_55 = lean_ctor_get(x_39, 0); +x_56 = lean_ctor_get(x_39, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_39); +x_57 = lean_io_error_to_string(x_55); +x_58 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_58, 0, x_57); +x_59 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_38); +lean_ctor_set(x_60, 1, x_59); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_56); +return x_61; +} +} +} +else +{ +lean_object* x_62; lean_object* x_63; +x_62 = lean_ctor_get(x_35, 0); +lean_inc(x_62); +lean_dec(x_35); +x_63 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__29(x_7, x_8, x_6, x_25, x_9, x_1, x_3, x_10, x_62, x_12, x_13, x_14, x_15, x_33); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_19); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_64 = !lean_is_exclusive(x_22); +if (x_64 == 0) +{ +return x_22; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_22, 0); +x_66 = lean_ctor_get(x_22, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_22); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_18); +if (x_68 == 0) +{ +return x_18; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_18, 0); +x_70 = lean_ctor_get(x_18, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_18); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__31(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -15423,7 +15801,7 @@ x_22 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_22, 0, x_12); lean_ctor_set(x_22, 1, x_21); lean_ctor_set(x_22, 2, x_16); -x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__26___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); +x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__27___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); lean_dec(x_22); lean_dec(x_18); if (lean_obj_tag(x_23) == 0) @@ -15472,385 +15850,7 @@ return x_31; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__29(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_inc(x_3); -x_14 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_8, x_2, x_3); -x_15 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_14, x_9, x_10, x_11, x_12, x_13); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -x_17 = l_Lean_mkConst(x_3, x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_17); -x_18 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_17, x_9, x_10, x_11, x_12, x_16); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__28___boxed), 11, 4); -lean_closure_set(x_21, 0, x_5); -lean_closure_set(x_21, 1, x_6); -lean_closure_set(x_21, 2, x_7); -lean_closure_set(x_21, 3, x_17); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_19, x_21, x_9, x_10, x_11, x_12, x_20); -return x_22; -} -else -{ -uint8_t x_23; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__30(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); -x_17 = 0; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_1); -x_18 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_16, x_17, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__27___boxed), 9, 2); -lean_closure_set(x_21, 0, x_1); -lean_closure_set(x_21, 1, x_3); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_4, x_21, x_11, x_12, x_13, x_14, x_20); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_box(0); -lean_inc(x_5); -x_26 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_26, 0, x_5); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_26, 2, x_23); -x_27 = lean_box(0); -x_28 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_19); -lean_ctor_set(x_28, 2, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*3, x_17); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -x_30 = lean_st_ref_get(x_14, x_24); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = lean_ctor_get(x_31, 0); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Environment_addAndCompile(x_33, x_25, x_29); -lean_dec(x_29); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_KernelException_toMessageData(x_35, x_25); -x_37 = lean_ctor_get(x_13, 3); -lean_inc(x_37); -x_38 = l_Lean_MessageData_toString(x_36, x_32); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -lean_dec(x_37); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_39); -x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_41); -x_43 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_42, x_11, x_12, x_13, x_14, x_40); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_44 = !lean_is_exclusive(x_43); -if (x_44 == 0) -{ -return x_43; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_43, 0); -x_46 = lean_ctor_get(x_43, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_43); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -else -{ -uint8_t x_48; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_48 = !lean_is_exclusive(x_38); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_38, 0); -x_50 = lean_io_error_to_string(x_49); -x_51 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_51, 0, x_50); -x_52 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_52, 0, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_37); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set(x_38, 0, x_53); -return x_38; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_54 = lean_ctor_get(x_38, 0); -x_55 = lean_ctor_get(x_38, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_38); -x_56 = lean_io_error_to_string(x_54); -x_57 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_57, 0, x_56); -x_58 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_58, 0, x_57); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_37); -lean_ctor_set(x_59, 1, x_58); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_55); -return x_60; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_34, 0); -lean_inc(x_61); -lean_dec(x_34); -x_62 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__29(x_6, x_7, x_5, x_25, x_8, x_1, x_9, x_61, x_11, x_12, x_13, x_14, x_32); -return x_62; -} -} -else -{ -uint8_t x_63; -lean_dec(x_19); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_63 = !lean_is_exclusive(x_22); -if (x_63 == 0) -{ -return x_22; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_22, 0); -x_65 = lean_ctor_get(x_22, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_22); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_18); -if (x_67 == 0) -{ -return x_18; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_18, 0); -x_69 = lean_ctor_get(x_18, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_18); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__31(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Lean_Expr_getAppNumArgsAux(x_1, x_11); -x_13 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_12); -x_14 = lean_mk_array(x_12, x_13); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_sub(x_12, x_15); -lean_dec(x_12); -x_17 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_14, x_16); -x_18 = lean_array_get_size(x_4); -x_19 = lean_array_get_size(x_17); -x_20 = l_Nat_min(x_18, x_19); -lean_dec(x_19); -lean_dec(x_18); -lean_inc(x_20); -x_21 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_21, 0, x_11); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_21, 2, x_15); -x_22 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__27___rarg(x_2, x_4, x_17, x_21, x_20, x_11, x_3, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_21); -lean_dec(x_17); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -return x_22; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_22); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -else -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_22); -if (x_27 == 0) -{ -return x_22; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_22, 0); -x_29 = lean_ctor_get(x_22, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_22); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__32(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__32(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -15885,7 +15885,7 @@ size_t x_18; size_t x_19; lean_object* x_20; x_18 = lean_usize_of_nat(x_13); lean_dec(x_13); x_19 = 0; -x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__28___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); +x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__28___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); return x_20; } } @@ -15915,13 +15915,393 @@ size_t x_24; size_t x_25; lean_object* x_26; x_24 = lean_usize_of_nat(x_13); lean_dec(x_13); x_25 = 0; -x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__29___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); +x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__29___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); return x_26; } } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__33(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__33(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_Expr_getAppNumArgsAux(x_1, x_13); +x_15 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_14); +x_16 = lean_mk_array(x_14, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = lean_nat_sub(x_14, x_17); +lean_dec(x_14); +x_19 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_16, x_18); +x_20 = lean_array_get_size(x_6); +x_21 = lean_array_get_size(x_19); +x_22 = l_Nat_min(x_20, x_21); +lean_dec(x_21); +lean_dec(x_20); +lean_inc(x_22); +x_23 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_23, 0, x_13); +lean_ctor_set(x_23, 1, x_22); +lean_ctor_set(x_23, 2, x_17); +x_24 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__30___rarg(x_2, x_3, x_4, x_6, x_19, x_23, x_22, x_13, x_5, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_23); +lean_dec(x_19); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +return x_24; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__34(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_inc(x_3); +x_15 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_9, x_2, x_3); +x_16 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_15, x_10, x_11, x_12, x_13, x_14); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Lean_mkConst(x_3, x_4); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_18); +x_19 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_18, x_10, x_11, x_12, x_13, x_17); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(x_7); +x_23 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__33___boxed), 12, 5); +lean_closure_set(x_23, 0, x_5); +lean_closure_set(x_23, 1, x_6); +lean_closure_set(x_23, 2, x_22); +lean_closure_set(x_23, 3, x_8); +lean_closure_set(x_23, 4, x_18); +x_24 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_20, x_23, x_10, x_11, x_12, x_13, x_21); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +return x_19; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_19, 0); +x_27 = lean_ctor_get(x_19, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_19); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__35(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; lean_object* x_18; +x_17 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_1); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_3, x_17, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_1); +x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__32___boxed), 9, 2); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_4); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_5, x_21, x_12, x_13, x_14, x_15, x_20); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_box(0); +lean_inc(x_6); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_6); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_23); +x_27 = lean_box(0); +x_28 = 0; +x_29 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_19); +lean_ctor_set(x_29, 2, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*3, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_st_ref_get(x_15, x_24); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 0); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Environment_addAndCompile(x_34, x_25, x_30); +lean_dec(x_30); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +lean_dec(x_35); +x_37 = l_Lean_KernelException_toMessageData(x_36, x_25); +x_38 = lean_ctor_get(x_14, 3); +lean_inc(x_38); +x_39 = l_Lean_MessageData_toString(x_37, x_33); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_38); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_42, 0, x_40); +x_43 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_43, x_12, x_13, x_14, x_15, x_41); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) +{ +return x_44; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +else +{ +uint8_t x_49; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_49 = !lean_is_exclusive(x_39); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_39, 0); +x_51 = lean_io_error_to_string(x_50); +x_52 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_52, 0, x_51); +x_53 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_53, 0, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_38); +lean_ctor_set(x_54, 1, x_53); +lean_ctor_set(x_39, 0, x_54); +return x_39; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_55 = lean_ctor_get(x_39, 0); +x_56 = lean_ctor_get(x_39, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_39); +x_57 = lean_io_error_to_string(x_55); +x_58 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_58, 0, x_57); +x_59 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_38); +lean_ctor_set(x_60, 1, x_59); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_56); +return x_61; +} +} +} +else +{ +lean_object* x_62; lean_object* x_63; +x_62 = lean_ctor_get(x_35, 0); +lean_inc(x_62); +lean_dec(x_35); +x_63 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__34(x_7, x_8, x_6, x_25, x_9, x_1, x_3, x_10, x_62, x_12, x_13, x_14, x_15, x_33); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_19); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_64 = !lean_is_exclusive(x_22); +if (x_64 == 0) +{ +return x_22; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_22, 0); +x_66 = lean_ctor_get(x_22, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_22); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_18); +if (x_68 == 0) +{ +return x_18; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_18, 0); +x_70 = lean_ctor_get(x_18, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_18); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__36(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -15944,7 +16324,7 @@ x_22 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_22, 0, x_12); lean_ctor_set(x_22, 1, x_21); lean_ctor_set(x_22, 2, x_16); -x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__30___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); +x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__31___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); lean_dec(x_22); lean_dec(x_18); if (lean_obj_tag(x_23) == 0) @@ -15993,385 +16373,7 @@ return x_31; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__34(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_inc(x_3); -x_14 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_8, x_2, x_3); -x_15 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_14, x_9, x_10, x_11, x_12, x_13); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -x_17 = l_Lean_mkConst(x_3, x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_17); -x_18 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_17, x_9, x_10, x_11, x_12, x_16); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__33___boxed), 11, 4); -lean_closure_set(x_21, 0, x_5); -lean_closure_set(x_21, 1, x_6); -lean_closure_set(x_21, 2, x_7); -lean_closure_set(x_21, 3, x_17); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_19, x_21, x_9, x_10, x_11, x_12, x_20); -return x_22; -} -else -{ -uint8_t x_23; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__35(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); -x_17 = 0; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_1); -x_18 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_16, x_17, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__32___boxed), 9, 2); -lean_closure_set(x_21, 0, x_1); -lean_closure_set(x_21, 1, x_3); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_4, x_21, x_11, x_12, x_13, x_14, x_20); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_box(0); -lean_inc(x_5); -x_26 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_26, 0, x_5); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_26, 2, x_23); -x_27 = lean_box(0); -x_28 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_19); -lean_ctor_set(x_28, 2, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*3, x_17); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -x_30 = lean_st_ref_get(x_14, x_24); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = lean_ctor_get(x_31, 0); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Environment_addAndCompile(x_33, x_25, x_29); -lean_dec(x_29); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_KernelException_toMessageData(x_35, x_25); -x_37 = lean_ctor_get(x_13, 3); -lean_inc(x_37); -x_38 = l_Lean_MessageData_toString(x_36, x_32); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -lean_dec(x_37); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_39); -x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_41); -x_43 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_42, x_11, x_12, x_13, x_14, x_40); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_44 = !lean_is_exclusive(x_43); -if (x_44 == 0) -{ -return x_43; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_43, 0); -x_46 = lean_ctor_get(x_43, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_43); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -else -{ -uint8_t x_48; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_48 = !lean_is_exclusive(x_38); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_38, 0); -x_50 = lean_io_error_to_string(x_49); -x_51 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_51, 0, x_50); -x_52 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_52, 0, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_37); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set(x_38, 0, x_53); -return x_38; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_54 = lean_ctor_get(x_38, 0); -x_55 = lean_ctor_get(x_38, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_38); -x_56 = lean_io_error_to_string(x_54); -x_57 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_57, 0, x_56); -x_58 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_58, 0, x_57); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_37); -lean_ctor_set(x_59, 1, x_58); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_55); -return x_60; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_34, 0); -lean_inc(x_61); -lean_dec(x_34); -x_62 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__34(x_6, x_7, x_5, x_25, x_8, x_1, x_9, x_61, x_11, x_12, x_13, x_14, x_32); -return x_62; -} -} -else -{ -uint8_t x_63; -lean_dec(x_19); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_63 = !lean_is_exclusive(x_22); -if (x_63 == 0) -{ -return x_22; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_22, 0); -x_65 = lean_ctor_get(x_22, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_22); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_18); -if (x_67 == 0) -{ -return x_18; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_18, 0); -x_69 = lean_ctor_get(x_18, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_18); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__36(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Lean_Expr_getAppNumArgsAux(x_1, x_11); -x_13 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_12); -x_14 = lean_mk_array(x_12, x_13); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_sub(x_12, x_15); -lean_dec(x_12); -x_17 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_14, x_16); -x_18 = lean_array_get_size(x_4); -x_19 = lean_array_get_size(x_17); -x_20 = l_Nat_min(x_18, x_19); -lean_dec(x_19); -lean_dec(x_18); -lean_inc(x_20); -x_21 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_21, 0, x_11); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_21, 2, x_15); -x_22 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__31___rarg(x_2, x_4, x_17, x_21, x_20, x_11, x_3, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_21); -lean_dec(x_17); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -return x_22; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_22); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -else -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_22); -if (x_27 == 0) -{ -return x_22; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_22, 0); -x_29 = lean_ctor_get(x_22, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_22); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__37(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__37(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -16406,7 +16408,7 @@ size_t x_18; size_t x_19; lean_object* x_20; x_18 = lean_usize_of_nat(x_13); lean_dec(x_13); x_19 = 0; -x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__32___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); +x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__32___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); return x_20; } } @@ -16436,13 +16438,393 @@ size_t x_24; size_t x_25; lean_object* x_26; x_24 = lean_usize_of_nat(x_13); lean_dec(x_13); x_25 = 0; -x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__33___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); +x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__33___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); return x_26; } } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__38(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__38(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_Expr_getAppNumArgsAux(x_1, x_13); +x_15 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_14); +x_16 = lean_mk_array(x_14, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = lean_nat_sub(x_14, x_17); +lean_dec(x_14); +x_19 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_16, x_18); +x_20 = lean_array_get_size(x_6); +x_21 = lean_array_get_size(x_19); +x_22 = l_Nat_min(x_20, x_21); +lean_dec(x_21); +lean_dec(x_20); +lean_inc(x_22); +x_23 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_23, 0, x_13); +lean_ctor_set(x_23, 1, x_22); +lean_ctor_set(x_23, 2, x_17); +x_24 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__34___rarg(x_2, x_3, x_4, x_6, x_19, x_23, x_22, x_13, x_5, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_23); +lean_dec(x_19); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +return x_24; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__39(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_inc(x_3); +x_15 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_9, x_2, x_3); +x_16 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_15, x_10, x_11, x_12, x_13, x_14); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Lean_mkConst(x_3, x_4); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_18); +x_19 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_18, x_10, x_11, x_12, x_13, x_17); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(x_7); +x_23 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__38___boxed), 12, 5); +lean_closure_set(x_23, 0, x_5); +lean_closure_set(x_23, 1, x_6); +lean_closure_set(x_23, 2, x_22); +lean_closure_set(x_23, 3, x_8); +lean_closure_set(x_23, 4, x_18); +x_24 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_20, x_23, x_10, x_11, x_12, x_13, x_21); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +return x_19; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_19, 0); +x_27 = lean_ctor_get(x_19, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_19); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__40(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; lean_object* x_18; +x_17 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_1); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_3, x_17, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_1); +x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__37___boxed), 9, 2); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_4); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_5, x_21, x_12, x_13, x_14, x_15, x_20); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_box(0); +lean_inc(x_6); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_6); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_23); +x_27 = lean_box(0); +x_28 = 0; +x_29 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_19); +lean_ctor_set(x_29, 2, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*3, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_st_ref_get(x_15, x_24); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 0); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Environment_addAndCompile(x_34, x_25, x_30); +lean_dec(x_30); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +lean_dec(x_35); +x_37 = l_Lean_KernelException_toMessageData(x_36, x_25); +x_38 = lean_ctor_get(x_14, 3); +lean_inc(x_38); +x_39 = l_Lean_MessageData_toString(x_37, x_33); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_38); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_42, 0, x_40); +x_43 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_43, x_12, x_13, x_14, x_15, x_41); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) +{ +return x_44; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +else +{ +uint8_t x_49; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_49 = !lean_is_exclusive(x_39); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_39, 0); +x_51 = lean_io_error_to_string(x_50); +x_52 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_52, 0, x_51); +x_53 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_53, 0, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_38); +lean_ctor_set(x_54, 1, x_53); +lean_ctor_set(x_39, 0, x_54); +return x_39; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_55 = lean_ctor_get(x_39, 0); +x_56 = lean_ctor_get(x_39, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_39); +x_57 = lean_io_error_to_string(x_55); +x_58 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_58, 0, x_57); +x_59 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_38); +lean_ctor_set(x_60, 1, x_59); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_56); +return x_61; +} +} +} +else +{ +lean_object* x_62; lean_object* x_63; +x_62 = lean_ctor_get(x_35, 0); +lean_inc(x_62); +lean_dec(x_35); +x_63 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__39(x_7, x_8, x_6, x_25, x_9, x_1, x_3, x_10, x_62, x_12, x_13, x_14, x_15, x_33); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_19); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_64 = !lean_is_exclusive(x_22); +if (x_64 == 0) +{ +return x_22; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_22, 0); +x_66 = lean_ctor_get(x_22, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_22); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_18); +if (x_68 == 0) +{ +return x_18; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_18, 0); +x_70 = lean_ctor_get(x_18, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_18); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__41(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -16465,7 +16847,7 @@ x_22 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_22, 0, x_12); lean_ctor_set(x_22, 1, x_21); lean_ctor_set(x_22, 2, x_16); -x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__34___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); +x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__35___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); lean_dec(x_22); lean_dec(x_18); if (lean_obj_tag(x_23) == 0) @@ -16514,385 +16896,7 @@ return x_31; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__39(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_inc(x_3); -x_14 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_8, x_2, x_3); -x_15 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_14, x_9, x_10, x_11, x_12, x_13); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -x_17 = l_Lean_mkConst(x_3, x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_17); -x_18 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_17, x_9, x_10, x_11, x_12, x_16); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__38___boxed), 11, 4); -lean_closure_set(x_21, 0, x_5); -lean_closure_set(x_21, 1, x_6); -lean_closure_set(x_21, 2, x_7); -lean_closure_set(x_21, 3, x_17); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_19, x_21, x_9, x_10, x_11, x_12, x_20); -return x_22; -} -else -{ -uint8_t x_23; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__40(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); -x_17 = 0; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_1); -x_18 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_16, x_17, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__37___boxed), 9, 2); -lean_closure_set(x_21, 0, x_1); -lean_closure_set(x_21, 1, x_3); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_4, x_21, x_11, x_12, x_13, x_14, x_20); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_box(0); -lean_inc(x_5); -x_26 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_26, 0, x_5); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_26, 2, x_23); -x_27 = lean_box(0); -x_28 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_19); -lean_ctor_set(x_28, 2, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*3, x_17); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -x_30 = lean_st_ref_get(x_14, x_24); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = lean_ctor_get(x_31, 0); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Environment_addAndCompile(x_33, x_25, x_29); -lean_dec(x_29); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_KernelException_toMessageData(x_35, x_25); -x_37 = lean_ctor_get(x_13, 3); -lean_inc(x_37); -x_38 = l_Lean_MessageData_toString(x_36, x_32); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -lean_dec(x_37); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_39); -x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_41); -x_43 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_42, x_11, x_12, x_13, x_14, x_40); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_44 = !lean_is_exclusive(x_43); -if (x_44 == 0) -{ -return x_43; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_43, 0); -x_46 = lean_ctor_get(x_43, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_43); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -else -{ -uint8_t x_48; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_48 = !lean_is_exclusive(x_38); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_38, 0); -x_50 = lean_io_error_to_string(x_49); -x_51 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_51, 0, x_50); -x_52 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_52, 0, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_37); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set(x_38, 0, x_53); -return x_38; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_54 = lean_ctor_get(x_38, 0); -x_55 = lean_ctor_get(x_38, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_38); -x_56 = lean_io_error_to_string(x_54); -x_57 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_57, 0, x_56); -x_58 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_58, 0, x_57); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_37); -lean_ctor_set(x_59, 1, x_58); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_55); -return x_60; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_34, 0); -lean_inc(x_61); -lean_dec(x_34); -x_62 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__39(x_6, x_7, x_5, x_25, x_8, x_1, x_9, x_61, x_11, x_12, x_13, x_14, x_32); -return x_62; -} -} -else -{ -uint8_t x_63; -lean_dec(x_19); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_63 = !lean_is_exclusive(x_22); -if (x_63 == 0) -{ -return x_22; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_22, 0); -x_65 = lean_ctor_get(x_22, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_22); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_18); -if (x_67 == 0) -{ -return x_18; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_18, 0); -x_69 = lean_ctor_get(x_18, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_18); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__41(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Lean_Expr_getAppNumArgsAux(x_1, x_11); -x_13 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_12); -x_14 = lean_mk_array(x_12, x_13); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_sub(x_12, x_15); -lean_dec(x_12); -x_17 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_14, x_16); -x_18 = lean_array_get_size(x_4); -x_19 = lean_array_get_size(x_17); -x_20 = l_Nat_min(x_18, x_19); -lean_dec(x_19); -lean_dec(x_18); -lean_inc(x_20); -x_21 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_21, 0, x_11); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_21, 2, x_15); -x_22 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__35___rarg(x_2, x_4, x_17, x_21, x_20, x_11, x_3, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_21); -lean_dec(x_17); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -return x_22; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_22); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -else -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_22); -if (x_27 == 0) -{ -return x_22; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_22, 0); -x_29 = lean_ctor_get(x_22, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_22); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__42(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__42(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -16927,7 +16931,7 @@ size_t x_18; size_t x_19; lean_object* x_20; x_18 = lean_usize_of_nat(x_13); lean_dec(x_13); x_19 = 0; -x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__36___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); +x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__36___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); return x_20; } } @@ -16957,13 +16961,393 @@ size_t x_24; size_t x_25; lean_object* x_26; x_24 = lean_usize_of_nat(x_13); lean_dec(x_13); x_25 = 0; -x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__37___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); +x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__37___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); return x_26; } } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__43(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__43(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_Expr_getAppNumArgsAux(x_1, x_13); +x_15 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_14); +x_16 = lean_mk_array(x_14, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = lean_nat_sub(x_14, x_17); +lean_dec(x_14); +x_19 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_16, x_18); +x_20 = lean_array_get_size(x_6); +x_21 = lean_array_get_size(x_19); +x_22 = l_Nat_min(x_20, x_21); +lean_dec(x_21); +lean_dec(x_20); +lean_inc(x_22); +x_23 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_23, 0, x_13); +lean_ctor_set(x_23, 1, x_22); +lean_ctor_set(x_23, 2, x_17); +x_24 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__38___rarg(x_2, x_3, x_4, x_6, x_19, x_23, x_22, x_13, x_5, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_23); +lean_dec(x_19); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +return x_24; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__44(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_inc(x_3); +x_15 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_9, x_2, x_3); +x_16 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_15, x_10, x_11, x_12, x_13, x_14); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Lean_mkConst(x_3, x_4); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_18); +x_19 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_18, x_10, x_11, x_12, x_13, x_17); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(x_7); +x_23 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__43___boxed), 12, 5); +lean_closure_set(x_23, 0, x_5); +lean_closure_set(x_23, 1, x_6); +lean_closure_set(x_23, 2, x_22); +lean_closure_set(x_23, 3, x_8); +lean_closure_set(x_23, 4, x_18); +x_24 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_20, x_23, x_10, x_11, x_12, x_13, x_21); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +return x_19; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_19, 0); +x_27 = lean_ctor_get(x_19, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_19); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__45(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; lean_object* x_18; +x_17 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_1); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_3, x_17, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_1); +x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__42___boxed), 9, 2); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_4); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_5, x_21, x_12, x_13, x_14, x_15, x_20); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_box(0); +lean_inc(x_6); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_6); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_23); +x_27 = lean_box(0); +x_28 = 0; +x_29 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_19); +lean_ctor_set(x_29, 2, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*3, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_st_ref_get(x_15, x_24); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 0); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Environment_addAndCompile(x_34, x_25, x_30); +lean_dec(x_30); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +lean_dec(x_35); +x_37 = l_Lean_KernelException_toMessageData(x_36, x_25); +x_38 = lean_ctor_get(x_14, 3); +lean_inc(x_38); +x_39 = l_Lean_MessageData_toString(x_37, x_33); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_38); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_42, 0, x_40); +x_43 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_43, x_12, x_13, x_14, x_15, x_41); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) +{ +return x_44; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +else +{ +uint8_t x_49; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_49 = !lean_is_exclusive(x_39); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_39, 0); +x_51 = lean_io_error_to_string(x_50); +x_52 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_52, 0, x_51); +x_53 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_53, 0, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_38); +lean_ctor_set(x_54, 1, x_53); +lean_ctor_set(x_39, 0, x_54); +return x_39; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_55 = lean_ctor_get(x_39, 0); +x_56 = lean_ctor_get(x_39, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_39); +x_57 = lean_io_error_to_string(x_55); +x_58 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_58, 0, x_57); +x_59 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_38); +lean_ctor_set(x_60, 1, x_59); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_56); +return x_61; +} +} +} +else +{ +lean_object* x_62; lean_object* x_63; +x_62 = lean_ctor_get(x_35, 0); +lean_inc(x_62); +lean_dec(x_35); +x_63 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__44(x_7, x_8, x_6, x_25, x_9, x_1, x_3, x_10, x_62, x_12, x_13, x_14, x_15, x_33); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_19); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_64 = !lean_is_exclusive(x_22); +if (x_64 == 0) +{ +return x_22; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_22, 0); +x_66 = lean_ctor_get(x_22, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_22); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_18); +if (x_68 == 0) +{ +return x_18; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_18, 0); +x_70 = lean_ctor_get(x_18, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_18); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__46(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -16986,7 +17370,7 @@ x_22 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_22, 0, x_12); lean_ctor_set(x_22, 1, x_21); lean_ctor_set(x_22, 2, x_16); -x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__38___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); +x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__39___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); lean_dec(x_22); lean_dec(x_18); if (lean_obj_tag(x_23) == 0) @@ -17035,385 +17419,7 @@ return x_31; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__44(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_inc(x_3); -x_14 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_8, x_2, x_3); -x_15 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_14, x_9, x_10, x_11, x_12, x_13); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -x_17 = l_Lean_mkConst(x_3, x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_17); -x_18 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_17, x_9, x_10, x_11, x_12, x_16); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__43___boxed), 11, 4); -lean_closure_set(x_21, 0, x_5); -lean_closure_set(x_21, 1, x_6); -lean_closure_set(x_21, 2, x_7); -lean_closure_set(x_21, 3, x_17); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_19, x_21, x_9, x_10, x_11, x_12, x_20); -return x_22; -} -else -{ -uint8_t x_23; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__45(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); -x_17 = 0; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_1); -x_18 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_16, x_17, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__42___boxed), 9, 2); -lean_closure_set(x_21, 0, x_1); -lean_closure_set(x_21, 1, x_3); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_4, x_21, x_11, x_12, x_13, x_14, x_20); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_box(0); -lean_inc(x_5); -x_26 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_26, 0, x_5); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_26, 2, x_23); -x_27 = lean_box(0); -x_28 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_19); -lean_ctor_set(x_28, 2, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*3, x_17); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -x_30 = lean_st_ref_get(x_14, x_24); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = lean_ctor_get(x_31, 0); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Environment_addAndCompile(x_33, x_25, x_29); -lean_dec(x_29); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_KernelException_toMessageData(x_35, x_25); -x_37 = lean_ctor_get(x_13, 3); -lean_inc(x_37); -x_38 = l_Lean_MessageData_toString(x_36, x_32); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -lean_dec(x_37); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_39); -x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_41); -x_43 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_42, x_11, x_12, x_13, x_14, x_40); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_44 = !lean_is_exclusive(x_43); -if (x_44 == 0) -{ -return x_43; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_43, 0); -x_46 = lean_ctor_get(x_43, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_43); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -else -{ -uint8_t x_48; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_48 = !lean_is_exclusive(x_38); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_38, 0); -x_50 = lean_io_error_to_string(x_49); -x_51 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_51, 0, x_50); -x_52 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_52, 0, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_37); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set(x_38, 0, x_53); -return x_38; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_54 = lean_ctor_get(x_38, 0); -x_55 = lean_ctor_get(x_38, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_38); -x_56 = lean_io_error_to_string(x_54); -x_57 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_57, 0, x_56); -x_58 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_58, 0, x_57); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_37); -lean_ctor_set(x_59, 1, x_58); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_55); -return x_60; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_34, 0); -lean_inc(x_61); -lean_dec(x_34); -x_62 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__44(x_6, x_7, x_5, x_25, x_8, x_1, x_9, x_61, x_11, x_12, x_13, x_14, x_32); -return x_62; -} -} -else -{ -uint8_t x_63; -lean_dec(x_19); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_63 = !lean_is_exclusive(x_22); -if (x_63 == 0) -{ -return x_22; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_22, 0); -x_65 = lean_ctor_get(x_22, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_22); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_18); -if (x_67 == 0) -{ -return x_18; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_18, 0); -x_69 = lean_ctor_get(x_18, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_18); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__46(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Lean_Expr_getAppNumArgsAux(x_1, x_11); -x_13 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_12); -x_14 = lean_mk_array(x_12, x_13); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_sub(x_12, x_15); -lean_dec(x_12); -x_17 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_14, x_16); -x_18 = lean_array_get_size(x_4); -x_19 = lean_array_get_size(x_17); -x_20 = l_Nat_min(x_18, x_19); -lean_dec(x_19); -lean_dec(x_18); -lean_inc(x_20); -x_21 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_21, 0, x_11); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_21, 2, x_15); -x_22 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__39___rarg(x_2, x_4, x_17, x_21, x_20, x_11, x_3, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_21); -lean_dec(x_17); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -return x_22; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_22); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -else -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_22); -if (x_27 == 0) -{ -return x_22; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_22, 0); -x_29 = lean_ctor_get(x_22, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_22); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__47(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__47(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -17448,7 +17454,7 @@ size_t x_18; size_t x_19; lean_object* x_20; x_18 = lean_usize_of_nat(x_13); lean_dec(x_13); x_19 = 0; -x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__40___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); +x_20 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__40___rarg(x_1, x_2, x_3, x_18, x_19, x_12, x_5, x_6, x_7, x_8, x_9); return x_20; } } @@ -17478,13 +17484,393 @@ size_t x_24; size_t x_25; lean_object* x_26; x_24 = lean_usize_of_nat(x_13); lean_dec(x_13); x_25 = 0; -x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__41___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); +x_26 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__41___rarg(x_1, x_2, x_3, x_24, x_25, x_12, x_5, x_6, x_7, x_8, x_9); return x_26; } } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__48(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__48(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_Expr_getAppNumArgsAux(x_1, x_13); +x_15 = l_Lean_Expr_getAppArgs___closed__1; +lean_inc(x_14); +x_16 = lean_mk_array(x_14, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = lean_nat_sub(x_14, x_17); +lean_dec(x_14); +x_19 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_16, x_18); +x_20 = lean_array_get_size(x_6); +x_21 = lean_array_get_size(x_19); +x_22 = l_Nat_min(x_20, x_21); +lean_dec(x_21); +lean_dec(x_20); +lean_inc(x_22); +x_23 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_23, 0, x_13); +lean_ctor_set(x_23, 1, x_22); +lean_ctor_set(x_23, 2, x_17); +x_24 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__42___rarg(x_2, x_3, x_4, x_6, x_19, x_23, x_22, x_13, x_5, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_23); +lean_dec(x_19); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +return x_24; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__49(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_inc(x_3); +x_15 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_9, x_2, x_3); +x_16 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_15, x_10, x_11, x_12, x_13, x_14); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Lean_mkConst(x_3, x_4); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_18); +x_19 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_18, x_10, x_11, x_12, x_13, x_17); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(x_7); +x_23 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__48___boxed), 12, 5); +lean_closure_set(x_23, 0, x_5); +lean_closure_set(x_23, 1, x_6); +lean_closure_set(x_23, 2, x_22); +lean_closure_set(x_23, 3, x_8); +lean_closure_set(x_23, 4, x_18); +x_24 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_20, x_23, x_10, x_11, x_12, x_13, x_21); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +return x_19; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_19, 0); +x_27 = lean_ctor_get(x_19, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_19); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__50(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; lean_object* x_18; +x_17 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_1); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_3, x_17, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_1); +x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__47___boxed), 9, 2); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_4); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_5, x_21, x_12, x_13, x_14, x_15, x_20); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_box(0); +lean_inc(x_6); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_6); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_23); +x_27 = lean_box(0); +x_28 = 0; +x_29 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_19); +lean_ctor_set(x_29, 2, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*3, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_st_ref_get(x_15, x_24); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 0); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Environment_addAndCompile(x_34, x_25, x_30); +lean_dec(x_30); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +lean_dec(x_35); +x_37 = l_Lean_KernelException_toMessageData(x_36, x_25); +x_38 = lean_ctor_get(x_14, 3); +lean_inc(x_38); +x_39 = l_Lean_MessageData_toString(x_37, x_33); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_38); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_42, 0, x_40); +x_43 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_43, x_12, x_13, x_14, x_15, x_41); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) +{ +return x_44; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +else +{ +uint8_t x_49; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_49 = !lean_is_exclusive(x_39); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_39, 0); +x_51 = lean_io_error_to_string(x_50); +x_52 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_52, 0, x_51); +x_53 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_53, 0, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_38); +lean_ctor_set(x_54, 1, x_53); +lean_ctor_set(x_39, 0, x_54); +return x_39; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_55 = lean_ctor_get(x_39, 0); +x_56 = lean_ctor_get(x_39, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_39); +x_57 = lean_io_error_to_string(x_55); +x_58 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_58, 0, x_57); +x_59 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_38); +lean_ctor_set(x_60, 1, x_59); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_56); +return x_61; +} +} +} +else +{ +lean_object* x_62; lean_object* x_63; +x_62 = lean_ctor_get(x_35, 0); +lean_inc(x_62); +lean_dec(x_35); +x_63 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__49(x_7, x_8, x_6, x_25, x_9, x_1, x_3, x_10, x_62, x_12, x_13, x_14, x_15, x_33); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_19); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_64 = !lean_is_exclusive(x_22); +if (x_64 == 0) +{ +return x_22; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_22, 0); +x_66 = lean_ctor_get(x_22, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_22); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_18); +if (x_68 == 0) +{ +return x_18; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_18, 0); +x_70 = lean_ctor_get(x_18, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_18); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__51(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -17507,7 +17893,7 @@ x_22 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_22, 0, x_12); lean_ctor_set(x_22, 1, x_21); lean_ctor_set(x_22, 2, x_16); -x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__42___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); +x_23 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__43___rarg(x_2, x_3, x_5, x_18, x_22, x_21, x_12, x_4, x_7, x_8, x_9, x_10, x_11); lean_dec(x_22); lean_dec(x_18); if (lean_obj_tag(x_23) == 0) @@ -17556,385 +17942,7 @@ return x_31; } } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__49(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_inc(x_3); -x_14 = l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(x_1, x_8, x_2, x_3); -x_15 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(x_14, x_9, x_10, x_11, x_12, x_13); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -x_17 = l_Lean_mkConst(x_3, x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_17); -x_18 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_17, x_9, x_10, x_11, x_12, x_16); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__48___boxed), 11, 4); -lean_closure_set(x_21, 0, x_5); -lean_closure_set(x_21, 1, x_6); -lean_closure_set(x_21, 2, x_7); -lean_closure_set(x_21, 3, x_17); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_19, x_21, x_9, x_10, x_11, x_12, x_20); -return x_22; -} -else -{ -uint8_t x_23; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__50(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2); -x_17 = 0; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_1); -x_18 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_16, x_17, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__47___boxed), 9, 2); -lean_closure_set(x_21, 0, x_1); -lean_closure_set(x_21, 1, x_3); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -x_22 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_4, x_21, x_11, x_12, x_13, x_14, x_20); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_box(0); -lean_inc(x_5); -x_26 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_26, 0, x_5); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_26, 2, x_23); -x_27 = lean_box(0); -x_28 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_19); -lean_ctor_set(x_28, 2, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*3, x_17); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -x_30 = lean_st_ref_get(x_14, x_24); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = lean_ctor_get(x_31, 0); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Environment_addAndCompile(x_33, x_25, x_29); -lean_dec(x_29); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_KernelException_toMessageData(x_35, x_25); -x_37 = lean_ctor_get(x_13, 3); -lean_inc(x_37); -x_38 = l_Lean_MessageData_toString(x_36, x_32); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -lean_dec(x_37); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_39); -x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_41); -x_43 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_42, x_11, x_12, x_13, x_14, x_40); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_44 = !lean_is_exclusive(x_43); -if (x_44 == 0) -{ -return x_43; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_43, 0); -x_46 = lean_ctor_get(x_43, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_43); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -else -{ -uint8_t x_48; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -x_48 = !lean_is_exclusive(x_38); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_38, 0); -x_50 = lean_io_error_to_string(x_49); -x_51 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_51, 0, x_50); -x_52 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_52, 0, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_37); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set(x_38, 0, x_53); -return x_38; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_54 = lean_ctor_get(x_38, 0); -x_55 = lean_ctor_get(x_38, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_38); -x_56 = lean_io_error_to_string(x_54); -x_57 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_57, 0, x_56); -x_58 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_58, 0, x_57); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_37); -lean_ctor_set(x_59, 1, x_58); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_55); -return x_60; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_34, 0); -lean_inc(x_61); -lean_dec(x_34); -x_62 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__49(x_6, x_7, x_5, x_25, x_8, x_1, x_9, x_61, x_11, x_12, x_13, x_14, x_32); -return x_62; -} -} -else -{ -uint8_t x_63; -lean_dec(x_19); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_63 = !lean_is_exclusive(x_22); -if (x_63 == 0) -{ -return x_22; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_22, 0); -x_65 = lean_ctor_get(x_22, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_22); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_18); -if (x_67 == 0) -{ -return x_18; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_18, 0); -x_69 = lean_ctor_get(x_18, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_18); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__51(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Lean_Expr_getAppNumArgsAux(x_1, x_11); -x_13 = l_Lean_Expr_getAppArgs___closed__1; -lean_inc(x_12); -x_14 = lean_mk_array(x_12, x_13); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_sub(x_12, x_15); -lean_dec(x_12); -x_17 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_14, x_16); -x_18 = lean_array_get_size(x_4); -x_19 = lean_array_get_size(x_17); -x_20 = l_Nat_min(x_18, x_19); -lean_dec(x_19); -lean_dec(x_18); -lean_inc(x_20); -x_21 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_21, 0, x_11); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_21, 2, x_15); -x_22 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__43___rarg(x_2, x_4, x_17, x_21, x_20, x_11, x_3, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_21); -lean_dec(x_17); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -return x_22; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_22); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -else -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_22); -if (x_27 == 0) -{ -return x_22; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_22, 0); -x_29 = lean_ctor_get(x_22, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_22); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__1() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__1() { _start: { lean_object* x_1; @@ -17942,16 +17950,16 @@ x_1 = lean_mk_string("call of unknown parser at '"); return x_1; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__2() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__1; +x_1 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__3() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -17961,7 +17969,7 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__4() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__4() { _start: { lean_object* x_1; @@ -17969,16 +17977,16 @@ x_1 = lean_mk_string("don't know how to generate "); return x_1; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__5() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__4; +x_1 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__4; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__6() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__6() { _start: { lean_object* x_1; @@ -17986,16 +17994,16 @@ x_1 = lean_mk_string(" for non-definition '"); return x_1; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__7() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__6; +x_1 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__6; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__8() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__8() { _start: { lean_object* x_1; @@ -18003,16 +18011,16 @@ x_1 = lean_mk_string("refusing to generate code for imported parser declaration return x_1; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__9() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__8; +x_1 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__8; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__10() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__10() { _start: { lean_object* x_1; @@ -18020,16 +18028,16 @@ x_1 = lean_mk_string("'; use `@[runParserAttributeHooks]` on its definition inst return x_1; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__11() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__10; +x_1 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__10; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__12() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__12() { _start: { lean_object* x_1; @@ -18037,16 +18045,16 @@ x_1 = lean_mk_string(" for non-parser combinator '"); return x_1; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__13() { +static lean_object* _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__12; +x_1 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__12; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; @@ -18054,7 +18062,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_9 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2(x_2, x_4, x_5, x_6, x_7, x_8); +x_9 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2(x_3, x_4, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_9) == 0) { lean_object* x_10; @@ -18087,7 +18095,7 @@ x_18 = lean_ctor_get(x_1, 0); lean_inc(x_18); x_19 = lean_ctor_get(x_1, 2); lean_inc(x_19); -x_20 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(x_19, x_17, x_13); +x_20 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_19, x_17, x_13); if (lean_obj_tag(x_20) == 0) { lean_object* x_21; lean_object* x_22; @@ -18104,13 +18112,13 @@ x_24 = lean_ctor_get(x_22, 1); lean_inc(x_24); lean_dec(x_22); x_25 = l_Lean_ConstantInfo_type(x_23); -x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; +x_26 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_25); -x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_25, x_26, x_4, x_5, x_6, x_7, x_24); +x_27 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_25, x_26, x_4, x_5, x_6, x_7, x_24); if (lean_obj_tag(x_27) == 0) { lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; @@ -18119,7 +18127,7 @@ lean_inc(x_28); x_29 = lean_ctor_get(x_27, 1); lean_inc(x_29); lean_dec(x_27); -x_30 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; +x_30 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3; x_31 = l_Lean_Expr_isConstOf(x_28, x_30); if (x_31 == 0) { @@ -18156,11 +18164,11 @@ lean_inc(x_67); lean_dec(x_65); x_68 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_68, 0, x_18); -x_69 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; +x_69 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; x_70 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_70, 0, x_69); lean_ctor_set(x_70, 1, x_68); -x_71 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__13; +x_71 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13; x_72 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_72, 0, x_70); lean_ctor_set(x_72, 1, x_71); @@ -18182,7 +18190,7 @@ return x_77; } else { -lean_object* x_78; lean_object* x_79; uint8_t x_80; +lean_object* x_78; lean_object* x_79; lean_dec(x_18); lean_dec(x_10); x_78 = lean_ctor_get(x_65, 1); @@ -18191,16 +18199,14 @@ lean_dec(x_65); x_79 = lean_ctor_get(x_66, 0); lean_inc(x_79); lean_dec(x_66); -x_80 = 0; -x_2 = x_79; -x_3 = x_80; +x_3 = x_79; x_8 = x_78; goto _start; } } else { -uint8_t x_82; +uint8_t x_81; lean_dec(x_18); lean_dec(x_10); lean_dec(x_7); @@ -18208,40 +18214,40 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_82 = !lean_is_exclusive(x_65); -if (x_82 == 0) +x_81 = !lean_is_exclusive(x_65); +if (x_81 == 0) { return x_65; } else { -lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_83 = lean_ctor_get(x_65, 0); -x_84 = lean_ctor_get(x_65, 1); -lean_inc(x_84); +lean_object* x_82; lean_object* x_83; lean_object* x_84; +x_82 = lean_ctor_get(x_65, 0); +x_83 = lean_ctor_get(x_65, 1); lean_inc(x_83); +lean_inc(x_82); lean_dec(x_65); -x_85 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_85, 0, x_83); -lean_ctor_set(x_85, 1, x_84); -return x_85; +x_84 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_84, 0, x_82); +lean_ctor_set(x_84, 1, x_83); +return x_84; } } } else { -lean_object* x_86; -x_86 = lean_box(0); -x_32 = x_86; +lean_object* x_85; +x_85 = lean_box(0); +x_32 = x_85; goto block_62; } } else { -lean_object* x_87; +lean_object* x_86; lean_dec(x_28); -x_87 = lean_box(0); -x_32 = x_87; +x_86 = lean_box(0); +x_32 = x_86; goto block_62; } block_62: @@ -18261,11 +18267,11 @@ lean_dec(x_13); lean_dec(x_1); x_34 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_34, 0, x_18); -x_35 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; +x_35 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; x_36 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_36, 0, x_35); lean_ctor_set(x_36, 1, x_34); -x_37 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__7; +x_37 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7; x_38 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_38, 0, x_36); lean_ctor_set(x_38, 1, x_37); @@ -18299,13 +18305,13 @@ if (lean_obj_tag(x_45) == 0) lean_object* x_46; lean_object* x_47; lean_object* x_48; x_46 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; x_47 = lean_box(0); -x_48 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__4(x_1, x_44, x_46, x_25, x_21, x_19, x_13, x_10, x_26, x_47, x_4, x_5, x_6, x_7, x_29); +x_48 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__4(x_1, x_44, x_2, x_46, x_25, x_21, x_19, x_13, x_10, x_26, x_47, x_4, x_5, x_6, x_7, x_29); return x_48; } else { lean_dec(x_45); -if (x_3 == 0) +if (x_2 == 0) { lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; lean_dec(x_44); @@ -18316,11 +18322,11 @@ lean_dec(x_10); lean_dec(x_1); x_49 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_49, 0, x_13); -x_50 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__9; +x_50 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9; x_51 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_51, 0, x_50); lean_ctor_set(x_51, 1, x_49); -x_52 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__11; +x_52 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11; x_53 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_53, 0, x_51); lean_ctor_set(x_53, 1, x_52); @@ -18353,7 +18359,7 @@ else lean_object* x_59; lean_object* x_60; lean_object* x_61; x_59 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; x_60 = lean_box(0); -x_61 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__4(x_1, x_44, x_59, x_25, x_21, x_19, x_13, x_10, x_26, x_60, x_4, x_5, x_6, x_7, x_29); +x_61 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__4(x_1, x_44, x_2, x_59, x_25, x_21, x_19, x_13, x_10, x_26, x_60, x_4, x_5, x_6, x_7, x_29); return x_61; } } @@ -18362,7 +18368,7 @@ return x_61; } else { -uint8_t x_88; +uint8_t x_87; lean_dec(x_25); lean_dec(x_23); lean_dec(x_21); @@ -18376,29 +18382,29 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_88 = !lean_is_exclusive(x_27); -if (x_88 == 0) +x_87 = !lean_is_exclusive(x_27); +if (x_87 == 0) { return x_27; } else { -lean_object* x_89; lean_object* x_90; lean_object* x_91; -x_89 = lean_ctor_get(x_27, 0); -x_90 = lean_ctor_get(x_27, 1); -lean_inc(x_90); +lean_object* x_88; lean_object* x_89; lean_object* x_90; +x_88 = lean_ctor_get(x_27, 0); +x_89 = lean_ctor_get(x_27, 1); lean_inc(x_89); +lean_inc(x_88); lean_dec(x_27); -x_91 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_91, 0, x_89); -lean_ctor_set(x_91, 1, x_90); -return x_91; +x_90 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_90, 0, x_88); +lean_ctor_set(x_90, 1, x_89); +return x_90; } } } else { -uint8_t x_92; +uint8_t x_91; lean_dec(x_21); lean_dec(x_19); lean_dec(x_18); @@ -18410,82 +18416,84 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_92 = !lean_is_exclusive(x_22); -if (x_92 == 0) +x_91 = !lean_is_exclusive(x_22); +if (x_91 == 0) { return x_22; } else { -lean_object* x_93; lean_object* x_94; lean_object* x_95; -x_93 = lean_ctor_get(x_22, 0); -x_94 = lean_ctor_get(x_22, 1); -lean_inc(x_94); +lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_92 = lean_ctor_get(x_22, 0); +x_93 = lean_ctor_get(x_22, 1); lean_inc(x_93); +lean_inc(x_92); lean_dec(x_22); -x_95 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_95, 0, x_93); -lean_ctor_set(x_95, 1, x_94); -return x_95; +x_94 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_94, 0, x_92); +lean_ctor_set(x_94, 1, x_93); +return x_94; } } } else { -lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; +lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_13); -x_96 = lean_ctor_get(x_20, 0); -lean_inc(x_96); +x_95 = lean_ctor_get(x_20, 0); +lean_inc(x_95); lean_dec(x_20); -x_97 = lean_box(0); -x_98 = l_Lean_mkConst(x_96, x_97); +x_96 = lean_box(0); +x_97 = l_Lean_mkConst(x_95, x_96); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_98); -x_99 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_98, x_4, x_5, x_6, x_7, x_16); -if (lean_obj_tag(x_99) == 0) +lean_inc(x_97); +x_98 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_97, x_4, x_5, x_6, x_7, x_16); +if (lean_obj_tag(x_98) == 0) { -lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; -x_100 = lean_ctor_get(x_99, 0); +lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; +x_99 = lean_ctor_get(x_98, 0); +lean_inc(x_99); +x_100 = lean_ctor_get(x_98, 1); lean_inc(x_100); -x_101 = lean_ctor_get(x_99, 1); -lean_inc(x_101); -lean_dec(x_99); -x_102 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__5___boxed), 10, 3); +lean_dec(x_98); +x_101 = lean_box(x_2); +x_102 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__5___boxed), 11, 4); lean_closure_set(x_102, 0, x_10); lean_closure_set(x_102, 1, x_1); -lean_closure_set(x_102, 2, x_98); -x_103 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_100, x_102, x_4, x_5, x_6, x_7, x_101); +lean_closure_set(x_102, 2, x_101); +lean_closure_set(x_102, 3, x_97); +x_103 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_99, x_102, x_4, x_5, x_6, x_7, x_100); return x_103; } else { uint8_t x_104; -lean_dec(x_98); +lean_dec(x_97); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_104 = !lean_is_exclusive(x_99); +x_104 = !lean_is_exclusive(x_98); if (x_104 == 0) { -return x_99; +return x_98; } else { lean_object* x_105; lean_object* x_106; lean_object* x_107; -x_105 = lean_ctor_get(x_99, 0); -x_106 = lean_ctor_get(x_99, 1); +x_105 = lean_ctor_get(x_98, 0); +x_106 = lean_ctor_get(x_98, 1); lean_inc(x_106); lean_inc(x_105); -lean_dec(x_99); +lean_dec(x_98); x_107 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_107, 0, x_105); lean_ctor_set(x_107, 1, x_106); @@ -18501,7 +18509,7 @@ lean_dec(x_12); lean_dec(x_1); x_108 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_108, 0, x_10); -x_109 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__2; +x_109 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2; x_110 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_110, 0, x_109); lean_ctor_set(x_110, 1, x_108); @@ -18571,7 +18579,7 @@ x_125 = lean_ctor_get(x_1, 0); lean_inc(x_125); x_126 = lean_ctor_get(x_1, 2); lean_inc(x_126); -x_127 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(x_126, x_124, x_120); +x_127 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_126, x_124, x_120); if (lean_obj_tag(x_127) == 0) { lean_object* x_128; lean_object* x_129; @@ -18588,13 +18596,13 @@ x_131 = lean_ctor_get(x_129, 1); lean_inc(x_131); lean_dec(x_129); x_132 = l_Lean_ConstantInfo_type(x_130); -x_133 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; +x_133 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_132); -x_134 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_132, x_133, x_4, x_5, x_6, x_7, x_131); +x_134 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_132, x_133, x_4, x_5, x_6, x_7, x_131); if (lean_obj_tag(x_134) == 0) { lean_object* x_135; lean_object* x_136; lean_object* x_137; uint8_t x_138; lean_object* x_139; @@ -18603,7 +18611,7 @@ lean_inc(x_135); x_136 = lean_ctor_get(x_134, 1); lean_inc(x_136); lean_dec(x_134); -x_137 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; +x_137 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3; x_138 = l_Lean_Expr_isConstOf(x_135, x_137); if (x_138 == 0) { @@ -18640,11 +18648,11 @@ lean_inc(x_174); lean_dec(x_172); x_175 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_175, 0, x_125); -x_176 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; +x_176 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; x_177 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_177, 0, x_176); lean_ctor_set(x_177, 1, x_175); -x_178 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__13; +x_178 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13; x_179 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_179, 0, x_177); lean_ctor_set(x_179, 1, x_178); @@ -18666,7 +18674,7 @@ return x_184; } else { -lean_object* x_185; lean_object* x_186; uint8_t x_187; +lean_object* x_185; lean_object* x_186; lean_dec(x_125); lean_dec(x_10); x_185 = lean_ctor_get(x_172, 1); @@ -18675,16 +18683,14 @@ lean_dec(x_172); x_186 = lean_ctor_get(x_173, 0); lean_inc(x_186); lean_dec(x_173); -x_187 = 0; -x_2 = x_186; -x_3 = x_187; +x_3 = x_186; x_8 = x_185; goto _start; } } else { -uint8_t x_189; +uint8_t x_188; lean_dec(x_125); lean_dec(x_10); lean_dec(x_7); @@ -18692,40 +18698,40 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_189 = !lean_is_exclusive(x_172); -if (x_189 == 0) +x_188 = !lean_is_exclusive(x_172); +if (x_188 == 0) { return x_172; } else { -lean_object* x_190; lean_object* x_191; lean_object* x_192; -x_190 = lean_ctor_get(x_172, 0); -x_191 = lean_ctor_get(x_172, 1); -lean_inc(x_191); +lean_object* x_189; lean_object* x_190; lean_object* x_191; +x_189 = lean_ctor_get(x_172, 0); +x_190 = lean_ctor_get(x_172, 1); lean_inc(x_190); +lean_inc(x_189); lean_dec(x_172); -x_192 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_192, 0, x_190); -lean_ctor_set(x_192, 1, x_191); -return x_192; +x_191 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_191, 0, x_189); +lean_ctor_set(x_191, 1, x_190); +return x_191; } } } else { -lean_object* x_193; -x_193 = lean_box(0); -x_139 = x_193; +lean_object* x_192; +x_192 = lean_box(0); +x_139 = x_192; goto block_169; } } else { -lean_object* x_194; +lean_object* x_193; lean_dec(x_135); -x_194 = lean_box(0); -x_139 = x_194; +x_193 = lean_box(0); +x_139 = x_193; goto block_169; } block_169: @@ -18745,11 +18751,11 @@ lean_dec(x_120); lean_dec(x_1); x_141 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_141, 0, x_125); -x_142 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; +x_142 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; x_143 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_143, 0, x_142); lean_ctor_set(x_143, 1, x_141); -x_144 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__7; +x_144 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7; x_145 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_145, 0, x_143); lean_ctor_set(x_145, 1, x_144); @@ -18783,13 +18789,13 @@ if (lean_obj_tag(x_152) == 0) lean_object* x_153; lean_object* x_154; lean_object* x_155; x_153 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; x_154 = lean_box(0); -x_155 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__9(x_1, x_151, x_153, x_132, x_128, x_126, x_120, x_10, x_133, x_154, x_4, x_5, x_6, x_7, x_136); +x_155 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__9(x_1, x_151, x_2, x_153, x_132, x_128, x_126, x_120, x_10, x_133, x_154, x_4, x_5, x_6, x_7, x_136); return x_155; } else { lean_dec(x_152); -if (x_3 == 0) +if (x_2 == 0) { lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; uint8_t x_162; lean_dec(x_151); @@ -18800,11 +18806,11 @@ lean_dec(x_10); lean_dec(x_1); x_156 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_156, 0, x_120); -x_157 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__9; +x_157 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9; x_158 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_158, 0, x_157); lean_ctor_set(x_158, 1, x_156); -x_159 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__11; +x_159 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11; x_160 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_160, 0, x_158); lean_ctor_set(x_160, 1, x_159); @@ -18837,7 +18843,7 @@ else lean_object* x_166; lean_object* x_167; lean_object* x_168; x_166 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; x_167 = lean_box(0); -x_168 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__9(x_1, x_151, x_166, x_132, x_128, x_126, x_120, x_10, x_133, x_167, x_4, x_5, x_6, x_7, x_136); +x_168 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__9(x_1, x_151, x_2, x_166, x_132, x_128, x_126, x_120, x_10, x_133, x_167, x_4, x_5, x_6, x_7, x_136); return x_168; } } @@ -18846,7 +18852,7 @@ return x_168; } else { -uint8_t x_195; +uint8_t x_194; lean_dec(x_132); lean_dec(x_130); lean_dec(x_128); @@ -18860,29 +18866,29 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_195 = !lean_is_exclusive(x_134); -if (x_195 == 0) +x_194 = !lean_is_exclusive(x_134); +if (x_194 == 0) { return x_134; } else { -lean_object* x_196; lean_object* x_197; lean_object* x_198; -x_196 = lean_ctor_get(x_134, 0); -x_197 = lean_ctor_get(x_134, 1); -lean_inc(x_197); +lean_object* x_195; lean_object* x_196; lean_object* x_197; +x_195 = lean_ctor_get(x_134, 0); +x_196 = lean_ctor_get(x_134, 1); lean_inc(x_196); +lean_inc(x_195); lean_dec(x_134); -x_198 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_198, 0, x_196); -lean_ctor_set(x_198, 1, x_197); -return x_198; +x_197 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_197, 0, x_195); +lean_ctor_set(x_197, 1, x_196); +return x_197; } } } else { -uint8_t x_199; +uint8_t x_198; lean_dec(x_128); lean_dec(x_126); lean_dec(x_125); @@ -18894,82 +18900,84 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_199 = !lean_is_exclusive(x_129); -if (x_199 == 0) +x_198 = !lean_is_exclusive(x_129); +if (x_198 == 0) { return x_129; } else { -lean_object* x_200; lean_object* x_201; lean_object* x_202; -x_200 = lean_ctor_get(x_129, 0); -x_201 = lean_ctor_get(x_129, 1); -lean_inc(x_201); +lean_object* x_199; lean_object* x_200; lean_object* x_201; +x_199 = lean_ctor_get(x_129, 0); +x_200 = lean_ctor_get(x_129, 1); lean_inc(x_200); +lean_inc(x_199); lean_dec(x_129); -x_202 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_202, 0, x_200); -lean_ctor_set(x_202, 1, x_201); -return x_202; +x_201 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_201, 0, x_199); +lean_ctor_set(x_201, 1, x_200); +return x_201; } } } else { -lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; +lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_dec(x_126); lean_dec(x_125); lean_dec(x_124); lean_dec(x_120); -x_203 = lean_ctor_get(x_127, 0); -lean_inc(x_203); +x_202 = lean_ctor_get(x_127, 0); +lean_inc(x_202); lean_dec(x_127); -x_204 = lean_box(0); -x_205 = l_Lean_mkConst(x_203, x_204); +x_203 = lean_box(0); +x_204 = l_Lean_mkConst(x_202, x_203); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_205); -x_206 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_205, x_4, x_5, x_6, x_7, x_123); -if (lean_obj_tag(x_206) == 0) +lean_inc(x_204); +x_205 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_204, x_4, x_5, x_6, x_7, x_123); +if (lean_obj_tag(x_205) == 0) { -lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; -x_207 = lean_ctor_get(x_206, 0); +lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; +x_206 = lean_ctor_get(x_205, 0); +lean_inc(x_206); +x_207 = lean_ctor_get(x_205, 1); lean_inc(x_207); -x_208 = lean_ctor_get(x_206, 1); -lean_inc(x_208); -lean_dec(x_206); -x_209 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__10___boxed), 10, 3); +lean_dec(x_205); +x_208 = lean_box(x_2); +x_209 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__10___boxed), 11, 4); lean_closure_set(x_209, 0, x_10); lean_closure_set(x_209, 1, x_1); -lean_closure_set(x_209, 2, x_205); -x_210 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_207, x_209, x_4, x_5, x_6, x_7, x_208); +lean_closure_set(x_209, 2, x_208); +lean_closure_set(x_209, 3, x_204); +x_210 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_206, x_209, x_4, x_5, x_6, x_7, x_207); return x_210; } else { uint8_t x_211; -lean_dec(x_205); +lean_dec(x_204); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_211 = !lean_is_exclusive(x_206); +x_211 = !lean_is_exclusive(x_205); if (x_211 == 0) { -return x_206; +return x_205; } else { lean_object* x_212; lean_object* x_213; lean_object* x_214; -x_212 = lean_ctor_get(x_206, 0); -x_213 = lean_ctor_get(x_206, 1); +x_212 = lean_ctor_get(x_205, 0); +x_213 = lean_ctor_get(x_205, 1); lean_inc(x_213); lean_inc(x_212); -lean_dec(x_206); +lean_dec(x_205); x_214 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_214, 0, x_212); lean_ctor_set(x_214, 1, x_213); @@ -18985,7 +18993,7 @@ lean_dec(x_119); lean_dec(x_1); x_215 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_215, 0, x_10); -x_216 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__2; +x_216 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2; x_217 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_217, 0, x_216); lean_ctor_set(x_217, 1, x_215); @@ -19027,7 +19035,7 @@ x_228 = lean_ctor_get(x_1, 0); lean_inc(x_228); x_229 = lean_ctor_get(x_1, 2); lean_inc(x_229); -x_230 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(x_229, x_227, x_223); +x_230 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_229, x_227, x_223); if (lean_obj_tag(x_230) == 0) { lean_object* x_231; lean_object* x_232; @@ -19044,13 +19052,13 @@ x_234 = lean_ctor_get(x_232, 1); lean_inc(x_234); lean_dec(x_232); x_235 = l_Lean_ConstantInfo_type(x_233); -x_236 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; +x_236 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_235); -x_237 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_235, x_236, x_4, x_5, x_6, x_7, x_234); +x_237 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_235, x_236, x_4, x_5, x_6, x_7, x_234); if (lean_obj_tag(x_237) == 0) { lean_object* x_238; lean_object* x_239; lean_object* x_240; uint8_t x_241; lean_object* x_242; @@ -19059,7 +19067,7 @@ lean_inc(x_238); x_239 = lean_ctor_get(x_237, 1); lean_inc(x_239); lean_dec(x_237); -x_240 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; +x_240 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3; x_241 = l_Lean_Expr_isConstOf(x_238, x_240); if (x_241 == 0) { @@ -19096,11 +19104,11 @@ lean_inc(x_277); lean_dec(x_275); x_278 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_278, 0, x_228); -x_279 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; +x_279 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; x_280 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_280, 0, x_279); lean_ctor_set(x_280, 1, x_278); -x_281 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__13; +x_281 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13; x_282 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_282, 0, x_280); lean_ctor_set(x_282, 1, x_281); @@ -19122,7 +19130,7 @@ return x_287; } else { -lean_object* x_288; lean_object* x_289; uint8_t x_290; +lean_object* x_288; lean_object* x_289; lean_dec(x_228); lean_dec(x_10); x_288 = lean_ctor_get(x_275, 1); @@ -19131,16 +19139,14 @@ lean_dec(x_275); x_289 = lean_ctor_get(x_276, 0); lean_inc(x_289); lean_dec(x_276); -x_290 = 0; -x_2 = x_289; -x_3 = x_290; +x_3 = x_289; x_8 = x_288; goto _start; } } else { -uint8_t x_292; +uint8_t x_291; lean_dec(x_228); lean_dec(x_10); lean_dec(x_7); @@ -19148,40 +19154,40 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_292 = !lean_is_exclusive(x_275); -if (x_292 == 0) +x_291 = !lean_is_exclusive(x_275); +if (x_291 == 0) { return x_275; } else { -lean_object* x_293; lean_object* x_294; lean_object* x_295; -x_293 = lean_ctor_get(x_275, 0); -x_294 = lean_ctor_get(x_275, 1); -lean_inc(x_294); +lean_object* x_292; lean_object* x_293; lean_object* x_294; +x_292 = lean_ctor_get(x_275, 0); +x_293 = lean_ctor_get(x_275, 1); lean_inc(x_293); +lean_inc(x_292); lean_dec(x_275); -x_295 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_295, 0, x_293); -lean_ctor_set(x_295, 1, x_294); -return x_295; +x_294 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_294, 0, x_292); +lean_ctor_set(x_294, 1, x_293); +return x_294; } } } else { -lean_object* x_296; -x_296 = lean_box(0); -x_242 = x_296; +lean_object* x_295; +x_295 = lean_box(0); +x_242 = x_295; goto block_272; } } else { -lean_object* x_297; +lean_object* x_296; lean_dec(x_238); -x_297 = lean_box(0); -x_242 = x_297; +x_296 = lean_box(0); +x_242 = x_296; goto block_272; } block_272: @@ -19201,11 +19207,11 @@ lean_dec(x_223); lean_dec(x_1); x_244 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_244, 0, x_228); -x_245 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; +x_245 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; x_246 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_246, 0, x_245); lean_ctor_set(x_246, 1, x_244); -x_247 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__7; +x_247 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7; x_248 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_248, 0, x_246); lean_ctor_set(x_248, 1, x_247); @@ -19239,13 +19245,13 @@ if (lean_obj_tag(x_255) == 0) lean_object* x_256; lean_object* x_257; lean_object* x_258; x_256 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; x_257 = lean_box(0); -x_258 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__14(x_1, x_254, x_256, x_235, x_231, x_229, x_223, x_10, x_236, x_257, x_4, x_5, x_6, x_7, x_239); +x_258 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__14(x_1, x_254, x_2, x_256, x_235, x_231, x_229, x_223, x_10, x_236, x_257, x_4, x_5, x_6, x_7, x_239); return x_258; } else { lean_dec(x_255); -if (x_3 == 0) +if (x_2 == 0) { lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; uint8_t x_265; lean_dec(x_254); @@ -19256,11 +19262,11 @@ lean_dec(x_10); lean_dec(x_1); x_259 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_259, 0, x_223); -x_260 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__9; +x_260 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9; x_261 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_261, 0, x_260); lean_ctor_set(x_261, 1, x_259); -x_262 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__11; +x_262 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11; x_263 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_263, 0, x_261); lean_ctor_set(x_263, 1, x_262); @@ -19293,7 +19299,7 @@ else lean_object* x_269; lean_object* x_270; lean_object* x_271; x_269 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; x_270 = lean_box(0); -x_271 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__14(x_1, x_254, x_269, x_235, x_231, x_229, x_223, x_10, x_236, x_270, x_4, x_5, x_6, x_7, x_239); +x_271 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__14(x_1, x_254, x_2, x_269, x_235, x_231, x_229, x_223, x_10, x_236, x_270, x_4, x_5, x_6, x_7, x_239); return x_271; } } @@ -19302,7 +19308,7 @@ return x_271; } else { -uint8_t x_298; +uint8_t x_297; lean_dec(x_235); lean_dec(x_233); lean_dec(x_231); @@ -19316,29 +19322,29 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_298 = !lean_is_exclusive(x_237); -if (x_298 == 0) +x_297 = !lean_is_exclusive(x_237); +if (x_297 == 0) { return x_237; } else { -lean_object* x_299; lean_object* x_300; lean_object* x_301; -x_299 = lean_ctor_get(x_237, 0); -x_300 = lean_ctor_get(x_237, 1); -lean_inc(x_300); +lean_object* x_298; lean_object* x_299; lean_object* x_300; +x_298 = lean_ctor_get(x_237, 0); +x_299 = lean_ctor_get(x_237, 1); lean_inc(x_299); +lean_inc(x_298); lean_dec(x_237); -x_301 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_301, 0, x_299); -lean_ctor_set(x_301, 1, x_300); -return x_301; +x_300 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_300, 0, x_298); +lean_ctor_set(x_300, 1, x_299); +return x_300; } } } else { -uint8_t x_302; +uint8_t x_301; lean_dec(x_231); lean_dec(x_229); lean_dec(x_228); @@ -19350,82 +19356,84 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_302 = !lean_is_exclusive(x_232); -if (x_302 == 0) +x_301 = !lean_is_exclusive(x_232); +if (x_301 == 0) { return x_232; } else { -lean_object* x_303; lean_object* x_304; lean_object* x_305; -x_303 = lean_ctor_get(x_232, 0); -x_304 = lean_ctor_get(x_232, 1); -lean_inc(x_304); +lean_object* x_302; lean_object* x_303; lean_object* x_304; +x_302 = lean_ctor_get(x_232, 0); +x_303 = lean_ctor_get(x_232, 1); lean_inc(x_303); +lean_inc(x_302); lean_dec(x_232); -x_305 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_305, 0, x_303); -lean_ctor_set(x_305, 1, x_304); -return x_305; +x_304 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_304, 0, x_302); +lean_ctor_set(x_304, 1, x_303); +return x_304; } } } else { -lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; +lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_dec(x_229); lean_dec(x_228); lean_dec(x_227); lean_dec(x_223); -x_306 = lean_ctor_get(x_230, 0); -lean_inc(x_306); +x_305 = lean_ctor_get(x_230, 0); +lean_inc(x_305); lean_dec(x_230); -x_307 = lean_box(0); -x_308 = l_Lean_mkConst(x_306, x_307); +x_306 = lean_box(0); +x_307 = l_Lean_mkConst(x_305, x_306); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_308); -x_309 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_308, x_4, x_5, x_6, x_7, x_226); -if (lean_obj_tag(x_309) == 0) +lean_inc(x_307); +x_308 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_307, x_4, x_5, x_6, x_7, x_226); +if (lean_obj_tag(x_308) == 0) { -lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; -x_310 = lean_ctor_get(x_309, 0); +lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; +x_309 = lean_ctor_get(x_308, 0); +lean_inc(x_309); +x_310 = lean_ctor_get(x_308, 1); lean_inc(x_310); -x_311 = lean_ctor_get(x_309, 1); -lean_inc(x_311); -lean_dec(x_309); -x_312 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__15___boxed), 10, 3); +lean_dec(x_308); +x_311 = lean_box(x_2); +x_312 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__15___boxed), 11, 4); lean_closure_set(x_312, 0, x_10); lean_closure_set(x_312, 1, x_1); -lean_closure_set(x_312, 2, x_308); -x_313 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_310, x_312, x_4, x_5, x_6, x_7, x_311); +lean_closure_set(x_312, 2, x_311); +lean_closure_set(x_312, 3, x_307); +x_313 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_309, x_312, x_4, x_5, x_6, x_7, x_310); return x_313; } else { uint8_t x_314; -lean_dec(x_308); +lean_dec(x_307); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_314 = !lean_is_exclusive(x_309); +x_314 = !lean_is_exclusive(x_308); if (x_314 == 0) { -return x_309; +return x_308; } else { lean_object* x_315; lean_object* x_316; lean_object* x_317; -x_315 = lean_ctor_get(x_309, 0); -x_316 = lean_ctor_get(x_309, 1); +x_315 = lean_ctor_get(x_308, 0); +x_316 = lean_ctor_get(x_308, 1); lean_inc(x_316); lean_inc(x_315); -lean_dec(x_309); +lean_dec(x_308); x_317 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_317, 0, x_315); lean_ctor_set(x_317, 1, x_316); @@ -19441,7 +19449,7 @@ lean_dec(x_222); lean_dec(x_1); x_318 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_318, 0, x_10); -x_319 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__2; +x_319 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2; x_320 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_320, 0, x_319); lean_ctor_set(x_320, 1, x_318); @@ -19483,7 +19491,7 @@ x_331 = lean_ctor_get(x_1, 0); lean_inc(x_331); x_332 = lean_ctor_get(x_1, 2); lean_inc(x_332); -x_333 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(x_332, x_330, x_326); +x_333 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_332, x_330, x_326); if (lean_obj_tag(x_333) == 0) { lean_object* x_334; lean_object* x_335; @@ -19500,13 +19508,13 @@ x_337 = lean_ctor_get(x_335, 1); lean_inc(x_337); lean_dec(x_335); x_338 = l_Lean_ConstantInfo_type(x_336); -x_339 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; +x_339 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_338); -x_340 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_338, x_339, x_4, x_5, x_6, x_7, x_337); +x_340 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_338, x_339, x_4, x_5, x_6, x_7, x_337); if (lean_obj_tag(x_340) == 0) { lean_object* x_341; lean_object* x_342; lean_object* x_343; uint8_t x_344; lean_object* x_345; @@ -19515,7 +19523,7 @@ lean_inc(x_341); x_342 = lean_ctor_get(x_340, 1); lean_inc(x_342); lean_dec(x_340); -x_343 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; +x_343 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3; x_344 = l_Lean_Expr_isConstOf(x_341, x_343); if (x_344 == 0) { @@ -19552,11 +19560,11 @@ lean_inc(x_380); lean_dec(x_378); x_381 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_381, 0, x_331); -x_382 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; +x_382 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; x_383 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_383, 0, x_382); lean_ctor_set(x_383, 1, x_381); -x_384 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__13; +x_384 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13; x_385 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_385, 0, x_383); lean_ctor_set(x_385, 1, x_384); @@ -19578,7 +19586,7 @@ return x_390; } else { -lean_object* x_391; lean_object* x_392; uint8_t x_393; +lean_object* x_391; lean_object* x_392; lean_dec(x_331); lean_dec(x_10); x_391 = lean_ctor_get(x_378, 1); @@ -19587,16 +19595,14 @@ lean_dec(x_378); x_392 = lean_ctor_get(x_379, 0); lean_inc(x_392); lean_dec(x_379); -x_393 = 0; -x_2 = x_392; -x_3 = x_393; +x_3 = x_392; x_8 = x_391; goto _start; } } else { -uint8_t x_395; +uint8_t x_394; lean_dec(x_331); lean_dec(x_10); lean_dec(x_7); @@ -19604,40 +19610,40 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_395 = !lean_is_exclusive(x_378); -if (x_395 == 0) +x_394 = !lean_is_exclusive(x_378); +if (x_394 == 0) { return x_378; } else { -lean_object* x_396; lean_object* x_397; lean_object* x_398; -x_396 = lean_ctor_get(x_378, 0); -x_397 = lean_ctor_get(x_378, 1); -lean_inc(x_397); +lean_object* x_395; lean_object* x_396; lean_object* x_397; +x_395 = lean_ctor_get(x_378, 0); +x_396 = lean_ctor_get(x_378, 1); lean_inc(x_396); +lean_inc(x_395); lean_dec(x_378); -x_398 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_398, 0, x_396); -lean_ctor_set(x_398, 1, x_397); -return x_398; +x_397 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_397, 0, x_395); +lean_ctor_set(x_397, 1, x_396); +return x_397; } } } else { -lean_object* x_399; -x_399 = lean_box(0); -x_345 = x_399; +lean_object* x_398; +x_398 = lean_box(0); +x_345 = x_398; goto block_375; } } else { -lean_object* x_400; +lean_object* x_399; lean_dec(x_341); -x_400 = lean_box(0); -x_345 = x_400; +x_399 = lean_box(0); +x_345 = x_399; goto block_375; } block_375: @@ -19657,11 +19663,11 @@ lean_dec(x_326); lean_dec(x_1); x_347 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_347, 0, x_331); -x_348 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; +x_348 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; x_349 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_349, 0, x_348); lean_ctor_set(x_349, 1, x_347); -x_350 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__7; +x_350 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7; x_351 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_351, 0, x_349); lean_ctor_set(x_351, 1, x_350); @@ -19695,13 +19701,13 @@ if (lean_obj_tag(x_358) == 0) lean_object* x_359; lean_object* x_360; lean_object* x_361; x_359 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; x_360 = lean_box(0); -x_361 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__19(x_1, x_357, x_359, x_338, x_334, x_332, x_326, x_10, x_339, x_360, x_4, x_5, x_6, x_7, x_342); +x_361 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__19(x_1, x_357, x_2, x_359, x_338, x_334, x_332, x_326, x_10, x_339, x_360, x_4, x_5, x_6, x_7, x_342); return x_361; } else { lean_dec(x_358); -if (x_3 == 0) +if (x_2 == 0) { lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; uint8_t x_368; lean_dec(x_357); @@ -19712,11 +19718,11 @@ lean_dec(x_10); lean_dec(x_1); x_362 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_362, 0, x_326); -x_363 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__9; +x_363 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9; x_364 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_364, 0, x_363); lean_ctor_set(x_364, 1, x_362); -x_365 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__11; +x_365 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11; x_366 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_366, 0, x_364); lean_ctor_set(x_366, 1, x_365); @@ -19749,7 +19755,7 @@ else lean_object* x_372; lean_object* x_373; lean_object* x_374; x_372 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; x_373 = lean_box(0); -x_374 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__19(x_1, x_357, x_372, x_338, x_334, x_332, x_326, x_10, x_339, x_373, x_4, x_5, x_6, x_7, x_342); +x_374 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__19(x_1, x_357, x_2, x_372, x_338, x_334, x_332, x_326, x_10, x_339, x_373, x_4, x_5, x_6, x_7, x_342); return x_374; } } @@ -19758,7 +19764,7 @@ return x_374; } else { -uint8_t x_401; +uint8_t x_400; lean_dec(x_338); lean_dec(x_336); lean_dec(x_334); @@ -19772,29 +19778,29 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_401 = !lean_is_exclusive(x_340); -if (x_401 == 0) +x_400 = !lean_is_exclusive(x_340); +if (x_400 == 0) { return x_340; } else { -lean_object* x_402; lean_object* x_403; lean_object* x_404; -x_402 = lean_ctor_get(x_340, 0); -x_403 = lean_ctor_get(x_340, 1); -lean_inc(x_403); +lean_object* x_401; lean_object* x_402; lean_object* x_403; +x_401 = lean_ctor_get(x_340, 0); +x_402 = lean_ctor_get(x_340, 1); lean_inc(x_402); +lean_inc(x_401); lean_dec(x_340); -x_404 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_404, 0, x_402); -lean_ctor_set(x_404, 1, x_403); -return x_404; +x_403 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_403, 0, x_401); +lean_ctor_set(x_403, 1, x_402); +return x_403; } } } else { -uint8_t x_405; +uint8_t x_404; lean_dec(x_334); lean_dec(x_332); lean_dec(x_331); @@ -19806,82 +19812,84 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_405 = !lean_is_exclusive(x_335); -if (x_405 == 0) +x_404 = !lean_is_exclusive(x_335); +if (x_404 == 0) { return x_335; } else { -lean_object* x_406; lean_object* x_407; lean_object* x_408; -x_406 = lean_ctor_get(x_335, 0); -x_407 = lean_ctor_get(x_335, 1); -lean_inc(x_407); +lean_object* x_405; lean_object* x_406; lean_object* x_407; +x_405 = lean_ctor_get(x_335, 0); +x_406 = lean_ctor_get(x_335, 1); lean_inc(x_406); +lean_inc(x_405); lean_dec(x_335); -x_408 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_408, 0, x_406); -lean_ctor_set(x_408, 1, x_407); -return x_408; +x_407 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_407, 0, x_405); +lean_ctor_set(x_407, 1, x_406); +return x_407; } } } else { -lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; +lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_dec(x_332); lean_dec(x_331); lean_dec(x_330); lean_dec(x_326); -x_409 = lean_ctor_get(x_333, 0); -lean_inc(x_409); +x_408 = lean_ctor_get(x_333, 0); +lean_inc(x_408); lean_dec(x_333); -x_410 = lean_box(0); -x_411 = l_Lean_mkConst(x_409, x_410); +x_409 = lean_box(0); +x_410 = l_Lean_mkConst(x_408, x_409); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_411); -x_412 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_411, x_4, x_5, x_6, x_7, x_329); -if (lean_obj_tag(x_412) == 0) +lean_inc(x_410); +x_411 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_410, x_4, x_5, x_6, x_7, x_329); +if (lean_obj_tag(x_411) == 0) { -lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; -x_413 = lean_ctor_get(x_412, 0); +lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; +x_412 = lean_ctor_get(x_411, 0); +lean_inc(x_412); +x_413 = lean_ctor_get(x_411, 1); lean_inc(x_413); -x_414 = lean_ctor_get(x_412, 1); -lean_inc(x_414); -lean_dec(x_412); -x_415 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__20___boxed), 10, 3); +lean_dec(x_411); +x_414 = lean_box(x_2); +x_415 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__20___boxed), 11, 4); lean_closure_set(x_415, 0, x_10); lean_closure_set(x_415, 1, x_1); -lean_closure_set(x_415, 2, x_411); -x_416 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_413, x_415, x_4, x_5, x_6, x_7, x_414); +lean_closure_set(x_415, 2, x_414); +lean_closure_set(x_415, 3, x_410); +x_416 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_412, x_415, x_4, x_5, x_6, x_7, x_413); return x_416; } else { uint8_t x_417; -lean_dec(x_411); +lean_dec(x_410); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_417 = !lean_is_exclusive(x_412); +x_417 = !lean_is_exclusive(x_411); if (x_417 == 0) { -return x_412; +return x_411; } else { lean_object* x_418; lean_object* x_419; lean_object* x_420; -x_418 = lean_ctor_get(x_412, 0); -x_419 = lean_ctor_get(x_412, 1); +x_418 = lean_ctor_get(x_411, 0); +x_419 = lean_ctor_get(x_411, 1); lean_inc(x_419); lean_inc(x_418); -lean_dec(x_412); +lean_dec(x_411); x_420 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_420, 0, x_418); lean_ctor_set(x_420, 1, x_419); @@ -19897,7 +19905,7 @@ lean_dec(x_325); lean_dec(x_1); x_421 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_421, 0, x_10); -x_422 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__2; +x_422 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2; x_423 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_423, 0, x_422); lean_ctor_set(x_423, 1, x_421); @@ -19939,7 +19947,7 @@ x_434 = lean_ctor_get(x_1, 0); lean_inc(x_434); x_435 = lean_ctor_get(x_1, 2); lean_inc(x_435); -x_436 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(x_435, x_433, x_429); +x_436 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_435, x_433, x_429); if (lean_obj_tag(x_436) == 0) { lean_object* x_437; lean_object* x_438; @@ -19956,13 +19964,13 @@ x_440 = lean_ctor_get(x_438, 1); lean_inc(x_440); lean_dec(x_438); x_441 = l_Lean_ConstantInfo_type(x_439); -x_442 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; +x_442 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_441); -x_443 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_441, x_442, x_4, x_5, x_6, x_7, x_440); +x_443 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_441, x_442, x_4, x_5, x_6, x_7, x_440); if (lean_obj_tag(x_443) == 0) { lean_object* x_444; lean_object* x_445; lean_object* x_446; uint8_t x_447; lean_object* x_448; @@ -19971,7 +19979,7 @@ lean_inc(x_444); x_445 = lean_ctor_get(x_443, 1); lean_inc(x_445); lean_dec(x_443); -x_446 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; +x_446 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3; x_447 = l_Lean_Expr_isConstOf(x_444, x_446); if (x_447 == 0) { @@ -20008,11 +20016,11 @@ lean_inc(x_483); lean_dec(x_481); x_484 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_484, 0, x_434); -x_485 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; +x_485 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; x_486 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_486, 0, x_485); lean_ctor_set(x_486, 1, x_484); -x_487 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__13; +x_487 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13; x_488 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_488, 0, x_486); lean_ctor_set(x_488, 1, x_487); @@ -20034,7 +20042,7 @@ return x_493; } else { -lean_object* x_494; lean_object* x_495; uint8_t x_496; +lean_object* x_494; lean_object* x_495; lean_dec(x_434); lean_dec(x_10); x_494 = lean_ctor_get(x_481, 1); @@ -20043,16 +20051,14 @@ lean_dec(x_481); x_495 = lean_ctor_get(x_482, 0); lean_inc(x_495); lean_dec(x_482); -x_496 = 0; -x_2 = x_495; -x_3 = x_496; +x_3 = x_495; x_8 = x_494; goto _start; } } else { -uint8_t x_498; +uint8_t x_497; lean_dec(x_434); lean_dec(x_10); lean_dec(x_7); @@ -20060,40 +20066,40 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_498 = !lean_is_exclusive(x_481); -if (x_498 == 0) +x_497 = !lean_is_exclusive(x_481); +if (x_497 == 0) { return x_481; } else { -lean_object* x_499; lean_object* x_500; lean_object* x_501; -x_499 = lean_ctor_get(x_481, 0); -x_500 = lean_ctor_get(x_481, 1); -lean_inc(x_500); +lean_object* x_498; lean_object* x_499; lean_object* x_500; +x_498 = lean_ctor_get(x_481, 0); +x_499 = lean_ctor_get(x_481, 1); lean_inc(x_499); +lean_inc(x_498); lean_dec(x_481); -x_501 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_501, 0, x_499); -lean_ctor_set(x_501, 1, x_500); -return x_501; +x_500 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_500, 0, x_498); +lean_ctor_set(x_500, 1, x_499); +return x_500; } } } else { -lean_object* x_502; -x_502 = lean_box(0); -x_448 = x_502; +lean_object* x_501; +x_501 = lean_box(0); +x_448 = x_501; goto block_478; } } else { -lean_object* x_503; +lean_object* x_502; lean_dec(x_444); -x_503 = lean_box(0); -x_448 = x_503; +x_502 = lean_box(0); +x_448 = x_502; goto block_478; } block_478: @@ -20113,11 +20119,11 @@ lean_dec(x_429); lean_dec(x_1); x_450 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_450, 0, x_434); -x_451 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; +x_451 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; x_452 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_452, 0, x_451); lean_ctor_set(x_452, 1, x_450); -x_453 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__7; +x_453 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7; x_454 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_454, 0, x_452); lean_ctor_set(x_454, 1, x_453); @@ -20151,13 +20157,13 @@ if (lean_obj_tag(x_461) == 0) lean_object* x_462; lean_object* x_463; lean_object* x_464; x_462 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; x_463 = lean_box(0); -x_464 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__24(x_1, x_460, x_462, x_441, x_437, x_435, x_429, x_10, x_442, x_463, x_4, x_5, x_6, x_7, x_445); +x_464 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__24(x_1, x_460, x_2, x_462, x_441, x_437, x_435, x_429, x_10, x_442, x_463, x_4, x_5, x_6, x_7, x_445); return x_464; } else { lean_dec(x_461); -if (x_3 == 0) +if (x_2 == 0) { lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; lean_object* x_469; lean_object* x_470; uint8_t x_471; lean_dec(x_460); @@ -20168,11 +20174,11 @@ lean_dec(x_10); lean_dec(x_1); x_465 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_465, 0, x_429); -x_466 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__9; +x_466 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9; x_467 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_467, 0, x_466); lean_ctor_set(x_467, 1, x_465); -x_468 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__11; +x_468 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11; x_469 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_469, 0, x_467); lean_ctor_set(x_469, 1, x_468); @@ -20205,7 +20211,7 @@ else lean_object* x_475; lean_object* x_476; lean_object* x_477; x_475 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; x_476 = lean_box(0); -x_477 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__24(x_1, x_460, x_475, x_441, x_437, x_435, x_429, x_10, x_442, x_476, x_4, x_5, x_6, x_7, x_445); +x_477 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__24(x_1, x_460, x_2, x_475, x_441, x_437, x_435, x_429, x_10, x_442, x_476, x_4, x_5, x_6, x_7, x_445); return x_477; } } @@ -20214,7 +20220,7 @@ return x_477; } else { -uint8_t x_504; +uint8_t x_503; lean_dec(x_441); lean_dec(x_439); lean_dec(x_437); @@ -20228,29 +20234,29 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_504 = !lean_is_exclusive(x_443); -if (x_504 == 0) +x_503 = !lean_is_exclusive(x_443); +if (x_503 == 0) { return x_443; } else { -lean_object* x_505; lean_object* x_506; lean_object* x_507; -x_505 = lean_ctor_get(x_443, 0); -x_506 = lean_ctor_get(x_443, 1); -lean_inc(x_506); +lean_object* x_504; lean_object* x_505; lean_object* x_506; +x_504 = lean_ctor_get(x_443, 0); +x_505 = lean_ctor_get(x_443, 1); lean_inc(x_505); +lean_inc(x_504); lean_dec(x_443); -x_507 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_507, 0, x_505); -lean_ctor_set(x_507, 1, x_506); -return x_507; +x_506 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_506, 0, x_504); +lean_ctor_set(x_506, 1, x_505); +return x_506; } } } else { -uint8_t x_508; +uint8_t x_507; lean_dec(x_437); lean_dec(x_435); lean_dec(x_434); @@ -20262,82 +20268,84 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_508 = !lean_is_exclusive(x_438); -if (x_508 == 0) +x_507 = !lean_is_exclusive(x_438); +if (x_507 == 0) { return x_438; } else { -lean_object* x_509; lean_object* x_510; lean_object* x_511; -x_509 = lean_ctor_get(x_438, 0); -x_510 = lean_ctor_get(x_438, 1); -lean_inc(x_510); +lean_object* x_508; lean_object* x_509; lean_object* x_510; +x_508 = lean_ctor_get(x_438, 0); +x_509 = lean_ctor_get(x_438, 1); lean_inc(x_509); +lean_inc(x_508); lean_dec(x_438); -x_511 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_511, 0, x_509); -lean_ctor_set(x_511, 1, x_510); -return x_511; +x_510 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_510, 0, x_508); +lean_ctor_set(x_510, 1, x_509); +return x_510; } } } else { -lean_object* x_512; lean_object* x_513; lean_object* x_514; lean_object* x_515; +lean_object* x_511; lean_object* x_512; lean_object* x_513; lean_object* x_514; lean_dec(x_435); lean_dec(x_434); lean_dec(x_433); lean_dec(x_429); -x_512 = lean_ctor_get(x_436, 0); -lean_inc(x_512); +x_511 = lean_ctor_get(x_436, 0); +lean_inc(x_511); lean_dec(x_436); -x_513 = lean_box(0); -x_514 = l_Lean_mkConst(x_512, x_513); +x_512 = lean_box(0); +x_513 = l_Lean_mkConst(x_511, x_512); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_514); -x_515 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_514, x_4, x_5, x_6, x_7, x_432); -if (lean_obj_tag(x_515) == 0) +lean_inc(x_513); +x_514 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_513, x_4, x_5, x_6, x_7, x_432); +if (lean_obj_tag(x_514) == 0) { -lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; -x_516 = lean_ctor_get(x_515, 0); +lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; +x_515 = lean_ctor_get(x_514, 0); +lean_inc(x_515); +x_516 = lean_ctor_get(x_514, 1); lean_inc(x_516); -x_517 = lean_ctor_get(x_515, 1); -lean_inc(x_517); -lean_dec(x_515); -x_518 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__25___boxed), 10, 3); +lean_dec(x_514); +x_517 = lean_box(x_2); +x_518 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__25___boxed), 11, 4); lean_closure_set(x_518, 0, x_10); lean_closure_set(x_518, 1, x_1); -lean_closure_set(x_518, 2, x_514); -x_519 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_516, x_518, x_4, x_5, x_6, x_7, x_517); +lean_closure_set(x_518, 2, x_517); +lean_closure_set(x_518, 3, x_513); +x_519 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_515, x_518, x_4, x_5, x_6, x_7, x_516); return x_519; } else { uint8_t x_520; -lean_dec(x_514); +lean_dec(x_513); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_520 = !lean_is_exclusive(x_515); +x_520 = !lean_is_exclusive(x_514); if (x_520 == 0) { -return x_515; +return x_514; } else { lean_object* x_521; lean_object* x_522; lean_object* x_523; -x_521 = lean_ctor_get(x_515, 0); -x_522 = lean_ctor_get(x_515, 1); +x_521 = lean_ctor_get(x_514, 0); +x_522 = lean_ctor_get(x_514, 1); lean_inc(x_522); lean_inc(x_521); -lean_dec(x_515); +lean_dec(x_514); x_523 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_523, 0, x_521); lean_ctor_set(x_523, 1, x_522); @@ -20353,7 +20361,7 @@ lean_dec(x_428); lean_dec(x_1); x_524 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_524, 0, x_10); -x_525 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__2; +x_525 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2; x_526 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_526, 0, x_525); lean_ctor_set(x_526, 1, x_524); @@ -20371,175 +20379,175 @@ return x_529; } case 6: { -lean_object* x_530; lean_object* x_531; lean_object* x_532; +lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; x_530 = lean_ctor_get(x_9, 1); lean_inc(x_530); lean_dec(x_9); -x_531 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__26), 8, 1); -lean_closure_set(x_531, 0, x_1); -x_532 = l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserBody___spec__23___rarg(x_10, x_531, x_4, x_5, x_6, x_7, x_530); -return x_532; +x_531 = lean_box(x_2); +x_532 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__26___boxed), 9, 2); +lean_closure_set(x_532, 0, x_1); +lean_closure_set(x_532, 1, x_531); +x_533 = l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__23___rarg(x_10, x_532, x_4, x_5, x_6, x_7, x_530); +return x_533; } case 7: { -lean_object* x_533; lean_object* x_534; -x_533 = lean_ctor_get(x_9, 1); -lean_inc(x_533); +lean_object* x_534; lean_object* x_535; +x_534 = lean_ctor_get(x_9, 1); +lean_inc(x_534); lean_dec(x_9); -x_534 = l_Lean_Expr_getAppFn(x_10); -if (lean_obj_tag(x_534) == 4) +x_535 = l_Lean_Expr_getAppFn(x_10); +if (lean_obj_tag(x_535) == 4) { -lean_object* x_535; lean_object* x_536; lean_object* x_537; lean_object* x_538; lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; -x_535 = lean_ctor_get(x_534, 0); -lean_inc(x_535); -lean_dec(x_534); -x_536 = lean_st_ref_get(x_7, x_533); -x_537 = lean_ctor_get(x_536, 0); -lean_inc(x_537); -x_538 = lean_ctor_get(x_536, 1); +lean_object* x_536; lean_object* x_537; lean_object* x_538; lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; lean_object* x_543; +x_536 = lean_ctor_get(x_535, 0); +lean_inc(x_536); +lean_dec(x_535); +x_537 = lean_st_ref_get(x_7, x_534); +x_538 = lean_ctor_get(x_537, 0); lean_inc(x_538); -lean_dec(x_536); -x_539 = lean_ctor_get(x_537, 0); +x_539 = lean_ctor_get(x_537, 1); lean_inc(x_539); lean_dec(x_537); -x_540 = lean_ctor_get(x_1, 0); +x_540 = lean_ctor_get(x_538, 0); lean_inc(x_540); -x_541 = lean_ctor_get(x_1, 2); +lean_dec(x_538); +x_541 = lean_ctor_get(x_1, 0); lean_inc(x_541); -x_542 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(x_541, x_539, x_535); -if (lean_obj_tag(x_542) == 0) +x_542 = lean_ctor_get(x_1, 2); +lean_inc(x_542); +x_543 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_542, x_540, x_536); +if (lean_obj_tag(x_543) == 0) { -lean_object* x_543; lean_object* x_544; -lean_inc(x_540); -x_543 = l_Lean_Name_append(x_535, x_540); -lean_inc(x_535); -x_544 = l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(x_535, x_4, x_5, x_6, x_7, x_538); -if (lean_obj_tag(x_544) == 0) +lean_object* x_544; lean_object* x_545; +lean_inc(x_541); +x_544 = l_Lean_Name_append(x_536, x_541); +lean_inc(x_536); +x_545 = l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(x_536, x_4, x_5, x_6, x_7, x_539); +if (lean_obj_tag(x_545) == 0) { -lean_object* x_545; lean_object* x_546; lean_object* x_547; lean_object* x_548; lean_object* x_549; -x_545 = lean_ctor_get(x_544, 0); -lean_inc(x_545); -x_546 = lean_ctor_get(x_544, 1); +lean_object* x_546; lean_object* x_547; lean_object* x_548; lean_object* x_549; lean_object* x_550; +x_546 = lean_ctor_get(x_545, 0); lean_inc(x_546); -lean_dec(x_544); -x_547 = l_Lean_ConstantInfo_type(x_545); -x_548 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; +x_547 = lean_ctor_get(x_545, 1); +lean_inc(x_547); +lean_dec(x_545); +x_548 = l_Lean_ConstantInfo_type(x_546); +x_549 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_547); -x_549 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_547, x_548, x_4, x_5, x_6, x_7, x_546); -if (lean_obj_tag(x_549) == 0) +lean_inc(x_548); +x_550 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_548, x_549, x_4, x_5, x_6, x_7, x_547); +if (lean_obj_tag(x_550) == 0) { -lean_object* x_550; lean_object* x_551; lean_object* x_552; uint8_t x_553; lean_object* x_554; -x_550 = lean_ctor_get(x_549, 0); -lean_inc(x_550); -x_551 = lean_ctor_get(x_549, 1); +lean_object* x_551; lean_object* x_552; lean_object* x_553; uint8_t x_554; lean_object* x_555; +x_551 = lean_ctor_get(x_550, 0); lean_inc(x_551); -lean_dec(x_549); -x_552 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; -x_553 = l_Lean_Expr_isConstOf(x_550, x_552); -if (x_553 == 0) -{ -lean_object* x_585; uint8_t x_586; -x_585 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_586 = l_Lean_Expr_isConstOf(x_550, x_585); +x_552 = lean_ctor_get(x_550, 1); +lean_inc(x_552); lean_dec(x_550); -if (x_586 == 0) +x_553 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3; +x_554 = l_Lean_Expr_isConstOf(x_551, x_553); +if (x_554 == 0) { -lean_object* x_587; -lean_dec(x_547); -lean_dec(x_545); -lean_dec(x_543); -lean_dec(x_541); -lean_dec(x_539); -lean_dec(x_535); +lean_object* x_586; uint8_t x_587; +x_586 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_587 = l_Lean_Expr_isConstOf(x_551, x_586); +lean_dec(x_551); +if (x_587 == 0) +{ +lean_object* x_588; +lean_dec(x_548); +lean_dec(x_546); +lean_dec(x_544); +lean_dec(x_542); +lean_dec(x_540); +lean_dec(x_536); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_10); -x_587 = l___private_Lean_Meta_WHNF_0__Lean_Meta_unfoldDefinitionImp_x3f(x_10, x_4, x_5, x_6, x_7, x_551); -if (lean_obj_tag(x_587) == 0) -{ -lean_object* x_588; -x_588 = lean_ctor_get(x_587, 0); -lean_inc(x_588); +x_588 = l___private_Lean_Meta_WHNF_0__Lean_Meta_unfoldDefinitionImp_x3f(x_10, x_4, x_5, x_6, x_7, x_552); if (lean_obj_tag(x_588) == 0) { -lean_object* x_589; lean_object* x_590; lean_object* x_591; lean_object* x_592; lean_object* x_593; lean_object* x_594; lean_object* x_595; lean_object* x_596; lean_object* x_597; lean_object* x_598; lean_object* x_599; -lean_dec(x_1); -x_589 = lean_ctor_get(x_587, 1); +lean_object* x_589; +x_589 = lean_ctor_get(x_588, 0); lean_inc(x_589); -lean_dec(x_587); -x_590 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_590, 0, x_540); -x_591 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; -x_592 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_592, 0, x_591); -lean_ctor_set(x_592, 1, x_590); -x_593 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__13; -x_594 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_594, 0, x_592); -lean_ctor_set(x_594, 1, x_593); -x_595 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_595, 0, x_10); -x_596 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_596, 0, x_594); -lean_ctor_set(x_596, 1, x_595); -x_597 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_598 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_598, 0, x_596); -lean_ctor_set(x_598, 1, x_597); -x_599 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_598, x_4, x_5, x_6, x_7, x_589); +if (lean_obj_tag(x_589) == 0) +{ +lean_object* x_590; lean_object* x_591; lean_object* x_592; lean_object* x_593; lean_object* x_594; lean_object* x_595; lean_object* x_596; lean_object* x_597; lean_object* x_598; lean_object* x_599; lean_object* x_600; +lean_dec(x_1); +x_590 = lean_ctor_get(x_588, 1); +lean_inc(x_590); +lean_dec(x_588); +x_591 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_591, 0, x_541); +x_592 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; +x_593 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_593, 0, x_592); +lean_ctor_set(x_593, 1, x_591); +x_594 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13; +x_595 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_595, 0, x_593); +lean_ctor_set(x_595, 1, x_594); +x_596 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_596, 0, x_10); +x_597 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_597, 0, x_595); +lean_ctor_set(x_597, 1, x_596); +x_598 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_599 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_599, 0, x_597); +lean_ctor_set(x_599, 1, x_598); +x_600 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_599, x_4, x_5, x_6, x_7, x_590); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_599; +return x_600; } else { -lean_object* x_600; lean_object* x_601; uint8_t x_602; -lean_dec(x_540); +lean_object* x_601; lean_object* x_602; +lean_dec(x_541); lean_dec(x_10); -x_600 = lean_ctor_get(x_587, 1); -lean_inc(x_600); -lean_dec(x_587); -x_601 = lean_ctor_get(x_588, 0); +x_601 = lean_ctor_get(x_588, 1); lean_inc(x_601); lean_dec(x_588); -x_602 = 0; -x_2 = x_601; +x_602 = lean_ctor_get(x_589, 0); +lean_inc(x_602); +lean_dec(x_589); x_3 = x_602; -x_8 = x_600; +x_8 = x_601; goto _start; } } else { uint8_t x_604; -lean_dec(x_540); +lean_dec(x_541); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_604 = !lean_is_exclusive(x_587); +x_604 = !lean_is_exclusive(x_588); if (x_604 == 0) { -return x_587; +return x_588; } else { lean_object* x_605; lean_object* x_606; lean_object* x_607; -x_605 = lean_ctor_get(x_587, 0); -x_606 = lean_ctor_get(x_587, 1); +x_605 = lean_ctor_get(x_588, 0); +x_606 = lean_ctor_get(x_588, 1); lean_inc(x_606); lean_inc(x_605); -lean_dec(x_587); +lean_dec(x_588); x_607 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_607, 0, x_605); lean_ctor_set(x_607, 1, x_606); @@ -20551,129 +20559,129 @@ else { lean_object* x_608; x_608 = lean_box(0); -x_554 = x_608; -goto block_584; +x_555 = x_608; +goto block_585; } } else { lean_object* x_609; -lean_dec(x_550); +lean_dec(x_551); x_609 = lean_box(0); -x_554 = x_609; -goto block_584; +x_555 = x_609; +goto block_585; } -block_584: +block_585: { -lean_object* x_555; -lean_dec(x_554); -x_555 = l_Lean_ConstantInfo_value_x3f(x_545); -lean_dec(x_545); -if (lean_obj_tag(x_555) == 0) +lean_object* x_556; +lean_dec(x_555); +x_556 = l_Lean_ConstantInfo_value_x3f(x_546); +lean_dec(x_546); +if (lean_obj_tag(x_556) == 0) { -lean_object* x_556; lean_object* x_557; lean_object* x_558; lean_object* x_559; lean_object* x_560; lean_object* x_561; lean_object* x_562; lean_object* x_563; lean_object* x_564; lean_object* x_565; -lean_dec(x_547); -lean_dec(x_543); -lean_dec(x_541); -lean_dec(x_539); -lean_dec(x_535); +lean_object* x_557; lean_object* x_558; lean_object* x_559; lean_object* x_560; lean_object* x_561; lean_object* x_562; lean_object* x_563; lean_object* x_564; lean_object* x_565; lean_object* x_566; +lean_dec(x_548); +lean_dec(x_544); +lean_dec(x_542); +lean_dec(x_540); +lean_dec(x_536); lean_dec(x_1); -x_556 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_556, 0, x_540); -x_557 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; -x_558 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_558, 0, x_557); -lean_ctor_set(x_558, 1, x_556); -x_559 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__7; -x_560 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_560, 0, x_558); -lean_ctor_set(x_560, 1, x_559); -x_561 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_561, 0, x_10); -x_562 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_562, 0, x_560); -lean_ctor_set(x_562, 1, x_561); -x_563 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_564 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_564, 0, x_562); -lean_ctor_set(x_564, 1, x_563); -x_565 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_564, x_4, x_5, x_6, x_7, x_551); +x_557 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_557, 0, x_541); +x_558 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; +x_559 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_559, 0, x_558); +lean_ctor_set(x_559, 1, x_557); +x_560 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7; +x_561 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_561, 0, x_559); +lean_ctor_set(x_561, 1, x_560); +x_562 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_562, 0, x_10); +x_563 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_563, 0, x_561); +lean_ctor_set(x_563, 1, x_562); +x_564 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_565 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_565, 0, x_563); +lean_ctor_set(x_565, 1, x_564); +x_566 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_565, x_4, x_5, x_6, x_7, x_552); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_565; +return x_566; } else { -lean_object* x_566; lean_object* x_567; -lean_dec(x_540); -x_566 = lean_ctor_get(x_555, 0); -lean_inc(x_566); -lean_dec(x_555); -x_567 = l_Lean_Environment_getModuleIdxFor_x3f(x_539, x_535); -lean_dec(x_539); -if (lean_obj_tag(x_567) == 0) -{ -lean_object* x_568; lean_object* x_569; lean_object* x_570; -x_568 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_569 = lean_box(0); -x_570 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__30(x_1, x_566, x_568, x_547, x_543, x_541, x_535, x_10, x_548, x_569, x_4, x_5, x_6, x_7, x_551); -return x_570; -} -else -{ -lean_dec(x_567); -if (x_3 == 0) -{ -lean_object* x_571; lean_object* x_572; lean_object* x_573; lean_object* x_574; lean_object* x_575; lean_object* x_576; uint8_t x_577; -lean_dec(x_566); -lean_dec(x_547); -lean_dec(x_543); +lean_object* x_567; lean_object* x_568; lean_dec(x_541); +x_567 = lean_ctor_get(x_556, 0); +lean_inc(x_567); +lean_dec(x_556); +x_568 = l_Lean_Environment_getModuleIdxFor_x3f(x_540, x_536); +lean_dec(x_540); +if (lean_obj_tag(x_568) == 0) +{ +lean_object* x_569; lean_object* x_570; lean_object* x_571; +x_569 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_570 = lean_box(0); +x_571 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__30(x_1, x_567, x_2, x_569, x_548, x_544, x_542, x_536, x_10, x_549, x_570, x_4, x_5, x_6, x_7, x_552); +return x_571; +} +else +{ +lean_dec(x_568); +if (x_2 == 0) +{ +lean_object* x_572; lean_object* x_573; lean_object* x_574; lean_object* x_575; lean_object* x_576; lean_object* x_577; uint8_t x_578; +lean_dec(x_567); +lean_dec(x_548); +lean_dec(x_544); +lean_dec(x_542); lean_dec(x_10); lean_dec(x_1); -x_571 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_571, 0, x_535); -x_572 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__9; -x_573 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_573, 0, x_572); -lean_ctor_set(x_573, 1, x_571); -x_574 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__11; -x_575 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_575, 0, x_573); -lean_ctor_set(x_575, 1, x_574); -x_576 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_575, x_4, x_5, x_6, x_7, x_551); +x_572 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_572, 0, x_536); +x_573 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9; +x_574 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_574, 0, x_573); +lean_ctor_set(x_574, 1, x_572); +x_575 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11; +x_576 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_576, 0, x_574); +lean_ctor_set(x_576, 1, x_575); +x_577 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_576, x_4, x_5, x_6, x_7, x_552); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_577 = !lean_is_exclusive(x_576); -if (x_577 == 0) +x_578 = !lean_is_exclusive(x_577); +if (x_578 == 0) { -return x_576; +return x_577; } else { -lean_object* x_578; lean_object* x_579; lean_object* x_580; -x_578 = lean_ctor_get(x_576, 0); -x_579 = lean_ctor_get(x_576, 1); +lean_object* x_579; lean_object* x_580; lean_object* x_581; +x_579 = lean_ctor_get(x_577, 0); +x_580 = lean_ctor_get(x_577, 1); +lean_inc(x_580); lean_inc(x_579); -lean_inc(x_578); -lean_dec(x_576); -x_580 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_580, 0, x_578); -lean_ctor_set(x_580, 1, x_579); -return x_580; +lean_dec(x_577); +x_581 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_581, 0, x_579); +lean_ctor_set(x_581, 1, x_580); +return x_581; } } else { -lean_object* x_581; lean_object* x_582; lean_object* x_583; -x_581 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_582 = lean_box(0); -x_583 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__30(x_1, x_566, x_581, x_547, x_543, x_541, x_535, x_10, x_548, x_582, x_4, x_5, x_6, x_7, x_551); -return x_583; +lean_object* x_582; lean_object* x_583; lean_object* x_584; +x_582 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_583 = lean_box(0); +x_584 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__30(x_1, x_567, x_2, x_582, x_548, x_544, x_542, x_536, x_10, x_549, x_583, x_4, x_5, x_6, x_7, x_552); +return x_584; } } } @@ -20682,32 +20690,32 @@ return x_583; else { uint8_t x_610; -lean_dec(x_547); -lean_dec(x_545); -lean_dec(x_543); +lean_dec(x_548); +lean_dec(x_546); +lean_dec(x_544); +lean_dec(x_542); lean_dec(x_541); lean_dec(x_540); -lean_dec(x_539); -lean_dec(x_535); +lean_dec(x_536); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_610 = !lean_is_exclusive(x_549); +x_610 = !lean_is_exclusive(x_550); if (x_610 == 0) { -return x_549; +return x_550; } else { lean_object* x_611; lean_object* x_612; lean_object* x_613; -x_611 = lean_ctor_get(x_549, 0); -x_612 = lean_ctor_get(x_549, 1); +x_611 = lean_ctor_get(x_550, 0); +x_612 = lean_ctor_get(x_550, 1); lean_inc(x_612); lean_inc(x_611); -lean_dec(x_549); +lean_dec(x_550); x_613 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_613, 0, x_611); lean_ctor_set(x_613, 1, x_612); @@ -20718,30 +20726,30 @@ return x_613; else { uint8_t x_614; -lean_dec(x_543); +lean_dec(x_544); +lean_dec(x_542); lean_dec(x_541); lean_dec(x_540); -lean_dec(x_539); -lean_dec(x_535); +lean_dec(x_536); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_614 = !lean_is_exclusive(x_544); +x_614 = !lean_is_exclusive(x_545); if (x_614 == 0) { -return x_544; +return x_545; } else { lean_object* x_615; lean_object* x_616; lean_object* x_617; -x_615 = lean_ctor_get(x_544, 0); -x_616 = lean_ctor_get(x_544, 1); +x_615 = lean_ctor_get(x_545, 0); +x_616 = lean_ctor_get(x_545, 1); lean_inc(x_616); lean_inc(x_615); -lean_dec(x_544); +lean_dec(x_545); x_617 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_617, 0, x_615); lean_ctor_set(x_617, 1, x_616); @@ -20752,13 +20760,13 @@ return x_617; else { lean_object* x_618; lean_object* x_619; lean_object* x_620; lean_object* x_621; +lean_dec(x_542); lean_dec(x_541); lean_dec(x_540); -lean_dec(x_539); -lean_dec(x_535); -x_618 = lean_ctor_get(x_542, 0); +lean_dec(x_536); +x_618 = lean_ctor_get(x_543, 0); lean_inc(x_618); -lean_dec(x_542); +lean_dec(x_543); x_619 = lean_box(0); x_620 = l_Lean_mkConst(x_618, x_619); lean_inc(x_7); @@ -20766,25 +20774,27 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_620); -x_621 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_620, x_4, x_5, x_6, x_7, x_538); +x_621 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_620, x_4, x_5, x_6, x_7, x_539); if (lean_obj_tag(x_621) == 0) { -lean_object* x_622; lean_object* x_623; lean_object* x_624; lean_object* x_625; +lean_object* x_622; lean_object* x_623; lean_object* x_624; lean_object* x_625; lean_object* x_626; x_622 = lean_ctor_get(x_621, 0); lean_inc(x_622); x_623 = lean_ctor_get(x_621, 1); lean_inc(x_623); lean_dec(x_621); -x_624 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__31___boxed), 10, 3); -lean_closure_set(x_624, 0, x_10); -lean_closure_set(x_624, 1, x_1); -lean_closure_set(x_624, 2, x_620); -x_625 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_622, x_624, x_4, x_5, x_6, x_7, x_623); -return x_625; +x_624 = lean_box(x_2); +x_625 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__31___boxed), 11, 4); +lean_closure_set(x_625, 0, x_10); +lean_closure_set(x_625, 1, x_1); +lean_closure_set(x_625, 2, x_624); +lean_closure_set(x_625, 3, x_620); +x_626 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_622, x_625, x_4, x_5, x_6, x_7, x_623); +return x_626; } else { -uint8_t x_626; +uint8_t x_627; lean_dec(x_620); lean_dec(x_10); lean_dec(x_7); @@ -20792,210 +20802,208 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_626 = !lean_is_exclusive(x_621); -if (x_626 == 0) +x_627 = !lean_is_exclusive(x_621); +if (x_627 == 0) { return x_621; } else { -lean_object* x_627; lean_object* x_628; lean_object* x_629; -x_627 = lean_ctor_get(x_621, 0); -x_628 = lean_ctor_get(x_621, 1); +lean_object* x_628; lean_object* x_629; lean_object* x_630; +x_628 = lean_ctor_get(x_621, 0); +x_629 = lean_ctor_get(x_621, 1); +lean_inc(x_629); lean_inc(x_628); -lean_inc(x_627); lean_dec(x_621); -x_629 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_629, 0, x_627); -lean_ctor_set(x_629, 1, x_628); -return x_629; +x_630 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_630, 0, x_628); +lean_ctor_set(x_630, 1, x_629); +return x_630; } } } } else { -lean_object* x_630; lean_object* x_631; lean_object* x_632; lean_object* x_633; lean_object* x_634; lean_object* x_635; -lean_dec(x_534); +lean_object* x_631; lean_object* x_632; lean_object* x_633; lean_object* x_634; lean_object* x_635; lean_object* x_636; +lean_dec(x_535); lean_dec(x_1); -x_630 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_630, 0, x_10); -x_631 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__2; -x_632 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_632, 0, x_631); -lean_ctor_set(x_632, 1, x_630); -x_633 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_634 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_634, 0, x_632); -lean_ctor_set(x_634, 1, x_633); -x_635 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_634, x_4, x_5, x_6, x_7, x_533); +x_631 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_631, 0, x_10); +x_632 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2; +x_633 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_633, 0, x_632); +lean_ctor_set(x_633, 1, x_631); +x_634 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_635 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_635, 0, x_633); +lean_ctor_set(x_635, 1, x_634); +x_636 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_635, x_4, x_5, x_6, x_7, x_534); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_635; +return x_636; } } case 8: { -lean_object* x_636; lean_object* x_637; -x_636 = lean_ctor_get(x_9, 1); -lean_inc(x_636); +lean_object* x_637; lean_object* x_638; +x_637 = lean_ctor_get(x_9, 1); +lean_inc(x_637); lean_dec(x_9); -x_637 = l_Lean_Expr_getAppFn(x_10); -if (lean_obj_tag(x_637) == 4) +x_638 = l_Lean_Expr_getAppFn(x_10); +if (lean_obj_tag(x_638) == 4) { -lean_object* x_638; lean_object* x_639; lean_object* x_640; lean_object* x_641; lean_object* x_642; lean_object* x_643; lean_object* x_644; lean_object* x_645; -x_638 = lean_ctor_get(x_637, 0); -lean_inc(x_638); -lean_dec(x_637); -x_639 = lean_st_ref_get(x_7, x_636); -x_640 = lean_ctor_get(x_639, 0); -lean_inc(x_640); -x_641 = lean_ctor_get(x_639, 1); +lean_object* x_639; lean_object* x_640; lean_object* x_641; lean_object* x_642; lean_object* x_643; lean_object* x_644; lean_object* x_645; lean_object* x_646; +x_639 = lean_ctor_get(x_638, 0); +lean_inc(x_639); +lean_dec(x_638); +x_640 = lean_st_ref_get(x_7, x_637); +x_641 = lean_ctor_get(x_640, 0); lean_inc(x_641); -lean_dec(x_639); -x_642 = lean_ctor_get(x_640, 0); +x_642 = lean_ctor_get(x_640, 1); lean_inc(x_642); lean_dec(x_640); -x_643 = lean_ctor_get(x_1, 0); +x_643 = lean_ctor_get(x_641, 0); lean_inc(x_643); -x_644 = lean_ctor_get(x_1, 2); +lean_dec(x_641); +x_644 = lean_ctor_get(x_1, 0); lean_inc(x_644); -x_645 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(x_644, x_642, x_638); -if (lean_obj_tag(x_645) == 0) +x_645 = lean_ctor_get(x_1, 2); +lean_inc(x_645); +x_646 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_645, x_643, x_639); +if (lean_obj_tag(x_646) == 0) { -lean_object* x_646; lean_object* x_647; -lean_inc(x_643); -x_646 = l_Lean_Name_append(x_638, x_643); -lean_inc(x_638); -x_647 = l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(x_638, x_4, x_5, x_6, x_7, x_641); -if (lean_obj_tag(x_647) == 0) +lean_object* x_647; lean_object* x_648; +lean_inc(x_644); +x_647 = l_Lean_Name_append(x_639, x_644); +lean_inc(x_639); +x_648 = l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(x_639, x_4, x_5, x_6, x_7, x_642); +if (lean_obj_tag(x_648) == 0) { -lean_object* x_648; lean_object* x_649; lean_object* x_650; lean_object* x_651; lean_object* x_652; -x_648 = lean_ctor_get(x_647, 0); -lean_inc(x_648); -x_649 = lean_ctor_get(x_647, 1); +lean_object* x_649; lean_object* x_650; lean_object* x_651; lean_object* x_652; lean_object* x_653; +x_649 = lean_ctor_get(x_648, 0); lean_inc(x_649); -lean_dec(x_647); -x_650 = l_Lean_ConstantInfo_type(x_648); -x_651 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; +x_650 = lean_ctor_get(x_648, 1); +lean_inc(x_650); +lean_dec(x_648); +x_651 = l_Lean_ConstantInfo_type(x_649); +x_652 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_650); -x_652 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_650, x_651, x_4, x_5, x_6, x_7, x_649); -if (lean_obj_tag(x_652) == 0) +lean_inc(x_651); +x_653 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_651, x_652, x_4, x_5, x_6, x_7, x_650); +if (lean_obj_tag(x_653) == 0) { -lean_object* x_653; lean_object* x_654; lean_object* x_655; uint8_t x_656; lean_object* x_657; -x_653 = lean_ctor_get(x_652, 0); -lean_inc(x_653); -x_654 = lean_ctor_get(x_652, 1); +lean_object* x_654; lean_object* x_655; lean_object* x_656; uint8_t x_657; lean_object* x_658; +x_654 = lean_ctor_get(x_653, 0); lean_inc(x_654); -lean_dec(x_652); -x_655 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; -x_656 = l_Lean_Expr_isConstOf(x_653, x_655); -if (x_656 == 0) -{ -lean_object* x_688; uint8_t x_689; -x_688 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_689 = l_Lean_Expr_isConstOf(x_653, x_688); +x_655 = lean_ctor_get(x_653, 1); +lean_inc(x_655); lean_dec(x_653); -if (x_689 == 0) +x_656 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3; +x_657 = l_Lean_Expr_isConstOf(x_654, x_656); +if (x_657 == 0) { -lean_object* x_690; -lean_dec(x_650); -lean_dec(x_648); -lean_dec(x_646); -lean_dec(x_644); -lean_dec(x_642); -lean_dec(x_638); +lean_object* x_689; uint8_t x_690; +x_689 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_690 = l_Lean_Expr_isConstOf(x_654, x_689); +lean_dec(x_654); +if (x_690 == 0) +{ +lean_object* x_691; +lean_dec(x_651); +lean_dec(x_649); +lean_dec(x_647); +lean_dec(x_645); +lean_dec(x_643); +lean_dec(x_639); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_10); -x_690 = l___private_Lean_Meta_WHNF_0__Lean_Meta_unfoldDefinitionImp_x3f(x_10, x_4, x_5, x_6, x_7, x_654); -if (lean_obj_tag(x_690) == 0) -{ -lean_object* x_691; -x_691 = lean_ctor_get(x_690, 0); -lean_inc(x_691); +x_691 = l___private_Lean_Meta_WHNF_0__Lean_Meta_unfoldDefinitionImp_x3f(x_10, x_4, x_5, x_6, x_7, x_655); if (lean_obj_tag(x_691) == 0) { -lean_object* x_692; lean_object* x_693; lean_object* x_694; lean_object* x_695; lean_object* x_696; lean_object* x_697; lean_object* x_698; lean_object* x_699; lean_object* x_700; lean_object* x_701; lean_object* x_702; -lean_dec(x_1); -x_692 = lean_ctor_get(x_690, 1); +lean_object* x_692; +x_692 = lean_ctor_get(x_691, 0); lean_inc(x_692); -lean_dec(x_690); -x_693 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_693, 0, x_643); -x_694 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; -x_695 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_695, 0, x_694); -lean_ctor_set(x_695, 1, x_693); -x_696 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__13; -x_697 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_697, 0, x_695); -lean_ctor_set(x_697, 1, x_696); -x_698 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_698, 0, x_10); -x_699 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_699, 0, x_697); -lean_ctor_set(x_699, 1, x_698); -x_700 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_701 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_701, 0, x_699); -lean_ctor_set(x_701, 1, x_700); -x_702 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_701, x_4, x_5, x_6, x_7, x_692); +if (lean_obj_tag(x_692) == 0) +{ +lean_object* x_693; lean_object* x_694; lean_object* x_695; lean_object* x_696; lean_object* x_697; lean_object* x_698; lean_object* x_699; lean_object* x_700; lean_object* x_701; lean_object* x_702; lean_object* x_703; +lean_dec(x_1); +x_693 = lean_ctor_get(x_691, 1); +lean_inc(x_693); +lean_dec(x_691); +x_694 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_694, 0, x_644); +x_695 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; +x_696 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_696, 0, x_695); +lean_ctor_set(x_696, 1, x_694); +x_697 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13; +x_698 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_698, 0, x_696); +lean_ctor_set(x_698, 1, x_697); +x_699 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_699, 0, x_10); +x_700 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_700, 0, x_698); +lean_ctor_set(x_700, 1, x_699); +x_701 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_702 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_702, 0, x_700); +lean_ctor_set(x_702, 1, x_701); +x_703 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_702, x_4, x_5, x_6, x_7, x_693); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_702; +return x_703; } else { -lean_object* x_703; lean_object* x_704; uint8_t x_705; -lean_dec(x_643); +lean_object* x_704; lean_object* x_705; +lean_dec(x_644); lean_dec(x_10); -x_703 = lean_ctor_get(x_690, 1); -lean_inc(x_703); -lean_dec(x_690); -x_704 = lean_ctor_get(x_691, 0); +x_704 = lean_ctor_get(x_691, 1); lean_inc(x_704); lean_dec(x_691); -x_705 = 0; -x_2 = x_704; +x_705 = lean_ctor_get(x_692, 0); +lean_inc(x_705); +lean_dec(x_692); x_3 = x_705; -x_8 = x_703; +x_8 = x_704; goto _start; } } else { uint8_t x_707; -lean_dec(x_643); +lean_dec(x_644); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_707 = !lean_is_exclusive(x_690); +x_707 = !lean_is_exclusive(x_691); if (x_707 == 0) { -return x_690; +return x_691; } else { lean_object* x_708; lean_object* x_709; lean_object* x_710; -x_708 = lean_ctor_get(x_690, 0); -x_709 = lean_ctor_get(x_690, 1); +x_708 = lean_ctor_get(x_691, 0); +x_709 = lean_ctor_get(x_691, 1); lean_inc(x_709); lean_inc(x_708); -lean_dec(x_690); +lean_dec(x_691); x_710 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_710, 0, x_708); lean_ctor_set(x_710, 1, x_709); @@ -21007,129 +21015,129 @@ else { lean_object* x_711; x_711 = lean_box(0); -x_657 = x_711; -goto block_687; +x_658 = x_711; +goto block_688; } } else { lean_object* x_712; -lean_dec(x_653); +lean_dec(x_654); x_712 = lean_box(0); -x_657 = x_712; -goto block_687; +x_658 = x_712; +goto block_688; } -block_687: +block_688: { -lean_object* x_658; -lean_dec(x_657); -x_658 = l_Lean_ConstantInfo_value_x3f(x_648); -lean_dec(x_648); -if (lean_obj_tag(x_658) == 0) +lean_object* x_659; +lean_dec(x_658); +x_659 = l_Lean_ConstantInfo_value_x3f(x_649); +lean_dec(x_649); +if (lean_obj_tag(x_659) == 0) { -lean_object* x_659; lean_object* x_660; lean_object* x_661; lean_object* x_662; lean_object* x_663; lean_object* x_664; lean_object* x_665; lean_object* x_666; lean_object* x_667; lean_object* x_668; -lean_dec(x_650); -lean_dec(x_646); -lean_dec(x_644); -lean_dec(x_642); -lean_dec(x_638); +lean_object* x_660; lean_object* x_661; lean_object* x_662; lean_object* x_663; lean_object* x_664; lean_object* x_665; lean_object* x_666; lean_object* x_667; lean_object* x_668; lean_object* x_669; +lean_dec(x_651); +lean_dec(x_647); +lean_dec(x_645); +lean_dec(x_643); +lean_dec(x_639); lean_dec(x_1); -x_659 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_659, 0, x_643); -x_660 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; -x_661 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_661, 0, x_660); -lean_ctor_set(x_661, 1, x_659); -x_662 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__7; -x_663 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_663, 0, x_661); -lean_ctor_set(x_663, 1, x_662); -x_664 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_664, 0, x_10); -x_665 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_665, 0, x_663); -lean_ctor_set(x_665, 1, x_664); -x_666 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_667 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_667, 0, x_665); -lean_ctor_set(x_667, 1, x_666); -x_668 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_667, x_4, x_5, x_6, x_7, x_654); +x_660 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_660, 0, x_644); +x_661 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; +x_662 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_662, 0, x_661); +lean_ctor_set(x_662, 1, x_660); +x_663 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7; +x_664 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_664, 0, x_662); +lean_ctor_set(x_664, 1, x_663); +x_665 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_665, 0, x_10); +x_666 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_666, 0, x_664); +lean_ctor_set(x_666, 1, x_665); +x_667 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_668 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_668, 0, x_666); +lean_ctor_set(x_668, 1, x_667); +x_669 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_668, x_4, x_5, x_6, x_7, x_655); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_668; +return x_669; } else { -lean_object* x_669; lean_object* x_670; -lean_dec(x_643); -x_669 = lean_ctor_get(x_658, 0); -lean_inc(x_669); -lean_dec(x_658); -x_670 = l_Lean_Environment_getModuleIdxFor_x3f(x_642, x_638); -lean_dec(x_642); -if (lean_obj_tag(x_670) == 0) -{ -lean_object* x_671; lean_object* x_672; lean_object* x_673; -x_671 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_672 = lean_box(0); -x_673 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__35(x_1, x_669, x_671, x_650, x_646, x_644, x_638, x_10, x_651, x_672, x_4, x_5, x_6, x_7, x_654); -return x_673; -} -else -{ -lean_dec(x_670); -if (x_3 == 0) -{ -lean_object* x_674; lean_object* x_675; lean_object* x_676; lean_object* x_677; lean_object* x_678; lean_object* x_679; uint8_t x_680; -lean_dec(x_669); -lean_dec(x_650); -lean_dec(x_646); +lean_object* x_670; lean_object* x_671; lean_dec(x_644); +x_670 = lean_ctor_get(x_659, 0); +lean_inc(x_670); +lean_dec(x_659); +x_671 = l_Lean_Environment_getModuleIdxFor_x3f(x_643, x_639); +lean_dec(x_643); +if (lean_obj_tag(x_671) == 0) +{ +lean_object* x_672; lean_object* x_673; lean_object* x_674; +x_672 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_673 = lean_box(0); +x_674 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__35(x_1, x_670, x_2, x_672, x_651, x_647, x_645, x_639, x_10, x_652, x_673, x_4, x_5, x_6, x_7, x_655); +return x_674; +} +else +{ +lean_dec(x_671); +if (x_2 == 0) +{ +lean_object* x_675; lean_object* x_676; lean_object* x_677; lean_object* x_678; lean_object* x_679; lean_object* x_680; uint8_t x_681; +lean_dec(x_670); +lean_dec(x_651); +lean_dec(x_647); +lean_dec(x_645); lean_dec(x_10); lean_dec(x_1); -x_674 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_674, 0, x_638); -x_675 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__9; -x_676 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_676, 0, x_675); -lean_ctor_set(x_676, 1, x_674); -x_677 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__11; -x_678 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_678, 0, x_676); -lean_ctor_set(x_678, 1, x_677); -x_679 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_678, x_4, x_5, x_6, x_7, x_654); +x_675 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_675, 0, x_639); +x_676 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9; +x_677 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_677, 0, x_676); +lean_ctor_set(x_677, 1, x_675); +x_678 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11; +x_679 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_679, 0, x_677); +lean_ctor_set(x_679, 1, x_678); +x_680 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_679, x_4, x_5, x_6, x_7, x_655); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_680 = !lean_is_exclusive(x_679); -if (x_680 == 0) +x_681 = !lean_is_exclusive(x_680); +if (x_681 == 0) { -return x_679; +return x_680; } else { -lean_object* x_681; lean_object* x_682; lean_object* x_683; -x_681 = lean_ctor_get(x_679, 0); -x_682 = lean_ctor_get(x_679, 1); +lean_object* x_682; lean_object* x_683; lean_object* x_684; +x_682 = lean_ctor_get(x_680, 0); +x_683 = lean_ctor_get(x_680, 1); +lean_inc(x_683); lean_inc(x_682); -lean_inc(x_681); -lean_dec(x_679); -x_683 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_683, 0, x_681); -lean_ctor_set(x_683, 1, x_682); -return x_683; +lean_dec(x_680); +x_684 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_684, 0, x_682); +lean_ctor_set(x_684, 1, x_683); +return x_684; } } else { -lean_object* x_684; lean_object* x_685; lean_object* x_686; -x_684 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_685 = lean_box(0); -x_686 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__35(x_1, x_669, x_684, x_650, x_646, x_644, x_638, x_10, x_651, x_685, x_4, x_5, x_6, x_7, x_654); -return x_686; +lean_object* x_685; lean_object* x_686; lean_object* x_687; +x_685 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_686 = lean_box(0); +x_687 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__35(x_1, x_670, x_2, x_685, x_651, x_647, x_645, x_639, x_10, x_652, x_686, x_4, x_5, x_6, x_7, x_655); +return x_687; } } } @@ -21138,32 +21146,32 @@ return x_686; else { uint8_t x_713; -lean_dec(x_650); -lean_dec(x_648); -lean_dec(x_646); +lean_dec(x_651); +lean_dec(x_649); +lean_dec(x_647); +lean_dec(x_645); lean_dec(x_644); lean_dec(x_643); -lean_dec(x_642); -lean_dec(x_638); +lean_dec(x_639); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_713 = !lean_is_exclusive(x_652); +x_713 = !lean_is_exclusive(x_653); if (x_713 == 0) { -return x_652; +return x_653; } else { lean_object* x_714; lean_object* x_715; lean_object* x_716; -x_714 = lean_ctor_get(x_652, 0); -x_715 = lean_ctor_get(x_652, 1); +x_714 = lean_ctor_get(x_653, 0); +x_715 = lean_ctor_get(x_653, 1); lean_inc(x_715); lean_inc(x_714); -lean_dec(x_652); +lean_dec(x_653); x_716 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_716, 0, x_714); lean_ctor_set(x_716, 1, x_715); @@ -21174,30 +21182,30 @@ return x_716; else { uint8_t x_717; -lean_dec(x_646); +lean_dec(x_647); +lean_dec(x_645); lean_dec(x_644); lean_dec(x_643); -lean_dec(x_642); -lean_dec(x_638); +lean_dec(x_639); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_717 = !lean_is_exclusive(x_647); +x_717 = !lean_is_exclusive(x_648); if (x_717 == 0) { -return x_647; +return x_648; } else { lean_object* x_718; lean_object* x_719; lean_object* x_720; -x_718 = lean_ctor_get(x_647, 0); -x_719 = lean_ctor_get(x_647, 1); +x_718 = lean_ctor_get(x_648, 0); +x_719 = lean_ctor_get(x_648, 1); lean_inc(x_719); lean_inc(x_718); -lean_dec(x_647); +lean_dec(x_648); x_720 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_720, 0, x_718); lean_ctor_set(x_720, 1, x_719); @@ -21208,13 +21216,13 @@ return x_720; else { lean_object* x_721; lean_object* x_722; lean_object* x_723; lean_object* x_724; +lean_dec(x_645); lean_dec(x_644); lean_dec(x_643); -lean_dec(x_642); -lean_dec(x_638); -x_721 = lean_ctor_get(x_645, 0); +lean_dec(x_639); +x_721 = lean_ctor_get(x_646, 0); lean_inc(x_721); -lean_dec(x_645); +lean_dec(x_646); x_722 = lean_box(0); x_723 = l_Lean_mkConst(x_721, x_722); lean_inc(x_7); @@ -21222,25 +21230,27 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_723); -x_724 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_723, x_4, x_5, x_6, x_7, x_641); +x_724 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_723, x_4, x_5, x_6, x_7, x_642); if (lean_obj_tag(x_724) == 0) { -lean_object* x_725; lean_object* x_726; lean_object* x_727; lean_object* x_728; +lean_object* x_725; lean_object* x_726; lean_object* x_727; lean_object* x_728; lean_object* x_729; x_725 = lean_ctor_get(x_724, 0); lean_inc(x_725); x_726 = lean_ctor_get(x_724, 1); lean_inc(x_726); lean_dec(x_724); -x_727 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__36___boxed), 10, 3); -lean_closure_set(x_727, 0, x_10); -lean_closure_set(x_727, 1, x_1); -lean_closure_set(x_727, 2, x_723); -x_728 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_725, x_727, x_4, x_5, x_6, x_7, x_726); -return x_728; +x_727 = lean_box(x_2); +x_728 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__36___boxed), 11, 4); +lean_closure_set(x_728, 0, x_10); +lean_closure_set(x_728, 1, x_1); +lean_closure_set(x_728, 2, x_727); +lean_closure_set(x_728, 3, x_723); +x_729 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_725, x_728, x_4, x_5, x_6, x_7, x_726); +return x_729; } else { -uint8_t x_729; +uint8_t x_730; lean_dec(x_723); lean_dec(x_10); lean_dec(x_7); @@ -21248,210 +21258,208 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_729 = !lean_is_exclusive(x_724); -if (x_729 == 0) +x_730 = !lean_is_exclusive(x_724); +if (x_730 == 0) { return x_724; } else { -lean_object* x_730; lean_object* x_731; lean_object* x_732; -x_730 = lean_ctor_get(x_724, 0); -x_731 = lean_ctor_get(x_724, 1); +lean_object* x_731; lean_object* x_732; lean_object* x_733; +x_731 = lean_ctor_get(x_724, 0); +x_732 = lean_ctor_get(x_724, 1); +lean_inc(x_732); lean_inc(x_731); -lean_inc(x_730); lean_dec(x_724); -x_732 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_732, 0, x_730); -lean_ctor_set(x_732, 1, x_731); -return x_732; +x_733 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_733, 0, x_731); +lean_ctor_set(x_733, 1, x_732); +return x_733; } } } } else { -lean_object* x_733; lean_object* x_734; lean_object* x_735; lean_object* x_736; lean_object* x_737; lean_object* x_738; -lean_dec(x_637); +lean_object* x_734; lean_object* x_735; lean_object* x_736; lean_object* x_737; lean_object* x_738; lean_object* x_739; +lean_dec(x_638); lean_dec(x_1); -x_733 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_733, 0, x_10); -x_734 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__2; -x_735 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_735, 0, x_734); -lean_ctor_set(x_735, 1, x_733); -x_736 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_737 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_737, 0, x_735); -lean_ctor_set(x_737, 1, x_736); -x_738 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_737, x_4, x_5, x_6, x_7, x_636); +x_734 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_734, 0, x_10); +x_735 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2; +x_736 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_736, 0, x_735); +lean_ctor_set(x_736, 1, x_734); +x_737 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_738 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_738, 0, x_736); +lean_ctor_set(x_738, 1, x_737); +x_739 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_738, x_4, x_5, x_6, x_7, x_637); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_738; +return x_739; } } case 9: { -lean_object* x_739; lean_object* x_740; -x_739 = lean_ctor_get(x_9, 1); -lean_inc(x_739); +lean_object* x_740; lean_object* x_741; +x_740 = lean_ctor_get(x_9, 1); +lean_inc(x_740); lean_dec(x_9); -x_740 = l_Lean_Expr_getAppFn(x_10); -if (lean_obj_tag(x_740) == 4) +x_741 = l_Lean_Expr_getAppFn(x_10); +if (lean_obj_tag(x_741) == 4) { -lean_object* x_741; lean_object* x_742; lean_object* x_743; lean_object* x_744; lean_object* x_745; lean_object* x_746; lean_object* x_747; lean_object* x_748; -x_741 = lean_ctor_get(x_740, 0); -lean_inc(x_741); -lean_dec(x_740); -x_742 = lean_st_ref_get(x_7, x_739); -x_743 = lean_ctor_get(x_742, 0); -lean_inc(x_743); -x_744 = lean_ctor_get(x_742, 1); +lean_object* x_742; lean_object* x_743; lean_object* x_744; lean_object* x_745; lean_object* x_746; lean_object* x_747; lean_object* x_748; lean_object* x_749; +x_742 = lean_ctor_get(x_741, 0); +lean_inc(x_742); +lean_dec(x_741); +x_743 = lean_st_ref_get(x_7, x_740); +x_744 = lean_ctor_get(x_743, 0); lean_inc(x_744); -lean_dec(x_742); -x_745 = lean_ctor_get(x_743, 0); +x_745 = lean_ctor_get(x_743, 1); lean_inc(x_745); lean_dec(x_743); -x_746 = lean_ctor_get(x_1, 0); +x_746 = lean_ctor_get(x_744, 0); lean_inc(x_746); -x_747 = lean_ctor_get(x_1, 2); +lean_dec(x_744); +x_747 = lean_ctor_get(x_1, 0); lean_inc(x_747); -x_748 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(x_747, x_745, x_741); -if (lean_obj_tag(x_748) == 0) +x_748 = lean_ctor_get(x_1, 2); +lean_inc(x_748); +x_749 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_748, x_746, x_742); +if (lean_obj_tag(x_749) == 0) { -lean_object* x_749; lean_object* x_750; -lean_inc(x_746); -x_749 = l_Lean_Name_append(x_741, x_746); -lean_inc(x_741); -x_750 = l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(x_741, x_4, x_5, x_6, x_7, x_744); -if (lean_obj_tag(x_750) == 0) +lean_object* x_750; lean_object* x_751; +lean_inc(x_747); +x_750 = l_Lean_Name_append(x_742, x_747); +lean_inc(x_742); +x_751 = l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(x_742, x_4, x_5, x_6, x_7, x_745); +if (lean_obj_tag(x_751) == 0) { -lean_object* x_751; lean_object* x_752; lean_object* x_753; lean_object* x_754; lean_object* x_755; -x_751 = lean_ctor_get(x_750, 0); -lean_inc(x_751); -x_752 = lean_ctor_get(x_750, 1); +lean_object* x_752; lean_object* x_753; lean_object* x_754; lean_object* x_755; lean_object* x_756; +x_752 = lean_ctor_get(x_751, 0); lean_inc(x_752); -lean_dec(x_750); -x_753 = l_Lean_ConstantInfo_type(x_751); -x_754 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; +x_753 = lean_ctor_get(x_751, 1); +lean_inc(x_753); +lean_dec(x_751); +x_754 = l_Lean_ConstantInfo_type(x_752); +x_755 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_753); -x_755 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_753, x_754, x_4, x_5, x_6, x_7, x_752); -if (lean_obj_tag(x_755) == 0) +lean_inc(x_754); +x_756 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_754, x_755, x_4, x_5, x_6, x_7, x_753); +if (lean_obj_tag(x_756) == 0) { -lean_object* x_756; lean_object* x_757; lean_object* x_758; uint8_t x_759; lean_object* x_760; -x_756 = lean_ctor_get(x_755, 0); -lean_inc(x_756); -x_757 = lean_ctor_get(x_755, 1); +lean_object* x_757; lean_object* x_758; lean_object* x_759; uint8_t x_760; lean_object* x_761; +x_757 = lean_ctor_get(x_756, 0); lean_inc(x_757); -lean_dec(x_755); -x_758 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; -x_759 = l_Lean_Expr_isConstOf(x_756, x_758); -if (x_759 == 0) -{ -lean_object* x_791; uint8_t x_792; -x_791 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_792 = l_Lean_Expr_isConstOf(x_756, x_791); +x_758 = lean_ctor_get(x_756, 1); +lean_inc(x_758); lean_dec(x_756); -if (x_792 == 0) +x_759 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3; +x_760 = l_Lean_Expr_isConstOf(x_757, x_759); +if (x_760 == 0) { -lean_object* x_793; -lean_dec(x_753); -lean_dec(x_751); -lean_dec(x_749); -lean_dec(x_747); -lean_dec(x_745); -lean_dec(x_741); +lean_object* x_792; uint8_t x_793; +x_792 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_793 = l_Lean_Expr_isConstOf(x_757, x_792); +lean_dec(x_757); +if (x_793 == 0) +{ +lean_object* x_794; +lean_dec(x_754); +lean_dec(x_752); +lean_dec(x_750); +lean_dec(x_748); +lean_dec(x_746); +lean_dec(x_742); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_10); -x_793 = l___private_Lean_Meta_WHNF_0__Lean_Meta_unfoldDefinitionImp_x3f(x_10, x_4, x_5, x_6, x_7, x_757); -if (lean_obj_tag(x_793) == 0) -{ -lean_object* x_794; -x_794 = lean_ctor_get(x_793, 0); -lean_inc(x_794); +x_794 = l___private_Lean_Meta_WHNF_0__Lean_Meta_unfoldDefinitionImp_x3f(x_10, x_4, x_5, x_6, x_7, x_758); if (lean_obj_tag(x_794) == 0) { -lean_object* x_795; lean_object* x_796; lean_object* x_797; lean_object* x_798; lean_object* x_799; lean_object* x_800; lean_object* x_801; lean_object* x_802; lean_object* x_803; lean_object* x_804; lean_object* x_805; -lean_dec(x_1); -x_795 = lean_ctor_get(x_793, 1); +lean_object* x_795; +x_795 = lean_ctor_get(x_794, 0); lean_inc(x_795); -lean_dec(x_793); -x_796 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_796, 0, x_746); -x_797 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; -x_798 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_798, 0, x_797); -lean_ctor_set(x_798, 1, x_796); -x_799 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__13; -x_800 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_800, 0, x_798); -lean_ctor_set(x_800, 1, x_799); -x_801 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_801, 0, x_10); -x_802 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_802, 0, x_800); -lean_ctor_set(x_802, 1, x_801); -x_803 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_804 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_804, 0, x_802); -lean_ctor_set(x_804, 1, x_803); -x_805 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_804, x_4, x_5, x_6, x_7, x_795); +if (lean_obj_tag(x_795) == 0) +{ +lean_object* x_796; lean_object* x_797; lean_object* x_798; lean_object* x_799; lean_object* x_800; lean_object* x_801; lean_object* x_802; lean_object* x_803; lean_object* x_804; lean_object* x_805; lean_object* x_806; +lean_dec(x_1); +x_796 = lean_ctor_get(x_794, 1); +lean_inc(x_796); +lean_dec(x_794); +x_797 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_797, 0, x_747); +x_798 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; +x_799 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_799, 0, x_798); +lean_ctor_set(x_799, 1, x_797); +x_800 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13; +x_801 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_801, 0, x_799); +lean_ctor_set(x_801, 1, x_800); +x_802 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_802, 0, x_10); +x_803 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_803, 0, x_801); +lean_ctor_set(x_803, 1, x_802); +x_804 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_805 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_805, 0, x_803); +lean_ctor_set(x_805, 1, x_804); +x_806 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_805, x_4, x_5, x_6, x_7, x_796); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_805; +return x_806; } else { -lean_object* x_806; lean_object* x_807; uint8_t x_808; -lean_dec(x_746); +lean_object* x_807; lean_object* x_808; +lean_dec(x_747); lean_dec(x_10); -x_806 = lean_ctor_get(x_793, 1); -lean_inc(x_806); -lean_dec(x_793); -x_807 = lean_ctor_get(x_794, 0); +x_807 = lean_ctor_get(x_794, 1); lean_inc(x_807); lean_dec(x_794); -x_808 = 0; -x_2 = x_807; +x_808 = lean_ctor_get(x_795, 0); +lean_inc(x_808); +lean_dec(x_795); x_3 = x_808; -x_8 = x_806; +x_8 = x_807; goto _start; } } else { uint8_t x_810; -lean_dec(x_746); +lean_dec(x_747); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_810 = !lean_is_exclusive(x_793); +x_810 = !lean_is_exclusive(x_794); if (x_810 == 0) { -return x_793; +return x_794; } else { lean_object* x_811; lean_object* x_812; lean_object* x_813; -x_811 = lean_ctor_get(x_793, 0); -x_812 = lean_ctor_get(x_793, 1); +x_811 = lean_ctor_get(x_794, 0); +x_812 = lean_ctor_get(x_794, 1); lean_inc(x_812); lean_inc(x_811); -lean_dec(x_793); +lean_dec(x_794); x_813 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_813, 0, x_811); lean_ctor_set(x_813, 1, x_812); @@ -21463,129 +21471,129 @@ else { lean_object* x_814; x_814 = lean_box(0); -x_760 = x_814; -goto block_790; +x_761 = x_814; +goto block_791; } } else { lean_object* x_815; -lean_dec(x_756); +lean_dec(x_757); x_815 = lean_box(0); -x_760 = x_815; -goto block_790; +x_761 = x_815; +goto block_791; } -block_790: +block_791: { -lean_object* x_761; -lean_dec(x_760); -x_761 = l_Lean_ConstantInfo_value_x3f(x_751); -lean_dec(x_751); -if (lean_obj_tag(x_761) == 0) +lean_object* x_762; +lean_dec(x_761); +x_762 = l_Lean_ConstantInfo_value_x3f(x_752); +lean_dec(x_752); +if (lean_obj_tag(x_762) == 0) { -lean_object* x_762; lean_object* x_763; lean_object* x_764; lean_object* x_765; lean_object* x_766; lean_object* x_767; lean_object* x_768; lean_object* x_769; lean_object* x_770; lean_object* x_771; -lean_dec(x_753); -lean_dec(x_749); -lean_dec(x_747); -lean_dec(x_745); -lean_dec(x_741); +lean_object* x_763; lean_object* x_764; lean_object* x_765; lean_object* x_766; lean_object* x_767; lean_object* x_768; lean_object* x_769; lean_object* x_770; lean_object* x_771; lean_object* x_772; +lean_dec(x_754); +lean_dec(x_750); +lean_dec(x_748); +lean_dec(x_746); +lean_dec(x_742); lean_dec(x_1); -x_762 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_762, 0, x_746); -x_763 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; -x_764 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_764, 0, x_763); -lean_ctor_set(x_764, 1, x_762); -x_765 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__7; -x_766 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_766, 0, x_764); -lean_ctor_set(x_766, 1, x_765); -x_767 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_767, 0, x_10); -x_768 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_768, 0, x_766); -lean_ctor_set(x_768, 1, x_767); -x_769 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_770 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_770, 0, x_768); -lean_ctor_set(x_770, 1, x_769); -x_771 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_770, x_4, x_5, x_6, x_7, x_757); +x_763 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_763, 0, x_747); +x_764 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; +x_765 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_765, 0, x_764); +lean_ctor_set(x_765, 1, x_763); +x_766 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7; +x_767 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_767, 0, x_765); +lean_ctor_set(x_767, 1, x_766); +x_768 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_768, 0, x_10); +x_769 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_769, 0, x_767); +lean_ctor_set(x_769, 1, x_768); +x_770 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_771 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_771, 0, x_769); +lean_ctor_set(x_771, 1, x_770); +x_772 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_771, x_4, x_5, x_6, x_7, x_758); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_771; +return x_772; } else { -lean_object* x_772; lean_object* x_773; -lean_dec(x_746); -x_772 = lean_ctor_get(x_761, 0); -lean_inc(x_772); -lean_dec(x_761); -x_773 = l_Lean_Environment_getModuleIdxFor_x3f(x_745, x_741); -lean_dec(x_745); -if (lean_obj_tag(x_773) == 0) -{ -lean_object* x_774; lean_object* x_775; lean_object* x_776; -x_774 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_775 = lean_box(0); -x_776 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__40(x_1, x_772, x_774, x_753, x_749, x_747, x_741, x_10, x_754, x_775, x_4, x_5, x_6, x_7, x_757); -return x_776; -} -else -{ -lean_dec(x_773); -if (x_3 == 0) -{ -lean_object* x_777; lean_object* x_778; lean_object* x_779; lean_object* x_780; lean_object* x_781; lean_object* x_782; uint8_t x_783; -lean_dec(x_772); -lean_dec(x_753); -lean_dec(x_749); +lean_object* x_773; lean_object* x_774; lean_dec(x_747); +x_773 = lean_ctor_get(x_762, 0); +lean_inc(x_773); +lean_dec(x_762); +x_774 = l_Lean_Environment_getModuleIdxFor_x3f(x_746, x_742); +lean_dec(x_746); +if (lean_obj_tag(x_774) == 0) +{ +lean_object* x_775; lean_object* x_776; lean_object* x_777; +x_775 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_776 = lean_box(0); +x_777 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__40(x_1, x_773, x_2, x_775, x_754, x_750, x_748, x_742, x_10, x_755, x_776, x_4, x_5, x_6, x_7, x_758); +return x_777; +} +else +{ +lean_dec(x_774); +if (x_2 == 0) +{ +lean_object* x_778; lean_object* x_779; lean_object* x_780; lean_object* x_781; lean_object* x_782; lean_object* x_783; uint8_t x_784; +lean_dec(x_773); +lean_dec(x_754); +lean_dec(x_750); +lean_dec(x_748); lean_dec(x_10); lean_dec(x_1); -x_777 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_777, 0, x_741); -x_778 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__9; -x_779 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_779, 0, x_778); -lean_ctor_set(x_779, 1, x_777); -x_780 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__11; -x_781 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_781, 0, x_779); -lean_ctor_set(x_781, 1, x_780); -x_782 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_781, x_4, x_5, x_6, x_7, x_757); +x_778 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_778, 0, x_742); +x_779 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9; +x_780 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_780, 0, x_779); +lean_ctor_set(x_780, 1, x_778); +x_781 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11; +x_782 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_782, 0, x_780); +lean_ctor_set(x_782, 1, x_781); +x_783 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_782, x_4, x_5, x_6, x_7, x_758); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_783 = !lean_is_exclusive(x_782); -if (x_783 == 0) +x_784 = !lean_is_exclusive(x_783); +if (x_784 == 0) { -return x_782; +return x_783; } else { -lean_object* x_784; lean_object* x_785; lean_object* x_786; -x_784 = lean_ctor_get(x_782, 0); -x_785 = lean_ctor_get(x_782, 1); +lean_object* x_785; lean_object* x_786; lean_object* x_787; +x_785 = lean_ctor_get(x_783, 0); +x_786 = lean_ctor_get(x_783, 1); +lean_inc(x_786); lean_inc(x_785); -lean_inc(x_784); -lean_dec(x_782); -x_786 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_786, 0, x_784); -lean_ctor_set(x_786, 1, x_785); -return x_786; +lean_dec(x_783); +x_787 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_787, 0, x_785); +lean_ctor_set(x_787, 1, x_786); +return x_787; } } else { -lean_object* x_787; lean_object* x_788; lean_object* x_789; -x_787 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_788 = lean_box(0); -x_789 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__40(x_1, x_772, x_787, x_753, x_749, x_747, x_741, x_10, x_754, x_788, x_4, x_5, x_6, x_7, x_757); -return x_789; +lean_object* x_788; lean_object* x_789; lean_object* x_790; +x_788 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_789 = lean_box(0); +x_790 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__40(x_1, x_773, x_2, x_788, x_754, x_750, x_748, x_742, x_10, x_755, x_789, x_4, x_5, x_6, x_7, x_758); +return x_790; } } } @@ -21594,32 +21602,32 @@ return x_789; else { uint8_t x_816; -lean_dec(x_753); -lean_dec(x_751); -lean_dec(x_749); +lean_dec(x_754); +lean_dec(x_752); +lean_dec(x_750); +lean_dec(x_748); lean_dec(x_747); lean_dec(x_746); -lean_dec(x_745); -lean_dec(x_741); +lean_dec(x_742); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_816 = !lean_is_exclusive(x_755); +x_816 = !lean_is_exclusive(x_756); if (x_816 == 0) { -return x_755; +return x_756; } else { lean_object* x_817; lean_object* x_818; lean_object* x_819; -x_817 = lean_ctor_get(x_755, 0); -x_818 = lean_ctor_get(x_755, 1); +x_817 = lean_ctor_get(x_756, 0); +x_818 = lean_ctor_get(x_756, 1); lean_inc(x_818); lean_inc(x_817); -lean_dec(x_755); +lean_dec(x_756); x_819 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_819, 0, x_817); lean_ctor_set(x_819, 1, x_818); @@ -21630,30 +21638,30 @@ return x_819; else { uint8_t x_820; -lean_dec(x_749); +lean_dec(x_750); +lean_dec(x_748); lean_dec(x_747); lean_dec(x_746); -lean_dec(x_745); -lean_dec(x_741); +lean_dec(x_742); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_820 = !lean_is_exclusive(x_750); +x_820 = !lean_is_exclusive(x_751); if (x_820 == 0) { -return x_750; +return x_751; } else { lean_object* x_821; lean_object* x_822; lean_object* x_823; -x_821 = lean_ctor_get(x_750, 0); -x_822 = lean_ctor_get(x_750, 1); +x_821 = lean_ctor_get(x_751, 0); +x_822 = lean_ctor_get(x_751, 1); lean_inc(x_822); lean_inc(x_821); -lean_dec(x_750); +lean_dec(x_751); x_823 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_823, 0, x_821); lean_ctor_set(x_823, 1, x_822); @@ -21664,13 +21672,13 @@ return x_823; else { lean_object* x_824; lean_object* x_825; lean_object* x_826; lean_object* x_827; +lean_dec(x_748); lean_dec(x_747); lean_dec(x_746); -lean_dec(x_745); -lean_dec(x_741); -x_824 = lean_ctor_get(x_748, 0); +lean_dec(x_742); +x_824 = lean_ctor_get(x_749, 0); lean_inc(x_824); -lean_dec(x_748); +lean_dec(x_749); x_825 = lean_box(0); x_826 = l_Lean_mkConst(x_824, x_825); lean_inc(x_7); @@ -21678,25 +21686,27 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_826); -x_827 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_826, x_4, x_5, x_6, x_7, x_744); +x_827 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_826, x_4, x_5, x_6, x_7, x_745); if (lean_obj_tag(x_827) == 0) { -lean_object* x_828; lean_object* x_829; lean_object* x_830; lean_object* x_831; +lean_object* x_828; lean_object* x_829; lean_object* x_830; lean_object* x_831; lean_object* x_832; x_828 = lean_ctor_get(x_827, 0); lean_inc(x_828); x_829 = lean_ctor_get(x_827, 1); lean_inc(x_829); lean_dec(x_827); -x_830 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__41___boxed), 10, 3); -lean_closure_set(x_830, 0, x_10); -lean_closure_set(x_830, 1, x_1); -lean_closure_set(x_830, 2, x_826); -x_831 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_828, x_830, x_4, x_5, x_6, x_7, x_829); -return x_831; +x_830 = lean_box(x_2); +x_831 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__41___boxed), 11, 4); +lean_closure_set(x_831, 0, x_10); +lean_closure_set(x_831, 1, x_1); +lean_closure_set(x_831, 2, x_830); +lean_closure_set(x_831, 3, x_826); +x_832 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_828, x_831, x_4, x_5, x_6, x_7, x_829); +return x_832; } else { -uint8_t x_832; +uint8_t x_833; lean_dec(x_826); lean_dec(x_10); lean_dec(x_7); @@ -21704,210 +21714,208 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_832 = !lean_is_exclusive(x_827); -if (x_832 == 0) +x_833 = !lean_is_exclusive(x_827); +if (x_833 == 0) { return x_827; } else { -lean_object* x_833; lean_object* x_834; lean_object* x_835; -x_833 = lean_ctor_get(x_827, 0); -x_834 = lean_ctor_get(x_827, 1); +lean_object* x_834; lean_object* x_835; lean_object* x_836; +x_834 = lean_ctor_get(x_827, 0); +x_835 = lean_ctor_get(x_827, 1); +lean_inc(x_835); lean_inc(x_834); -lean_inc(x_833); lean_dec(x_827); -x_835 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_835, 0, x_833); -lean_ctor_set(x_835, 1, x_834); -return x_835; +x_836 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_836, 0, x_834); +lean_ctor_set(x_836, 1, x_835); +return x_836; } } } } else { -lean_object* x_836; lean_object* x_837; lean_object* x_838; lean_object* x_839; lean_object* x_840; lean_object* x_841; -lean_dec(x_740); +lean_object* x_837; lean_object* x_838; lean_object* x_839; lean_object* x_840; lean_object* x_841; lean_object* x_842; +lean_dec(x_741); lean_dec(x_1); -x_836 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_836, 0, x_10); -x_837 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__2; -x_838 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_838, 0, x_837); -lean_ctor_set(x_838, 1, x_836); -x_839 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_840 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_840, 0, x_838); -lean_ctor_set(x_840, 1, x_839); -x_841 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_840, x_4, x_5, x_6, x_7, x_739); +x_837 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_837, 0, x_10); +x_838 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2; +x_839 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_839, 0, x_838); +lean_ctor_set(x_839, 1, x_837); +x_840 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_841 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_841, 0, x_839); +lean_ctor_set(x_841, 1, x_840); +x_842 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_841, x_4, x_5, x_6, x_7, x_740); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_841; +return x_842; } } case 10: { -lean_object* x_842; lean_object* x_843; -x_842 = lean_ctor_get(x_9, 1); -lean_inc(x_842); +lean_object* x_843; lean_object* x_844; +x_843 = lean_ctor_get(x_9, 1); +lean_inc(x_843); lean_dec(x_9); -x_843 = l_Lean_Expr_getAppFn(x_10); -if (lean_obj_tag(x_843) == 4) +x_844 = l_Lean_Expr_getAppFn(x_10); +if (lean_obj_tag(x_844) == 4) { -lean_object* x_844; lean_object* x_845; lean_object* x_846; lean_object* x_847; lean_object* x_848; lean_object* x_849; lean_object* x_850; lean_object* x_851; -x_844 = lean_ctor_get(x_843, 0); -lean_inc(x_844); -lean_dec(x_843); -x_845 = lean_st_ref_get(x_7, x_842); -x_846 = lean_ctor_get(x_845, 0); -lean_inc(x_846); -x_847 = lean_ctor_get(x_845, 1); +lean_object* x_845; lean_object* x_846; lean_object* x_847; lean_object* x_848; lean_object* x_849; lean_object* x_850; lean_object* x_851; lean_object* x_852; +x_845 = lean_ctor_get(x_844, 0); +lean_inc(x_845); +lean_dec(x_844); +x_846 = lean_st_ref_get(x_7, x_843); +x_847 = lean_ctor_get(x_846, 0); lean_inc(x_847); -lean_dec(x_845); -x_848 = lean_ctor_get(x_846, 0); +x_848 = lean_ctor_get(x_846, 1); lean_inc(x_848); lean_dec(x_846); -x_849 = lean_ctor_get(x_1, 0); +x_849 = lean_ctor_get(x_847, 0); lean_inc(x_849); -x_850 = lean_ctor_get(x_1, 2); +lean_dec(x_847); +x_850 = lean_ctor_get(x_1, 0); lean_inc(x_850); -x_851 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(x_850, x_848, x_844); -if (lean_obj_tag(x_851) == 0) +x_851 = lean_ctor_get(x_1, 2); +lean_inc(x_851); +x_852 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_851, x_849, x_845); +if (lean_obj_tag(x_852) == 0) { -lean_object* x_852; lean_object* x_853; -lean_inc(x_849); -x_852 = l_Lean_Name_append(x_844, x_849); -lean_inc(x_844); -x_853 = l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(x_844, x_4, x_5, x_6, x_7, x_847); -if (lean_obj_tag(x_853) == 0) +lean_object* x_853; lean_object* x_854; +lean_inc(x_850); +x_853 = l_Lean_Name_append(x_845, x_850); +lean_inc(x_845); +x_854 = l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(x_845, x_4, x_5, x_6, x_7, x_848); +if (lean_obj_tag(x_854) == 0) { -lean_object* x_854; lean_object* x_855; lean_object* x_856; lean_object* x_857; lean_object* x_858; -x_854 = lean_ctor_get(x_853, 0); -lean_inc(x_854); -x_855 = lean_ctor_get(x_853, 1); +lean_object* x_855; lean_object* x_856; lean_object* x_857; lean_object* x_858; lean_object* x_859; +x_855 = lean_ctor_get(x_854, 0); lean_inc(x_855); -lean_dec(x_853); -x_856 = l_Lean_ConstantInfo_type(x_854); -x_857 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; +x_856 = lean_ctor_get(x_854, 1); +lean_inc(x_856); +lean_dec(x_854); +x_857 = l_Lean_ConstantInfo_type(x_855); +x_858 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_856); -x_858 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_856, x_857, x_4, x_5, x_6, x_7, x_855); -if (lean_obj_tag(x_858) == 0) +lean_inc(x_857); +x_859 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_857, x_858, x_4, x_5, x_6, x_7, x_856); +if (lean_obj_tag(x_859) == 0) { -lean_object* x_859; lean_object* x_860; lean_object* x_861; uint8_t x_862; lean_object* x_863; -x_859 = lean_ctor_get(x_858, 0); -lean_inc(x_859); -x_860 = lean_ctor_get(x_858, 1); +lean_object* x_860; lean_object* x_861; lean_object* x_862; uint8_t x_863; lean_object* x_864; +x_860 = lean_ctor_get(x_859, 0); lean_inc(x_860); -lean_dec(x_858); -x_861 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; -x_862 = l_Lean_Expr_isConstOf(x_859, x_861); -if (x_862 == 0) -{ -lean_object* x_894; uint8_t x_895; -x_894 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_895 = l_Lean_Expr_isConstOf(x_859, x_894); +x_861 = lean_ctor_get(x_859, 1); +lean_inc(x_861); lean_dec(x_859); -if (x_895 == 0) +x_862 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3; +x_863 = l_Lean_Expr_isConstOf(x_860, x_862); +if (x_863 == 0) { -lean_object* x_896; -lean_dec(x_856); -lean_dec(x_854); -lean_dec(x_852); -lean_dec(x_850); -lean_dec(x_848); -lean_dec(x_844); +lean_object* x_895; uint8_t x_896; +x_895 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_896 = l_Lean_Expr_isConstOf(x_860, x_895); +lean_dec(x_860); +if (x_896 == 0) +{ +lean_object* x_897; +lean_dec(x_857); +lean_dec(x_855); +lean_dec(x_853); +lean_dec(x_851); +lean_dec(x_849); +lean_dec(x_845); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_10); -x_896 = l___private_Lean_Meta_WHNF_0__Lean_Meta_unfoldDefinitionImp_x3f(x_10, x_4, x_5, x_6, x_7, x_860); -if (lean_obj_tag(x_896) == 0) -{ -lean_object* x_897; -x_897 = lean_ctor_get(x_896, 0); -lean_inc(x_897); +x_897 = l___private_Lean_Meta_WHNF_0__Lean_Meta_unfoldDefinitionImp_x3f(x_10, x_4, x_5, x_6, x_7, x_861); if (lean_obj_tag(x_897) == 0) { -lean_object* x_898; lean_object* x_899; lean_object* x_900; lean_object* x_901; lean_object* x_902; lean_object* x_903; lean_object* x_904; lean_object* x_905; lean_object* x_906; lean_object* x_907; lean_object* x_908; -lean_dec(x_1); -x_898 = lean_ctor_get(x_896, 1); +lean_object* x_898; +x_898 = lean_ctor_get(x_897, 0); lean_inc(x_898); -lean_dec(x_896); -x_899 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_899, 0, x_849); -x_900 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; -x_901 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_901, 0, x_900); -lean_ctor_set(x_901, 1, x_899); -x_902 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__13; -x_903 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_903, 0, x_901); -lean_ctor_set(x_903, 1, x_902); -x_904 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_904, 0, x_10); -x_905 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_905, 0, x_903); -lean_ctor_set(x_905, 1, x_904); -x_906 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_907 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_907, 0, x_905); -lean_ctor_set(x_907, 1, x_906); -x_908 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_907, x_4, x_5, x_6, x_7, x_898); +if (lean_obj_tag(x_898) == 0) +{ +lean_object* x_899; lean_object* x_900; lean_object* x_901; lean_object* x_902; lean_object* x_903; lean_object* x_904; lean_object* x_905; lean_object* x_906; lean_object* x_907; lean_object* x_908; lean_object* x_909; +lean_dec(x_1); +x_899 = lean_ctor_get(x_897, 1); +lean_inc(x_899); +lean_dec(x_897); +x_900 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_900, 0, x_850); +x_901 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; +x_902 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_902, 0, x_901); +lean_ctor_set(x_902, 1, x_900); +x_903 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13; +x_904 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_904, 0, x_902); +lean_ctor_set(x_904, 1, x_903); +x_905 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_905, 0, x_10); +x_906 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_906, 0, x_904); +lean_ctor_set(x_906, 1, x_905); +x_907 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_908 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_908, 0, x_906); +lean_ctor_set(x_908, 1, x_907); +x_909 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_908, x_4, x_5, x_6, x_7, x_899); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_908; +return x_909; } else { -lean_object* x_909; lean_object* x_910; uint8_t x_911; -lean_dec(x_849); +lean_object* x_910; lean_object* x_911; +lean_dec(x_850); lean_dec(x_10); -x_909 = lean_ctor_get(x_896, 1); -lean_inc(x_909); -lean_dec(x_896); -x_910 = lean_ctor_get(x_897, 0); +x_910 = lean_ctor_get(x_897, 1); lean_inc(x_910); lean_dec(x_897); -x_911 = 0; -x_2 = x_910; +x_911 = lean_ctor_get(x_898, 0); +lean_inc(x_911); +lean_dec(x_898); x_3 = x_911; -x_8 = x_909; +x_8 = x_910; goto _start; } } else { uint8_t x_913; -lean_dec(x_849); +lean_dec(x_850); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_913 = !lean_is_exclusive(x_896); +x_913 = !lean_is_exclusive(x_897); if (x_913 == 0) { -return x_896; +return x_897; } else { lean_object* x_914; lean_object* x_915; lean_object* x_916; -x_914 = lean_ctor_get(x_896, 0); -x_915 = lean_ctor_get(x_896, 1); +x_914 = lean_ctor_get(x_897, 0); +x_915 = lean_ctor_get(x_897, 1); lean_inc(x_915); lean_inc(x_914); -lean_dec(x_896); +lean_dec(x_897); x_916 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_916, 0, x_914); lean_ctor_set(x_916, 1, x_915); @@ -21919,129 +21927,129 @@ else { lean_object* x_917; x_917 = lean_box(0); -x_863 = x_917; -goto block_893; +x_864 = x_917; +goto block_894; } } else { lean_object* x_918; -lean_dec(x_859); +lean_dec(x_860); x_918 = lean_box(0); -x_863 = x_918; -goto block_893; +x_864 = x_918; +goto block_894; } -block_893: +block_894: { -lean_object* x_864; -lean_dec(x_863); -x_864 = l_Lean_ConstantInfo_value_x3f(x_854); -lean_dec(x_854); -if (lean_obj_tag(x_864) == 0) +lean_object* x_865; +lean_dec(x_864); +x_865 = l_Lean_ConstantInfo_value_x3f(x_855); +lean_dec(x_855); +if (lean_obj_tag(x_865) == 0) { -lean_object* x_865; lean_object* x_866; lean_object* x_867; lean_object* x_868; lean_object* x_869; lean_object* x_870; lean_object* x_871; lean_object* x_872; lean_object* x_873; lean_object* x_874; -lean_dec(x_856); -lean_dec(x_852); -lean_dec(x_850); -lean_dec(x_848); -lean_dec(x_844); +lean_object* x_866; lean_object* x_867; lean_object* x_868; lean_object* x_869; lean_object* x_870; lean_object* x_871; lean_object* x_872; lean_object* x_873; lean_object* x_874; lean_object* x_875; +lean_dec(x_857); +lean_dec(x_853); +lean_dec(x_851); +lean_dec(x_849); +lean_dec(x_845); lean_dec(x_1); -x_865 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_865, 0, x_849); -x_866 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; -x_867 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_867, 0, x_866); -lean_ctor_set(x_867, 1, x_865); -x_868 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__7; -x_869 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_869, 0, x_867); -lean_ctor_set(x_869, 1, x_868); -x_870 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_870, 0, x_10); -x_871 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_871, 0, x_869); -lean_ctor_set(x_871, 1, x_870); -x_872 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_873 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_873, 0, x_871); -lean_ctor_set(x_873, 1, x_872); -x_874 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_873, x_4, x_5, x_6, x_7, x_860); +x_866 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_866, 0, x_850); +x_867 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; +x_868 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_868, 0, x_867); +lean_ctor_set(x_868, 1, x_866); +x_869 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7; +x_870 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_870, 0, x_868); +lean_ctor_set(x_870, 1, x_869); +x_871 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_871, 0, x_10); +x_872 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_872, 0, x_870); +lean_ctor_set(x_872, 1, x_871); +x_873 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_874 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_874, 0, x_872); +lean_ctor_set(x_874, 1, x_873); +x_875 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_874, x_4, x_5, x_6, x_7, x_861); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_874; +return x_875; } else { -lean_object* x_875; lean_object* x_876; -lean_dec(x_849); -x_875 = lean_ctor_get(x_864, 0); -lean_inc(x_875); -lean_dec(x_864); -x_876 = l_Lean_Environment_getModuleIdxFor_x3f(x_848, x_844); -lean_dec(x_848); -if (lean_obj_tag(x_876) == 0) -{ -lean_object* x_877; lean_object* x_878; lean_object* x_879; -x_877 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_878 = lean_box(0); -x_879 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__45(x_1, x_875, x_877, x_856, x_852, x_850, x_844, x_10, x_857, x_878, x_4, x_5, x_6, x_7, x_860); -return x_879; -} -else -{ -lean_dec(x_876); -if (x_3 == 0) -{ -lean_object* x_880; lean_object* x_881; lean_object* x_882; lean_object* x_883; lean_object* x_884; lean_object* x_885; uint8_t x_886; -lean_dec(x_875); -lean_dec(x_856); -lean_dec(x_852); +lean_object* x_876; lean_object* x_877; lean_dec(x_850); +x_876 = lean_ctor_get(x_865, 0); +lean_inc(x_876); +lean_dec(x_865); +x_877 = l_Lean_Environment_getModuleIdxFor_x3f(x_849, x_845); +lean_dec(x_849); +if (lean_obj_tag(x_877) == 0) +{ +lean_object* x_878; lean_object* x_879; lean_object* x_880; +x_878 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_879 = lean_box(0); +x_880 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__45(x_1, x_876, x_2, x_878, x_857, x_853, x_851, x_845, x_10, x_858, x_879, x_4, x_5, x_6, x_7, x_861); +return x_880; +} +else +{ +lean_dec(x_877); +if (x_2 == 0) +{ +lean_object* x_881; lean_object* x_882; lean_object* x_883; lean_object* x_884; lean_object* x_885; lean_object* x_886; uint8_t x_887; +lean_dec(x_876); +lean_dec(x_857); +lean_dec(x_853); +lean_dec(x_851); lean_dec(x_10); lean_dec(x_1); -x_880 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_880, 0, x_844); -x_881 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__9; -x_882 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_882, 0, x_881); -lean_ctor_set(x_882, 1, x_880); -x_883 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__11; -x_884 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_884, 0, x_882); -lean_ctor_set(x_884, 1, x_883); -x_885 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_884, x_4, x_5, x_6, x_7, x_860); +x_881 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_881, 0, x_845); +x_882 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9; +x_883 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_883, 0, x_882); +lean_ctor_set(x_883, 1, x_881); +x_884 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11; +x_885 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_885, 0, x_883); +lean_ctor_set(x_885, 1, x_884); +x_886 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_885, x_4, x_5, x_6, x_7, x_861); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_886 = !lean_is_exclusive(x_885); -if (x_886 == 0) +x_887 = !lean_is_exclusive(x_886); +if (x_887 == 0) { -return x_885; +return x_886; } else { -lean_object* x_887; lean_object* x_888; lean_object* x_889; -x_887 = lean_ctor_get(x_885, 0); -x_888 = lean_ctor_get(x_885, 1); +lean_object* x_888; lean_object* x_889; lean_object* x_890; +x_888 = lean_ctor_get(x_886, 0); +x_889 = lean_ctor_get(x_886, 1); +lean_inc(x_889); lean_inc(x_888); -lean_inc(x_887); -lean_dec(x_885); -x_889 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_889, 0, x_887); -lean_ctor_set(x_889, 1, x_888); -return x_889; +lean_dec(x_886); +x_890 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_890, 0, x_888); +lean_ctor_set(x_890, 1, x_889); +return x_890; } } else { -lean_object* x_890; lean_object* x_891; lean_object* x_892; -x_890 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_891 = lean_box(0); -x_892 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__45(x_1, x_875, x_890, x_856, x_852, x_850, x_844, x_10, x_857, x_891, x_4, x_5, x_6, x_7, x_860); -return x_892; +lean_object* x_891; lean_object* x_892; lean_object* x_893; +x_891 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_892 = lean_box(0); +x_893 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__45(x_1, x_876, x_2, x_891, x_857, x_853, x_851, x_845, x_10, x_858, x_892, x_4, x_5, x_6, x_7, x_861); +return x_893; } } } @@ -22050,32 +22058,32 @@ return x_892; else { uint8_t x_919; -lean_dec(x_856); -lean_dec(x_854); -lean_dec(x_852); +lean_dec(x_857); +lean_dec(x_855); +lean_dec(x_853); +lean_dec(x_851); lean_dec(x_850); lean_dec(x_849); -lean_dec(x_848); -lean_dec(x_844); +lean_dec(x_845); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_919 = !lean_is_exclusive(x_858); +x_919 = !lean_is_exclusive(x_859); if (x_919 == 0) { -return x_858; +return x_859; } else { lean_object* x_920; lean_object* x_921; lean_object* x_922; -x_920 = lean_ctor_get(x_858, 0); -x_921 = lean_ctor_get(x_858, 1); +x_920 = lean_ctor_get(x_859, 0); +x_921 = lean_ctor_get(x_859, 1); lean_inc(x_921); lean_inc(x_920); -lean_dec(x_858); +lean_dec(x_859); x_922 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_922, 0, x_920); lean_ctor_set(x_922, 1, x_921); @@ -22086,30 +22094,30 @@ return x_922; else { uint8_t x_923; -lean_dec(x_852); +lean_dec(x_853); +lean_dec(x_851); lean_dec(x_850); lean_dec(x_849); -lean_dec(x_848); -lean_dec(x_844); +lean_dec(x_845); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_923 = !lean_is_exclusive(x_853); +x_923 = !lean_is_exclusive(x_854); if (x_923 == 0) { -return x_853; +return x_854; } else { lean_object* x_924; lean_object* x_925; lean_object* x_926; -x_924 = lean_ctor_get(x_853, 0); -x_925 = lean_ctor_get(x_853, 1); +x_924 = lean_ctor_get(x_854, 0); +x_925 = lean_ctor_get(x_854, 1); lean_inc(x_925); lean_inc(x_924); -lean_dec(x_853); +lean_dec(x_854); x_926 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_926, 0, x_924); lean_ctor_set(x_926, 1, x_925); @@ -22120,13 +22128,13 @@ return x_926; else { lean_object* x_927; lean_object* x_928; lean_object* x_929; lean_object* x_930; +lean_dec(x_851); lean_dec(x_850); lean_dec(x_849); -lean_dec(x_848); -lean_dec(x_844); -x_927 = lean_ctor_get(x_851, 0); +lean_dec(x_845); +x_927 = lean_ctor_get(x_852, 0); lean_inc(x_927); -lean_dec(x_851); +lean_dec(x_852); x_928 = lean_box(0); x_929 = l_Lean_mkConst(x_927, x_928); lean_inc(x_7); @@ -22134,25 +22142,27 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_929); -x_930 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_929, x_4, x_5, x_6, x_7, x_847); +x_930 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_929, x_4, x_5, x_6, x_7, x_848); if (lean_obj_tag(x_930) == 0) { -lean_object* x_931; lean_object* x_932; lean_object* x_933; lean_object* x_934; +lean_object* x_931; lean_object* x_932; lean_object* x_933; lean_object* x_934; lean_object* x_935; x_931 = lean_ctor_get(x_930, 0); lean_inc(x_931); x_932 = lean_ctor_get(x_930, 1); lean_inc(x_932); lean_dec(x_930); -x_933 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__46___boxed), 10, 3); -lean_closure_set(x_933, 0, x_10); -lean_closure_set(x_933, 1, x_1); -lean_closure_set(x_933, 2, x_929); -x_934 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_931, x_933, x_4, x_5, x_6, x_7, x_932); -return x_934; +x_933 = lean_box(x_2); +x_934 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__46___boxed), 11, 4); +lean_closure_set(x_934, 0, x_10); +lean_closure_set(x_934, 1, x_1); +lean_closure_set(x_934, 2, x_933); +lean_closure_set(x_934, 3, x_929); +x_935 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_931, x_934, x_4, x_5, x_6, x_7, x_932); +return x_935; } else { -uint8_t x_935; +uint8_t x_936; lean_dec(x_929); lean_dec(x_10); lean_dec(x_7); @@ -22160,210 +22170,208 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_935 = !lean_is_exclusive(x_930); -if (x_935 == 0) +x_936 = !lean_is_exclusive(x_930); +if (x_936 == 0) { return x_930; } else { -lean_object* x_936; lean_object* x_937; lean_object* x_938; -x_936 = lean_ctor_get(x_930, 0); -x_937 = lean_ctor_get(x_930, 1); +lean_object* x_937; lean_object* x_938; lean_object* x_939; +x_937 = lean_ctor_get(x_930, 0); +x_938 = lean_ctor_get(x_930, 1); +lean_inc(x_938); lean_inc(x_937); -lean_inc(x_936); lean_dec(x_930); -x_938 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_938, 0, x_936); -lean_ctor_set(x_938, 1, x_937); -return x_938; +x_939 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_939, 0, x_937); +lean_ctor_set(x_939, 1, x_938); +return x_939; } } } } else { -lean_object* x_939; lean_object* x_940; lean_object* x_941; lean_object* x_942; lean_object* x_943; lean_object* x_944; -lean_dec(x_843); +lean_object* x_940; lean_object* x_941; lean_object* x_942; lean_object* x_943; lean_object* x_944; lean_object* x_945; +lean_dec(x_844); lean_dec(x_1); -x_939 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_939, 0, x_10); -x_940 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__2; -x_941 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_941, 0, x_940); -lean_ctor_set(x_941, 1, x_939); -x_942 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_943 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_943, 0, x_941); -lean_ctor_set(x_943, 1, x_942); -x_944 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_943, x_4, x_5, x_6, x_7, x_842); +x_940 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_940, 0, x_10); +x_941 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2; +x_942 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_942, 0, x_941); +lean_ctor_set(x_942, 1, x_940); +x_943 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_944 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_944, 0, x_942); +lean_ctor_set(x_944, 1, x_943); +x_945 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_944, x_4, x_5, x_6, x_7, x_843); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_944; +return x_945; } } default: { -lean_object* x_945; lean_object* x_946; -x_945 = lean_ctor_get(x_9, 1); -lean_inc(x_945); +lean_object* x_946; lean_object* x_947; +x_946 = lean_ctor_get(x_9, 1); +lean_inc(x_946); lean_dec(x_9); -x_946 = l_Lean_Expr_getAppFn(x_10); -if (lean_obj_tag(x_946) == 4) +x_947 = l_Lean_Expr_getAppFn(x_10); +if (lean_obj_tag(x_947) == 4) { -lean_object* x_947; lean_object* x_948; lean_object* x_949; lean_object* x_950; lean_object* x_951; lean_object* x_952; lean_object* x_953; lean_object* x_954; -x_947 = lean_ctor_get(x_946, 0); -lean_inc(x_947); -lean_dec(x_946); -x_948 = lean_st_ref_get(x_7, x_945); -x_949 = lean_ctor_get(x_948, 0); -lean_inc(x_949); -x_950 = lean_ctor_get(x_948, 1); +lean_object* x_948; lean_object* x_949; lean_object* x_950; lean_object* x_951; lean_object* x_952; lean_object* x_953; lean_object* x_954; lean_object* x_955; +x_948 = lean_ctor_get(x_947, 0); +lean_inc(x_948); +lean_dec(x_947); +x_949 = lean_st_ref_get(x_7, x_946); +x_950 = lean_ctor_get(x_949, 0); lean_inc(x_950); -lean_dec(x_948); -x_951 = lean_ctor_get(x_949, 0); +x_951 = lean_ctor_get(x_949, 1); lean_inc(x_951); lean_dec(x_949); -x_952 = lean_ctor_get(x_1, 0); +x_952 = lean_ctor_get(x_950, 0); lean_inc(x_952); -x_953 = lean_ctor_get(x_1, 2); +lean_dec(x_950); +x_953 = lean_ctor_get(x_1, 0); lean_inc(x_953); -x_954 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(x_953, x_951, x_947); -if (lean_obj_tag(x_954) == 0) +x_954 = lean_ctor_get(x_1, 2); +lean_inc(x_954); +x_955 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_954, x_952, x_948); +if (lean_obj_tag(x_955) == 0) { -lean_object* x_955; lean_object* x_956; -lean_inc(x_952); -x_955 = l_Lean_Name_append(x_947, x_952); -lean_inc(x_947); -x_956 = l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(x_947, x_4, x_5, x_6, x_7, x_950); -if (lean_obj_tag(x_956) == 0) +lean_object* x_956; lean_object* x_957; +lean_inc(x_953); +x_956 = l_Lean_Name_append(x_948, x_953); +lean_inc(x_948); +x_957 = l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(x_948, x_4, x_5, x_6, x_7, x_951); +if (lean_obj_tag(x_957) == 0) { -lean_object* x_957; lean_object* x_958; lean_object* x_959; lean_object* x_960; lean_object* x_961; -x_957 = lean_ctor_get(x_956, 0); -lean_inc(x_957); -x_958 = lean_ctor_get(x_956, 1); +lean_object* x_958; lean_object* x_959; lean_object* x_960; lean_object* x_961; lean_object* x_962; +x_958 = lean_ctor_get(x_957, 0); lean_inc(x_958); -lean_dec(x_956); -x_959 = l_Lean_ConstantInfo_type(x_957); -x_960 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1; +x_959 = lean_ctor_get(x_957, 1); +lean_inc(x_959); +lean_dec(x_957); +x_960 = l_Lean_ConstantInfo_type(x_958); +x_961 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_959); -x_961 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_959, x_960, x_4, x_5, x_6, x_7, x_958); -if (lean_obj_tag(x_961) == 0) +lean_inc(x_960); +x_962 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_960, x_961, x_4, x_5, x_6, x_7, x_959); +if (lean_obj_tag(x_962) == 0) { -lean_object* x_962; lean_object* x_963; lean_object* x_964; uint8_t x_965; lean_object* x_966; -x_962 = lean_ctor_get(x_961, 0); -lean_inc(x_962); -x_963 = lean_ctor_get(x_961, 1); +lean_object* x_963; lean_object* x_964; lean_object* x_965; uint8_t x_966; lean_object* x_967; +x_963 = lean_ctor_get(x_962, 0); lean_inc(x_963); -lean_dec(x_961); -x_964 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; -x_965 = l_Lean_Expr_isConstOf(x_962, x_964); -if (x_965 == 0) -{ -lean_object* x_997; uint8_t x_998; -x_997 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_998 = l_Lean_Expr_isConstOf(x_962, x_997); +x_964 = lean_ctor_get(x_962, 1); +lean_inc(x_964); lean_dec(x_962); -if (x_998 == 0) +x_965 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3; +x_966 = l_Lean_Expr_isConstOf(x_963, x_965); +if (x_966 == 0) { -lean_object* x_999; -lean_dec(x_959); -lean_dec(x_957); -lean_dec(x_955); -lean_dec(x_953); -lean_dec(x_951); -lean_dec(x_947); +lean_object* x_998; uint8_t x_999; +x_998 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_999 = l_Lean_Expr_isConstOf(x_963, x_998); +lean_dec(x_963); +if (x_999 == 0) +{ +lean_object* x_1000; +lean_dec(x_960); +lean_dec(x_958); +lean_dec(x_956); +lean_dec(x_954); +lean_dec(x_952); +lean_dec(x_948); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_10); -x_999 = l___private_Lean_Meta_WHNF_0__Lean_Meta_unfoldDefinitionImp_x3f(x_10, x_4, x_5, x_6, x_7, x_963); -if (lean_obj_tag(x_999) == 0) -{ -lean_object* x_1000; -x_1000 = lean_ctor_get(x_999, 0); -lean_inc(x_1000); +x_1000 = l___private_Lean_Meta_WHNF_0__Lean_Meta_unfoldDefinitionImp_x3f(x_10, x_4, x_5, x_6, x_7, x_964); if (lean_obj_tag(x_1000) == 0) { -lean_object* x_1001; lean_object* x_1002; lean_object* x_1003; lean_object* x_1004; lean_object* x_1005; lean_object* x_1006; lean_object* x_1007; lean_object* x_1008; lean_object* x_1009; lean_object* x_1010; lean_object* x_1011; -lean_dec(x_1); -x_1001 = lean_ctor_get(x_999, 1); +lean_object* x_1001; +x_1001 = lean_ctor_get(x_1000, 0); lean_inc(x_1001); -lean_dec(x_999); -x_1002 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_1002, 0, x_952); -x_1003 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; -x_1004 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_1004, 0, x_1003); -lean_ctor_set(x_1004, 1, x_1002); -x_1005 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__13; -x_1006 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_1006, 0, x_1004); -lean_ctor_set(x_1006, 1, x_1005); -x_1007 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1007, 0, x_10); -x_1008 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_1008, 0, x_1006); -lean_ctor_set(x_1008, 1, x_1007); -x_1009 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_1010 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_1010, 0, x_1008); -lean_ctor_set(x_1010, 1, x_1009); -x_1011 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_1010, x_4, x_5, x_6, x_7, x_1001); +if (lean_obj_tag(x_1001) == 0) +{ +lean_object* x_1002; lean_object* x_1003; lean_object* x_1004; lean_object* x_1005; lean_object* x_1006; lean_object* x_1007; lean_object* x_1008; lean_object* x_1009; lean_object* x_1010; lean_object* x_1011; lean_object* x_1012; +lean_dec(x_1); +x_1002 = lean_ctor_get(x_1000, 1); +lean_inc(x_1002); +lean_dec(x_1000); +x_1003 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_1003, 0, x_953); +x_1004 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; +x_1005 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_1005, 0, x_1004); +lean_ctor_set(x_1005, 1, x_1003); +x_1006 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13; +x_1007 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_1007, 0, x_1005); +lean_ctor_set(x_1007, 1, x_1006); +x_1008 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1008, 0, x_10); +x_1009 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_1009, 0, x_1007); +lean_ctor_set(x_1009, 1, x_1008); +x_1010 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_1011 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_1011, 0, x_1009); +lean_ctor_set(x_1011, 1, x_1010); +x_1012 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_1011, x_4, x_5, x_6, x_7, x_1002); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_1011; +return x_1012; } else { -lean_object* x_1012; lean_object* x_1013; uint8_t x_1014; -lean_dec(x_952); +lean_object* x_1013; lean_object* x_1014; +lean_dec(x_953); lean_dec(x_10); -x_1012 = lean_ctor_get(x_999, 1); -lean_inc(x_1012); -lean_dec(x_999); -x_1013 = lean_ctor_get(x_1000, 0); +x_1013 = lean_ctor_get(x_1000, 1); lean_inc(x_1013); lean_dec(x_1000); -x_1014 = 0; -x_2 = x_1013; +x_1014 = lean_ctor_get(x_1001, 0); +lean_inc(x_1014); +lean_dec(x_1001); x_3 = x_1014; -x_8 = x_1012; +x_8 = x_1013; goto _start; } } else { uint8_t x_1016; -lean_dec(x_952); +lean_dec(x_953); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_1016 = !lean_is_exclusive(x_999); +x_1016 = !lean_is_exclusive(x_1000); if (x_1016 == 0) { -return x_999; +return x_1000; } else { lean_object* x_1017; lean_object* x_1018; lean_object* x_1019; -x_1017 = lean_ctor_get(x_999, 0); -x_1018 = lean_ctor_get(x_999, 1); +x_1017 = lean_ctor_get(x_1000, 0); +x_1018 = lean_ctor_get(x_1000, 1); lean_inc(x_1018); lean_inc(x_1017); -lean_dec(x_999); +lean_dec(x_1000); x_1019 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1019, 0, x_1017); lean_ctor_set(x_1019, 1, x_1018); @@ -22375,129 +22383,129 @@ else { lean_object* x_1020; x_1020 = lean_box(0); -x_966 = x_1020; -goto block_996; +x_967 = x_1020; +goto block_997; } } else { lean_object* x_1021; -lean_dec(x_962); +lean_dec(x_963); x_1021 = lean_box(0); -x_966 = x_1021; -goto block_996; +x_967 = x_1021; +goto block_997; } -block_996: +block_997: { -lean_object* x_967; -lean_dec(x_966); -x_967 = l_Lean_ConstantInfo_value_x3f(x_957); -lean_dec(x_957); -if (lean_obj_tag(x_967) == 0) +lean_object* x_968; +lean_dec(x_967); +x_968 = l_Lean_ConstantInfo_value_x3f(x_958); +lean_dec(x_958); +if (lean_obj_tag(x_968) == 0) { -lean_object* x_968; lean_object* x_969; lean_object* x_970; lean_object* x_971; lean_object* x_972; lean_object* x_973; lean_object* x_974; lean_object* x_975; lean_object* x_976; lean_object* x_977; -lean_dec(x_959); -lean_dec(x_955); -lean_dec(x_953); -lean_dec(x_951); -lean_dec(x_947); +lean_object* x_969; lean_object* x_970; lean_object* x_971; lean_object* x_972; lean_object* x_973; lean_object* x_974; lean_object* x_975; lean_object* x_976; lean_object* x_977; lean_object* x_978; +lean_dec(x_960); +lean_dec(x_956); +lean_dec(x_954); +lean_dec(x_952); +lean_dec(x_948); lean_dec(x_1); -x_968 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_968, 0, x_952); -x_969 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__5; -x_970 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_970, 0, x_969); -lean_ctor_set(x_970, 1, x_968); -x_971 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__7; -x_972 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_972, 0, x_970); -lean_ctor_set(x_972, 1, x_971); -x_973 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_973, 0, x_10); -x_974 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_974, 0, x_972); -lean_ctor_set(x_974, 1, x_973); -x_975 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_976 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_976, 0, x_974); -lean_ctor_set(x_976, 1, x_975); -x_977 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_976, x_4, x_5, x_6, x_7, x_963); +x_969 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_969, 0, x_953); +x_970 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5; +x_971 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_971, 0, x_970); +lean_ctor_set(x_971, 1, x_969); +x_972 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7; +x_973 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_973, 0, x_971); +lean_ctor_set(x_973, 1, x_972); +x_974 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_974, 0, x_10); +x_975 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_975, 0, x_973); +lean_ctor_set(x_975, 1, x_974); +x_976 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_977 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_977, 0, x_975); +lean_ctor_set(x_977, 1, x_976); +x_978 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_977, x_4, x_5, x_6, x_7, x_964); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_977; +return x_978; } else { -lean_object* x_978; lean_object* x_979; -lean_dec(x_952); -x_978 = lean_ctor_get(x_967, 0); -lean_inc(x_978); -lean_dec(x_967); -x_979 = l_Lean_Environment_getModuleIdxFor_x3f(x_951, x_947); -lean_dec(x_951); -if (lean_obj_tag(x_979) == 0) -{ -lean_object* x_980; lean_object* x_981; lean_object* x_982; -x_980 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_981 = lean_box(0); -x_982 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__50(x_1, x_978, x_980, x_959, x_955, x_953, x_947, x_10, x_960, x_981, x_4, x_5, x_6, x_7, x_963); -return x_982; -} -else -{ -lean_dec(x_979); -if (x_3 == 0) -{ -lean_object* x_983; lean_object* x_984; lean_object* x_985; lean_object* x_986; lean_object* x_987; lean_object* x_988; uint8_t x_989; -lean_dec(x_978); -lean_dec(x_959); -lean_dec(x_955); +lean_object* x_979; lean_object* x_980; lean_dec(x_953); +x_979 = lean_ctor_get(x_968, 0); +lean_inc(x_979); +lean_dec(x_968); +x_980 = l_Lean_Environment_getModuleIdxFor_x3f(x_952, x_948); +lean_dec(x_952); +if (lean_obj_tag(x_980) == 0) +{ +lean_object* x_981; lean_object* x_982; lean_object* x_983; +x_981 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_982 = lean_box(0); +x_983 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__50(x_1, x_979, x_2, x_981, x_960, x_956, x_954, x_948, x_10, x_961, x_982, x_4, x_5, x_6, x_7, x_964); +return x_983; +} +else +{ +lean_dec(x_980); +if (x_2 == 0) +{ +lean_object* x_984; lean_object* x_985; lean_object* x_986; lean_object* x_987; lean_object* x_988; lean_object* x_989; uint8_t x_990; +lean_dec(x_979); +lean_dec(x_960); +lean_dec(x_956); +lean_dec(x_954); lean_dec(x_10); lean_dec(x_1); -x_983 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_983, 0, x_947); -x_984 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__9; -x_985 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_985, 0, x_984); -lean_ctor_set(x_985, 1, x_983); -x_986 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__11; -x_987 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_987, 0, x_985); -lean_ctor_set(x_987, 1, x_986); -x_988 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_987, x_4, x_5, x_6, x_7, x_963); +x_984 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_984, 0, x_948); +x_985 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9; +x_986 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_986, 0, x_985); +lean_ctor_set(x_986, 1, x_984); +x_987 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11; +x_988 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_988, 0, x_986); +lean_ctor_set(x_988, 1, x_987); +x_989 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_988, x_4, x_5, x_6, x_7, x_964); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_989 = !lean_is_exclusive(x_988); -if (x_989 == 0) +x_990 = !lean_is_exclusive(x_989); +if (x_990 == 0) { -return x_988; +return x_989; } else { -lean_object* x_990; lean_object* x_991; lean_object* x_992; -x_990 = lean_ctor_get(x_988, 0); -x_991 = lean_ctor_get(x_988, 1); +lean_object* x_991; lean_object* x_992; lean_object* x_993; +x_991 = lean_ctor_get(x_989, 0); +x_992 = lean_ctor_get(x_989, 1); +lean_inc(x_992); lean_inc(x_991); -lean_inc(x_990); -lean_dec(x_988); -x_992 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_992, 0, x_990); -lean_ctor_set(x_992, 1, x_991); -return x_992; +lean_dec(x_989); +x_993 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_993, 0, x_991); +lean_ctor_set(x_993, 1, x_992); +return x_993; } } else { -lean_object* x_993; lean_object* x_994; lean_object* x_995; -x_993 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_994 = lean_box(0); -x_995 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__50(x_1, x_978, x_993, x_959, x_955, x_953, x_947, x_10, x_960, x_994, x_4, x_5, x_6, x_7, x_963); -return x_995; +lean_object* x_994; lean_object* x_995; lean_object* x_996; +x_994 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; +x_995 = lean_box(0); +x_996 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__50(x_1, x_979, x_2, x_994, x_960, x_956, x_954, x_948, x_10, x_961, x_995, x_4, x_5, x_6, x_7, x_964); +return x_996; } } } @@ -22506,32 +22514,32 @@ return x_995; else { uint8_t x_1022; -lean_dec(x_959); -lean_dec(x_957); -lean_dec(x_955); +lean_dec(x_960); +lean_dec(x_958); +lean_dec(x_956); +lean_dec(x_954); lean_dec(x_953); lean_dec(x_952); -lean_dec(x_951); -lean_dec(x_947); +lean_dec(x_948); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_1022 = !lean_is_exclusive(x_961); +x_1022 = !lean_is_exclusive(x_962); if (x_1022 == 0) { -return x_961; +return x_962; } else { lean_object* x_1023; lean_object* x_1024; lean_object* x_1025; -x_1023 = lean_ctor_get(x_961, 0); -x_1024 = lean_ctor_get(x_961, 1); +x_1023 = lean_ctor_get(x_962, 0); +x_1024 = lean_ctor_get(x_962, 1); lean_inc(x_1024); lean_inc(x_1023); -lean_dec(x_961); +lean_dec(x_962); x_1025 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1025, 0, x_1023); lean_ctor_set(x_1025, 1, x_1024); @@ -22542,30 +22550,30 @@ return x_1025; else { uint8_t x_1026; -lean_dec(x_955); +lean_dec(x_956); +lean_dec(x_954); lean_dec(x_953); lean_dec(x_952); -lean_dec(x_951); -lean_dec(x_947); +lean_dec(x_948); lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_1026 = !lean_is_exclusive(x_956); +x_1026 = !lean_is_exclusive(x_957); if (x_1026 == 0) { -return x_956; +return x_957; } else { lean_object* x_1027; lean_object* x_1028; lean_object* x_1029; -x_1027 = lean_ctor_get(x_956, 0); -x_1028 = lean_ctor_get(x_956, 1); +x_1027 = lean_ctor_get(x_957, 0); +x_1028 = lean_ctor_get(x_957, 1); lean_inc(x_1028); lean_inc(x_1027); -lean_dec(x_956); +lean_dec(x_957); x_1029 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1029, 0, x_1027); lean_ctor_set(x_1029, 1, x_1028); @@ -22576,13 +22584,13 @@ return x_1029; else { lean_object* x_1030; lean_object* x_1031; lean_object* x_1032; lean_object* x_1033; +lean_dec(x_954); lean_dec(x_953); lean_dec(x_952); -lean_dec(x_951); -lean_dec(x_947); -x_1030 = lean_ctor_get(x_954, 0); +lean_dec(x_948); +x_1030 = lean_ctor_get(x_955, 0); lean_inc(x_1030); -lean_dec(x_954); +lean_dec(x_955); x_1031 = lean_box(0); x_1032 = l_Lean_mkConst(x_1030, x_1031); lean_inc(x_7); @@ -22590,25 +22598,27 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_1032); -x_1033 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_1032, x_4, x_5, x_6, x_7, x_950); +x_1033 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_1032, x_4, x_5, x_6, x_7, x_951); if (lean_obj_tag(x_1033) == 0) { -lean_object* x_1034; lean_object* x_1035; lean_object* x_1036; lean_object* x_1037; +lean_object* x_1034; lean_object* x_1035; lean_object* x_1036; lean_object* x_1037; lean_object* x_1038; x_1034 = lean_ctor_get(x_1033, 0); lean_inc(x_1034); x_1035 = lean_ctor_get(x_1033, 1); lean_inc(x_1035); lean_dec(x_1033); -x_1036 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___lambda__51___boxed), 10, 3); -lean_closure_set(x_1036, 0, x_10); -lean_closure_set(x_1036, 1, x_1); -lean_closure_set(x_1036, 2, x_1032); -x_1037 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(x_1034, x_1036, x_4, x_5, x_6, x_7, x_1035); -return x_1037; +x_1036 = lean_box(x_2); +x_1037 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__51___boxed), 11, 4); +lean_closure_set(x_1037, 0, x_10); +lean_closure_set(x_1037, 1, x_1); +lean_closure_set(x_1037, 2, x_1036); +lean_closure_set(x_1037, 3, x_1032); +x_1038 = l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserExpr___spec__1___rarg(x_1034, x_1037, x_4, x_5, x_6, x_7, x_1035); +return x_1038; } else { -uint8_t x_1038; +uint8_t x_1039; lean_dec(x_1032); lean_dec(x_10); lean_dec(x_7); @@ -22616,94 +22626,94 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_1038 = !lean_is_exclusive(x_1033); -if (x_1038 == 0) +x_1039 = !lean_is_exclusive(x_1033); +if (x_1039 == 0) { return x_1033; } else { -lean_object* x_1039; lean_object* x_1040; lean_object* x_1041; -x_1039 = lean_ctor_get(x_1033, 0); -x_1040 = lean_ctor_get(x_1033, 1); +lean_object* x_1040; lean_object* x_1041; lean_object* x_1042; +x_1040 = lean_ctor_get(x_1033, 0); +x_1041 = lean_ctor_get(x_1033, 1); +lean_inc(x_1041); lean_inc(x_1040); -lean_inc(x_1039); lean_dec(x_1033); -x_1041 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_1041, 0, x_1039); -lean_ctor_set(x_1041, 1, x_1040); -return x_1041; +x_1042 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_1042, 0, x_1040); +lean_ctor_set(x_1042, 1, x_1041); +return x_1042; } } } } else { -lean_object* x_1042; lean_object* x_1043; lean_object* x_1044; lean_object* x_1045; lean_object* x_1046; lean_object* x_1047; -lean_dec(x_946); +lean_object* x_1043; lean_object* x_1044; lean_object* x_1045; lean_object* x_1046; lean_object* x_1047; lean_object* x_1048; +lean_dec(x_947); lean_dec(x_1); -x_1042 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1042, 0, x_10); -x_1043 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__2; -x_1044 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_1044, 0, x_1043); -lean_ctor_set(x_1044, 1, x_1042); -x_1045 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_1046 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_1046, 0, x_1044); -lean_ctor_set(x_1046, 1, x_1045); -x_1047 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_1046, x_4, x_5, x_6, x_7, x_945); +x_1043 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1043, 0, x_10); +x_1044 = l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2; +x_1045 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_1045, 0, x_1044); +lean_ctor_set(x_1045, 1, x_1043); +x_1046 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_1047 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_1047, 0, x_1045); +lean_ctor_set(x_1047, 1, x_1046); +x_1048 = l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(x_1047, x_4, x_5, x_6, x_7, x_946); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_1047; +return x_1048; } } } } else { -uint8_t x_1048; +uint8_t x_1049; lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_1048 = !lean_is_exclusive(x_9); -if (x_1048 == 0) +x_1049 = !lean_is_exclusive(x_9); +if (x_1049 == 0) { return x_9; } else { -lean_object* x_1049; lean_object* x_1050; lean_object* x_1051; -x_1049 = lean_ctor_get(x_9, 0); -x_1050 = lean_ctor_get(x_9, 1); +lean_object* x_1050; lean_object* x_1051; lean_object* x_1052; +x_1050 = lean_ctor_get(x_9, 0); +x_1051 = lean_ctor_get(x_9, 1); +lean_inc(x_1051); lean_inc(x_1050); -lean_inc(x_1049); lean_dec(x_9); -x_1051 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_1051, 0, x_1049); -lean_ctor_set(x_1051, 1, x_1050); -return x_1051; +x_1052 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_1052, 0, x_1050); +lean_ctor_set(x_1052, 1, x_1051); +return x_1052; } } } } -lean_object* l_Lean_ParserCompiler_compileParserBody(lean_object* x_1) { +lean_object* l_Lean_ParserCompiler_compileParserExpr(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserBody___rarg___boxed), 8, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___boxed), 8, 0); return x_2; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -22714,7 +22724,7 @@ lean_dec(x_1); return x_10; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { size_t x_12; size_t x_13; lean_object* x_14; @@ -22722,12 +22732,12 @@ x_12 = lean_unbox_usize(x_4); lean_dec(x_4); x_13 = lean_unbox_usize(x_5); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__2___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__2___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); return x_14; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__3___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__3___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { size_t x_12; size_t x_13; lean_object* x_14; @@ -22735,16 +22745,16 @@ x_12 = lean_unbox_usize(x_4); lean_dec(x_4); x_13 = lean_unbox_usize(x_5); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__3___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__3___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); return x_14; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; -x_8 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); @@ -22752,22 +22762,24 @@ lean_dec(x_3); return x_8; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_14; -x_14 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_2); +lean_dec(x_2); +x_16 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -return x_14; +return x_16; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; -x_8 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); @@ -22776,18 +22788,20 @@ lean_dec(x_1); return x_8; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_13; -x_13 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_4); -lean_dec(x_3); +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_2); lean_dec(x_2); -return x_13; +x_15 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_15; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__6___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__6___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { size_t x_12; size_t x_13; lean_object* x_14; @@ -22795,12 +22809,12 @@ x_12 = lean_unbox_usize(x_4); lean_dec(x_4); x_13 = lean_unbox_usize(x_5); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__6___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__6___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); return x_14; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__7___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__7___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { size_t x_12; size_t x_13; lean_object* x_14; @@ -22808,82 +22822,38 @@ x_12 = lean_unbox_usize(x_4); lean_dec(x_4); x_13 = lean_unbox_usize(x_5); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__7___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__7___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); return x_14; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__8___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__8___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_14; -x_14 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__8___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__9___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; -x_13 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__9___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_4); -lean_dec(x_3); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_2); lean_dec(x_2); -return x_13; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__10___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__10___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__11___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__11___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__12___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; -x_14 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__12___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_16 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__8___rarg(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -return x_14; +return x_16; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__13___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__9___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_13; -x_13 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__13___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_4); -lean_dec(x_3); +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_2); lean_dec(x_2); -return x_13; +x_15 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__9___rarg(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_15; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__14___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__10___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { size_t x_12; size_t x_13; lean_object* x_14; @@ -22891,12 +22861,12 @@ x_12 = lean_unbox_usize(x_4); lean_dec(x_4); x_13 = lean_unbox_usize(x_5); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__14___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__10___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); return x_14; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__15___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__11___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { size_t x_12; size_t x_13; lean_object* x_14; @@ -22904,93 +22874,153 @@ x_12 = lean_unbox_usize(x_4); lean_dec(x_4); x_13 = lean_unbox_usize(x_5); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__15___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__11___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); return x_14; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__16___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__12___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_14; -x_14 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__16___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__17___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; -x_13 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__17___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_4); -lean_dec(x_3); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_2); lean_dec(x_2); -return x_13; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__18___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__18___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__19___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__19___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__20___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; -x_14 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__20___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_16 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__12___rarg(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -return x_14; +return x_16; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__21___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__13___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_13; -x_13 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__21___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_4); -lean_dec(x_3); +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_2); lean_dec(x_2); -return x_13; +x_15 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__13___rarg(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_15; } } -lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserBody___spec__22___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__14___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__14___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__15___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__15___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__16___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_2); +lean_dec(x_2); +x_16 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__16___rarg(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_16; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__17___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_2); +lean_dec(x_2); +x_15 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__17___rarg(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_15; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__18___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__18___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__19___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__19___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__20___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_2); +lean_dec(x_2); +x_16 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__20___rarg(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_16; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__21___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_2); +lean_dec(x_2); +x_15 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__21___rarg(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_15; +} +} +lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserExpr___spec__22___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; -x_8 = l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserBody___spec__22(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserExpr___spec__22(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); return x_8; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__24___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__24___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { size_t x_12; size_t x_13; lean_object* x_14; @@ -22998,12 +23028,12 @@ x_12 = lean_unbox_usize(x_4); lean_dec(x_4); x_13 = lean_unbox_usize(x_5); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__24___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__24___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); return x_14; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__25___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__25___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { size_t x_12; size_t x_13; lean_object* x_14; @@ -23011,626 +23041,816 @@ x_12 = lean_unbox_usize(x_4); lean_dec(x_4); x_13 = lean_unbox_usize(x_5); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__25___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__25___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); return x_14; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__26___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__26___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_14; -x_14 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__26___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__27___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; -x_13 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__27___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_4); -lean_dec(x_3); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_2); lean_dec(x_2); +x_16 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__26___rarg(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_16; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__27___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_2); +lean_dec(x_2); +x_15 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__27___rarg(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_15; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__28___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__28___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__29___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__29___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__30___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_2); +lean_dec(x_2); +x_16 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__30___rarg(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_16; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__31___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_2); +lean_dec(x_2); +x_15 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__31___rarg(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_15; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__32___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__32___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__33___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__33___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__34___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_2); +lean_dec(x_2); +x_16 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__34___rarg(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_16; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__35___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_2); +lean_dec(x_2); +x_15 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__35___rarg(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_15; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__36___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__36___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__37___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__37___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__38___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_2); +lean_dec(x_2); +x_16 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__38___rarg(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_16; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__39___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_2); +lean_dec(x_2); +x_15 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__39___rarg(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_15; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__40___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__40___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__41___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_13 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserExpr___spec__41___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__42___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_2); +lean_dec(x_2); +x_16 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__42___rarg(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_16; +} +} +lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__43___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_2); +lean_dec(x_2); +x_15 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__43___rarg(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_15; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_4); +lean_dec(x_3); +return x_10; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_3); +lean_dec(x_3); +x_14 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__2(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); +lean_dec(x_6); +return x_14; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_7); +lean_dec(x_7); +x_16 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_16; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +uint8_t x_17; lean_object* x_18; +x_17 = lean_unbox(x_3); +lean_dec(x_3); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__4(x_1, x_2, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_11); +return x_18; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); +lean_dec(x_3); +x_13 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__5(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); +lean_dec(x_5); return x_13; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__28___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); +lean_object* x_10; +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__28___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); +return x_10; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_3); +lean_dec(x_3); +x_14 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__7(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); +lean_dec(x_6); return x_14; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__29___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_7); +lean_dec(x_7); +x_16 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__8(x_1, x_2, x_3, x_4, x_5, x_6, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_16; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +uint8_t x_17; lean_object* x_18; +x_17 = lean_unbox(x_3); +lean_dec(x_3); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__9(x_1, x_2, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_11); +return x_18; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); +lean_dec(x_3); +x_13 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__10(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__29___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__30___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; -x_14 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__30___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__31___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; -x_13 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__31___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); return x_13; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__32___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); +lean_object* x_10; +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__32___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); +return x_10; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_3); +lean_dec(x_3); +x_14 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__12(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); +lean_dec(x_6); return x_14; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__33___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_7); +lean_dec(x_7); +x_16 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__13(x_1, x_2, x_3, x_4, x_5, x_6, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_16; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +uint8_t x_17; lean_object* x_18; +x_17 = lean_unbox(x_3); +lean_dec(x_3); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__14(x_1, x_2, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_11); +return x_18; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__15___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); +lean_dec(x_3); +x_13 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__15(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__33___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__34___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; -x_14 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__34___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__35___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; -x_13 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__35___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); return x_13; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__36___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__16___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); +lean_object* x_10; +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__16(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__36___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); +return x_10; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__17___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_3); +lean_dec(x_3); +x_14 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__17(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); +lean_dec(x_6); return x_14; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__37___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__18___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_7); +lean_dec(x_7); +x_16 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__18(x_1, x_2, x_3, x_4, x_5, x_6, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_16; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__19___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +uint8_t x_17; lean_object* x_18; +x_17 = lean_unbox(x_3); +lean_dec(x_3); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__19(x_1, x_2, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_11); +return x_18; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__20___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); +lean_dec(x_3); +x_13 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__20(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__37___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__38___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; -x_14 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__38___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__39___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; -x_13 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__39___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); return x_13; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__40___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); +lean_object* x_10; +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__21(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__40___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); +return x_10; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__22___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_3); +lean_dec(x_3); +x_14 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__22(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); +lean_dec(x_6); return x_14; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__41___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__23___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_13 = lean_unbox_usize(x_5); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_7); +lean_dec(x_7); +x_16 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__23(x_1, x_2, x_3, x_4, x_5, x_6, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_16; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__24___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +uint8_t x_17; lean_object* x_18; +x_17 = lean_unbox(x_3); +lean_dec(x_3); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__24(x_1, x_2, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_11); +return x_18; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__25___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); +lean_dec(x_3); +x_13 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__25(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); lean_dec(x_5); -x_14 = l_Array_foldrMUnsafe_fold___at_Lean_ParserCompiler_compileParserBody___spec__41___rarg(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__42___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; -x_14 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__42___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_14; -} -} -lean_object* l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__43___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; -x_13 = l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__43___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); return x_13; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__26___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +uint8_t x_10; lean_object* x_11; +x_10 = lean_unbox(x_2); +lean_dec(x_2); +x_11 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__26(x_1, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_11; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__27___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__27(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_4); lean_dec(x_3); return x_10; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__28___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_12; -x_12 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_3); +lean_dec(x_3); +x_14 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__28(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -return x_12; +return x_14; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__29___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_16; -x_16 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_10); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_7); +lean_dec(x_7); +x_16 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__29(x_1, x_2, x_3, x_4, x_5, x_6, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); return x_16; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__30___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_11; -x_11 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +uint8_t x_17; lean_object* x_18; +x_17 = lean_unbox(x_3); +lean_dec(x_3); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__30(x_1, x_2, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_11); +return x_18; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__31___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); +lean_dec(x_3); +x_13 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__31(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); -return x_11; +return x_13; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__32___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__32(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_4); lean_dec(x_3); return x_10; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__33___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_12; -x_12 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_3); +lean_dec(x_3); +x_14 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__33(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -return x_12; +return x_14; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__34___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_16; -x_16 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_10); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_7); +lean_dec(x_7); +x_16 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__34(x_1, x_2, x_3, x_4, x_5, x_6, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); return x_16; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__35___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_11; -x_11 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__10(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +uint8_t x_17; lean_object* x_18; +x_17 = lean_unbox(x_3); +lean_dec(x_3); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__35(x_1, x_2, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_11); +return x_18; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__36___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); +lean_dec(x_3); +x_13 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__36(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); -return x_11; +return x_13; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__37___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__37(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_4); lean_dec(x_3); return x_10; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__38___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_12; -x_12 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__12(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_3); +lean_dec(x_3); +x_14 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__38(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -return x_12; +return x_14; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__39___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_16; -x_16 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__14(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_10); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_7); +lean_dec(x_7); +x_16 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__39(x_1, x_2, x_3, x_4, x_5, x_6, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); return x_16; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__15___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__40___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_11; -x_11 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__15(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +uint8_t x_17; lean_object* x_18; +x_17 = lean_unbox(x_3); +lean_dec(x_3); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__40(x_1, x_2, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_11); +return x_18; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__41___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); +lean_dec(x_3); +x_13 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__41(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); -return x_11; +return x_13; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__16___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__42___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__16(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__42(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_4); lean_dec(x_3); return x_10; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__17___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__43___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_12; -x_12 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__17(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_3); +lean_dec(x_3); +x_14 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__43(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -return x_12; +return x_14; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__19___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__44___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_16; -x_16 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__19(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_10); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_7); +lean_dec(x_7); +x_16 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__44(x_1, x_2, x_3, x_4, x_5, x_6, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); return x_16; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__20___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__45___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_11; -x_11 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__20(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +uint8_t x_17; lean_object* x_18; +x_17 = lean_unbox(x_3); +lean_dec(x_3); +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__45(x_1, x_2, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_11); +return x_18; +} +} +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__46___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); +lean_dec(x_3); +x_13 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__46(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); -return x_11; +return x_13; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__47___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__21(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__47(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_4); lean_dec(x_3); return x_10; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__22___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__48___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_12; -x_12 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__22(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_6); -lean_dec(x_5); -return x_12; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__24___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; -x_16 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__24(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_10); -return x_16; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__25___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; -x_11 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__25(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_5); -lean_dec(x_4); -return x_11; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__27___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__27(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_4); +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_3); lean_dec(x_3); -return x_10; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__28___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; -x_12 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__28(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__48(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -return x_12; +return x_14; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__30___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__49___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_16; -x_16 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__30(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_10); +uint8_t x_15; lean_object* x_16; +x_15 = lean_unbox(x_7); +lean_dec(x_7); +x_16 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__49(x_1, x_2, x_3, x_4, x_5, x_6, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); return x_16; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__31___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__50___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_11; -x_11 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__31(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_5); -lean_dec(x_4); -return x_11; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__32___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__32(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_4); +uint8_t x_17; lean_object* x_18; +x_17 = lean_unbox(x_3); lean_dec(x_3); -return x_10; +x_18 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__50(x_1, x_2, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_11); +return x_18; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__33___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__51___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_12; -x_12 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__33(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_6); -lean_dec(x_5); -return x_12; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__35___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; -x_16 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__35(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_10); -return x_16; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__36___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; -x_11 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__36(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_5); -lean_dec(x_4); -return x_11; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__37___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__37(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_4); +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); lean_dec(x_3); -return x_10; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__38___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; -x_12 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__38(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_13 = l_Lean_ParserCompiler_compileParserExpr___rarg___lambda__51(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_6); lean_dec(x_5); -return x_12; +return x_13; } } -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__40___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; -x_16 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__40(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_10); -return x_16; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__41___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; -x_11 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__41(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_5); -lean_dec(x_4); -return x_11; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__42___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__42(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_4); -lean_dec(x_3); -return x_10; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__43___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; -x_12 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__43(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_6); -lean_dec(x_5); -return x_12; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__45___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; -x_16 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__45(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_10); -return x_16; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__46___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; -x_11 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__46(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_5); -lean_dec(x_4); -return x_11; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__47___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__47(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_4); -lean_dec(x_3); -return x_10; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__48___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; -x_12 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__48(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_6); -lean_dec(x_5); -return x_12; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__50___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; -x_16 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__50(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_10); -return x_16; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__51___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; -x_11 = l_Lean_ParserCompiler_compileParserBody___rarg___lambda__51(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_5); -lean_dec(x_4); -return x_11; -} -} -lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_ParserCompiler_compileParserExpr___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { uint8_t x_9; lean_object* x_10; -x_9 = lean_unbox(x_3); -lean_dec(x_3); -x_10 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_2, x_9, x_4, x_5, x_6, x_7, x_8); +x_9 = lean_unbox(x_2); +lean_dec(x_2); +x_10 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_9, x_3, x_4, x_5, x_6, x_7, x_8); return x_10; } } -lean_object* l_Lean_ParserCompiler_compileParser_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_ParserCompiler_compileCategoryParser_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 4) @@ -23656,15 +23876,15 @@ return x_9; } } } -lean_object* l_Lean_ParserCompiler_compileParser_match__1(lean_object* x_1) { +lean_object* l_Lean_ParserCompiler_compileCategoryParser_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParser_match__1___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileCategoryParser_match__1___rarg), 3, 0); return x_2; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParser___rarg___closed__1() { +static lean_object* _init_l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__1() { _start: { lean_object* x_1; @@ -23673,17 +23893,17 @@ lean_closure_set(x_1, 0, lean_box(0)); return x_1; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParser___rarg___closed__2() { +static lean_object* _init_l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_ParserCompiler_compileParser___rarg___closed__1; +x_1 = l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__1; x_2 = lean_alloc_closure((void*)(l_Init_Control_Reader___instance__1___rarg___boxed), 2, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParser___rarg___closed__3() { +static lean_object* _init_l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__3() { _start: { lean_object* x_1; @@ -23691,47 +23911,48 @@ x_1 = lean_mk_string("Lean.ParserCompiler"); return x_1; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParser___rarg___closed__4() { +static lean_object* _init_l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__4() { _start: { lean_object* x_1; -x_1 = lean_mk_string("Lean.ParserCompiler.compileParser"); +x_1 = lean_mk_string("Lean.ParserCompiler.compileCategoryParser"); return x_1; } } -static lean_object* _init_l_Lean_ParserCompiler_compileParser___rarg___closed__5() { +static lean_object* _init_l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_ParserCompiler_compileParser___rarg___closed__3; -x_2 = l_Lean_ParserCompiler_compileParser___rarg___closed__4; -x_3 = lean_unsigned_to_nat(108u); +x_1 = l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__3; +x_2 = l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__4; +x_3 = lean_unsigned_to_nat(110u); x_4 = lean_unsigned_to_nat(6u); x_5 = l___private_Init_LeanInit_0__Lean_eraseMacroScopesAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -lean_object* l_Lean_ParserCompiler_compileParser___rarg(lean_object* x_1, lean_object* x_2, uint8_t x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_ParserCompiler_compileCategoryParser___rarg(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_9 = lean_box(0); +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; +x_8 = lean_box(0); lean_inc(x_2); -x_10 = l_Lean_mkConst(x_2, x_9); -x_11 = l_Lean_Meta_Lean_Meta_Basic___instance__11___rarg___closed__2; -x_12 = lean_st_mk_ref(x_11, x_8); -x_13 = lean_ctor_get(x_12, 0); +x_9 = l_Lean_mkConst(x_2, x_8); +x_10 = l_Lean_Meta_Lean_Meta_Basic___instance__11___rarg___closed__2; +x_11 = lean_st_mk_ref(x_10, x_7); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); +lean_dec(x_11); +x_14 = 0; x_15 = l_Lean_Meta_Lean_Meta_Basic___instance__11___rarg___closed__1; -lean_inc(x_7); lean_inc(x_6); -lean_inc(x_13); +lean_inc(x_5); +lean_inc(x_12); lean_inc(x_1); -x_16 = l_Lean_ParserCompiler_compileParserBody___rarg(x_1, x_10, x_4, x_15, x_13, x_6, x_7, x_14); +x_16 = l_Lean_ParserCompiler_compileParserExpr___rarg(x_1, x_14, x_9, x_15, x_12, x_5, x_6, x_13); if (lean_obj_tag(x_16) == 0) { lean_object* x_17; lean_object* x_18; lean_object* x_19; @@ -23740,8 +23961,8 @@ lean_inc(x_17); x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); lean_dec(x_16); -x_19 = lean_st_ref_get(x_13, x_18); -lean_dec(x_13); +x_19 = lean_st_ref_get(x_12, x_18); +lean_dec(x_12); if (lean_obj_tag(x_17) == 4) { lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; @@ -23771,901 +23992,1130 @@ x_29 = lean_ctor_get(x_28, 1); lean_inc(x_29); lean_dec(x_28); x_30 = 1; -x_31 = l_Lean_addAttribute(x_21, x_29, x_26, x_30, x_5, x_6, x_7, x_20); -if (lean_obj_tag(x_31) == 0) -{ +x_31 = l_Lean_addAttribute(x_21, x_29, x_26, x_30, x_4, x_5, x_6, x_20); return x_31; } else { -uint8_t x_32; -x_32 = !lean_is_exclusive(x_31); -if (x_32 == 0) -{ -lean_object* x_33; lean_object* x_34; -x_33 = lean_ctor_get(x_31, 0); -lean_dec(x_33); -x_34 = lean_box(0); -lean_ctor_set_tag(x_31, 0); -lean_ctor_set(x_31, 0, x_34); -return x_31; -} -else -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_31, 1); -lean_inc(x_35); -lean_dec(x_31); -x_36 = lean_box(0); -x_37 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_37, 1, x_35); -return x_37; -} -} -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; -x_38 = lean_ctor_get(x_1, 1); -lean_inc(x_38); +lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; +x_32 = lean_ctor_get(x_1, 1); +lean_inc(x_32); lean_dec(x_1); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -lean_dec(x_38); -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); -lean_dec(x_39); -x_41 = 1; -x_42 = l_Lean_addAttribute(x_21, x_40, x_26, x_41, x_5, x_6, x_7, x_20); -if (lean_obj_tag(x_42) == 0) -{ -return x_42; -} -else -{ -uint8_t x_43; -x_43 = !lean_is_exclusive(x_42); -if (x_43 == 0) -{ -lean_object* x_44; lean_object* x_45; -x_44 = lean_ctor_get(x_42, 0); -lean_dec(x_44); -x_45 = lean_box(0); -lean_ctor_set_tag(x_42, 0); -lean_ctor_set(x_42, 0, x_45); -return x_42; -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_42, 1); -lean_inc(x_46); -lean_dec(x_42); -x_47 = lean_box(0); -x_48 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_48, 0, x_47); -lean_ctor_set(x_48, 1, x_46); -return x_48; -} -} +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +lean_dec(x_32); +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +lean_dec(x_33); +x_35 = 1; +x_36 = l_Lean_addAttribute(x_21, x_34, x_26, x_35, x_4, x_5, x_6, x_20); +return x_36; } } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_dec(x_17); lean_dec(x_2); lean_dec(x_1); -x_49 = lean_ctor_get(x_19, 1); -lean_inc(x_49); +x_37 = lean_ctor_get(x_19, 1); +lean_inc(x_37); lean_dec(x_19); -x_50 = l_Lean_ParserCompiler_compileParser___rarg___closed__2; -x_51 = l_Lean_ParserCompiler_compileParser___rarg___closed__5; -x_52 = lean_panic_fn(x_50, x_51); -x_53 = lean_apply_4(x_52, x_5, x_6, x_7, x_49); -return x_53; +x_38 = l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__2; +x_39 = l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__5; +x_40 = lean_panic_fn(x_38, x_39); +x_41 = lean_apply_4(x_40, x_4, x_5, x_6, x_37); +return x_41; } } else { -uint8_t x_54; -lean_dec(x_13); -lean_dec(x_7); +uint8_t x_42; +lean_dec(x_12); lean_dec(x_6); lean_dec(x_5); +lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_54 = !lean_is_exclusive(x_16); -if (x_54 == 0) +x_42 = !lean_is_exclusive(x_16); +if (x_42 == 0) { return x_16; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = lean_ctor_get(x_16, 0); -x_56 = lean_ctor_get(x_16, 1); -lean_inc(x_56); -lean_inc(x_55); -lean_dec(x_16); -x_57 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_57, 0, x_55); -lean_ctor_set(x_57, 1, x_56); -return x_57; -} -} -} -} -lean_object* l_Lean_ParserCompiler_compileParser(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParser___rarg___boxed), 8, 0); -return x_2; -} -} -lean_object* l_Lean_ParserCompiler_compileParser___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -uint8_t x_9; uint8_t x_10; lean_object* x_11; -x_9 = lean_unbox(x_3); -lean_dec(x_3); -x_10 = lean_unbox(x_4); -lean_dec(x_4); -x_11 = l_Lean_ParserCompiler_compileParser___rarg(x_1, x_2, x_9, x_10, x_5, x_6, x_7, x_8); -return x_11; -} -} -lean_object* l_Lean_ParserCompiler_interpretParser_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; -lean_dec(x_2); -x_4 = lean_apply_1(x_3, x_1); -return x_4; -} -else -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; -lean_dec(x_3); -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -x_6 = lean_ctor_get(x_1, 1); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_2(x_2, x_5, x_6); -return x_7; -} -} -} -lean_object* l_Lean_ParserCompiler_interpretParser_match__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_interpretParser_match__1___rarg), 3, 0); -return x_3; -} -} -lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_interpretParser___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -x_7 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_7, 0, x_6); -x_8 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_8, 0, x_7); -x_9 = l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(x_8, x_2, x_3, x_4, x_5); -return x_9; -} -else -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_ctor_get(x_1, 0); -lean_inc(x_10); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_5); -return x_11; -} -} -} -lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_interpretParser___spec__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_ofExcept___at_Lean_ParserCompiler_interpretParser___spec__2___rarg___boxed), 5, 0); -return x_2; -} -} -lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_6 = lean_st_ref_get(x_4, x_5); -x_7 = lean_ctor_get(x_6, 0); -lean_inc(x_7); -x_8 = lean_ctor_get(x_6, 1); -lean_inc(x_8); -lean_dec(x_6); -x_9 = lean_ctor_get(x_7, 0); -lean_inc(x_9); -lean_dec(x_7); -x_10 = lean_ctor_get(x_3, 0); -x_11 = lean_eval_const(x_9, x_10, x_1); -lean_dec(x_9); -x_12 = l_Lean_ofExcept___at_Lean_ParserCompiler_interpretParser___spec__2___rarg(x_11, x_2, x_3, x_4, x_8); -lean_dec(x_11); -return x_12; -} -} -lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg___boxed), 5, 0); -return x_2; -} -} -lean_object* l_Lean_ParserCompiler_interpretParser___rarg(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -lean_inc(x_2); -x_8 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_2, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); -lean_inc(x_10); -lean_dec(x_8); -x_11 = lean_st_ref_get(x_6, x_10); -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -x_13 = lean_ctor_get(x_11, 0); -x_14 = lean_ctor_get(x_11, 1); -x_15 = lean_ctor_get(x_13, 0); -lean_inc(x_15); -lean_dec(x_13); -x_16 = l_Lean_ConstantInfo_type(x_9); -lean_dec(x_9); -x_17 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; -x_18 = l_Lean_Expr_isConstOf(x_16, x_17); -if (x_18 == 0) -{ -lean_object* x_19; uint8_t x_20; -x_19 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_20 = l_Lean_Expr_isConstOf(x_16, x_19); -lean_dec(x_16); -if (x_20 == 0) -{ -lean_object* x_21; -lean_dec(x_15); -lean_free_object(x_11); -x_21 = l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg(x_2, x_4, x_5, x_6, x_14); -lean_dec(x_2); -if (lean_obj_tag(x_21) == 0) -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_ctor_get(x_1, 3); -lean_inc(x_24); -lean_dec(x_1); -x_25 = lean_apply_5(x_24, x_22, x_4, x_5, x_6, x_23); -return x_25; -} -else -{ -uint8_t x_26; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -x_26 = !lean_is_exclusive(x_21); -if (x_26 == 0) -{ -return x_21; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_21, 0); -x_28 = lean_ctor_get(x_21, 1); -lean_inc(x_28); -lean_inc(x_27); -lean_dec(x_21); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} -} -else -{ -lean_object* x_30; lean_object* x_31; -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -x_31 = l_Lean_KeyedDeclsAttribute_getValues___rarg(x_30, x_15, x_2); -lean_dec(x_15); -lean_dec(x_30); -if (lean_obj_tag(x_31) == 0) -{ -uint8_t x_32; lean_object* x_33; -lean_free_object(x_11); -x_32 = 0; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_2); -lean_inc(x_1); -x_33 = l_Lean_ParserCompiler_compileParser___rarg(x_1, x_2, x_32, x_3, x_4, x_5, x_6, x_14); -if (lean_obj_tag(x_33) == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_34 = lean_ctor_get(x_33, 1); -lean_inc(x_34); -lean_dec(x_33); -x_35 = lean_ctor_get(x_1, 0); -lean_inc(x_35); -lean_dec(x_1); -x_36 = l_Lean_Name_append(x_2, x_35); -lean_dec(x_2); -x_37 = l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg(x_36, x_4, x_5, x_6, x_34); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_36); -return x_37; -} -else -{ -uint8_t x_38; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_38 = !lean_is_exclusive(x_33); -if (x_38 == 0) -{ -return x_33; -} -else -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_33, 0); -x_40 = lean_ctor_get(x_33, 1); -lean_inc(x_40); -lean_inc(x_39); -lean_dec(x_33); -x_41 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_41, 0, x_39); -lean_ctor_set(x_41, 1, x_40); -return x_41; -} -} -} -else -{ -lean_object* x_42; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_42 = lean_ctor_get(x_31, 0); -lean_inc(x_42); -lean_dec(x_31); -lean_ctor_set(x_11, 0, x_42); -return x_11; -} -} -} -else -{ -lean_object* x_43; lean_object* x_44; -lean_dec(x_16); -x_43 = lean_ctor_get(x_1, 1); +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_16, 0); +x_44 = lean_ctor_get(x_16, 1); +lean_inc(x_44); lean_inc(x_43); -x_44 = l_Lean_KeyedDeclsAttribute_getValues___rarg(x_43, x_15, x_2); -lean_dec(x_15); -lean_dec(x_43); -if (lean_obj_tag(x_44) == 0) -{ -uint8_t x_45; lean_object* x_46; -lean_free_object(x_11); -x_45 = 0; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_2); -lean_inc(x_1); -x_46 = l_Lean_ParserCompiler_compileParser___rarg(x_1, x_2, x_45, x_3, x_4, x_5, x_6, x_14); -if (lean_obj_tag(x_46) == 0) -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; -x_47 = lean_ctor_get(x_46, 1); -lean_inc(x_47); -lean_dec(x_46); -x_48 = lean_ctor_get(x_1, 0); -lean_inc(x_48); -lean_dec(x_1); -x_49 = l_Lean_Name_append(x_2, x_48); -lean_dec(x_2); -x_50 = l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg(x_49, x_4, x_5, x_6, x_47); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_49); -return x_50; -} -else -{ -uint8_t x_51; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_51 = !lean_is_exclusive(x_46); -if (x_51 == 0) -{ -return x_46; -} -else -{ -lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_52 = lean_ctor_get(x_46, 0); -x_53 = lean_ctor_get(x_46, 1); -lean_inc(x_53); -lean_inc(x_52); -lean_dec(x_46); -x_54 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_54, 0, x_52); -lean_ctor_set(x_54, 1, x_53); -return x_54; -} -} -} -else -{ -lean_object* x_55; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_55 = lean_ctor_get(x_44, 0); -lean_inc(x_55); -lean_dec(x_44); -lean_ctor_set(x_11, 0, x_55); -return x_11; -} -} -} -else -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; -x_56 = lean_ctor_get(x_11, 0); -x_57 = lean_ctor_get(x_11, 1); -lean_inc(x_57); -lean_inc(x_56); -lean_dec(x_11); -x_58 = lean_ctor_get(x_56, 0); -lean_inc(x_58); -lean_dec(x_56); -x_59 = l_Lean_ConstantInfo_type(x_9); -lean_dec(x_9); -x_60 = l_Lean_ParserCompiler_compileParserBody___rarg___closed__3; -x_61 = l_Lean_Expr_isConstOf(x_59, x_60); -if (x_61 == 0) -{ -lean_object* x_62; uint8_t x_63; -x_62 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1; -x_63 = l_Lean_Expr_isConstOf(x_59, x_62); -lean_dec(x_59); -if (x_63 == 0) -{ -lean_object* x_64; -lean_dec(x_58); -x_64 = l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg(x_2, x_4, x_5, x_6, x_57); -lean_dec(x_2); -if (lean_obj_tag(x_64) == 0) -{ -lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_65 = lean_ctor_get(x_64, 0); -lean_inc(x_65); -x_66 = lean_ctor_get(x_64, 1); -lean_inc(x_66); -lean_dec(x_64); -x_67 = lean_ctor_get(x_1, 3); -lean_inc(x_67); -lean_dec(x_1); -x_68 = lean_apply_5(x_67, x_65, x_4, x_5, x_6, x_66); -return x_68; -} -else -{ -lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -x_69 = lean_ctor_get(x_64, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_64, 1); -lean_inc(x_70); -if (lean_is_exclusive(x_64)) { - lean_ctor_release(x_64, 0); - lean_ctor_release(x_64, 1); - x_71 = x_64; -} else { - lean_dec_ref(x_64); - x_71 = lean_box(0); -} -if (lean_is_scalar(x_71)) { - x_72 = lean_alloc_ctor(1, 2, 0); -} else { - x_72 = x_71; -} -lean_ctor_set(x_72, 0, x_69); -lean_ctor_set(x_72, 1, x_70); -return x_72; -} -} -else -{ -lean_object* x_73; lean_object* x_74; -x_73 = lean_ctor_get(x_1, 1); -lean_inc(x_73); -x_74 = l_Lean_KeyedDeclsAttribute_getValues___rarg(x_73, x_58, x_2); -lean_dec(x_58); -lean_dec(x_73); -if (lean_obj_tag(x_74) == 0) -{ -uint8_t x_75; lean_object* x_76; -x_75 = 0; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_2); -lean_inc(x_1); -x_76 = l_Lean_ParserCompiler_compileParser___rarg(x_1, x_2, x_75, x_3, x_4, x_5, x_6, x_57); -if (lean_obj_tag(x_76) == 0) -{ -lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; -x_77 = lean_ctor_get(x_76, 1); -lean_inc(x_77); -lean_dec(x_76); -x_78 = lean_ctor_get(x_1, 0); -lean_inc(x_78); -lean_dec(x_1); -x_79 = l_Lean_Name_append(x_2, x_78); -lean_dec(x_2); -x_80 = l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg(x_79, x_4, x_5, x_6, x_77); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_79); -return x_80; -} -else -{ -lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_81 = lean_ctor_get(x_76, 0); -lean_inc(x_81); -x_82 = lean_ctor_get(x_76, 1); -lean_inc(x_82); -if (lean_is_exclusive(x_76)) { - lean_ctor_release(x_76, 0); - lean_ctor_release(x_76, 1); - x_83 = x_76; -} else { - lean_dec_ref(x_76); - x_83 = lean_box(0); -} -if (lean_is_scalar(x_83)) { - x_84 = lean_alloc_ctor(1, 2, 0); -} else { - x_84 = x_83; -} -lean_ctor_set(x_84, 0, x_81); -lean_ctor_set(x_84, 1, x_82); -return x_84; -} -} -else -{ -lean_object* x_85; lean_object* x_86; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_85 = lean_ctor_get(x_74, 0); -lean_inc(x_85); -lean_dec(x_74); -x_86 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_86, 0, x_85); -lean_ctor_set(x_86, 1, x_57); -return x_86; -} -} -} -else -{ -lean_object* x_87; lean_object* x_88; -lean_dec(x_59); -x_87 = lean_ctor_get(x_1, 1); -lean_inc(x_87); -x_88 = l_Lean_KeyedDeclsAttribute_getValues___rarg(x_87, x_58, x_2); -lean_dec(x_58); -lean_dec(x_87); -if (lean_obj_tag(x_88) == 0) -{ -uint8_t x_89; lean_object* x_90; -x_89 = 0; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_2); -lean_inc(x_1); -x_90 = l_Lean_ParserCompiler_compileParser___rarg(x_1, x_2, x_89, x_3, x_4, x_5, x_6, x_57); -if (lean_obj_tag(x_90) == 0) -{ -lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_91 = lean_ctor_get(x_90, 1); -lean_inc(x_91); -lean_dec(x_90); -x_92 = lean_ctor_get(x_1, 0); -lean_inc(x_92); -lean_dec(x_1); -x_93 = l_Lean_Name_append(x_2, x_92); -lean_dec(x_2); -x_94 = l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg(x_93, x_4, x_5, x_6, x_91); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_93); -return x_94; -} -else -{ -lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_95 = lean_ctor_get(x_90, 0); -lean_inc(x_95); -x_96 = lean_ctor_get(x_90, 1); -lean_inc(x_96); -if (lean_is_exclusive(x_90)) { - lean_ctor_release(x_90, 0); - lean_ctor_release(x_90, 1); - x_97 = x_90; -} else { - lean_dec_ref(x_90); - x_97 = lean_box(0); -} -if (lean_is_scalar(x_97)) { - x_98 = lean_alloc_ctor(1, 2, 0); -} else { - x_98 = x_97; -} -lean_ctor_set(x_98, 0, x_95); -lean_ctor_set(x_98, 1, x_96); -return x_98; -} -} -else -{ -lean_object* x_99; lean_object* x_100; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_99 = lean_ctor_get(x_88, 0); -lean_inc(x_99); -lean_dec(x_88); -x_100 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_100, 0, x_99); -lean_ctor_set(x_100, 1, x_57); -return x_100; +lean_dec(x_16); +x_45 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +return x_45; } } } } -else -{ -uint8_t x_101; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_101 = !lean_is_exclusive(x_8); -if (x_101 == 0) -{ -return x_8; -} -else -{ -lean_object* x_102; lean_object* x_103; lean_object* x_104; -x_102 = lean_ctor_get(x_8, 0); -x_103 = lean_ctor_get(x_8, 1); -lean_inc(x_103); -lean_inc(x_102); -lean_dec(x_8); -x_104 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_104, 0, x_102); -lean_ctor_set(x_104, 1, x_103); -return x_104; -} -} -} -} -lean_object* l_Lean_ParserCompiler_interpretParser(lean_object* x_1) { +lean_object* l_Lean_ParserCompiler_compileCategoryParser(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_interpretParser___rarg___boxed), 7, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileCategoryParser___rarg___boxed), 7, 0); return x_2; } } -lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_interpretParser___spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; -x_6 = l_Lean_ofExcept___at_Lean_ParserCompiler_interpretParser___spec__2___rarg(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_6; -} -} -lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; -x_6 = l_Lean_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1___rarg(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_6; -} -} -lean_object* l_Lean_ParserCompiler_interpretParser___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_ParserCompiler_compileCategoryParser___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; lean_object* x_9; x_8 = lean_unbox(x_3); lean_dec(x_3); -x_9 = l_Lean_ParserCompiler_interpretParser___rarg(x_1, x_2, x_8, x_4, x_5, x_6, x_7); +x_9 = l_Lean_ParserCompiler_compileCategoryParser___rarg(x_1, x_2, x_8, x_4, x_5, x_6, x_7); return x_9; } } -lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_ParserCompiler_compileEmbeddedParsers_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24, lean_object* x_25, lean_object* x_26) { _start: { -uint8_t x_4; -x_4 = !lean_is_exclusive(x_3); -if (x_4 == 0) +switch (lean_obj_tag(x_1)) { +case 0: { -lean_object* x_5; lean_object* x_6; -x_5 = lean_ctor_get(x_3, 1); -x_6 = l_Lean_KeyedDeclsAttribute_Table_insert___rarg(x_5, x_1, x_2); -lean_ctor_set(x_3, 1, x_6); -return x_3; -} -else -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_7 = lean_ctor_get(x_3, 0); -x_8 = lean_ctor_get(x_3, 1); -lean_inc(x_8); -lean_inc(x_7); -lean_dec(x_3); -x_9 = l_Lean_KeyedDeclsAttribute_Table_insert___rarg(x_8, x_1, x_2); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_7); -lean_ctor_set(x_10, 1, x_9); -return x_10; -} -} -} -lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -if (x_4 == 0) -{ -uint8_t x_9; lean_object* x_10; -x_9 = 1; -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_3); -lean_inc(x_1); -x_10 = l_Lean_ParserCompiler_interpretParser___rarg(x_1, x_3, x_9, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_10) == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_11 = lean_ctor_get(x_10, 0); -lean_inc(x_11); -x_12 = lean_ctor_get(x_10, 1); -lean_inc(x_12); -lean_dec(x_10); -x_13 = lean_st_ref_get(x_7, x_12); -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = lean_ctor_get(x_14, 0); -lean_inc(x_16); -lean_dec(x_14); -x_17 = lean_ctor_get(x_1, 1); -lean_inc(x_17); -lean_dec(x_1); -x_18 = lean_ctor_get(x_17, 2); -lean_inc(x_18); -lean_dec(x_17); -x_19 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1), 3, 2); -lean_closure_set(x_19, 0, x_3); -lean_closure_set(x_19, 1, x_11); -x_20 = l_Lean_PersistentEnvExtension_modifyState___rarg(x_18, x_16, x_19); +lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); lean_dec(x_18); -x_21 = l_Lean_setEnv___at_Lean_registerTagAttribute___spec__4(x_20, x_5, x_6, x_7, x_15); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -return x_21; +lean_dec(x_4); +lean_dec(x_2); +x_27 = lean_ctor_get(x_1, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_1, 1); +lean_inc(x_28); +lean_dec(x_1); +x_29 = lean_apply_2(x_3, x_27, x_28); +return x_29; +} +case 1: +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_30 = lean_ctor_get(x_1, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_1, 1); +lean_inc(x_31); +lean_dec(x_1); +x_32 = lean_apply_2(x_4, x_30, x_31); +return x_32; +} +case 2: +{ +lean_object* x_33; lean_object* x_34; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_33 = lean_ctor_get(x_1, 0); +lean_inc(x_33); +lean_dec(x_1); +x_34 = lean_apply_1(x_5, x_33); +return x_34; +} +case 3: +{ +lean_object* x_35; lean_object* x_36; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_35 = lean_ctor_get(x_1, 0); +lean_inc(x_35); +lean_dec(x_1); +x_36 = lean_apply_1(x_6, x_35); +return x_36; +} +case 4: +{ +lean_object* x_37; lean_object* x_38; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_37 = lean_ctor_get(x_1, 0); +lean_inc(x_37); +lean_dec(x_1); +x_38 = lean_apply_1(x_7, x_37); +return x_38; +} +case 5: +{ +lean_object* x_39; lean_object* x_40; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_39 = lean_ctor_get(x_1, 0); +lean_inc(x_39); +lean_dec(x_1); +x_40 = lean_apply_1(x_9, x_39); +return x_40; +} +case 6: +{ +lean_object* x_41; lean_object* x_42; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_41 = lean_ctor_get(x_1, 0); +lean_inc(x_41); +lean_dec(x_1); +x_42 = lean_apply_1(x_10, x_41); +return x_42; +} +case 7: +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_43 = lean_ctor_get(x_1, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_1, 1); +lean_inc(x_44); +lean_dec(x_1); +x_45 = lean_apply_2(x_11, x_43, x_44); +return x_45; +} +case 8: +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_46 = lean_ctor_get(x_1, 0); +lean_inc(x_46); +x_47 = lean_ctor_get(x_1, 1); +lean_inc(x_47); +lean_dec(x_1); +x_48 = lean_apply_2(x_12, x_46, x_47); +return x_48; +} +case 9: +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_49 = lean_ctor_get(x_1, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_1, 1); +lean_inc(x_50); +x_51 = lean_ctor_get(x_1, 2); +lean_inc(x_51); +lean_dec(x_1); +x_52 = lean_apply_3(x_13, x_49, x_50, x_51); +return x_52; +} +case 10: +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_53 = lean_ctor_get(x_1, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_1, 1); +lean_inc(x_54); +x_55 = lean_ctor_get(x_1, 2); +lean_inc(x_55); +lean_dec(x_1); +x_56 = lean_apply_3(x_14, x_53, x_54, x_55); +return x_56; +} +case 11: +{ +lean_object* x_57; lean_object* x_58; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_57 = lean_ctor_get(x_1, 0); +lean_inc(x_57); +lean_dec(x_1); +x_58 = lean_apply_1(x_18, x_57); +return x_58; +} +case 12: +{ +lean_object* x_59; uint8_t x_60; lean_object* x_61; lean_object* x_62; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_59 = lean_ctor_get(x_1, 0); +lean_inc(x_59); +x_60 = lean_ctor_get_uint8(x_1, sizeof(void*)*1); +lean_dec(x_1); +x_61 = lean_box(x_60); +x_62 = lean_apply_2(x_24, x_59, x_61); +return x_62; +} +case 13: +{ +lean_object* x_63; lean_object* x_64; +lean_dec(x_26); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_63 = lean_box(0); +x_64 = lean_apply_1(x_25, x_63); +return x_64; +} +case 14: +{ +lean_object* x_65; lean_object* x_66; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_65 = lean_box(0); +x_66 = lean_apply_1(x_19, x_65); +return x_66; +} +case 15: +{ +lean_object* x_67; lean_object* x_68; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_67 = lean_box(0); +x_68 = lean_apply_1(x_20, x_67); +return x_68; +} +case 16: +{ +lean_object* x_69; lean_object* x_70; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_69 = lean_box(0); +x_70 = lean_apply_1(x_21, x_69); +return x_70; +} +case 17: +{ +lean_object* x_71; lean_object* x_72; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_71 = lean_box(0); +x_72 = lean_apply_1(x_22, x_71); +return x_72; +} +case 18: +{ +lean_object* x_73; lean_object* x_74; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_73 = lean_ctor_get(x_1, 0); +lean_inc(x_73); +lean_dec(x_1); +x_74 = lean_apply_1(x_15, x_73); +return x_74; +} +case 19: +{ +lean_object* x_75; lean_object* x_76; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_75 = lean_box(0); +x_76 = lean_apply_1(x_23, x_75); +return x_76; +} +case 20: +{ +lean_object* x_77; lean_object* x_78; lean_object* x_79; +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_77 = lean_ctor_get(x_1, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_1, 1); +lean_inc(x_78); +lean_dec(x_1); +x_79 = lean_apply_2(x_26, x_77, x_78); +return x_79; +} +case 21: +{ +lean_object* x_80; lean_object* x_81; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_80 = lean_ctor_get(x_1, 0); +lean_inc(x_80); +lean_dec(x_1); +x_81 = lean_apply_1(x_2, x_80); +return x_81; +} +case 22: +{ +lean_object* x_82; lean_object* x_83; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_82 = lean_ctor_get(x_1, 0); +lean_inc(x_82); +lean_dec(x_1); +x_83 = lean_apply_1(x_8, x_82); +return x_83; +} +case 23: +{ +lean_object* x_84; lean_object* x_85; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_84 = lean_ctor_get(x_1, 0); +lean_inc(x_84); +lean_dec(x_1); +x_85 = lean_apply_1(x_16, x_84); +return x_85; +} +default: +{ +uint8_t x_86; lean_object* x_87; lean_object* x_88; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_86 = lean_ctor_get_uint8(x_1, 0); +lean_dec(x_1); +x_87 = lean_box(x_86); +x_88 = lean_apply_1(x_17, x_87); +return x_88; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileEmbeddedParsers_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileEmbeddedParsers_match__1___rarg___boxed), 26, 0); +return x_2; +} +} +lean_object* l_Lean_ParserCompiler_compileEmbeddedParsers_match__1___rarg___boxed(lean_object** _args) { +lean_object* x_1 = _args[0]; +lean_object* x_2 = _args[1]; +lean_object* x_3 = _args[2]; +lean_object* x_4 = _args[3]; +lean_object* x_5 = _args[4]; +lean_object* x_6 = _args[5]; +lean_object* x_7 = _args[6]; +lean_object* x_8 = _args[7]; +lean_object* x_9 = _args[8]; +lean_object* x_10 = _args[9]; +lean_object* x_11 = _args[10]; +lean_object* x_12 = _args[11]; +lean_object* x_13 = _args[12]; +lean_object* x_14 = _args[13]; +lean_object* x_15 = _args[14]; +lean_object* x_16 = _args[15]; +lean_object* x_17 = _args[16]; +lean_object* x_18 = _args[17]; +lean_object* x_19 = _args[18]; +lean_object* x_20 = _args[19]; +lean_object* x_21 = _args[20]; +lean_object* x_22 = _args[21]; +lean_object* x_23 = _args[22]; +lean_object* x_24 = _args[23]; +lean_object* x_25 = _args[24]; +lean_object* x_26 = _args[25]; +_start: +{ +lean_object* x_27; +x_27 = l_Lean_ParserCompiler_compileEmbeddedParsers_match__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_26); +return x_27; +} +} +lean_object* l_Functor_discard___at_Lean_ParserCompiler_compileEmbeddedParsers___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = lean_apply_5(x_1, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_7) == 0) +{ +uint8_t x_8; +x_8 = !lean_is_exclusive(x_7); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; +x_9 = lean_ctor_get(x_7, 0); +lean_dec(x_9); +x_10 = lean_box(0); +lean_ctor_set(x_7, 0, x_10); +return x_7; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_7, 1); +lean_inc(x_11); +lean_dec(x_7); +x_12 = lean_box(0); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_11); +return x_13; +} +} +else +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_7); +if (x_14 == 0) +{ +return x_7; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_7, 0); +x_16 = lean_ctor_get(x_7, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_7); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +return x_17; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileEmbeddedParsers___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +switch (lean_obj_tag(x_2)) { +case 0: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_2, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_2, 1); +lean_inc(x_9); +lean_dec(x_2); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_10 = l_Lean_ParserCompiler_compileEmbeddedParsers___rarg(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_10) == 0) +{ +lean_object* x_11; +x_11 = lean_ctor_get(x_10, 1); +lean_inc(x_11); +lean_dec(x_10); +x_2 = x_9; +x_7 = x_11; +goto _start; +} +else +{ +uint8_t x_13; +lean_dec(x_9); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_13 = !lean_is_exclusive(x_10); +if (x_13 == 0) +{ +return x_10; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_10); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +} +case 1: +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_2, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_2, 1); +lean_inc(x_18); +lean_dec(x_2); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_19 = l_Lean_ParserCompiler_compileEmbeddedParsers___rarg(x_1, x_17, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_19, 1); +lean_inc(x_20); +lean_dec(x_19); +x_2 = x_18; +x_7 = x_20; +goto _start; } else { uint8_t x_22; -lean_dec(x_7); +lean_dec(x_18); lean_dec(x_6); lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_22 = !lean_is_exclusive(x_10); +x_22 = !lean_is_exclusive(x_19); if (x_22 == 0) { -return x_10; +return x_19; } else { lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_10, 0); -x_24 = lean_ctor_get(x_10, 1); +x_23 = lean_ctor_get(x_19, 0); +x_24 = lean_ctor_get(x_19, 1); lean_inc(x_24); lean_inc(x_23); -lean_dec(x_10); +lean_dec(x_19); x_25 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_25, 0, x_23); lean_ctor_set(x_25, 1, x_24); @@ -24673,20 +25123,615 @@ return x_25; } } } +case 2: +{ +lean_object* x_26; +x_26 = lean_ctor_get(x_2, 0); +lean_inc(x_26); +lean_dec(x_2); +x_2 = x_26; +goto _start; +} +case 3: +{ +lean_object* x_28; +x_28 = lean_ctor_get(x_2, 0); +lean_inc(x_28); +lean_dec(x_2); +x_2 = x_28; +goto _start; +} +case 4: +{ +lean_object* x_30; +x_30 = lean_ctor_get(x_2, 0); +lean_inc(x_30); +lean_dec(x_2); +x_2 = x_30; +goto _start; +} +case 5: +{ +lean_object* x_32; +x_32 = lean_ctor_get(x_2, 0); +lean_inc(x_32); +lean_dec(x_2); +x_2 = x_32; +goto _start; +} +case 6: +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_2, 0); +lean_inc(x_34); +lean_dec(x_2); +x_2 = x_34; +goto _start; +} +case 7: +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_2, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_2, 1); +lean_inc(x_37); +lean_dec(x_2); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_38 = l_Lean_ParserCompiler_compileEmbeddedParsers___rarg(x_1, x_36, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_38) == 0) +{ +lean_object* x_39; +x_39 = lean_ctor_get(x_38, 1); +lean_inc(x_39); +lean_dec(x_38); +x_2 = x_37; +x_7 = x_39; +goto _start; +} else { -uint8_t x_26; lean_object* x_27; -x_26 = 1; -x_27 = l_Lean_ParserCompiler_compileParser___rarg(x_1, x_3, x_4, x_26, x_5, x_6, x_7, x_8); +uint8_t x_41; +lean_dec(x_37); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_41 = !lean_is_exclusive(x_38); +if (x_41 == 0) +{ +return x_38; +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_38, 0); +x_43 = lean_ctor_get(x_38, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_38); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +return x_44; +} +} +} +case 8: +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_2, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_2, 1); +lean_inc(x_46); +lean_dec(x_2); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_47 = l_Lean_ParserCompiler_compileEmbeddedParsers___rarg(x_1, x_45, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_47) == 0) +{ +lean_object* x_48; +x_48 = lean_ctor_get(x_47, 1); +lean_inc(x_48); +lean_dec(x_47); +x_2 = x_46; +x_7 = x_48; +goto _start; +} +else +{ +uint8_t x_50; +lean_dec(x_46); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_50 = !lean_is_exclusive(x_47); +if (x_50 == 0) +{ +return x_47; +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_47, 0); +x_52 = lean_ctor_get(x_47, 1); +lean_inc(x_52); +lean_inc(x_51); +lean_dec(x_47); +x_53 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_53, 0, x_51); +lean_ctor_set(x_53, 1, x_52); +return x_53; +} +} +} +case 9: +{ +lean_object* x_54; +x_54 = lean_ctor_get(x_2, 2); +lean_inc(x_54); +lean_dec(x_2); +x_2 = x_54; +goto _start; +} +case 10: +{ +lean_object* x_56; +x_56 = lean_ctor_get(x_2, 2); +lean_inc(x_56); +lean_dec(x_2); +x_2 = x_56; +goto _start; +} +case 18: +{ +lean_object* x_58; +x_58 = lean_ctor_get(x_2, 0); +lean_inc(x_58); +lean_dec(x_2); +x_2 = x_58; +goto _start; +} +case 21: +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_60 = lean_ctor_get(x_2, 0); +lean_inc(x_60); +lean_dec(x_2); +x_61 = lean_box(0); +x_62 = l_Lean_mkConst(x_60, x_61); +x_63 = 0; +x_64 = lean_box(x_63); +x_65 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___boxed), 8, 3); +lean_closure_set(x_65, 0, x_1); +lean_closure_set(x_65, 1, x_64); +lean_closure_set(x_65, 2, x_62); +x_66 = l_Functor_discard___at_Lean_ParserCompiler_compileEmbeddedParsers___spec__1(x_65, x_3, x_4, x_5, x_6, x_7); +return x_66; +} +case 22: +{ +lean_object* x_67; +x_67 = lean_ctor_get(x_2, 0); +lean_inc(x_67); +lean_dec(x_2); +x_2 = x_67; +goto _start; +} +case 23: +{ +lean_object* x_69; +x_69 = lean_ctor_get(x_2, 0); +lean_inc(x_69); +lean_dec(x_2); +x_2 = x_69; +goto _start; +} +default: +{ +lean_object* x_71; lean_object* x_72; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_71 = lean_box(0); +x_72 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_72, 0, x_71); +lean_ctor_set(x_72, 1, x_7); +return x_72; +} +} +} +} +lean_object* l_Lean_ParserCompiler_compileEmbeddedParsers(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileEmbeddedParsers___rarg), 7, 0); +return x_2; +} +} +lean_object* l_Functor_discard___at_Lean_ParserCompiler_registerParserCompiler___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = lean_apply_4(x_1, x_2, x_3, x_4, x_5); +if (lean_obj_tag(x_6) == 0) +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_6); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_6, 0); +lean_dec(x_8); +x_9 = lean_box(0); +lean_ctor_set(x_6, 0, x_9); +return x_6; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_6, 1); +lean_inc(x_10); +lean_dec(x_6); +x_11 = lean_box(0); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; +} +} +else +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_6); +if (x_13 == 0) +{ +return x_6; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_6, 0); +x_15 = lean_ctor_get(x_6, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_6); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +} +} +static lean_object* _init_l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_mkAppStx___closed__2; +x_2 = l_Lean_Parser_mkParserOfConstantUnsafe_match__1___rarg___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_mkAppStx___closed__2; +x_2 = l_Lean_Parser_mkParserOfConstantUnsafe_match__1___rarg___closed__2; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_29; +lean_inc(x_3); +x_29 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_3, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_29) == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; +x_30 = lean_ctor_get(x_29, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = l_Lean_ConstantInfo_type(x_30); +lean_dec(x_30); +x_33 = l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__1; +x_34 = l_Lean_Expr_isConstOf(x_32, x_33); +if (x_34 == 0) +{ +lean_object* x_35; uint8_t x_36; +x_35 = l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__2; +x_36 = l_Lean_Expr_isConstOf(x_32, x_35); +lean_dec(x_32); +if (x_36 == 0) +{ +uint8_t x_37; +x_37 = l_Lean_Name_isAnonymous(x_2); +if (x_37 == 0) +{ +lean_object* x_38; +x_38 = l_Lean_ParserCompiler_compileCategoryParser___rarg(x_1, x_3, x_4, x_5, x_6, x_7, x_31); +return x_38; +} +else +{ +lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_39 = lean_box(0); +x_40 = l_Lean_mkConst(x_3, x_39); +x_41 = 1; +x_42 = lean_box(x_41); +x_43 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_compileParserExpr___rarg___boxed), 8, 3); +lean_closure_set(x_43, 0, x_1); +lean_closure_set(x_43, 1, x_42); +lean_closure_set(x_43, 2, x_40); +x_44 = l_Lean_Meta_Lean_Meta_Basic___instance__11___rarg___closed__1; +x_45 = l_Lean_Meta_Lean_Meta_Basic___instance__11___rarg___closed__2; +x_46 = lean_alloc_closure((void*)(l_Lean_Meta_MetaM_run_x27___rarg), 6, 3); +lean_closure_set(x_46, 0, x_43); +lean_closure_set(x_46, 1, x_44); +lean_closure_set(x_46, 2, x_45); +x_47 = lean_alloc_closure((void*)(l_ReaderT_lift___rarg___boxed), 2, 1); +lean_closure_set(x_47, 0, x_46); +x_48 = l_Functor_discard___at_Lean_ParserCompiler_registerParserCompiler___spec__1(x_47, x_5, x_6, x_7, x_31); +return x_48; +} +} +else +{ +lean_object* x_49; +lean_inc(x_3); +x_49 = l_Lean_evalConstCheck___at_Lean_KeyedDeclsAttribute_init___spec__5___rarg(x_33, x_3, x_5, x_6, x_7, x_31); +if (lean_obj_tag(x_49) == 0) +{ +lean_object* x_50; lean_object* x_51; +lean_dec(x_5); +lean_dec(x_3); +x_50 = lean_ctor_get(x_49, 0); +lean_inc(x_50); +x_51 = lean_ctor_get(x_49, 1); +lean_inc(x_51); +lean_dec(x_49); +x_9 = x_50; +x_10 = x_51; +goto block_28; +} +else +{ +lean_object* x_52; lean_object* x_53; +x_52 = lean_ctor_get(x_49, 1); +lean_inc(x_52); +lean_dec(x_49); +x_53 = l_Lean_evalConstCheck___at_Lean_KeyedDeclsAttribute_init___spec__5___rarg(x_35, x_3, x_5, x_6, x_7, x_52); +lean_dec(x_5); +if (lean_obj_tag(x_53) == 0) +{ +lean_object* x_54; lean_object* x_55; +x_54 = lean_ctor_get(x_53, 0); +lean_inc(x_54); +x_55 = lean_ctor_get(x_53, 1); +lean_inc(x_55); +lean_dec(x_53); +x_9 = x_54; +x_10 = x_55; +goto block_28; +} +else +{ +uint8_t x_56; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_56 = !lean_is_exclusive(x_53); +if (x_56 == 0) +{ +return x_53; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_53, 0); +x_58 = lean_ctor_get(x_53, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_53); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +} +} +} +else +{ +lean_object* x_60; +lean_dec(x_32); +lean_inc(x_3); +x_60 = l_Lean_evalConstCheck___at_Lean_KeyedDeclsAttribute_init___spec__5___rarg(x_33, x_3, x_5, x_6, x_7, x_31); +if (lean_obj_tag(x_60) == 0) +{ +lean_object* x_61; lean_object* x_62; +lean_dec(x_5); +lean_dec(x_3); +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +lean_dec(x_60); +x_9 = x_61; +x_10 = x_62; +goto block_28; +} +else +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_63 = lean_ctor_get(x_60, 1); +lean_inc(x_63); +lean_dec(x_60); +x_64 = l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__2; +x_65 = l_Lean_evalConstCheck___at_Lean_KeyedDeclsAttribute_init___spec__5___rarg(x_64, x_3, x_5, x_6, x_7, x_63); +lean_dec(x_5); +if (lean_obj_tag(x_65) == 0) +{ +lean_object* x_66; lean_object* x_67; +x_66 = lean_ctor_get(x_65, 0); +lean_inc(x_66); +x_67 = lean_ctor_get(x_65, 1); +lean_inc(x_67); +lean_dec(x_65); +x_9 = x_66; +x_10 = x_67; +goto block_28; +} +else +{ +uint8_t x_68; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_65); +if (x_68 == 0) +{ +return x_65; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_65, 0); +x_70 = lean_ctor_get(x_65, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_65); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +} +else +{ +uint8_t x_72; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_1); +x_72 = !lean_is_exclusive(x_29); +if (x_72 == 0) +{ +return x_29; +} +else +{ +lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_73 = lean_ctor_get(x_29, 0); +x_74 = lean_ctor_get(x_29, 1); +lean_inc(x_74); +lean_inc(x_73); +lean_dec(x_29); +x_75 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_75, 0, x_73); +lean_ctor_set(x_75, 1, x_74); +return x_75; +} +} +block_28: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_11 = l_Lean_Meta_Lean_Meta_Basic___instance__11___rarg___closed__2; +x_12 = lean_st_mk_ref(x_11, x_10); +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_Lean_Meta_Lean_Meta_Basic___instance__11___rarg___closed__1; +lean_inc(x_13); +x_16 = l_Lean_ParserCompiler_compileEmbeddedParsers___rarg(x_1, x_9, x_15, x_13, x_6, x_7, x_14); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = lean_st_ref_get(x_13, x_18); +lean_dec(x_13); +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) +{ +lean_object* x_21; +x_21 = lean_ctor_get(x_19, 0); +lean_dec(x_21); +lean_ctor_set(x_19, 0, x_17); +return x_19; +} +else +{ +lean_object* x_22; lean_object* x_23; +x_22 = lean_ctor_get(x_19, 1); +lean_inc(x_22); +lean_dec(x_19); +x_23 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_23, 0, x_17); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +else +{ +uint8_t x_24; +lean_dec(x_13); +x_24 = !lean_is_exclusive(x_16); +if (x_24 == 0) +{ +return x_16; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_16, 0); +x_26 = lean_ctor_get(x_16, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_16); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); return x_27; } } } +} +} lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; -x_3 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__2___boxed), 8, 1); +x_3 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___boxed), 8, 1); lean_closure_set(x_3, 0, x_1); x_4 = l_Lean_Parser_registerParserAttributeHook(x_3, x_2); return x_4; @@ -24700,13 +25745,13 @@ x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_registerParserCompiler___ return x_2; } } -lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { uint8_t x_9; lean_object* x_10; x_9 = lean_unbox(x_4); lean_dec(x_4); -x_10 = l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__2(x_1, x_2, x_3, x_9, x_5, x_6, x_7, x_8); +x_10 = l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1(x_1, x_2, x_3, x_9, x_5, x_6, x_7, x_8); lean_dec(x_2); return x_10; } @@ -24742,46 +25787,50 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1(); lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1); -l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1 = _init_l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1(); -lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1); -l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1 = _init_l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1(); -lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserBody___spec__5___rarg___closed__1); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__1 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__1(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__1); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__2 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__2(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__2); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__3 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__3(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__3); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__4 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__4(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__4); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__5 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__5(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__5); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__6 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__6(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__6); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__7 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__7(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__7); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__8 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__8(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__8); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__9 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__9(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__9); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__10 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__10(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__10); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__11 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__11(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__11); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__12 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__12(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__12); -l_Lean_ParserCompiler_compileParserBody___rarg___closed__13 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__13(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParserBody___rarg___closed__13); -l_Lean_ParserCompiler_compileParser___rarg___closed__1 = _init_l_Lean_ParserCompiler_compileParser___rarg___closed__1(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParser___rarg___closed__1); -l_Lean_ParserCompiler_compileParser___rarg___closed__2 = _init_l_Lean_ParserCompiler_compileParser___rarg___closed__2(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParser___rarg___closed__2); -l_Lean_ParserCompiler_compileParser___rarg___closed__3 = _init_l_Lean_ParserCompiler_compileParser___rarg___closed__3(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParser___rarg___closed__3); -l_Lean_ParserCompiler_compileParser___rarg___closed__4 = _init_l_Lean_ParserCompiler_compileParser___rarg___closed__4(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParser___rarg___closed__4); -l_Lean_ParserCompiler_compileParser___rarg___closed__5 = _init_l_Lean_ParserCompiler_compileParser___rarg___closed__5(); -lean_mark_persistent(l_Lean_ParserCompiler_compileParser___rarg___closed__5); +l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1 = _init_l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__4___rarg___closed__1); +l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1 = _init_l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_ParserCompiler_compileParserExpr___spec__5___rarg___closed__1); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__1 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__1(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__1); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__2); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__3); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__4 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__4(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__4); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__5); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__6 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__6(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__6); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__7); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__8 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__8(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__8); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__9); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__10 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__10(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__10); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__11); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__12 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__12(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__12); +l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13 = _init_l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13(); +lean_mark_persistent(l_Lean_ParserCompiler_compileParserExpr___rarg___closed__13); +l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__1 = _init_l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__1(); +lean_mark_persistent(l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__1); +l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__2 = _init_l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__2(); +lean_mark_persistent(l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__2); +l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__3 = _init_l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__3(); +lean_mark_persistent(l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__3); +l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__4 = _init_l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__4(); +lean_mark_persistent(l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__4); +l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__5 = _init_l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__5(); +lean_mark_persistent(l_Lean_ParserCompiler_compileCategoryParser___rarg___closed__5); +l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__1 = _init_l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__1); +l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__2 = _init_l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__2(); +lean_mark_persistent(l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__1___closed__2); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/ParserCompiler/Attribute.c b/stage0/stdlib/Lean/ParserCompiler/Attribute.c index 86c6a1e87d..f3db0430e9 100644 --- a/stage0/stdlib/Lean/ParserCompiler/Attribute.c +++ b/stage0/stdlib/Lean/ParserCompiler/Attribute.c @@ -14,66 +14,88 @@ extern "C" { #endif extern lean_object* l_Lean_Lean_Environment___instance__10___closed__5; +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_add(size_t, size_t); +lean_object* l_Lean_stringToMessageData(lean_object*); +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__3; uint8_t l_USize_decEq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_ParserCompiler_registerCombinatorAttribute___spec__1___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_registerInternalExceptionId___closed__2; lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute___lambda__1___closed__1; +lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_empty___closed__1; lean_object* lean_st_ref_get(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Lean_Attributes___instance__3___closed__3; +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__4; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_ParserCompiler_registerCombinatorAttribute___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor_match__1(lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); lean_object* l_Lean_setEnv___at_Lean_registerTagAttribute___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at_Lean_ParserCompiler_registerCombinatorAttribute___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__1; lean_object* l_Lean_ParserCompiler_CombinatorAttribute_Lean_ParserCompiler_Attribute___instance__1; lean_object* l_Lean_Name_toStringWithSep(lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_CombinatorAttribute_setDeclFor(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__2; lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3(lean_object*, lean_object*); +lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__2(lean_object*); lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_ParserCompiler_registerCombinatorAttribute___spec__1(lean_object*, lean_object*); extern lean_object* l_Lean_initFn____x40_Lean_Environment___hyg_2547____closed__4; lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___lambda__2(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_ParserCompiler_registerCombinatorAttribute___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute___closed__1; +lean_object* lean_eval_const(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_persistentEnvExtensionsRef; lean_object* l_Lean_attrParamSyntaxToIdentifier(lean_object*); extern lean_object* l_Lean_registerParametricAttribute___rarg___closed__2; lean_object* l_Std_RBNode_find___at___private_Lean_Hygiene_0__Lean_sanitizeSyntaxAux___spec__2(lean_object*, lean_object*); lean_object* l_Lean_registerBuiltinAttribute(lean_object*, lean_object*); +extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__3; size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute___lambda__1___closed__5; lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_SimplePersistentEnvExtension_getState___rarg(lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute___lambda__1___closed__3; +lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__3(lean_object*); extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1; lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute_match__1(lean_object*); lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_ParserCompiler_registerCombinatorAttribute___spec__5(lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); extern lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1; +lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_Lean_CoreM___instance__6___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute___lambda__1___closed__6; uint8_t l_Array_anyMUnsafe_any___at_Lean_ParserCompiler_registerCombinatorAttribute___spec__6(lean_object*, lean_object*, size_t, size_t); +lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_CombinatorAttribute_Lean_ParserCompiler_Attribute___instance__1___closed__1; +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor(lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_ParserCompiler_registerCombinatorAttribute___spec__3(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_ParserCompiler_registerCombinatorAttribute___spec__4(lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_System_FilePath_dirName___closed__1; lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_ParserCompiler_registerCombinatorAttribute___spec__2(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute___lambda__1___closed__2; lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute___lambda__1___closed__4; +lean_object* l_Lean_throwError___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__1(lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: @@ -795,7 +817,7 @@ x_1 = l_Lean_ParserCompiler_CombinatorAttribute_Lean_ParserCompiler_Attribute___ return x_1; } } -lean_object* l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; lean_object* x_5; lean_object* x_6; @@ -806,11 +828,11 @@ lean_dec(x_5); return x_6; } } -lean_object* l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor(x_1, x_2, x_3); +x_4 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_1, x_2, x_3); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); @@ -831,6 +853,288 @@ x_7 = l_Lean_PersistentEnvExtension_addEntry___rarg(x_5, x_2, x_6); return x_7; } } +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +x_4 = lean_apply_1(x_3, x_1); +return x_4; +} +else +{ +lean_object* x_5; lean_object* x_6; +lean_dec(x_3); +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +lean_dec(x_1); +x_6 = lean_apply_1(x_2, x_5); +return x_6; +} +} +} +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_throwError___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; uint8_t x_7; +x_5 = lean_ctor_get(x_2, 3); +x_6 = l_Lean_addMessageContextPartial___at_Lean_Core_Lean_CoreM___instance__6___spec__1(x_1, x_2, x_3, x_4); +x_7 = !lean_is_exclusive(x_6); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_6, 0); +lean_inc(x_5); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_5); +lean_ctor_set(x_9, 1, x_8); +lean_ctor_set_tag(x_6, 1); +lean_ctor_set(x_6, 0, x_9); +return x_6; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_10 = lean_ctor_get(x_6, 0); +x_11 = lean_ctor_get(x_6, 1); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_6); +lean_inc(x_5); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_5); +lean_ctor_set(x_12, 1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_11); +return x_13; +} +} +} +lean_object* l_Lean_throwError___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__1___rarg___boxed), 4, 0); +return x_2; +} +} +lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +x_6 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_6, 0, x_5); +x_7 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_7, 0, x_6); +x_8 = l_Lean_throwError___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__1___rarg(x_7, x_2, x_3, x_4); +return x_8; +} +else +{ +lean_object* x_9; lean_object* x_10; +x_9 = lean_ctor_get(x_1, 0); +lean_inc(x_9); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_4); +return x_10; +} +} +} +lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__3(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_ofExcept___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__3___rarg___boxed), 4, 0); +return x_2; +} +} +lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_5, 1); +lean_inc(x_7); +lean_dec(x_5); +x_8 = lean_ctor_get(x_6, 0); +lean_inc(x_8); +lean_dec(x_6); +x_9 = lean_ctor_get(x_2, 0); +x_10 = lean_eval_const(x_8, x_9, x_1); +lean_dec(x_8); +x_11 = l_Lean_ofExcept___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__3___rarg(x_10, x_2, x_3, x_7); +lean_dec(x_10); +return x_11; +} +} +lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_evalConst___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__2___rarg___boxed), 4, 0); +return x_2; +} +} +static lean_object* _init_l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("no declaration of attribute ["); +return x_1; +} +} +static lean_object* _init_l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("] found for '"); +return x_1; +} +} +static lean_object* _init_l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_6 = lean_st_ref_get(x_4, x_5); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = lean_ctor_get(x_7, 0); +lean_inc(x_9); +lean_dec(x_7); +x_10 = l_Lean_ParserCompiler_CombinatorAttribute_getDeclFor_x3f(x_1, x_9, x_2); +lean_dec(x_9); +if (lean_obj_tag(x_10) == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_11, 0); +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_14, 0, x_13); +x_15 = l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__2; +x_16 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +x_17 = l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__4; +x_18 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +x_19 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_19, 0, x_2); +x_20 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +x_21 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_22 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +x_23 = l_Lean_throwError___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__1___rarg(x_22, x_3, x_4, x_8); +return x_23; +} +else +{ +lean_object* x_24; lean_object* x_25; +lean_dec(x_2); +x_24 = lean_ctor_get(x_10, 0); +lean_inc(x_24); +lean_dec(x_10); +x_25 = l_Lean_evalConst___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__2___rarg(x_24, x_3, x_4, x_8); +lean_dec(x_24); +return x_25; +} +} +} +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___boxed), 5, 0); +return x_2; +} +} +lean_object* l_Lean_throwError___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_throwError___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__1___rarg(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__3___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_ofExcept___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__3___rarg(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_5; +} +} +lean_object* l_Lean_evalConst___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_evalConst___at_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___spec__2___rarg(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_5; +} +} +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_6; +} +} lean_object* initialize_Init(lean_object*); lean_object* initialize_Lean_Attributes(lean_object*); lean_object* initialize_Lean_Compiler_InitAttr(lean_object*); @@ -870,6 +1174,14 @@ l_Lean_ParserCompiler_CombinatorAttribute_Lean_ParserCompiler_Attribute___instan lean_mark_persistent(l_Lean_ParserCompiler_CombinatorAttribute_Lean_ParserCompiler_Attribute___instance__1___closed__1); l_Lean_ParserCompiler_CombinatorAttribute_Lean_ParserCompiler_Attribute___instance__1 = _init_l_Lean_ParserCompiler_CombinatorAttribute_Lean_ParserCompiler_Attribute___instance__1(); lean_mark_persistent(l_Lean_ParserCompiler_CombinatorAttribute_Lean_ParserCompiler_Attribute___instance__1); +l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__1 = _init_l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__1(); +lean_mark_persistent(l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__1); +l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__2 = _init_l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__2(); +lean_mark_persistent(l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__2); +l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__3 = _init_l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__3(); +lean_mark_persistent(l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__3); +l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__4 = _init_l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__4(); +lean_mark_persistent(l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg___closed__4); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/PrettyPrinter.c b/stage0/stdlib/Lean/PrettyPrinter.c index c44b7fb1c1..d600f8773a 100644 --- a/stage0/stdlib/Lean/PrettyPrinter.c +++ b/stage0/stdlib/Lean/PrettyPrinter.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.PrettyPrinter -// Imports: Init Lean.Delaborator Lean.PrettyPrinter.Parenthesizer Lean.PrettyPrinter.Formatter Lean.Parser.Module +// Imports: Init Lean.Delaborator Lean.PrettyPrinter.Parenthesizer Lean.PrettyPrinter.Formatter Lean.Parser.Module Lean.ParserCompiler #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -39,6 +39,8 @@ uint8_t l_USize_decLt(size_t, size_t); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_noContext___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_ppExpr___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_withoutContext___rarg(lean_object*, lean_object*); +extern lean_object* l_Lean_PrettyPrinter_parenthesizerAttribute; +extern lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__4; lean_object* l_Lean_MessageData_toString(lean_object*, lean_object*); extern lean_object* l_Lean_Meta_State_cache___default___closed__1; lean_object* l_Lean_PrettyPrinter_ppModule(lean_object*, lean_object*, lean_object*, lean_object*); @@ -50,16 +52,21 @@ lean_object* l_Lean_PrettyPrinter_ppTerm(lean_object*, lean_object*, lean_object lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter___hyg_331_(lean_object*); lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter___hyg_301_(lean_object*); lean_object* l_Nat_repr(lean_object*); +lean_object* l_Lean_PrettyPrinter_registerParserCompilers___closed__2; extern lean_object* l_Lean_ppFnsRef; lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Lean_Meta_withLCtx___at_Lean_PrettyPrinter_ppExpr___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter___hyg_301____lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_parenthesize(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_pp_expr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_PrettyPrinter_combinatorFormatterAttribute; +lean_object* l_Lean_PrettyPrinter_registerParserCompilers___closed__1; lean_object* l_Lean_PrettyPrinter_ppExpr___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_PrettyPrinter_formatterAttribute; lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter___hyg_301____closed__2; lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter___hyg_301____closed__1; lean_object* l_Lean_Meta_withLCtx___at_Lean_PrettyPrinter_ppExpr___spec__1(lean_object*); +lean_object* l_Lean_PrettyPrinter_registerParserCompilers(lean_object*); lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_noContext(lean_object*); size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_PrettyPrinter_format(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -71,12 +78,15 @@ lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_withoutContext lean_object* l_Lean_delab(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_formatCommand(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PPContext_runCoreM(lean_object*); +extern lean_object* l_Lean_PrettyPrinter_combinatorParenthesizerAttribute; +extern lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__4; lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_withoutContext___rarg___lambda__1(lean_object*, lean_object*); lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_withoutContext(lean_object*); lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter___hyg_301____lambda__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_NameGenerator_Init_LeanInit___instance__6___closed__1; extern lean_object* l_Lean_Meta_Context_config___default___closed__1; +lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg(lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_noContext___spec__1(size_t, size_t, lean_object*); lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_noContext_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Unhygienic_run___rarg___closed__1; @@ -1592,11 +1602,54 @@ x_3 = l_Lean_registerTraceClass(x_2, x_1); return x_3; } } +static lean_object* _init_l_Lean_PrettyPrinter_registerParserCompilers___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__4; +x_2 = l_Lean_PrettyPrinter_parenthesizerAttribute; +x_3 = l_Lean_PrettyPrinter_combinatorParenthesizerAttribute; +x_4 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_4, 0, x_1); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_registerParserCompilers___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_PrettyPrinter_mkFormatterAttribute___closed__4; +x_2 = l_Lean_PrettyPrinter_formatterAttribute; +x_3 = l_Lean_PrettyPrinter_combinatorFormatterAttribute; +x_4 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_4, 0, x_1); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_3); +return x_4; +} +} +lean_object* l_Lean_PrettyPrinter_registerParserCompilers(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l_Lean_PrettyPrinter_registerParserCompilers___closed__1; +x_3 = l_Lean_ParserCompiler_registerParserCompiler___rarg(x_2, x_1); +x_4 = lean_ctor_get(x_3, 1); +lean_inc(x_4); +lean_dec(x_3); +x_5 = l_Lean_PrettyPrinter_registerParserCompilers___closed__2; +x_6 = l_Lean_ParserCompiler_registerParserCompiler___rarg(x_5, x_4); +return x_6; +} +} lean_object* initialize_Init(lean_object*); lean_object* initialize_Lean_Delaborator(lean_object*); lean_object* initialize_Lean_PrettyPrinter_Parenthesizer(lean_object*); lean_object* initialize_Lean_PrettyPrinter_Formatter(lean_object*); lean_object* initialize_Lean_Parser_Module(lean_object*); +lean_object* initialize_Lean_ParserCompiler(lean_object*); static bool _G_initialized = false; lean_object* initialize_Lean_PrettyPrinter(lean_object* w) { lean_object * res; @@ -1617,6 +1670,9 @@ lean_dec_ref(res); res = initialize_Lean_Parser_Module(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_ParserCompiler(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_PrettyPrinter_ppExpr___closed__1 = _init_l_Lean_PrettyPrinter_ppExpr___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_ppExpr___closed__1); l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter___hyg_301____closed__1 = _init_l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter___hyg_301____closed__1(); @@ -1631,6 +1687,13 @@ lean_dec_ref(res); res = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter___hyg_331_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +l_Lean_PrettyPrinter_registerParserCompilers___closed__1 = _init_l_Lean_PrettyPrinter_registerParserCompilers___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_registerParserCompilers___closed__1); +l_Lean_PrettyPrinter_registerParserCompilers___closed__2 = _init_l_Lean_PrettyPrinter_registerParserCompilers___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_registerParserCompilers___closed__2); +res = l_Lean_PrettyPrinter_registerParserCompilers(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/PrettyPrinter/Backtrack.c b/stage0/stdlib/Lean/PrettyPrinter/Backtrack.c deleted file mode 100644 index 8efa91900a..0000000000 --- a/stage0/stdlib/Lean/PrettyPrinter/Backtrack.c +++ /dev/null @@ -1,75 +0,0 @@ -// Lean compiler output -// Module: Lean.PrettyPrinter.Backtrack -// Imports: Init Lean.InternalExceptionId -#include -#if defined(__clang__) -#pragma clang diagnostic ignored "-Wunused-parameter" -#pragma clang diagnostic ignored "-Wunused-label" -#elif defined(__GNUC__) && !defined(__CLANG__) -#pragma GCC diagnostic ignored "-Wunused-parameter" -#pragma GCC diagnostic ignored "-Wunused-label" -#pragma GCC diagnostic ignored "-Wunused-but-set-variable" -#endif -#ifdef __cplusplus -extern "C" { -#endif -lean_object* lean_name_mk_string(lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__2; -lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__1; -lean_object* l_Lean_registerInternalExceptionId(lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4_(lean_object*); -lean_object* l_Lean_PrettyPrinter_backtrackExceptionId; -static lean_object* _init_l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("backtrackFormatter"); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__1; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4_(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__2; -x_3 = l_Lean_registerInternalExceptionId(x_2, x_1); -return x_3; -} -} -lean_object* initialize_Init(lean_object*); -lean_object* initialize_Lean_InternalExceptionId(lean_object*); -static bool _G_initialized = false; -lean_object* initialize_Lean_PrettyPrinter_Backtrack(lean_object* w) { -lean_object * res; -if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); -_G_initialized = true; -res = initialize_Init(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_InternalExceptionId(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__1 = _init_l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__1); -l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__2 = _init_l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4____closed__2); -res = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Backtrack___hyg_4_(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -l_Lean_PrettyPrinter_backtrackExceptionId = lean_io_result_get_value(res); -lean_mark_persistent(l_Lean_PrettyPrinter_backtrackExceptionId); -lean_dec_ref(res); -return lean_io_result_mk_ok(lean_box(0)); -} -#ifdef __cplusplus -} -#endif diff --git a/stage0/stdlib/Lean/PrettyPrinter/Basic.c b/stage0/stdlib/Lean/PrettyPrinter/Basic.c new file mode 100644 index 0000000000..4dcca97728 --- /dev/null +++ b/stage0/stdlib/Lean/PrettyPrinter/Basic.c @@ -0,0 +1,898 @@ +// Lean compiler output +// Module: Lean.PrettyPrinter.Basic +// Imports: Init Lean.InternalExceptionId Lean.KeyedDeclsAttribute +#include +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wunused-parameter" +#pragma clang diagnostic ignored "-Wunused-label" +#elif defined(__GNUC__) && !defined(__CLANG__) +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-label" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif +#ifdef __cplusplus +extern "C" { +#endif +lean_object* l_Lean_stringToMessageData(lean_object*); +lean_object* l_Lean_ofExcept___at_Lean_PrettyPrinter_runForNodeKind___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__5; +lean_object* l_Lean_PrettyPrinter_runForNodeKind_match__1(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_runForNodeKind(lean_object*); +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__8; +lean_object* lean_environment_find(lean_object*, lean_object*); +lean_object* lean_st_ref_get(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__4; +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__2; +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ofExcept___at_Lean_PrettyPrinter_runForNodeKind___spec__4(lean_object*); +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__1; +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3(lean_object*); +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2(lean_object*); +extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__2; +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4_(lean_object*); +lean_object* l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__3; +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__6; +lean_object* l_Lean_getConstInfo___at_Lean_PrettyPrinter_runForNodeKind___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_name_mk_string(lean_object*, lean_object*); +lean_object* l_Lean_ofExcept___at_Lean_PrettyPrinter_runForNodeKind___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_eval_const(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_KeyedDeclsAttribute_getValues___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); +extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__3; +lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__1; +lean_object* l_Lean_ConstantInfo_type(lean_object*); +lean_object* l_Lean_registerInternalExceptionId(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__2; +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__7; +lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_Lean_CoreM___instance__6___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_runForNodeKind_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getConstInfo___at_Lean_PrettyPrinter_runForNodeKind___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_backtrackExceptionId; +extern lean_object* l_Lean_mkAppStx___closed__2; +lean_object* l_Lean_mkConst(lean_object*, lean_object*); +static lean_object* _init_l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("backtrackFormatter"); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4_(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__2; +x_3 = l_Lean_registerInternalExceptionId(x_2, x_1); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_runForNodeKind_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +x_4 = lean_apply_1(x_3, x_1); +return x_4; +} +else +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; +lean_dec(x_3); +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +x_6 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_2(x_2, x_5, x_6); +return x_7; +} +} +} +lean_object* l_Lean_PrettyPrinter_runForNodeKind_match__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_runForNodeKind_match__1___rarg), 3, 0); +return x_3; +} +} +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; uint8_t x_7; +x_5 = lean_ctor_get(x_2, 3); +x_6 = l_Lean_addMessageContextPartial___at_Lean_Core_Lean_CoreM___instance__6___spec__1(x_1, x_2, x_3, x_4); +x_7 = !lean_is_exclusive(x_6); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_6, 0); +lean_inc(x_5); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_5); +lean_ctor_set(x_9, 1, x_8); +lean_ctor_set_tag(x_6, 1); +lean_ctor_set(x_6, 0, x_9); +return x_6; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_10 = lean_ctor_get(x_6, 0); +x_11 = lean_ctor_get(x_6, 1); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_6); +lean_inc(x_5); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_5); +lean_ctor_set(x_12, 1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_11); +return x_13; +} +} +} +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg___boxed), 4, 0); +return x_2; +} +} +lean_object* l_Lean_getConstInfo___at_Lean_PrettyPrinter_runForNodeKind___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; uint8_t x_6; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = !lean_is_exclusive(x_5); +if (x_6 == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_7 = lean_ctor_get(x_5, 0); +x_8 = lean_ctor_get(x_5, 1); +x_9 = lean_ctor_get(x_7, 0); +lean_inc(x_9); +lean_dec(x_7); +lean_inc(x_1); +x_10 = lean_environment_find(x_9, x_1); +if (lean_obj_tag(x_10) == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +lean_free_object(x_5); +x_11 = lean_box(0); +x_12 = l_Lean_mkConst(x_1, x_11); +x_13 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_13, 0, x_12); +x_14 = l_Lean_throwUnknownConstant___rarg___closed__2; +x_15 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +x_16 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_17 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +x_18 = l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg(x_17, x_2, x_3, x_8); +return x_18; +} +else +{ +lean_object* x_19; +lean_dec(x_1); +x_19 = lean_ctor_get(x_10, 0); +lean_inc(x_19); +lean_dec(x_10); +lean_ctor_set(x_5, 0, x_19); +return x_5; +} +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_20 = lean_ctor_get(x_5, 0); +x_21 = lean_ctor_get(x_5, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_5); +x_22 = lean_ctor_get(x_20, 0); +lean_inc(x_22); +lean_dec(x_20); +lean_inc(x_1); +x_23 = lean_environment_find(x_22, x_1); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_24 = lean_box(0); +x_25 = l_Lean_mkConst(x_1, x_24); +x_26 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_26, 0, x_25); +x_27 = l_Lean_throwUnknownConstant___rarg___closed__2; +x_28 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_26); +x_29 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_30 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +x_31 = l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg(x_30, x_2, x_3, x_21); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; +lean_dec(x_1); +x_32 = lean_ctor_get(x_23, 0); +lean_inc(x_32); +lean_dec(x_23); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_21); +return x_33; +} +} +} +} +lean_object* l_Lean_ofExcept___at_Lean_PrettyPrinter_runForNodeKind___spec__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +x_6 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_6, 0, x_5); +x_7 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_7, 0, x_6); +x_8 = l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg(x_7, x_2, x_3, x_4); +return x_8; +} +else +{ +lean_object* x_9; lean_object* x_10; +x_9 = lean_ctor_get(x_1, 0); +lean_inc(x_9); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_4); +return x_10; +} +} +} +lean_object* l_Lean_ofExcept___at_Lean_PrettyPrinter_runForNodeKind___spec__4(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_ofExcept___at_Lean_PrettyPrinter_runForNodeKind___spec__4___rarg___boxed), 4, 0); +return x_2; +} +} +lean_object* l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_5, 1); +lean_inc(x_7); +lean_dec(x_5); +x_8 = lean_ctor_get(x_6, 0); +lean_inc(x_8); +lean_dec(x_6); +x_9 = lean_ctor_get(x_2, 0); +x_10 = lean_eval_const(x_8, x_9, x_1); +lean_dec(x_8); +x_11 = l_Lean_ofExcept___at_Lean_PrettyPrinter_runForNodeKind___spec__4___rarg(x_10, x_2, x_3, x_7); +lean_dec(x_10); +return x_11; +} +} +lean_object* l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3___rarg___boxed), 4, 0); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("ParserDescr"); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_mkAppStx___closed__2; +x_2 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("TrailingParserDescr"); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_mkAppStx___closed__2; +x_2 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("no declaration of attribute ["); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__5; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("] found for '"); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__7; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; uint8_t x_8; +x_7 = lean_st_ref_get(x_5, x_6); +x_8 = !lean_is_exclusive(x_7); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_7, 0); +x_10 = lean_ctor_get(x_7, 1); +x_11 = lean_ctor_get(x_9, 0); +lean_inc(x_11); +lean_dec(x_9); +x_12 = l_Lean_KeyedDeclsAttribute_getValues___rarg(x_1, x_11, x_2); +lean_dec(x_11); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; +lean_free_object(x_7); +lean_inc(x_2); +x_13 = l_Lean_getConstInfo___at_Lean_PrettyPrinter_runForNodeKind___spec__1(x_2, x_4, x_5, x_10); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = l_Lean_ConstantInfo_type(x_14); +lean_dec(x_14); +x_17 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__2; +x_18 = l_Lean_Expr_isConstOf(x_16, x_17); +if (x_18 == 0) +{ +lean_object* x_19; uint8_t x_20; +x_19 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__4; +x_20 = l_Lean_Expr_isConstOf(x_16, x_19); +lean_dec(x_16); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_3); +x_21 = lean_ctor_get(x_1, 0); +x_22 = lean_ctor_get(x_21, 1); +lean_inc(x_22); +x_23 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_23, 0, x_22); +x_24 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__6; +x_25 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_23); +x_26 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__8; +x_27 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +x_28 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_28, 0, x_2); +x_29 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +x_30 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_31 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +x_32 = l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg(x_31, x_4, x_5, x_15); +lean_dec(x_5); +lean_dec(x_4); +return x_32; +} +else +{ +lean_object* x_33; +x_33 = l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3___rarg(x_2, x_4, x_5, x_15); +lean_dec(x_2); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec(x_33); +x_36 = lean_apply_4(x_3, x_34, x_4, x_5, x_35); +return x_36; +} +else +{ +uint8_t x_37; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_37 = !lean_is_exclusive(x_33); +if (x_37 == 0) +{ +return x_33; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 0); +x_39 = lean_ctor_get(x_33, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_33); +x_40 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +return x_40; +} +} +} +} +else +{ +lean_object* x_41; +lean_dec(x_16); +x_41 = l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3___rarg(x_2, x_4, x_5, x_15); +lean_dec(x_2); +if (lean_obj_tag(x_41) == 0) +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_41, 1); +lean_inc(x_43); +lean_dec(x_41); +x_44 = lean_apply_4(x_3, x_42, x_4, x_5, x_43); +return x_44; +} +else +{ +uint8_t x_45; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_45 = !lean_is_exclusive(x_41); +if (x_45 == 0) +{ +return x_41; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_41, 0); +x_47 = lean_ctor_get(x_41, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_41); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +} +} +else +{ +uint8_t x_49; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_49 = !lean_is_exclusive(x_13); +if (x_49 == 0) +{ +return x_13; +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_13, 0); +x_51 = lean_ctor_get(x_13, 1); +lean_inc(x_51); +lean_inc(x_50); +lean_dec(x_13); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +return x_52; +} +} +} +else +{ +lean_object* x_53; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_53 = lean_ctor_get(x_12, 0); +lean_inc(x_53); +lean_dec(x_12); +lean_ctor_set(x_7, 0, x_53); +return x_7; +} +} +else +{ +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_54 = lean_ctor_get(x_7, 0); +x_55 = lean_ctor_get(x_7, 1); +lean_inc(x_55); +lean_inc(x_54); +lean_dec(x_7); +x_56 = lean_ctor_get(x_54, 0); +lean_inc(x_56); +lean_dec(x_54); +x_57 = l_Lean_KeyedDeclsAttribute_getValues___rarg(x_1, x_56, x_2); +lean_dec(x_56); +if (lean_obj_tag(x_57) == 0) +{ +lean_object* x_58; +lean_inc(x_2); +x_58 = l_Lean_getConstInfo___at_Lean_PrettyPrinter_runForNodeKind___spec__1(x_2, x_4, x_5, x_55); +if (lean_obj_tag(x_58) == 0) +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; +x_59 = lean_ctor_get(x_58, 0); +lean_inc(x_59); +x_60 = lean_ctor_get(x_58, 1); +lean_inc(x_60); +lean_dec(x_58); +x_61 = l_Lean_ConstantInfo_type(x_59); +lean_dec(x_59); +x_62 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__2; +x_63 = l_Lean_Expr_isConstOf(x_61, x_62); +if (x_63 == 0) +{ +lean_object* x_64; uint8_t x_65; +x_64 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__4; +x_65 = l_Lean_Expr_isConstOf(x_61, x_64); +lean_dec(x_61); +if (x_65 == 0) +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +lean_dec(x_3); +x_66 = lean_ctor_get(x_1, 0); +x_67 = lean_ctor_get(x_66, 1); +lean_inc(x_67); +x_68 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_68, 0, x_67); +x_69 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__6; +x_70 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_70, 0, x_69); +lean_ctor_set(x_70, 1, x_68); +x_71 = l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__8; +x_72 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_72, 0, x_70); +lean_ctor_set(x_72, 1, x_71); +x_73 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_73, 0, x_2); +x_74 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_74, 0, x_72); +lean_ctor_set(x_74, 1, x_73); +x_75 = l_Lean_throwUnknownConstant___rarg___closed__3; +x_76 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_75); +x_77 = l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg(x_76, x_4, x_5, x_60); +lean_dec(x_5); +lean_dec(x_4); +return x_77; +} +else +{ +lean_object* x_78; +x_78 = l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3___rarg(x_2, x_4, x_5, x_60); +lean_dec(x_2); +if (lean_obj_tag(x_78) == 0) +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_78, 0); +lean_inc(x_79); +x_80 = lean_ctor_get(x_78, 1); +lean_inc(x_80); +lean_dec(x_78); +x_81 = lean_apply_4(x_3, x_79, x_4, x_5, x_80); +return x_81; +} +else +{ +lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_82 = lean_ctor_get(x_78, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_78, 1); +lean_inc(x_83); +if (lean_is_exclusive(x_78)) { + lean_ctor_release(x_78, 0); + lean_ctor_release(x_78, 1); + x_84 = x_78; +} else { + lean_dec_ref(x_78); + x_84 = lean_box(0); +} +if (lean_is_scalar(x_84)) { + x_85 = lean_alloc_ctor(1, 2, 0); +} else { + x_85 = x_84; +} +lean_ctor_set(x_85, 0, x_82); +lean_ctor_set(x_85, 1, x_83); +return x_85; +} +} +} +else +{ +lean_object* x_86; +lean_dec(x_61); +x_86 = l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3___rarg(x_2, x_4, x_5, x_60); +lean_dec(x_2); +if (lean_obj_tag(x_86) == 0) +{ +lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_87 = lean_ctor_get(x_86, 0); +lean_inc(x_87); +x_88 = lean_ctor_get(x_86, 1); +lean_inc(x_88); +lean_dec(x_86); +x_89 = lean_apply_4(x_3, x_87, x_4, x_5, x_88); +return x_89; +} +else +{ +lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_90 = lean_ctor_get(x_86, 0); +lean_inc(x_90); +x_91 = lean_ctor_get(x_86, 1); +lean_inc(x_91); +if (lean_is_exclusive(x_86)) { + lean_ctor_release(x_86, 0); + lean_ctor_release(x_86, 1); + x_92 = x_86; +} else { + lean_dec_ref(x_86); + x_92 = lean_box(0); +} +if (lean_is_scalar(x_92)) { + x_93 = lean_alloc_ctor(1, 2, 0); +} else { + x_93 = x_92; +} +lean_ctor_set(x_93, 0, x_90); +lean_ctor_set(x_93, 1, x_91); +return x_93; +} +} +} +else +{ +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_94 = lean_ctor_get(x_58, 0); +lean_inc(x_94); +x_95 = lean_ctor_get(x_58, 1); +lean_inc(x_95); +if (lean_is_exclusive(x_58)) { + lean_ctor_release(x_58, 0); + lean_ctor_release(x_58, 1); + x_96 = x_58; +} else { + lean_dec_ref(x_58); + x_96 = lean_box(0); +} +if (lean_is_scalar(x_96)) { + x_97 = lean_alloc_ctor(1, 2, 0); +} else { + x_97 = x_96; +} +lean_ctor_set(x_97, 0, x_94); +lean_ctor_set(x_97, 1, x_95); +return x_97; +} +} +else +{ +lean_object* x_98; lean_object* x_99; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_98 = lean_ctor_get(x_57, 0); +lean_inc(x_98); +lean_dec(x_57); +x_99 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_99, 0, x_98); +lean_ctor_set(x_99, 1, x_55); +return x_99; +} +} +} +} +lean_object* l_Lean_PrettyPrinter_runForNodeKind(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_runForNodeKind___rarg___boxed), 6, 0); +return x_2; +} +} +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +lean_object* l_Lean_getConstInfo___at_Lean_PrettyPrinter_runForNodeKind___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_getConstInfo___at_Lean_PrettyPrinter_runForNodeKind___spec__1(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +lean_object* l_Lean_ofExcept___at_Lean_PrettyPrinter_runForNodeKind___spec__4___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_ofExcept___at_Lean_PrettyPrinter_runForNodeKind___spec__4___rarg(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_5; +} +} +lean_object* l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_evalConst___at_Lean_PrettyPrinter_runForNodeKind___spec__3___rarg(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_5; +} +} +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_runForNodeKind___rarg(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_1); +return x_7; +} +} +lean_object* initialize_Init(lean_object*); +lean_object* initialize_Lean_InternalExceptionId(lean_object*); +lean_object* initialize_Lean_KeyedDeclsAttribute(lean_object*); +static bool _G_initialized = false; +lean_object* initialize_Lean_PrettyPrinter_Basic(lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Init(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_InternalExceptionId(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_KeyedDeclsAttribute(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__1 = _init_l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__1); +l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__2 = _init_l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4____closed__2); +res = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Basic___hyg_4_(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +l_Lean_PrettyPrinter_backtrackExceptionId = lean_io_result_get_value(res); +lean_mark_persistent(l_Lean_PrettyPrinter_backtrackExceptionId); +lean_dec_ref(res); +l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__1 = _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__1); +l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__2 = _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__2); +l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__3 = _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__3); +l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__4 = _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__4(); +lean_mark_persistent(l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__4); +l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__5 = _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__5(); +lean_mark_persistent(l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__5); +l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__6 = _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__6(); +lean_mark_persistent(l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__6); +l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__7 = _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__7(); +lean_mark_persistent(l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__7); +l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__8 = _init_l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__8(); +lean_mark_persistent(l_Lean_PrettyPrinter_runForNodeKind___rarg___closed__8); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Lean/PrettyPrinter/Formatter.c b/stage0/stdlib/Lean/PrettyPrinter/Formatter.c index ce79f31ce4..325bb7367c 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Formatter.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Formatter.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.PrettyPrinter.Formatter -// Imports: Init Lean.CoreM Lean.Parser.Extension Lean.KeyedDeclsAttribute Lean.ParserCompiler.Attribute Lean.PrettyPrinter.Backtrack +// Imports: Init Lean.CoreM Lean.Parser.Extension Lean.KeyedDeclsAttribute Lean.ParserCompiler.Attribute Lean.PrettyPrinter.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -15,12 +15,18 @@ extern "C" { #endif lean_object* l_List_reverse___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_strLitNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_State_stack___default; extern lean_object* l_Lean_Parser_builtinTokenTable; +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_indent___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_isEqvAux___at_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_ite___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__3; lean_object* l_Lean_PrettyPrinter_Formatter_visitArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_add(size_t, size_t); extern lean_object* l_Lean_fieldIdxKind; @@ -29,9 +35,11 @@ lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_getStackSize___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_concat(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8; lean_object* l_Lean_PrettyPrinter_Formatter_numLitNoAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_eoi_formatter___rarg(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_setExpected_formatter___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__12; @@ -41,13 +49,15 @@ lean_object* l_Lean_PrettyPrinter_Formatter_nonReservedSymbol_formatter(lean_obj lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___closed__4; extern lean_object* l_Lean_nullKind; lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__4(lean_object*); -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_identKind___closed__1; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; uint8_t l_USize_decEq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); lean_object* l_Lean_PrettyPrinter_Formatter_pushLine___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter_match__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_many_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__8; lean_object* l_Lean_Format_pretty(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkNoImmediateColon_formatter___rarg(lean_object*); @@ -58,10 +68,14 @@ lean_object* l_Lean_Syntax_Traverser_up(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_indent(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_visitArgs___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_antiquot_formatter(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__22(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_trailingNode_formatter___lambda__1___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_checkInsideQuot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Lean_PrettyPrinter_Formatter___instance__1(lean_object*); +extern lean_object* l_Lean_identKind___closed__2; lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__1; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2; lean_object* l_Lean_PrettyPrinter_format_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_trailingNode_formatter___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); @@ -79,19 +93,21 @@ lean_object* l_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___insta lean_object* l_Lean_PrettyPrinter_Formatter_checkColGt_formatter___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); +extern lean_object* l_Lean_charLitKind___closed__2; lean_object* l_Lean_Parser_mkParserState(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__1; uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_throwBacktrack(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___spec__2(lean_object*); -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKindUnsafe(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_pushLine(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_notFollowedByCategoryToken_formatter(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_lift___rarg___boxed(lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___rarg(lean_object*); lean_object* l_ReaderT_map___at_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___instance__2___spec__2(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); @@ -99,6 +115,7 @@ lean_object* lean_array_get_size(lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__2___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___instance__2___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_categoryParserOfStack_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_charLitKind___closed__1; lean_object* lean_string_append(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_withForbidden_formatter(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_getStack(lean_object*); @@ -129,19 +146,25 @@ lean_object* l_Lean_PrettyPrinter_Formatter_sepBy_formatter(lean_object*, lean_o lean_object* lean_string_utf8_byte_size(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__3; lean_object* l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___closed__1; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkStackTop_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___instance__2___lambda__1___boxed(lean_object*); extern lean_object* l_Lean_nameLitKind; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_bind___at_Lean_PrettyPrinter_Formatter_categoryParser_formatter___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_formatterForKind___spec__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_visitAtom_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_notFollowedBy_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkColGt_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_StateRefT_x27_get___at_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___instance__2___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_eoi_formatter(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_throwBacktrack___rarg(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_toStringWithSep(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4; lean_object* l_Lean_PrettyPrinter_Formatter_optional_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__9; lean_object* l_Lean_addTrace___at_Lean_PrettyPrinter_Formatter_checkKind___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -151,18 +174,22 @@ lean_object* l_Nat_forM_loop___at_Lean_PrettyPrinter_Formatter_many_formatter___ lean_object* l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter_match__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkKind___closed__5; lean_object* l_Lean_PrettyPrinter_Formatter_checkPrec_formatter___rarg(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_trailingNode_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_getStackSize(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkColGe_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_List_foldr___at_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___spec__1(uint8_t, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; uint8_t l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Formatter_categoryParser_formatter___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t); lean_object* l_Lean_PrettyPrinter_Formatter_withAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_String_trimRight(lean_object*); -extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; -lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind_match__1(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__20(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_isLit_x3f(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_errorAtSavedPos_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); @@ -176,6 +203,7 @@ lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Formatt lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__4; lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__4; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_PrettyPrinter_Formatter_categoryParser_formatter___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_identEq_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkLineEq_formatter(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_setExpected_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -185,6 +213,7 @@ lean_object* lean_st_ref_take(lean_object*, lean_object*); extern lean_object* l_Lean_numLitKind; lean_object* l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter___boxed__const__1; lean_object* lean_nat_sub(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKindUnsafe___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_visitAtom___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_choiceKind___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_categoryParserOfStack_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -201,23 +230,29 @@ lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__5; lean_object* l_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___instance__2___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__3; +extern lean_object* l_Lean_numLitKind___closed__1; +extern lean_object* l_Lean_strLitKind___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_toggleInsideQuot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_node_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Init_Control_Monad___instance__2___rarg(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_forM___at_Lean_PrettyPrinter_Formatter_sepBy_formatter___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__13; lean_object* l_Lean_PrettyPrinter_Formatter_checkInsideQuot_formatter___rarg(lean_object*); lean_object* l_List_foldl___at_Lean_moduleNameOfFileName___spec__1(lean_object*, lean_object*); +extern lean_object* l_Lean_strLitKind___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_identEq_formatter(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkOutsideQuot_formatter(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkLineEq_formatter___rarg(lean_object*); lean_object* l_ReaderT_map___at_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___instance__2___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___kind_tactic____x40_Init_Tactics___hyg_461____closed__9; lean_object* l_Lean_PrettyPrinter_Formatter_visitAtom_match__1(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___closed__3; lean_object* l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___rarg(lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___lambda__1___closed__4; lean_object* l_Lean_Syntax_getId(lean_object*); @@ -233,22 +268,25 @@ lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___lambda__1___closed__8; lean_object* l_Lean_PrettyPrinter_Formatter_many1Unbox_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_errorAtSavedPos_formatter___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkNoWsBefore_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_KeyedDeclsAttribute_getValues___rarg(lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_numLitKind___closed__2; lean_object* l_Lean_addTrace___at_Lean_PrettyPrinter_Formatter_checkKind___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_bind___at_Lean_PrettyPrinter_Formatter_categoryParser_formatter___spec__3(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_formatterAttribute; uint32_t lean_string_utf8_get(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___lambda__1___closed__5; uint8_t l_Array_isEqvAux___at_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__1; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1(lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_error_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_attrParamSyntaxToIdentifier(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_lookahead_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_reverse___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_pushToken___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -259,7 +297,9 @@ lean_object* l_Lean_PrettyPrinter_Formatter_checkTailWs_formatter(lean_object*, extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__3; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_FileMap_ofString(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___instance__2___closed__7; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_visitAtom___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_is_inaccessible_user_name(lean_object*); lean_object* l_ReaderT_pure___at_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter___spec__1(lean_object*); @@ -269,6 +309,7 @@ lean_object* l_List_foldr___at_Lean_PrettyPrinter_Formatter_identNoAntiquot_form lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__6; lean_object* l_Lean_PrettyPrinter_Formatter_pushNone_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_ite(lean_object*, lean_object*); uint8_t l_Lean_Format_isNil(lean_object*); @@ -277,10 +318,11 @@ lean_object* l_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___insta lean_object* l_Lean_PrettyPrinter_Formatter_checkLineEq_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_format(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_nameLitNoAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_withPosition_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__2; lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__10; lean_object* l_Lean_PrettyPrinter_Formatter_checkColGe_formatter(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__3; lean_object* l_Lean_PrettyPrinter_Formatter_State_leadWord___default; lean_object* l_Lean_PrettyPrinter_mkCombinatorFormatterAttribute___closed__1; lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___lambda__1___closed__3; @@ -292,7 +334,8 @@ lean_object* l_Lean_Syntax_Traverser_fromSyntax(lean_object*); lean_object* l_Lean_PrettyPrinter_formatCommand___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__1___boxed(lean_object*); -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_formatterForKind___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__3; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_setStack___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_FormatterM_orelse___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_parseToken___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -309,6 +352,7 @@ lean_object* l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Formatter_categoryPa lean_object* l_Lean_PrettyPrinter_Formatter_checkKind___closed__7; lean_object* l_Lean_PrettyPrinter_formatCommand(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_String_splitAux___closed__1; +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Init_Control_Reader___instance__1___rarg___boxed(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_push(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_Traverser_down(lean_object*, lean_object*); @@ -318,12 +362,17 @@ lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Formatter lean_object* l_Array_foldlMUnsafe_fold___at_Lean_PrettyPrinter_Formatter_categoryParser_formatter___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Format_getWidth___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_checkNoWsBefore_formatter___boxed(lean_object*); +lean_object* lean_pretty_printer_formatter_interpret_parser_descr(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg___boxed(lean_object**); uint8_t l_String_isPrefixOf(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3; uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_error_formatter___rarg(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_pushToken(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); lean_object* l_Lean_Syntax_getKind(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Parser_isValidSyntaxNodeKind(lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Formatter_pushNone_formatter___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Name_isAnonymous(lean_object*); @@ -331,6 +380,7 @@ uint8_t l_Lean_Name_isNum(lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_getStackSize___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_format___closed__3; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_errorAtSavedPos_formatter(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Lean_PrettyPrinter_Formatter___instance__1___closed__1; lean_object* l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__1(lean_object*); @@ -338,17 +388,23 @@ lean_object* l_Lean_PrettyPrinter_Formatter_withForbidden_formatter___boxed(lean lean_object* l_Lean_PrettyPrinter_Formatter_fieldIdx_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_forM_loop___at_Lean_PrettyPrinter_Formatter_many_formatter___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkNoWsBefore_formatter(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Name_toStringWithSep___closed__1; lean_object* l_Lean_Format_getIndent(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_Lean_CoreM___instance__6___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; lean_object* l_Lean_PrettyPrinter_Formatter_notFollowedByCategoryToken_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___lambda__1___closed__6; +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_pushNone_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___instance__2___closed__5; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__3; lean_object* l_Lean_PrettyPrinter_Formatter_visitArgs___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_throwBacktrack___rarg___closed__1; lean_object* l_Lean_PrettyPrinter_format_match__1(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_concat___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_setStack(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -358,6 +414,7 @@ lean_object* l_Array_back___at_Lean_PrettyPrinter_Formatter_indent___spec__1(lea lean_object* l_Lean_PrettyPrinter_Formatter_checkNoImmediateColon_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkOutsideQuot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_skip_formatter___rarg(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_parseToken(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkCombinatorFormatterAttribute___closed__3; lean_object* l_Lean_PrettyPrinter_Formatter_pushTokenCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -378,20 +435,25 @@ lean_object* l_StateRefT_x27_get___at_Lean_PrettyPrinter_Formatter_Lean_PrettyPr lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__3___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_rawIdent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_rawIdent_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_2104_(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_2347_(lean_object*); lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__1(lean_object*); extern lean_object* l_Lean_ParserCompiler_CombinatorAttribute_Lean_ParserCompiler_Attribute___instance__1___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___closed__1; +lean_object* lean_pretty_printer_formatter_interpret_parser_descr(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Formatter_pushNone_formatter___spec__1(lean_object*); extern lean_object* l_Init_Core___instance__49; lean_object* l_Lean_PrettyPrinter_Formatter_checkOutsideQuot_formatter___rarg(lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_charLitNoAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_concat___lambda__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkStackTop_formatter___rarg(lean_object*); +extern lean_object* l_Lean_nameLitKind___closed__2; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_x27___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkStackTop_formatter(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goDown___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___closed__2; -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_formatterForKind___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); extern lean_object* l_Lean_Format_Lean_Data_Format___instance__4; extern lean_object* l_Lean_mkOptionalNode___closed__2; @@ -404,12 +466,14 @@ lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_checkKind___closed__8; lean_object* l_Lean_PrettyPrinter_Formatter_checkColGe_formatter___rarg(lean_object*); extern lean_object* l_System_FilePath_dirName___closed__1; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5; lean_object* l_Lean_PrettyPrinter_Formatter_sepBy1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_init___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkKind(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_nameLitNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_PrettyPrinter_Formatter_concat___spec__1(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___instance__2___closed__2; +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___spec__1(lean_object*); extern lean_object* l_Lean_PrettyPrinter_backtrackExceptionId; lean_object* l_ReaderT_Init_Control_Reader___instance__4___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_suppressInsideQuot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -437,7 +501,9 @@ lean_object* l_Lean_Name_components(lean_object*); lean_object* l_List_forM___at_Lean_PrettyPrinter_Formatter_sepBy_formatter___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___closed__2; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__3; lean_object* l_List_map___at_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___spec__2___closed__2; +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6; extern lean_object* l_Lean_interpolatedStrLitKind; lean_object* l_Lean_PrettyPrinter_Formatter_andthen_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_checkKind___closed__1; @@ -450,6 +516,7 @@ lean_object* l_Lean_PrettyPrinter_Formatter_checkPrec_formatter(lean_object*, le lean_object* l_Lean_PrettyPrinter_Formatter_checkKind___closed__4; lean_object* l_Lean_PrettyPrinter_Formatter_Lean_PrettyPrinter_Formatter___instance__2___lambda__1(lean_object*); lean_object* l_Substring_takeRightWhileAux___at_Lean_PrettyPrinter_Formatter_pushTokenCore___spec__1(lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_nameLitKind___closed__1; uint8_t lean_string_dec_eq(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___lambda__1___closed__7; @@ -3089,159 +3156,100 @@ x_10 = lean_mk_antiquot_formatter(x_1, x_2, x_9, x_4, x_5, x_6, x_7, x_8); return x_10; } } -lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_x27___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; -lean_dec(x_2); -x_4 = lean_apply_1(x_3, x_1); -return x_4; -} -else -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; -lean_dec(x_3); -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -x_6 = lean_ctor_get(x_1, 1); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_2(x_2, x_5, x_6); -return x_7; +lean_object* x_5; +x_5 = lean_pretty_printer_formatter_interpret_parser_descr(x_1, x_2, x_3, x_4); +return x_5; } } -} -lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_formatterForKind_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_formatterForKind___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; lean_object* x_8; uint8_t x_9; -x_7 = lean_ctor_get(x_4, 3); -x_8 = l_Lean_addMessageContextPartial___at_Lean_Core_Lean_CoreM___instance__6___spec__1(x_1, x_4, x_5, x_6); -x_9 = !lean_is_exclusive(x_8); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_ctor_get(x_8, 0); -lean_inc(x_7); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_7); -lean_ctor_set(x_11, 1, x_10); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 0, x_11); -return x_8; -} -else -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_12 = lean_ctor_get(x_8, 0); -x_13 = lean_ctor_get(x_8, 1); -lean_inc(x_13); -lean_inc(x_12); -lean_dec(x_8); -lean_inc(x_7); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_7); -lean_ctor_set(x_14, 1, x_12); -x_15 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_15, 0, x_14); -lean_ctor_set(x_15, 1, x_13); -return x_15; -} -} -} -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_formatterForKind___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_formatterForKind___spec__1___rarg___boxed), 6, 0); -return x_2; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__1() { +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_formatterForKindUnsafe___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string("no known formatter for kind '"); +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr_x27___boxed), 4, 0); return x_1; } } -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__2() { +lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKindUnsafe(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: +lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_7 = l_Lean_PrettyPrinter_formatterAttribute; +x_8 = l_Lean_PrettyPrinter_Formatter_formatterForKindUnsafe___closed__1; +lean_inc(x_5); +lean_inc(x_4); +x_9 = l_Lean_PrettyPrinter_runForNodeKind___rarg(x_7, x_1, x_8, x_4, x_5, x_6); +if (lean_obj_tag(x_9) == 0) { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_7 = lean_st_ref_get(x_5, x_6); -x_8 = lean_ctor_get(x_7, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_7, 1); -lean_inc(x_9); -lean_dec(x_7); -x_10 = lean_ctor_get(x_8, 0); +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); -lean_dec(x_8); -x_11 = l_Lean_PrettyPrinter_formatterAttribute; -x_12 = l_Lean_KeyedDeclsAttribute_getValues___rarg(x_11, x_10, x_1); -lean_dec(x_10); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_13 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_13, 0, x_1); -x_14 = l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__2; -x_15 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_15, 0, x_14); -lean_ctor_set(x_15, 1, x_13); -x_16 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_17 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_17, 0, x_15); -lean_ctor_set(x_17, 1, x_16); -x_18 = l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_formatterForKind___spec__1___rarg(x_17, x_2, x_3, x_4, x_5, x_9); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_18; +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_apply_5(x_10, x_2, x_3, x_4, x_5, x_11); +return x_12; } else { -lean_object* x_19; lean_object* x_20; -lean_dec(x_1); -x_19 = lean_ctor_get(x_12, 0); -lean_inc(x_19); -lean_dec(x_12); -x_20 = lean_apply_5(x_19, x_2, x_3, x_4, x_5, x_9); -return x_20; -} -} -} -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_formatterForKind___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_formatterForKind___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6); +uint8_t x_13; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -return x_7; +x_13 = !lean_is_exclusive(x_9); +if (x_13 == 0) +{ +return x_9; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_9, 0); +x_15 = lean_ctor_get(x_9, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_9); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = lean_box(0); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_formatterForKind___rarg), 1, 0); +return x_6; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_formatterForKind___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_PrettyPrinter_Formatter_formatterForKind(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_6; } } lean_object* l_Lean_PrettyPrinter_Formatter_withAntiquot_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { @@ -3307,7 +3315,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_13 = l_Lean_PrettyPrinter_Formatter_formatterForKind(x_12, x_5, x_6, x_7, x_8, x_9); +x_13 = l_Lean_PrettyPrinter_Formatter_formatterForKindUnsafe(x_12, x_5, x_6, x_7, x_8, x_9); if (lean_obj_tag(x_13) == 0) { lean_object* x_14; lean_object* x_15; size_t x_16; size_t x_17; @@ -3463,7 +3471,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__1; x_2 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__2; -x_3 = lean_unsigned_to_nat(181u); +x_3 = lean_unsigned_to_nat(185u); x_4 = lean_unsigned_to_nat(8u); x_5 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -3748,7 +3756,7 @@ x_17 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_mkAntiquot_form lean_closure_set(x_17, 0, x_13); lean_closure_set(x_17, 1, x_14); lean_closure_set(x_17, 2, x_16); -x_18 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_formatterForKind), 6, 1); +x_18 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_formatterForKindUnsafe), 6, 1); lean_closure_set(x_18, 0, x_9); x_19 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_17, x_18, x_4, x_5, x_6, x_7, x_8); return x_19; @@ -5670,6 +5678,52 @@ x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_unicodeSymbol_fo return x_2; } } +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_7 = lean_ctor_get(x_4, 3); +x_8 = l_Lean_addMessageContextPartial___at_Lean_Core_Lean_CoreM___instance__6___spec__1(x_1, x_4, x_5, x_6); +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_7); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_7); +lean_ctor_set(x_11, 1, x_10); +lean_ctor_set_tag(x_8, 1); +lean_ctor_set(x_8, 0, x_11); +return x_8; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_8, 0); +x_13 = lean_ctor_get(x_8, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_8); +lean_inc(x_7); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_7); +lean_ctor_set(x_14, 1, x_12); +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +return x_15; +} +} +} +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___spec__1___rarg___boxed), 6, 0); +return x_2; +} +} lean_object* l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { @@ -5784,7 +5838,7 @@ x_32 = l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___closed__3; x_33 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_33, 0, x_32); lean_ctor_set(x_33, 1, x_31); -x_34 = l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_formatterForKind___spec__1___rarg(x_33, x_3, x_4, x_5, x_6, x_23); +x_34 = l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___spec__1___rarg(x_33, x_3, x_4, x_5, x_6, x_23); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); @@ -5793,6 +5847,18 @@ return x_34; } } } +lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_7; +} +} lean_object* l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { @@ -6392,7 +6458,7 @@ x_17 = l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___closed__3; x_18 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_18, 0, x_17); lean_ctor_set(x_18, 1, x_16); -x_19 = l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_formatterForKind___spec__1___rarg(x_18, x_3, x_4, x_5, x_6, x_7); +x_19 = l_Lean_throwError___at_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___spec__1___rarg(x_18, x_3, x_4, x_5, x_6, x_7); return x_19; } } @@ -7974,6 +8040,2549 @@ x_10 = l_Lean_PrettyPrinter_Formatter_ite___rarg(x_9, x_2, x_3, x_4, x_5, x_6, x return x_10; } } +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24, lean_object* x_25, lean_object* x_26) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_27 = lean_ctor_get(x_1, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_1, 1); +lean_inc(x_28); +lean_dec(x_1); +x_29 = lean_apply_2(x_2, x_27, x_28); +return x_29; +} +case 1: +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_30 = lean_ctor_get(x_1, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_1, 1); +lean_inc(x_31); +lean_dec(x_1); +x_32 = lean_apply_2(x_3, x_30, x_31); +return x_32; +} +case 2: +{ +lean_object* x_33; lean_object* x_34; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_33 = lean_ctor_get(x_1, 0); +lean_inc(x_33); +lean_dec(x_1); +x_34 = lean_apply_1(x_4, x_33); +return x_34; +} +case 3: +{ +lean_object* x_35; lean_object* x_36; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_35 = lean_ctor_get(x_1, 0); +lean_inc(x_35); +lean_dec(x_1); +x_36 = lean_apply_1(x_5, x_35); +return x_36; +} +case 4: +{ +lean_object* x_37; lean_object* x_38; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_37 = lean_ctor_get(x_1, 0); +lean_inc(x_37); +lean_dec(x_1); +x_38 = lean_apply_1(x_6, x_37); +return x_38; +} +case 5: +{ +lean_object* x_39; lean_object* x_40; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_39 = lean_ctor_get(x_1, 0); +lean_inc(x_39); +lean_dec(x_1); +x_40 = lean_apply_1(x_8, x_39); +return x_40; +} +case 6: +{ +lean_object* x_41; lean_object* x_42; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_41 = lean_ctor_get(x_1, 0); +lean_inc(x_41); +lean_dec(x_1); +x_42 = lean_apply_1(x_9, x_41); +return x_42; +} +case 7: +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_43 = lean_ctor_get(x_1, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_1, 1); +lean_inc(x_44); +lean_dec(x_1); +x_45 = lean_apply_2(x_10, x_43, x_44); +return x_45; +} +case 8: +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_46 = lean_ctor_get(x_1, 0); +lean_inc(x_46); +x_47 = lean_ctor_get(x_1, 1); +lean_inc(x_47); +lean_dec(x_1); +x_48 = lean_apply_2(x_11, x_46, x_47); +return x_48; +} +case 9: +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_49 = lean_ctor_get(x_1, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_1, 1); +lean_inc(x_50); +x_51 = lean_ctor_get(x_1, 2); +lean_inc(x_51); +lean_dec(x_1); +x_52 = lean_apply_3(x_12, x_49, x_50, x_51); +return x_52; +} +case 10: +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_53 = lean_ctor_get(x_1, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_1, 1); +lean_inc(x_54); +x_55 = lean_ctor_get(x_1, 2); +lean_inc(x_55); +lean_dec(x_1); +x_56 = lean_apply_3(x_13, x_53, x_54, x_55); +return x_56; +} +case 11: +{ +lean_object* x_57; lean_object* x_58; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_57 = lean_ctor_get(x_1, 0); +lean_inc(x_57); +lean_dec(x_1); +x_58 = lean_apply_1(x_14, x_57); +return x_58; +} +case 12: +{ +lean_object* x_59; uint8_t x_60; lean_object* x_61; lean_object* x_62; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_59 = lean_ctor_get(x_1, 0); +lean_inc(x_59); +x_60 = lean_ctor_get_uint8(x_1, sizeof(void*)*1); +lean_dec(x_1); +x_61 = lean_box(x_60); +x_62 = lean_apply_2(x_21, x_59, x_61); +return x_62; +} +case 13: +{ +lean_object* x_63; lean_object* x_64; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_63 = lean_box(0); +x_64 = lean_apply_1(x_22, x_63); +return x_64; +} +case 14: +{ +lean_object* x_65; lean_object* x_66; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_65 = lean_box(0); +x_66 = lean_apply_1(x_15, x_65); +return x_66; +} +case 15: +{ +lean_object* x_67; lean_object* x_68; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_67 = lean_box(0); +x_68 = lean_apply_1(x_16, x_67); +return x_68; +} +case 16: +{ +lean_object* x_69; lean_object* x_70; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_69 = lean_box(0); +x_70 = lean_apply_1(x_17, x_69); +return x_70; +} +case 17: +{ +lean_object* x_71; lean_object* x_72; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_71 = lean_box(0); +x_72 = lean_apply_1(x_18, x_71); +return x_72; +} +case 18: +{ +lean_object* x_73; lean_object* x_74; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_73 = lean_ctor_get(x_1, 0); +lean_inc(x_73); +lean_dec(x_1); +x_74 = lean_apply_1(x_20, x_73); +return x_74; +} +case 19: +{ +lean_object* x_75; lean_object* x_76; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_75 = lean_box(0); +x_76 = lean_apply_1(x_19, x_75); +return x_76; +} +case 20: +{ +lean_object* x_77; lean_object* x_78; lean_object* x_79; +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_77 = lean_ctor_get(x_1, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_1, 1); +lean_inc(x_78); +lean_dec(x_1); +x_79 = lean_apply_2(x_26, x_77, x_78); +return x_79; +} +case 21: +{ +lean_object* x_80; lean_object* x_81; +lean_dec(x_26); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_80 = lean_ctor_get(x_1, 0); +lean_inc(x_80); +lean_dec(x_1); +x_81 = lean_apply_1(x_25, x_80); +return x_81; +} +case 22: +{ +lean_object* x_82; lean_object* x_83; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_82 = lean_ctor_get(x_1, 0); +lean_inc(x_82); +lean_dec(x_1); +x_83 = lean_apply_1(x_7, x_82); +return x_83; +} +case 23: +{ +lean_object* x_84; lean_object* x_85; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_84 = lean_ctor_get(x_1, 0); +lean_inc(x_84); +lean_dec(x_1); +x_85 = lean_apply_1(x_23, x_84); +return x_85; +} +default: +{ +uint8_t x_86; lean_object* x_87; lean_object* x_88; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_86 = lean_ctor_get_uint8(x_1, 0); +lean_dec(x_1); +x_87 = lean_box(x_86); +x_88 = lean_apply_1(x_24, x_87); +return x_88; +} +} +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg___boxed), 26, 0); +return x_2; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg___boxed(lean_object** _args) { +lean_object* x_1 = _args[0]; +lean_object* x_2 = _args[1]; +lean_object* x_3 = _args[2]; +lean_object* x_4 = _args[3]; +lean_object* x_5 = _args[4]; +lean_object* x_6 = _args[5]; +lean_object* x_7 = _args[6]; +lean_object* x_8 = _args[7]; +lean_object* x_9 = _args[8]; +lean_object* x_10 = _args[9]; +lean_object* x_11 = _args[10]; +lean_object* x_12 = _args[11]; +lean_object* x_13 = _args[12]; +lean_object* x_14 = _args[13]; +lean_object* x_15 = _args[14]; +lean_object* x_16 = _args[15]; +lean_object* x_17 = _args[16]; +lean_object* x_18 = _args[17]; +lean_object* x_19 = _args[18]; +lean_object* x_20 = _args[19]; +lean_object* x_21 = _args[20]; +lean_object* x_22 = _args[21]; +lean_object* x_23 = _args[22]; +lean_object* x_24 = _args[23]; +lean_object* x_25 = _args[24]; +lean_object* x_26 = _args[25]; +_start: +{ +lean_object* x_27; +x_27 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_26); +return x_27; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Formatter_andthen_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Formatter_visitArgs(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = lean_box(0); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___rarg), 1, 0); +return x_6; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = lean_apply_5(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Formatter_many_formatter(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Formatter_many_formatter(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Formatter_sepBy_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Formatter_sepBy_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Formatter_node_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_PrettyPrinter_Formatter_trailingNode_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_9; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Formatter_symbol_formatter(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Formatter_symbol_formatter(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_numLitKind___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_numLitKind___closed__1; +x_2 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_numLitNoAntiquot_formatter___boxed), 5, 0); +return x_1; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__3; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_strLitKind___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_strLitKind___closed__1; +x_2 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_strLitNoAntiquot_formatter___boxed), 5, 0); +return x_1; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__3; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_charLitKind___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_charLitKind___closed__1; +x_2 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_charLitNoAntiquot_formatter___boxed), 5, 0); +return x_1; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__3; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_nameLitKind___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_nameLitKind___closed__1; +x_2 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_nameLitNoAntiquot_formatter___boxed), 5, 0); +return x_1; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__3; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__18(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_identKind___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_identKind___closed__1; +x_2 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___boxed), 5, 0); +return x_1; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__3; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__20(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = lean_box(0); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___rarg), 1, 0); +return x_6; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__22(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = lean_apply_5(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkNoWsBefore_formatter___boxed), 1, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkColGe_formatter___boxed), 4, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkColGt_formatter___boxed), 4, 0); +return x_1; +} +} +lean_object* lean_pretty_printer_formatter_interpret_parser_descr(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +x_6 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_dec(x_1); +lean_inc(x_3); +lean_inc(x_2); +x_7 = lean_pretty_printer_formatter_interpret_parser_descr(x_5, x_2, x_3, x_4); +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_pretty_printer_formatter_interpret_parser_descr(x_6, x_2, x_3, x_9); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +x_13 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__1), 7, 2); +lean_closure_set(x_13, 0, x_8); +lean_closure_set(x_13, 1, x_12); +lean_ctor_set(x_10, 0, x_13); +return x_10; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_10); +x_16 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__1), 7, 2); +lean_closure_set(x_16, 0, x_8); +lean_closure_set(x_16, 1, x_14); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +} +else +{ +uint8_t x_18; +lean_dec(x_8); +x_18 = !lean_is_exclusive(x_10); +if (x_18 == 0) +{ +return x_10; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_10, 0); +x_20 = lean_ctor_get(x_10, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_10); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +} +else +{ +uint8_t x_22; +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +x_22 = !lean_is_exclusive(x_7); +if (x_22 == 0) +{ +return x_7; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_7, 0); +x_24 = lean_ctor_get(x_7, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_7); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +case 1: +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_1, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_1, 1); +lean_inc(x_27); +lean_dec(x_1); +lean_inc(x_3); +lean_inc(x_2); +x_28 = lean_pretty_printer_formatter_interpret_parser_descr(x_26, x_2, x_3, x_4); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = lean_pretty_printer_formatter_interpret_parser_descr(x_27, x_2, x_3, x_30); +if (lean_obj_tag(x_31) == 0) +{ +uint8_t x_32; +x_32 = !lean_is_exclusive(x_31); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; +x_33 = lean_ctor_get(x_31, 0); +x_34 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__2), 7, 2); +lean_closure_set(x_34, 0, x_29); +lean_closure_set(x_34, 1, x_33); +lean_ctor_set(x_31, 0, x_34); +return x_31; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_35 = lean_ctor_get(x_31, 0); +x_36 = lean_ctor_get(x_31, 1); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_31); +x_37 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__2), 7, 2); +lean_closure_set(x_37, 0, x_29); +lean_closure_set(x_37, 1, x_35); +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_36); +return x_38; +} +} +else +{ +uint8_t x_39; +lean_dec(x_29); +x_39 = !lean_is_exclusive(x_31); +if (x_39 == 0) +{ +return x_31; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_31, 0); +x_41 = lean_ctor_get(x_31, 1); +lean_inc(x_41); +lean_inc(x_40); +lean_dec(x_31); +x_42 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +return x_42; +} +} +} +else +{ +uint8_t x_43; +lean_dec(x_27); +lean_dec(x_3); +lean_dec(x_2); +x_43 = !lean_is_exclusive(x_28); +if (x_43 == 0) +{ +return x_28; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_28, 0); +x_45 = lean_ctor_get(x_28, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_28); +x_46 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +return x_46; +} +} +} +case 2: +{ +lean_object* x_47; lean_object* x_48; +x_47 = lean_ctor_get(x_1, 0); +lean_inc(x_47); +lean_dec(x_1); +x_48 = lean_pretty_printer_formatter_interpret_parser_descr(x_47, x_2, x_3, x_4); +if (lean_obj_tag(x_48) == 0) +{ +uint8_t x_49; +x_49 = !lean_is_exclusive(x_48); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; +x_50 = lean_ctor_get(x_48, 0); +x_51 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__3), 6, 1); +lean_closure_set(x_51, 0, x_50); +lean_ctor_set(x_48, 0, x_51); +return x_48; +} +else +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_52 = lean_ctor_get(x_48, 0); +x_53 = lean_ctor_get(x_48, 1); +lean_inc(x_53); +lean_inc(x_52); +lean_dec(x_48); +x_54 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__3), 6, 1); +lean_closure_set(x_54, 0, x_52); +x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_53); +return x_55; +} +} +else +{ +uint8_t x_56; +x_56 = !lean_is_exclusive(x_48); +if (x_56 == 0) +{ +return x_48; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_48, 0); +x_58 = lean_ctor_get(x_48, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_48); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +} +case 3: +{ +lean_object* x_60; lean_object* x_61; +x_60 = lean_ctor_get(x_1, 0); +lean_inc(x_60); +lean_dec(x_1); +x_61 = lean_pretty_printer_formatter_interpret_parser_descr(x_60, x_2, x_3, x_4); +if (lean_obj_tag(x_61) == 0) +{ +uint8_t x_62; +x_62 = !lean_is_exclusive(x_61); +if (x_62 == 0) +{ +lean_object* x_63; lean_object* x_64; +x_63 = lean_ctor_get(x_61, 0); +x_64 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___boxed), 5, 1); +lean_closure_set(x_64, 0, x_63); +lean_ctor_set(x_61, 0, x_64); +return x_61; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_65 = lean_ctor_get(x_61, 0); +x_66 = lean_ctor_get(x_61, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_61); +x_67 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___boxed), 5, 1); +lean_closure_set(x_67, 0, x_65); +x_68 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_68, 0, x_67); +lean_ctor_set(x_68, 1, x_66); +return x_68; +} +} +else +{ +uint8_t x_69; +x_69 = !lean_is_exclusive(x_61); +if (x_69 == 0) +{ +return x_61; +} +else +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; +x_70 = lean_ctor_get(x_61, 0); +x_71 = lean_ctor_get(x_61, 1); +lean_inc(x_71); +lean_inc(x_70); +lean_dec(x_61); +x_72 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_72, 0, x_70); +lean_ctor_set(x_72, 1, x_71); +return x_72; +} +} +} +case 4: +{ +lean_object* x_73; lean_object* x_74; +x_73 = lean_ctor_get(x_1, 0); +lean_inc(x_73); +lean_dec(x_1); +x_74 = lean_pretty_printer_formatter_interpret_parser_descr(x_73, x_2, x_3, x_4); +if (lean_obj_tag(x_74) == 0) +{ +uint8_t x_75; +x_75 = !lean_is_exclusive(x_74); +if (x_75 == 0) +{ +lean_object* x_76; lean_object* x_77; +x_76 = lean_ctor_get(x_74, 0); +x_77 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__5), 6, 1); +lean_closure_set(x_77, 0, x_76); +lean_ctor_set(x_74, 0, x_77); +return x_74; +} +else +{ +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_78 = lean_ctor_get(x_74, 0); +x_79 = lean_ctor_get(x_74, 1); +lean_inc(x_79); +lean_inc(x_78); +lean_dec(x_74); +x_80 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__5), 6, 1); +lean_closure_set(x_80, 0, x_78); +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_80); +lean_ctor_set(x_81, 1, x_79); +return x_81; +} +} +else +{ +uint8_t x_82; +x_82 = !lean_is_exclusive(x_74); +if (x_82 == 0) +{ +return x_74; +} +else +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; +x_83 = lean_ctor_get(x_74, 0); +x_84 = lean_ctor_get(x_74, 1); +lean_inc(x_84); +lean_inc(x_83); +lean_dec(x_74); +x_85 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_85, 0, x_83); +lean_ctor_set(x_85, 1, x_84); +return x_85; +} +} +} +case 5: +{ +lean_object* x_86; lean_object* x_87; +x_86 = lean_ctor_get(x_1, 0); +lean_inc(x_86); +lean_dec(x_1); +x_87 = lean_pretty_printer_formatter_interpret_parser_descr(x_86, x_2, x_3, x_4); +if (lean_obj_tag(x_87) == 0) +{ +uint8_t x_88; +x_88 = !lean_is_exclusive(x_87); +if (x_88 == 0) +{ +lean_object* x_89; lean_object* x_90; +x_89 = lean_ctor_get(x_87, 0); +x_90 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__6), 6, 1); +lean_closure_set(x_90, 0, x_89); +lean_ctor_set(x_87, 0, x_90); +return x_87; +} +else +{ +lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_91 = lean_ctor_get(x_87, 0); +x_92 = lean_ctor_get(x_87, 1); +lean_inc(x_92); +lean_inc(x_91); +lean_dec(x_87); +x_93 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__6), 6, 1); +lean_closure_set(x_93, 0, x_91); +x_94 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_94, 0, x_93); +lean_ctor_set(x_94, 1, x_92); +return x_94; +} +} +else +{ +uint8_t x_95; +x_95 = !lean_is_exclusive(x_87); +if (x_95 == 0) +{ +return x_87; +} +else +{ +lean_object* x_96; lean_object* x_97; lean_object* x_98; +x_96 = lean_ctor_get(x_87, 0); +x_97 = lean_ctor_get(x_87, 1); +lean_inc(x_97); +lean_inc(x_96); +lean_dec(x_87); +x_98 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_98, 0, x_96); +lean_ctor_set(x_98, 1, x_97); +return x_98; +} +} +} +case 6: +{ +lean_object* x_99; lean_object* x_100; +x_99 = lean_ctor_get(x_1, 0); +lean_inc(x_99); +lean_dec(x_1); +x_100 = lean_pretty_printer_formatter_interpret_parser_descr(x_99, x_2, x_3, x_4); +if (lean_obj_tag(x_100) == 0) +{ +uint8_t x_101; +x_101 = !lean_is_exclusive(x_100); +if (x_101 == 0) +{ +lean_object* x_102; lean_object* x_103; +x_102 = lean_ctor_get(x_100, 0); +x_103 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__7), 6, 1); +lean_closure_set(x_103, 0, x_102); +lean_ctor_set(x_100, 0, x_103); +return x_100; +} +else +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; +x_104 = lean_ctor_get(x_100, 0); +x_105 = lean_ctor_get(x_100, 1); +lean_inc(x_105); +lean_inc(x_104); +lean_dec(x_100); +x_106 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__7), 6, 1); +lean_closure_set(x_106, 0, x_104); +x_107 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_107, 0, x_106); +lean_ctor_set(x_107, 1, x_105); +return x_107; +} +} +else +{ +uint8_t x_108; +x_108 = !lean_is_exclusive(x_100); +if (x_108 == 0) +{ +return x_100; +} +else +{ +lean_object* x_109; lean_object* x_110; lean_object* x_111; +x_109 = lean_ctor_get(x_100, 0); +x_110 = lean_ctor_get(x_100, 1); +lean_inc(x_110); +lean_inc(x_109); +lean_dec(x_100); +x_111 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_111, 0, x_109); +lean_ctor_set(x_111, 1, x_110); +return x_111; +} +} +} +case 7: +{ +lean_object* x_112; lean_object* x_113; lean_object* x_114; +x_112 = lean_ctor_get(x_1, 0); +lean_inc(x_112); +x_113 = lean_ctor_get(x_1, 1); +lean_inc(x_113); +lean_dec(x_1); +lean_inc(x_3); +lean_inc(x_2); +x_114 = lean_pretty_printer_formatter_interpret_parser_descr(x_112, x_2, x_3, x_4); +if (lean_obj_tag(x_114) == 0) +{ +lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_115 = lean_ctor_get(x_114, 0); +lean_inc(x_115); +x_116 = lean_ctor_get(x_114, 1); +lean_inc(x_116); +lean_dec(x_114); +x_117 = lean_pretty_printer_formatter_interpret_parser_descr(x_113, x_2, x_3, x_116); +if (lean_obj_tag(x_117) == 0) +{ +uint8_t x_118; +x_118 = !lean_is_exclusive(x_117); +if (x_118 == 0) +{ +lean_object* x_119; lean_object* x_120; +x_119 = lean_ctor_get(x_117, 0); +x_120 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__8), 7, 2); +lean_closure_set(x_120, 0, x_115); +lean_closure_set(x_120, 1, x_119); +lean_ctor_set(x_117, 0, x_120); +return x_117; +} +else +{ +lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; +x_121 = lean_ctor_get(x_117, 0); +x_122 = lean_ctor_get(x_117, 1); +lean_inc(x_122); +lean_inc(x_121); +lean_dec(x_117); +x_123 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__8), 7, 2); +lean_closure_set(x_123, 0, x_115); +lean_closure_set(x_123, 1, x_121); +x_124 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_124, 0, x_123); +lean_ctor_set(x_124, 1, x_122); +return x_124; +} +} +else +{ +uint8_t x_125; +lean_dec(x_115); +x_125 = !lean_is_exclusive(x_117); +if (x_125 == 0) +{ +return x_117; +} +else +{ +lean_object* x_126; lean_object* x_127; lean_object* x_128; +x_126 = lean_ctor_get(x_117, 0); +x_127 = lean_ctor_get(x_117, 1); +lean_inc(x_127); +lean_inc(x_126); +lean_dec(x_117); +x_128 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_128, 0, x_126); +lean_ctor_set(x_128, 1, x_127); +return x_128; +} +} +} +else +{ +uint8_t x_129; +lean_dec(x_113); +lean_dec(x_3); +lean_dec(x_2); +x_129 = !lean_is_exclusive(x_114); +if (x_129 == 0) +{ +return x_114; +} +else +{ +lean_object* x_130; lean_object* x_131; lean_object* x_132; +x_130 = lean_ctor_get(x_114, 0); +x_131 = lean_ctor_get(x_114, 1); +lean_inc(x_131); +lean_inc(x_130); +lean_dec(x_114); +x_132 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_132, 0, x_130); +lean_ctor_set(x_132, 1, x_131); +return x_132; +} +} +} +case 8: +{ +lean_object* x_133; lean_object* x_134; lean_object* x_135; +x_133 = lean_ctor_get(x_1, 0); +lean_inc(x_133); +x_134 = lean_ctor_get(x_1, 1); +lean_inc(x_134); +lean_dec(x_1); +lean_inc(x_3); +lean_inc(x_2); +x_135 = lean_pretty_printer_formatter_interpret_parser_descr(x_133, x_2, x_3, x_4); +if (lean_obj_tag(x_135) == 0) +{ +lean_object* x_136; lean_object* x_137; lean_object* x_138; +x_136 = lean_ctor_get(x_135, 0); +lean_inc(x_136); +x_137 = lean_ctor_get(x_135, 1); +lean_inc(x_137); +lean_dec(x_135); +x_138 = lean_pretty_printer_formatter_interpret_parser_descr(x_134, x_2, x_3, x_137); +if (lean_obj_tag(x_138) == 0) +{ +uint8_t x_139; +x_139 = !lean_is_exclusive(x_138); +if (x_139 == 0) +{ +lean_object* x_140; lean_object* x_141; +x_140 = lean_ctor_get(x_138, 0); +x_141 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__9), 7, 2); +lean_closure_set(x_141, 0, x_136); +lean_closure_set(x_141, 1, x_140); +lean_ctor_set(x_138, 0, x_141); +return x_138; +} +else +{ +lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; +x_142 = lean_ctor_get(x_138, 0); +x_143 = lean_ctor_get(x_138, 1); +lean_inc(x_143); +lean_inc(x_142); +lean_dec(x_138); +x_144 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__9), 7, 2); +lean_closure_set(x_144, 0, x_136); +lean_closure_set(x_144, 1, x_142); +x_145 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_145, 0, x_144); +lean_ctor_set(x_145, 1, x_143); +return x_145; +} +} +else +{ +uint8_t x_146; +lean_dec(x_136); +x_146 = !lean_is_exclusive(x_138); +if (x_146 == 0) +{ +return x_138; +} +else +{ +lean_object* x_147; lean_object* x_148; lean_object* x_149; +x_147 = lean_ctor_get(x_138, 0); +x_148 = lean_ctor_get(x_138, 1); +lean_inc(x_148); +lean_inc(x_147); +lean_dec(x_138); +x_149 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_149, 0, x_147); +lean_ctor_set(x_149, 1, x_148); +return x_149; +} +} +} +else +{ +uint8_t x_150; +lean_dec(x_134); +lean_dec(x_3); +lean_dec(x_2); +x_150 = !lean_is_exclusive(x_135); +if (x_150 == 0) +{ +return x_135; +} +else +{ +lean_object* x_151; lean_object* x_152; lean_object* x_153; +x_151 = lean_ctor_get(x_135, 0); +x_152 = lean_ctor_get(x_135, 1); +lean_inc(x_152); +lean_inc(x_151); +lean_dec(x_135); +x_153 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_153, 0, x_151); +lean_ctor_set(x_153, 1, x_152); +return x_153; +} +} +} +case 9: +{ +lean_object* x_154; lean_object* x_155; lean_object* x_156; +x_154 = lean_ctor_get(x_1, 0); +lean_inc(x_154); +x_155 = lean_ctor_get(x_1, 2); +lean_inc(x_155); +lean_dec(x_1); +x_156 = lean_pretty_printer_formatter_interpret_parser_descr(x_155, x_2, x_3, x_4); +if (lean_obj_tag(x_156) == 0) +{ +uint8_t x_157; +x_157 = !lean_is_exclusive(x_156); +if (x_157 == 0) +{ +lean_object* x_158; lean_object* x_159; +x_158 = lean_ctor_get(x_156, 0); +x_159 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__10), 7, 2); +lean_closure_set(x_159, 0, x_154); +lean_closure_set(x_159, 1, x_158); +lean_ctor_set(x_156, 0, x_159); +return x_156; +} +else +{ +lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; +x_160 = lean_ctor_get(x_156, 0); +x_161 = lean_ctor_get(x_156, 1); +lean_inc(x_161); +lean_inc(x_160); +lean_dec(x_156); +x_162 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__10), 7, 2); +lean_closure_set(x_162, 0, x_154); +lean_closure_set(x_162, 1, x_160); +x_163 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_163, 0, x_162); +lean_ctor_set(x_163, 1, x_161); +return x_163; +} +} +else +{ +uint8_t x_164; +lean_dec(x_154); +x_164 = !lean_is_exclusive(x_156); +if (x_164 == 0) +{ +return x_156; +} +else +{ +lean_object* x_165; lean_object* x_166; lean_object* x_167; +x_165 = lean_ctor_get(x_156, 0); +x_166 = lean_ctor_get(x_156, 1); +lean_inc(x_166); +lean_inc(x_165); +lean_dec(x_156); +x_167 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_167, 0, x_165); +lean_ctor_set(x_167, 1, x_166); +return x_167; +} +} +} +case 10: +{ +lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; +x_168 = lean_ctor_get(x_1, 0); +lean_inc(x_168); +x_169 = lean_ctor_get(x_1, 1); +lean_inc(x_169); +x_170 = lean_ctor_get(x_1, 2); +lean_inc(x_170); +lean_dec(x_1); +x_171 = lean_pretty_printer_formatter_interpret_parser_descr(x_170, x_2, x_3, x_4); +if (lean_obj_tag(x_171) == 0) +{ +uint8_t x_172; +x_172 = !lean_is_exclusive(x_171); +if (x_172 == 0) +{ +lean_object* x_173; lean_object* x_174; +x_173 = lean_ctor_get(x_171, 0); +x_174 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11___boxed), 8, 3); +lean_closure_set(x_174, 0, x_168); +lean_closure_set(x_174, 1, x_169); +lean_closure_set(x_174, 2, x_173); +lean_ctor_set(x_171, 0, x_174); +return x_171; +} +else +{ +lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; +x_175 = lean_ctor_get(x_171, 0); +x_176 = lean_ctor_get(x_171, 1); +lean_inc(x_176); +lean_inc(x_175); +lean_dec(x_171); +x_177 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11___boxed), 8, 3); +lean_closure_set(x_177, 0, x_168); +lean_closure_set(x_177, 1, x_169); +lean_closure_set(x_177, 2, x_175); +x_178 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_178, 0, x_177); +lean_ctor_set(x_178, 1, x_176); +return x_178; +} +} +else +{ +uint8_t x_179; +lean_dec(x_169); +lean_dec(x_168); +x_179 = !lean_is_exclusive(x_171); +if (x_179 == 0) +{ +return x_171; +} +else +{ +lean_object* x_180; lean_object* x_181; lean_object* x_182; +x_180 = lean_ctor_get(x_171, 0); +x_181 = lean_ctor_get(x_171, 1); +lean_inc(x_181); +lean_inc(x_180); +lean_dec(x_171); +x_182 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_182, 0, x_180); +lean_ctor_set(x_182, 1, x_181); +return x_182; +} +} +} +case 11: +{ +lean_object* x_183; lean_object* x_184; lean_object* x_185; +lean_dec(x_3); +lean_dec(x_2); +x_183 = lean_ctor_get(x_1, 0); +lean_inc(x_183); +lean_dec(x_1); +x_184 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12___boxed), 6, 1); +lean_closure_set(x_184, 0, x_183); +x_185 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_185, 0, x_184); +lean_ctor_set(x_185, 1, x_4); +return x_185; +} +case 12: +{ +lean_object* x_186; lean_object* x_187; lean_object* x_188; +lean_dec(x_3); +lean_dec(x_2); +x_186 = lean_ctor_get(x_1, 0); +lean_inc(x_186); +lean_dec(x_1); +x_187 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13___boxed), 6, 1); +lean_closure_set(x_187, 0, x_186); +x_188 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_188, 0, x_187); +lean_ctor_set(x_188, 1, x_4); +return x_188; +} +case 13: +{ +lean_object* x_189; lean_object* x_190; +lean_dec(x_3); +lean_dec(x_2); +x_189 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; +x_190 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_190, 0, x_189); +lean_ctor_set(x_190, 1, x_4); +return x_190; +} +case 14: +{ +lean_object* x_191; lean_object* x_192; +lean_dec(x_3); +lean_dec(x_2); +x_191 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2; +x_192 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_192, 0, x_191); +lean_ctor_set(x_192, 1, x_4); +return x_192; +} +case 15: +{ +lean_object* x_193; lean_object* x_194; +lean_dec(x_3); +lean_dec(x_2); +x_193 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3; +x_194 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_194, 0, x_193); +lean_ctor_set(x_194, 1, x_4); +return x_194; +} +case 16: +{ +lean_object* x_195; lean_object* x_196; +lean_dec(x_3); +lean_dec(x_2); +x_195 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4; +x_196 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_196, 0, x_195); +lean_ctor_set(x_196, 1, x_4); +return x_196; +} +case 17: +{ +lean_object* x_197; lean_object* x_198; +lean_dec(x_3); +lean_dec(x_2); +x_197 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5; +x_198 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_198, 0, x_197); +lean_ctor_set(x_198, 1, x_4); +return x_198; +} +case 18: +{ +lean_object* x_199; lean_object* x_200; +x_199 = lean_ctor_get(x_1, 0); +lean_inc(x_199); +lean_dec(x_1); +x_200 = lean_pretty_printer_formatter_interpret_parser_descr(x_199, x_2, x_3, x_4); +if (lean_obj_tag(x_200) == 0) +{ +uint8_t x_201; +x_201 = !lean_is_exclusive(x_200); +if (x_201 == 0) +{ +lean_object* x_202; lean_object* x_203; +x_202 = lean_ctor_get(x_200, 0); +x_203 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__18), 6, 1); +lean_closure_set(x_203, 0, x_202); +lean_ctor_set(x_200, 0, x_203); +return x_200; +} +else +{ +lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; +x_204 = lean_ctor_get(x_200, 0); +x_205 = lean_ctor_get(x_200, 1); +lean_inc(x_205); +lean_inc(x_204); +lean_dec(x_200); +x_206 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__18), 6, 1); +lean_closure_set(x_206, 0, x_204); +x_207 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_207, 0, x_206); +lean_ctor_set(x_207, 1, x_205); +return x_207; +} +} +else +{ +uint8_t x_208; +x_208 = !lean_is_exclusive(x_200); +if (x_208 == 0) +{ +return x_200; +} +else +{ +lean_object* x_209; lean_object* x_210; lean_object* x_211; +x_209 = lean_ctor_get(x_200, 0); +x_210 = lean_ctor_get(x_200, 1); +lean_inc(x_210); +lean_inc(x_209); +lean_dec(x_200); +x_211 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_211, 0, x_209); +lean_ctor_set(x_211, 1, x_210); +return x_211; +} +} +} +case 19: +{ +lean_object* x_212; lean_object* x_213; +lean_dec(x_3); +lean_dec(x_2); +x_212 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6; +x_213 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_213, 0, x_212); +lean_ctor_set(x_213, 1, x_4); +return x_213; +} +case 20: +{ +lean_object* x_214; lean_object* x_215; lean_object* x_216; +lean_dec(x_3); +lean_dec(x_2); +x_214 = lean_ctor_get(x_1, 0); +lean_inc(x_214); +lean_dec(x_1); +x_215 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__20), 6, 1); +lean_closure_set(x_215, 0, x_214); +x_216 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_216, 0, x_215); +lean_ctor_set(x_216, 1, x_4); +return x_216; +} +case 21: +{ +lean_object* x_217; lean_object* x_218; lean_object* x_219; +x_217 = lean_ctor_get(x_1, 0); +lean_inc(x_217); +lean_dec(x_1); +x_218 = l_Lean_PrettyPrinter_combinatorFormatterAttribute; +x_219 = l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg(x_218, x_217, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_219; +} +case 22: +{ +lean_object* x_220; lean_object* x_221; +x_220 = lean_ctor_get(x_1, 0); +lean_inc(x_220); +lean_dec(x_1); +x_221 = lean_pretty_printer_formatter_interpret_parser_descr(x_220, x_2, x_3, x_4); +if (lean_obj_tag(x_221) == 0) +{ +uint8_t x_222; +x_222 = !lean_is_exclusive(x_221); +if (x_222 == 0) +{ +lean_object* x_223; lean_object* x_224; +x_223 = lean_ctor_get(x_221, 0); +x_224 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___boxed), 5, 1); +lean_closure_set(x_224, 0, x_223); +lean_ctor_set(x_221, 0, x_224); +return x_221; +} +else +{ +lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; +x_225 = lean_ctor_get(x_221, 0); +x_226 = lean_ctor_get(x_221, 1); +lean_inc(x_226); +lean_inc(x_225); +lean_dec(x_221); +x_227 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___boxed), 5, 1); +lean_closure_set(x_227, 0, x_225); +x_228 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_228, 0, x_227); +lean_ctor_set(x_228, 1, x_226); +return x_228; +} +} +else +{ +uint8_t x_229; +x_229 = !lean_is_exclusive(x_221); +if (x_229 == 0) +{ +return x_221; +} +else +{ +lean_object* x_230; lean_object* x_231; lean_object* x_232; +x_230 = lean_ctor_get(x_221, 0); +x_231 = lean_ctor_get(x_221, 1); +lean_inc(x_231); +lean_inc(x_230); +lean_dec(x_221); +x_232 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_232, 0, x_230); +lean_ctor_set(x_232, 1, x_231); +return x_232; +} +} +} +case 23: +{ +lean_object* x_233; lean_object* x_234; +x_233 = lean_ctor_get(x_1, 0); +lean_inc(x_233); +lean_dec(x_1); +x_234 = lean_pretty_printer_formatter_interpret_parser_descr(x_233, x_2, x_3, x_4); +if (lean_obj_tag(x_234) == 0) +{ +uint8_t x_235; +x_235 = !lean_is_exclusive(x_234); +if (x_235 == 0) +{ +lean_object* x_236; lean_object* x_237; +x_236 = lean_ctor_get(x_234, 0); +x_237 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__22), 6, 1); +lean_closure_set(x_237, 0, x_236); +lean_ctor_set(x_234, 0, x_237); +return x_234; +} +else +{ +lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; +x_238 = lean_ctor_get(x_234, 0); +x_239 = lean_ctor_get(x_234, 1); +lean_inc(x_239); +lean_inc(x_238); +lean_dec(x_234); +x_240 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__22), 6, 1); +lean_closure_set(x_240, 0, x_238); +x_241 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_241, 0, x_240); +lean_ctor_set(x_241, 1, x_239); +return x_241; +} +} +else +{ +uint8_t x_242; +x_242 = !lean_is_exclusive(x_234); +if (x_242 == 0) +{ +return x_234; +} +else +{ +lean_object* x_243; lean_object* x_244; lean_object* x_245; +x_243 = lean_ctor_get(x_234, 0); +x_244 = lean_ctor_get(x_234, 1); +lean_inc(x_244); +lean_inc(x_243); +lean_dec(x_234); +x_245 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_245, 0, x_243); +lean_ctor_set(x_245, 1, x_244); +return x_245; +} +} +} +default: +{ +uint8_t x_246; +lean_dec(x_3); +lean_dec(x_2); +x_246 = lean_ctor_get_uint8(x_1, 0); +lean_dec(x_1); +if (x_246 == 0) +{ +lean_object* x_247; lean_object* x_248; +x_247 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; +x_248 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_248, 0, x_247); +lean_ctor_set(x_248, 1, x_4); +return x_248; +} +else +{ +lean_object* x_249; lean_object* x_250; +x_249 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8; +x_250 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_250, 0, x_249); +lean_ctor_set(x_250, 1, x_4); +return x_250; +} +} +} +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_6; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_2); +return x_9; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_6; +} +} lean_object* l_Lean_PrettyPrinter_format_match__1___rarg(lean_object* x_1, lean_object* x_2) { _start: { @@ -7995,52 +10604,6 @@ x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_format_match__1___rarg), 2 return x_2; } } -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; lean_object* x_6; uint8_t x_7; -x_5 = lean_ctor_get(x_2, 3); -x_6 = l_Lean_addMessageContextPartial___at_Lean_Core_Lean_CoreM___instance__6___spec__1(x_1, x_2, x_3, x_4); -x_7 = !lean_is_exclusive(x_6); -if (x_7 == 0) -{ -lean_object* x_8; lean_object* x_9; -x_8 = lean_ctor_get(x_6, 0); -lean_inc(x_5); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_5); -lean_ctor_set(x_9, 1, x_8); -lean_ctor_set_tag(x_6, 1); -lean_ctor_set(x_6, 0, x_9); -return x_6; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_10 = lean_ctor_get(x_6, 0); -x_11 = lean_ctor_get(x_6, 1); -lean_inc(x_11); -lean_inc(x_10); -lean_dec(x_6); -lean_inc(x_5); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_5); -lean_ctor_set(x_12, 1, x_10); -x_13 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_11); -return x_13; -} -} -} -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1___rarg___boxed), 4, 0); -return x_2; -} -} static lean_object* _init_l_Lean_PrettyPrinter_format___closed__1() { _start: { @@ -8215,7 +10778,7 @@ lean_object* x_51; lean_object* x_52; lean_free_object(x_20); lean_dec(x_40); x_51 = l_Lean_PrettyPrinter_format___closed__3; -x_52 = l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1___rarg(x_51, x_3, x_4, x_46); +x_52 = l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg(x_51, x_3, x_4, x_46); lean_dec(x_4); lean_dec(x_3); return x_52; @@ -8247,7 +10810,7 @@ else lean_object* x_58; lean_object* x_59; lean_dec(x_40); x_58 = l_Lean_PrettyPrinter_format___closed__3; -x_59 = l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1___rarg(x_58, x_3, x_4, x_53); +x_59 = l_Lean_throwError___at_Lean_PrettyPrinter_runForNodeKind___spec__2___rarg(x_58, x_3, x_4, x_53); lean_dec(x_4); lean_dec(x_3); return x_59; @@ -8257,16 +10820,6 @@ return x_59; } } } -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1___rarg(x_1, x_2, x_3, x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_5; -} -} static lean_object* _init_l_Lean_PrettyPrinter_formatTerm___closed__1() { _start: { @@ -8290,7 +10843,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_formatCommand___closed__1() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_categoryParser_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -8305,7 +10858,7 @@ x_6 = l_Lean_PrettyPrinter_format(x_5, x_1, x_2, x_3, x_4); return x_6; } } -lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_2104_(lean_object* x_1) { +lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_2347_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -8319,7 +10872,7 @@ lean_object* initialize_Lean_CoreM(lean_object*); lean_object* initialize_Lean_Parser_Extension(lean_object*); lean_object* initialize_Lean_KeyedDeclsAttribute(lean_object*); lean_object* initialize_Lean_ParserCompiler_Attribute(lean_object*); -lean_object* initialize_Lean_PrettyPrinter_Backtrack(lean_object*); +lean_object* initialize_Lean_PrettyPrinter_Basic(lean_object*); static bool _G_initialized = false; lean_object* initialize_Lean_PrettyPrinter_Formatter(lean_object* w) { lean_object * res; @@ -8340,7 +10893,7 @@ lean_dec_ref(res); res = initialize_Lean_ParserCompiler_Attribute(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_PrettyPrinter_Backtrack(lean_io_mk_world()); +res = initialize_Lean_PrettyPrinter_Basic(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_PrettyPrinter_Formatter_State_leadWord___default = _init_l_Lean_PrettyPrinter_Formatter_State_leadWord___default(); @@ -8429,10 +10982,8 @@ l_Lean_PrettyPrinter_Formatter_visitArgs___closed__1 = _init_l_Lean_PrettyPrinte lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_visitArgs___closed__1); l_Lean_PrettyPrinter_Formatter_concat___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_concat___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_concat___closed__1); -l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__1); -l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_formatterForKind___closed__2); +l_Lean_PrettyPrinter_Formatter_formatterForKindUnsafe___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_formatterForKindUnsafe___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_formatterForKindUnsafe___closed__1); l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__1); l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__2(); @@ -8495,6 +11046,52 @@ l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter___closed__1 = _init_l_L lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter___closed__1); l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter___boxed__const__1 = _init_l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter___boxed__const__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter___boxed__const__1); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__3 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__3); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__3 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__3); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__3 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__3); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__3 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__3); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__3 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__3); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7); +l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8(); +lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8); l_Lean_PrettyPrinter_format___closed__1 = _init_l_Lean_PrettyPrinter_format___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_format___closed__1); l_Lean_PrettyPrinter_format___closed__2 = _init_l_Lean_PrettyPrinter_format___closed__2(); @@ -8505,7 +11102,7 @@ l_Lean_PrettyPrinter_formatTerm___closed__1 = _init_l_Lean_PrettyPrinter_formatT lean_mark_persistent(l_Lean_PrettyPrinter_formatTerm___closed__1); l_Lean_PrettyPrinter_formatCommand___closed__1 = _init_l_Lean_PrettyPrinter_formatCommand___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_formatCommand___closed__1); -res = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_2104_(lean_io_mk_world()); +res = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_2347_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Meta.c b/stage0/stdlib/Lean/PrettyPrinter/Meta.c deleted file mode 100644 index abf08944a7..0000000000 --- a/stage0/stdlib/Lean/PrettyPrinter/Meta.c +++ /dev/null @@ -1,5045 +0,0 @@ -// Lean compiler output -// Module: Lean.PrettyPrinter.Meta -// Imports: Init Lean.PrettyPrinter.Parenthesizer Lean.PrettyPrinter.Formatter Lean.ParserCompiler -#include -#if defined(__clang__) -#pragma clang diagnostic ignored "-Wunused-parameter" -#pragma clang diagnostic ignored "-Wunused-label" -#elif defined(__GNUC__) && !defined(__CLANG__) -#pragma GCC diagnostic ignored "-Wunused-parameter" -#pragma GCC diagnostic ignored "-Wunused-label" -#pragma GCC diagnostic ignored "-Wunused-but-set-variable" -#endif -#ifdef __cplusplus -extern "C" { -#endif -lean_object* l_Lean_PrettyPrinter_Formatter_strLitNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; -lean_object* l_Lean_PrettyPrinter_Formatter_visitArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1; -lean_object* l_Lean_PrettyPrinter_Formatter_ctx(lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg___boxed(lean_object**); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___boxed(lean_object*, lean_object*); -extern lean_object* l_Lean_identKind___closed__1; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_sepBy_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_many_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_identNoAntiquot_parenthesizer___boxed(lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_identKind___closed__2; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13(lean_object*, uint8_t, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_orelse_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_charLitKind___closed__2; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___rarg(lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_nameLitNoAntiquot_parenthesizer___boxed(lean_object*); -extern lean_object* l_Lean_charLitKind___closed__1; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; -lean_object* l_Lean_PrettyPrinter_Formatter_charLitNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_numLitNoAntiquot_parenthesizer___boxed(lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_sepBy_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2; -lean_object* l_Lean_PrettyPrinter_Formatter_trailingNode_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_PrettyPrinter_parenthesizerAttribute; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__20(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__4; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_numLitKind___closed__1; -extern lean_object* l_Lean_strLitKind___closed__1; -lean_object* l_Lean_PrettyPrinter_Formatter_node_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_strLitKind___closed__2; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_charLitNoAntiquot_parenthesizer___boxed(lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___rarg(lean_object*); -extern lean_object* l_Lean_PrettyPrinter_combinatorFormatterAttribute; -lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1; -extern lean_object* l_Lean_numLitKind___closed__2; -extern lean_object* l_Lean_PrettyPrinter_formatterAttribute; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1(lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1; -lean_object* l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___rarg(lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___rarg(lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4; -lean_object* l_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_checkNoWsBefore_formatter___boxed(lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg___boxed(lean_object**); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3; -extern lean_object* l_Lean_PrettyPrinter_combinatorParenthesizerAttribute; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2; -extern lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__4; -lean_object* l_Lean_ParserCompiler_interpretParser___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2; -lean_object* l_Lean_PrettyPrinter_Formatter_numLitNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg(lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_regHook(lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_nameLitKind___closed__2; -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_regHook(lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1(lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12(lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_strLitNoAntiquot_parenthesizer___boxed(lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5; -lean_object* l_Lean_PrettyPrinter_Formatter_nameLitNoAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_ctx(lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__20(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6; -lean_object* l_Lean_PrettyPrinter_Formatter_andthen_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2; -extern lean_object* l_Lean_nameLitKind___closed__1; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2; -lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_ctx(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_2 = l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__4; -x_3 = l_Lean_PrettyPrinter_parenthesizerAttribute; -x_4 = l_Lean_PrettyPrinter_combinatorParenthesizerAttribute; -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_2); -lean_ctor_set(x_5, 1, x_3); -lean_ctor_set(x_5, 2, x_4); -lean_ctor_set(x_5, 3, x_1); -return x_5; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_25 = lean_ctor_get(x_1, 0); -lean_inc(x_25); -x_26 = lean_ctor_get(x_1, 1); -lean_inc(x_26); -lean_dec(x_1); -x_27 = lean_apply_2(x_2, x_25, x_26); -return x_27; -} -case 1: -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_28 = lean_ctor_get(x_1, 0); -lean_inc(x_28); -x_29 = lean_ctor_get(x_1, 1); -lean_inc(x_29); -lean_dec(x_1); -x_30 = lean_apply_2(x_3, x_28, x_29); -return x_30; -} -case 2: -{ -lean_object* x_31; lean_object* x_32; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_31 = lean_ctor_get(x_1, 0); -lean_inc(x_31); -lean_dec(x_1); -x_32 = lean_apply_1(x_4, x_31); -return x_32; -} -case 3: -{ -lean_object* x_33; lean_object* x_34; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_33 = lean_ctor_get(x_1, 0); -lean_inc(x_33); -lean_dec(x_1); -x_34 = lean_apply_1(x_5, x_33); -return x_34; -} -case 4: -{ -lean_object* x_35; lean_object* x_36; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_35 = lean_ctor_get(x_1, 0); -lean_inc(x_35); -lean_dec(x_1); -x_36 = lean_apply_1(x_6, x_35); -return x_36; -} -case 5: -{ -lean_object* x_37; lean_object* x_38; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_37 = lean_ctor_get(x_1, 0); -lean_inc(x_37); -lean_dec(x_1); -x_38 = lean_apply_1(x_8, x_37); -return x_38; -} -case 6: -{ -lean_object* x_39; lean_object* x_40; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_39 = lean_ctor_get(x_1, 0); -lean_inc(x_39); -lean_dec(x_1); -x_40 = lean_apply_1(x_9, x_39); -return x_40; -} -case 7: -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_41 = lean_ctor_get(x_1, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_1, 1); -lean_inc(x_42); -lean_dec(x_1); -x_43 = lean_apply_2(x_10, x_41, x_42); -return x_43; -} -case 8: -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_44 = lean_ctor_get(x_1, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_1, 1); -lean_inc(x_45); -lean_dec(x_1); -x_46 = lean_apply_2(x_11, x_44, x_45); -return x_46; -} -case 9: -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_47 = lean_ctor_get(x_1, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_1, 1); -lean_inc(x_48); -x_49 = lean_ctor_get(x_1, 2); -lean_inc(x_49); -lean_dec(x_1); -x_50 = lean_apply_3(x_12, x_47, x_48, x_49); -return x_50; -} -case 10: -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_51 = lean_ctor_get(x_1, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_1, 1); -lean_inc(x_52); -x_53 = lean_ctor_get(x_1, 2); -lean_inc(x_53); -lean_dec(x_1); -x_54 = lean_apply_3(x_13, x_51, x_52, x_53); -return x_54; -} -case 11: -{ -lean_object* x_55; lean_object* x_56; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_55 = lean_ctor_get(x_1, 0); -lean_inc(x_55); -lean_dec(x_1); -x_56 = lean_apply_1(x_14, x_55); -return x_56; -} -case 12: -{ -lean_object* x_57; uint8_t x_58; lean_object* x_59; lean_object* x_60; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_57 = lean_ctor_get(x_1, 0); -lean_inc(x_57); -x_58 = lean_ctor_get_uint8(x_1, sizeof(void*)*1); -lean_dec(x_1); -x_59 = lean_box(x_58); -x_60 = lean_apply_2(x_21, x_57, x_59); -return x_60; -} -case 13: -{ -lean_object* x_61; lean_object* x_62; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_61 = lean_box(0); -x_62 = lean_apply_1(x_22, x_61); -return x_62; -} -case 14: -{ -lean_object* x_63; lean_object* x_64; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_63 = lean_box(0); -x_64 = lean_apply_1(x_15, x_63); -return x_64; -} -case 15: -{ -lean_object* x_65; lean_object* x_66; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_65 = lean_box(0); -x_66 = lean_apply_1(x_16, x_65); -return x_66; -} -case 16: -{ -lean_object* x_67; lean_object* x_68; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_67 = lean_box(0); -x_68 = lean_apply_1(x_17, x_67); -return x_68; -} -case 17: -{ -lean_object* x_69; lean_object* x_70; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_69 = lean_box(0); -x_70 = lean_apply_1(x_18, x_69); -return x_70; -} -case 18: -{ -lean_object* x_71; lean_object* x_72; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_71 = lean_ctor_get(x_1, 0); -lean_inc(x_71); -lean_dec(x_1); -x_72 = lean_apply_1(x_20, x_71); -return x_72; -} -case 19: -{ -lean_object* x_73; lean_object* x_74; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_73 = lean_box(0); -x_74 = lean_apply_1(x_19, x_73); -return x_74; -} -case 20: -{ -lean_object* x_75; lean_object* x_76; lean_object* x_77; -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_75 = lean_ctor_get(x_1, 0); -lean_inc(x_75); -x_76 = lean_ctor_get(x_1, 1); -lean_inc(x_76); -lean_dec(x_1); -x_77 = lean_apply_2(x_24, x_75, x_76); -return x_77; -} -case 21: -{ -lean_object* x_78; lean_object* x_79; -lean_dec(x_24); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_78 = lean_ctor_get(x_1, 0); -lean_inc(x_78); -lean_dec(x_1); -x_79 = lean_apply_1(x_23, x_78); -return x_79; -} -default: -{ -lean_object* x_80; lean_object* x_81; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_80 = lean_ctor_get(x_1, 0); -lean_inc(x_80); -lean_dec(x_1); -x_81 = lean_apply_1(x_7, x_80); -return x_81; -} -} -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg___boxed), 24, 0); -return x_2; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg___boxed(lean_object** _args) { -lean_object* x_1 = _args[0]; -lean_object* x_2 = _args[1]; -lean_object* x_3 = _args[2]; -lean_object* x_4 = _args[3]; -lean_object* x_5 = _args[4]; -lean_object* x_6 = _args[5]; -lean_object* x_7 = _args[6]; -lean_object* x_8 = _args[7]; -lean_object* x_9 = _args[8]; -lean_object* x_10 = _args[9]; -lean_object* x_11 = _args[10]; -lean_object* x_12 = _args[11]; -lean_object* x_13 = _args[12]; -lean_object* x_14 = _args[13]; -lean_object* x_15 = _args[14]; -lean_object* x_16 = _args[15]; -lean_object* x_17 = _args[16]; -lean_object* x_18 = _args[17]; -lean_object* x_19 = _args[18]; -lean_object* x_20 = _args[19]; -lean_object* x_21 = _args[20]; -lean_object* x_22 = _args[21]; -lean_object* x_23 = _args[22]; -lean_object* x_24 = _args[23]; -_start: -{ -lean_object* x_25; -x_25 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24); -return x_25; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_visitArgs(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___rarg(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = lean_box(0); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; -x_6 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___rarg), 1, 0); -return x_6; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = lean_apply_5(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_sepBy_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_sepBy_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -return x_9; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -return x_9; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(x_1, x_2, x_3, x_4); -return x_5; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg___boxed), 4, 0); -return x_3; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(x_1, x_2, x_3, x_4); -return x_5; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13(lean_object* x_1, uint8_t x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg___boxed), 4, 0); -return x_4; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_numLitKind___closed__2; -x_2 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_numLitKind___closed__1; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1; -x_3 = 1; -x_4 = lean_box(x_3); -x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed), 8, 3); -lean_closure_set(x_5, 0, x_1); -lean_closure_set(x_5, 1, x_2); -lean_closure_set(x_5, 2, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_numLitNoAntiquot_parenthesizer___boxed), 1, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_strLitKind___closed__2; -x_2 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_strLitKind___closed__1; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1; -x_3 = 1; -x_4 = lean_box(x_3); -x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed), 8, 3); -lean_closure_set(x_5, 0, x_1); -lean_closure_set(x_5, 1, x_2); -lean_closure_set(x_5, 2, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_strLitNoAntiquot_parenthesizer___boxed), 1, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_charLitKind___closed__2; -x_2 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_charLitKind___closed__1; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1; -x_3 = 1; -x_4 = lean_box(x_3); -x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed), 8, 3); -lean_closure_set(x_5, 0, x_1); -lean_closure_set(x_5, 1, x_2); -lean_closure_set(x_5, 2, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_charLitNoAntiquot_parenthesizer___boxed), 1, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_nameLitKind___closed__2; -x_2 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_nameLitKind___closed__1; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1; -x_3 = 1; -x_4 = lean_box(x_3); -x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed), 8, 3); -lean_closure_set(x_5, 0, x_1); -lean_closure_set(x_5, 1, x_2); -lean_closure_set(x_5, 2, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_nameLitNoAntiquot_parenthesizer___boxed), 1, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__18(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_identKind___closed__2; -x_2 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_identKind___closed__1; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1; -x_3 = 1; -x_4 = lean_box(x_3); -x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed), 8, 3); -lean_closure_set(x_5, 0, x_1); -lean_closure_set(x_5, 1, x_2); -lean_closure_set(x_5, 2, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_identNoAntiquot_parenthesizer___boxed), 1, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__20(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___rarg(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = lean_box(0); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; -x_6 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___rarg), 1, 0); -return x_6; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer___boxed), 4, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_ctx(x_1); -return x_2; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -x_7 = lean_ctor_get(x_1, 1); -lean_inc(x_7); -lean_dec(x_1); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_8 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_6, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); -lean_inc(x_10); -lean_dec(x_8); -x_11 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_7, x_2, x_3, x_4, x_10); -if (lean_obj_tag(x_11) == 0) -{ -uint8_t x_12; -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -x_13 = lean_ctor_get(x_11, 0); -x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__1), 7, 2); -lean_closure_set(x_14, 0, x_9); -lean_closure_set(x_14, 1, x_13); -lean_ctor_set(x_11, 0, x_14); -return x_11; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_15 = lean_ctor_get(x_11, 0); -x_16 = lean_ctor_get(x_11, 1); -lean_inc(x_16); -lean_inc(x_15); -lean_dec(x_11); -x_17 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__1), 7, 2); -lean_closure_set(x_17, 0, x_9); -lean_closure_set(x_17, 1, x_15); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_16); -return x_18; -} -} -else -{ -uint8_t x_19; -lean_dec(x_9); -x_19 = !lean_is_exclusive(x_11); -if (x_19 == 0) -{ -return x_11; -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_11, 0); -x_21 = lean_ctor_get(x_11, 1); -lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_11); -x_22 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -return x_22; -} -} -} -else -{ -uint8_t x_23; -lean_dec(x_7); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_23 = !lean_is_exclusive(x_8); -if (x_23 == 0) -{ -return x_8; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_8, 0); -x_25 = lean_ctor_get(x_8, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_8); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -case 1: -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_1, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_1, 1); -lean_inc(x_28); -lean_dec(x_1); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_29 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_27, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_29) == 0) -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_29, 0); -lean_inc(x_30); -x_31 = lean_ctor_get(x_29, 1); -lean_inc(x_31); -lean_dec(x_29); -x_32 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_28, x_2, x_3, x_4, x_31); -if (lean_obj_tag(x_32) == 0) -{ -uint8_t x_33; -x_33 = !lean_is_exclusive(x_32); -if (x_33 == 0) -{ -lean_object* x_34; lean_object* x_35; -x_34 = lean_ctor_get(x_32, 0); -x_35 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__2), 7, 2); -lean_closure_set(x_35, 0, x_30); -lean_closure_set(x_35, 1, x_34); -lean_ctor_set(x_32, 0, x_35); -return x_32; -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_36 = lean_ctor_get(x_32, 0); -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_32); -x_38 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__2), 7, 2); -lean_closure_set(x_38, 0, x_30); -lean_closure_set(x_38, 1, x_36); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; -} -} -else -{ -uint8_t x_40; -lean_dec(x_30); -x_40 = !lean_is_exclusive(x_32); -if (x_40 == 0) -{ -return x_32; -} -else -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_41 = lean_ctor_get(x_32, 0); -x_42 = lean_ctor_get(x_32, 1); -lean_inc(x_42); -lean_inc(x_41); -lean_dec(x_32); -x_43 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_43, 0, x_41); -lean_ctor_set(x_43, 1, x_42); -return x_43; -} -} -} -else -{ -uint8_t x_44; -lean_dec(x_28); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_44 = !lean_is_exclusive(x_29); -if (x_44 == 0) -{ -return x_29; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_29, 0); -x_46 = lean_ctor_get(x_29, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_29); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -} -case 2: -{ -lean_object* x_48; lean_object* x_49; -x_48 = lean_ctor_get(x_1, 0); -lean_inc(x_48); -lean_dec(x_1); -x_49 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_48, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_49) == 0) -{ -uint8_t x_50; -x_50 = !lean_is_exclusive(x_49); -if (x_50 == 0) -{ -lean_object* x_51; lean_object* x_52; -x_51 = lean_ctor_get(x_49, 0); -x_52 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__3), 6, 1); -lean_closure_set(x_52, 0, x_51); -lean_ctor_set(x_49, 0, x_52); -return x_49; -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_53 = lean_ctor_get(x_49, 0); -x_54 = lean_ctor_get(x_49, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_49); -x_55 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__3), 6, 1); -lean_closure_set(x_55, 0, x_53); -x_56 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_56, 0, x_55); -lean_ctor_set(x_56, 1, x_54); -return x_56; -} -} -else -{ -uint8_t x_57; -x_57 = !lean_is_exclusive(x_49); -if (x_57 == 0) -{ -return x_49; -} -else -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_49, 0); -x_59 = lean_ctor_get(x_49, 1); -lean_inc(x_59); -lean_inc(x_58); -lean_dec(x_49); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -return x_60; -} -} -} -case 3: -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_1, 0); -lean_inc(x_61); -lean_dec(x_1); -x_62 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_61, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_62) == 0) -{ -uint8_t x_63; -x_63 = !lean_is_exclusive(x_62); -if (x_63 == 0) -{ -lean_object* x_64; lean_object* x_65; -x_64 = lean_ctor_get(x_62, 0); -x_65 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___boxed), 5, 1); -lean_closure_set(x_65, 0, x_64); -lean_ctor_set(x_62, 0, x_65); -return x_62; -} -else -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_66 = lean_ctor_get(x_62, 0); -x_67 = lean_ctor_get(x_62, 1); -lean_inc(x_67); -lean_inc(x_66); -lean_dec(x_62); -x_68 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___boxed), 5, 1); -lean_closure_set(x_68, 0, x_66); -x_69 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_69, 0, x_68); -lean_ctor_set(x_69, 1, x_67); -return x_69; -} -} -else -{ -uint8_t x_70; -x_70 = !lean_is_exclusive(x_62); -if (x_70 == 0) -{ -return x_62; -} -else -{ -lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = lean_ctor_get(x_62, 0); -x_72 = lean_ctor_get(x_62, 1); -lean_inc(x_72); -lean_inc(x_71); -lean_dec(x_62); -x_73 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_73, 0, x_71); -lean_ctor_set(x_73, 1, x_72); -return x_73; -} -} -} -case 4: -{ -lean_object* x_74; lean_object* x_75; -x_74 = lean_ctor_get(x_1, 0); -lean_inc(x_74); -lean_dec(x_1); -x_75 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_74, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_75) == 0) -{ -uint8_t x_76; -x_76 = !lean_is_exclusive(x_75); -if (x_76 == 0) -{ -lean_object* x_77; lean_object* x_78; -x_77 = lean_ctor_get(x_75, 0); -x_78 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__5), 6, 1); -lean_closure_set(x_78, 0, x_77); -lean_ctor_set(x_75, 0, x_78); -return x_75; -} -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_79 = lean_ctor_get(x_75, 0); -x_80 = lean_ctor_get(x_75, 1); -lean_inc(x_80); -lean_inc(x_79); -lean_dec(x_75); -x_81 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__5), 6, 1); -lean_closure_set(x_81, 0, x_79); -x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_81); -lean_ctor_set(x_82, 1, x_80); -return x_82; -} -} -else -{ -uint8_t x_83; -x_83 = !lean_is_exclusive(x_75); -if (x_83 == 0) -{ -return x_75; -} -else -{ -lean_object* x_84; lean_object* x_85; lean_object* x_86; -x_84 = lean_ctor_get(x_75, 0); -x_85 = lean_ctor_get(x_75, 1); -lean_inc(x_85); -lean_inc(x_84); -lean_dec(x_75); -x_86 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_86, 0, x_84); -lean_ctor_set(x_86, 1, x_85); -return x_86; -} -} -} -case 5: -{ -lean_object* x_87; lean_object* x_88; -x_87 = lean_ctor_get(x_1, 0); -lean_inc(x_87); -lean_dec(x_1); -x_88 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_87, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_88) == 0) -{ -uint8_t x_89; -x_89 = !lean_is_exclusive(x_88); -if (x_89 == 0) -{ -lean_object* x_90; lean_object* x_91; -x_90 = lean_ctor_get(x_88, 0); -x_91 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__6), 6, 1); -lean_closure_set(x_91, 0, x_90); -lean_ctor_set(x_88, 0, x_91); -return x_88; -} -else -{ -lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; -x_92 = lean_ctor_get(x_88, 0); -x_93 = lean_ctor_get(x_88, 1); -lean_inc(x_93); -lean_inc(x_92); -lean_dec(x_88); -x_94 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__6), 6, 1); -lean_closure_set(x_94, 0, x_92); -x_95 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_95, 0, x_94); -lean_ctor_set(x_95, 1, x_93); -return x_95; -} -} -else -{ -uint8_t x_96; -x_96 = !lean_is_exclusive(x_88); -if (x_96 == 0) -{ -return x_88; -} -else -{ -lean_object* x_97; lean_object* x_98; lean_object* x_99; -x_97 = lean_ctor_get(x_88, 0); -x_98 = lean_ctor_get(x_88, 1); -lean_inc(x_98); -lean_inc(x_97); -lean_dec(x_88); -x_99 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_99, 0, x_97); -lean_ctor_set(x_99, 1, x_98); -return x_99; -} -} -} -case 6: -{ -lean_object* x_100; lean_object* x_101; -x_100 = lean_ctor_get(x_1, 0); -lean_inc(x_100); -lean_dec(x_1); -x_101 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_100, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_101) == 0) -{ -uint8_t x_102; -x_102 = !lean_is_exclusive(x_101); -if (x_102 == 0) -{ -lean_object* x_103; lean_object* x_104; -x_103 = lean_ctor_get(x_101, 0); -x_104 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__7), 6, 1); -lean_closure_set(x_104, 0, x_103); -lean_ctor_set(x_101, 0, x_104); -return x_101; -} -else -{ -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_105 = lean_ctor_get(x_101, 0); -x_106 = lean_ctor_get(x_101, 1); -lean_inc(x_106); -lean_inc(x_105); -lean_dec(x_101); -x_107 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__7), 6, 1); -lean_closure_set(x_107, 0, x_105); -x_108 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_108, 0, x_107); -lean_ctor_set(x_108, 1, x_106); -return x_108; -} -} -else -{ -uint8_t x_109; -x_109 = !lean_is_exclusive(x_101); -if (x_109 == 0) -{ -return x_101; -} -else -{ -lean_object* x_110; lean_object* x_111; lean_object* x_112; -x_110 = lean_ctor_get(x_101, 0); -x_111 = lean_ctor_get(x_101, 1); -lean_inc(x_111); -lean_inc(x_110); -lean_dec(x_101); -x_112 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_112, 0, x_110); -lean_ctor_set(x_112, 1, x_111); -return x_112; -} -} -} -case 7: -{ -lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_113 = lean_ctor_get(x_1, 0); -lean_inc(x_113); -x_114 = lean_ctor_get(x_1, 1); -lean_inc(x_114); -lean_dec(x_1); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_115 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_113, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_115) == 0) -{ -lean_object* x_116; lean_object* x_117; lean_object* x_118; -x_116 = lean_ctor_get(x_115, 0); -lean_inc(x_116); -x_117 = lean_ctor_get(x_115, 1); -lean_inc(x_117); -lean_dec(x_115); -x_118 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_114, x_2, x_3, x_4, x_117); -if (lean_obj_tag(x_118) == 0) -{ -uint8_t x_119; -x_119 = !lean_is_exclusive(x_118); -if (x_119 == 0) -{ -lean_object* x_120; lean_object* x_121; -x_120 = lean_ctor_get(x_118, 0); -x_121 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__8), 7, 2); -lean_closure_set(x_121, 0, x_116); -lean_closure_set(x_121, 1, x_120); -lean_ctor_set(x_118, 0, x_121); -return x_118; -} -else -{ -lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; -x_122 = lean_ctor_get(x_118, 0); -x_123 = lean_ctor_get(x_118, 1); -lean_inc(x_123); -lean_inc(x_122); -lean_dec(x_118); -x_124 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__8), 7, 2); -lean_closure_set(x_124, 0, x_116); -lean_closure_set(x_124, 1, x_122); -x_125 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_125, 0, x_124); -lean_ctor_set(x_125, 1, x_123); -return x_125; -} -} -else -{ -uint8_t x_126; -lean_dec(x_116); -x_126 = !lean_is_exclusive(x_118); -if (x_126 == 0) -{ -return x_118; -} -else -{ -lean_object* x_127; lean_object* x_128; lean_object* x_129; -x_127 = lean_ctor_get(x_118, 0); -x_128 = lean_ctor_get(x_118, 1); -lean_inc(x_128); -lean_inc(x_127); -lean_dec(x_118); -x_129 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_129, 0, x_127); -lean_ctor_set(x_129, 1, x_128); -return x_129; -} -} -} -else -{ -uint8_t x_130; -lean_dec(x_114); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_130 = !lean_is_exclusive(x_115); -if (x_130 == 0) -{ -return x_115; -} -else -{ -lean_object* x_131; lean_object* x_132; lean_object* x_133; -x_131 = lean_ctor_get(x_115, 0); -x_132 = lean_ctor_get(x_115, 1); -lean_inc(x_132); -lean_inc(x_131); -lean_dec(x_115); -x_133 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_133, 0, x_131); -lean_ctor_set(x_133, 1, x_132); -return x_133; -} -} -} -case 8: -{ -lean_object* x_134; lean_object* x_135; lean_object* x_136; -x_134 = lean_ctor_get(x_1, 0); -lean_inc(x_134); -x_135 = lean_ctor_get(x_1, 1); -lean_inc(x_135); -lean_dec(x_1); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_136 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_134, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_136) == 0) -{ -lean_object* x_137; lean_object* x_138; lean_object* x_139; -x_137 = lean_ctor_get(x_136, 0); -lean_inc(x_137); -x_138 = lean_ctor_get(x_136, 1); -lean_inc(x_138); -lean_dec(x_136); -x_139 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_135, x_2, x_3, x_4, x_138); -if (lean_obj_tag(x_139) == 0) -{ -uint8_t x_140; -x_140 = !lean_is_exclusive(x_139); -if (x_140 == 0) -{ -lean_object* x_141; lean_object* x_142; -x_141 = lean_ctor_get(x_139, 0); -x_142 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__9), 7, 2); -lean_closure_set(x_142, 0, x_137); -lean_closure_set(x_142, 1, x_141); -lean_ctor_set(x_139, 0, x_142); -return x_139; -} -else -{ -lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; -x_143 = lean_ctor_get(x_139, 0); -x_144 = lean_ctor_get(x_139, 1); -lean_inc(x_144); -lean_inc(x_143); -lean_dec(x_139); -x_145 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__9), 7, 2); -lean_closure_set(x_145, 0, x_137); -lean_closure_set(x_145, 1, x_143); -x_146 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_146, 0, x_145); -lean_ctor_set(x_146, 1, x_144); -return x_146; -} -} -else -{ -uint8_t x_147; -lean_dec(x_137); -x_147 = !lean_is_exclusive(x_139); -if (x_147 == 0) -{ -return x_139; -} -else -{ -lean_object* x_148; lean_object* x_149; lean_object* x_150; -x_148 = lean_ctor_get(x_139, 0); -x_149 = lean_ctor_get(x_139, 1); -lean_inc(x_149); -lean_inc(x_148); -lean_dec(x_139); -x_150 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_150, 0, x_148); -lean_ctor_set(x_150, 1, x_149); -return x_150; -} -} -} -else -{ -uint8_t x_151; -lean_dec(x_135); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_151 = !lean_is_exclusive(x_136); -if (x_151 == 0) -{ -return x_136; -} -else -{ -lean_object* x_152; lean_object* x_153; lean_object* x_154; -x_152 = lean_ctor_get(x_136, 0); -x_153 = lean_ctor_get(x_136, 1); -lean_inc(x_153); -lean_inc(x_152); -lean_dec(x_136); -x_154 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_154, 0, x_152); -lean_ctor_set(x_154, 1, x_153); -return x_154; -} -} -} -case 9: -{ -lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; -x_155 = lean_ctor_get(x_1, 0); -lean_inc(x_155); -x_156 = lean_ctor_get(x_1, 1); -lean_inc(x_156); -x_157 = lean_ctor_get(x_1, 2); -lean_inc(x_157); -lean_dec(x_1); -x_158 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_157, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_158) == 0) -{ -uint8_t x_159; -x_159 = !lean_is_exclusive(x_158); -if (x_159 == 0) -{ -lean_object* x_160; lean_object* x_161; -x_160 = lean_ctor_get(x_158, 0); -x_161 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10___boxed), 8, 3); -lean_closure_set(x_161, 0, x_155); -lean_closure_set(x_161, 1, x_156); -lean_closure_set(x_161, 2, x_160); -lean_ctor_set(x_158, 0, x_161); -return x_158; -} -else -{ -lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; -x_162 = lean_ctor_get(x_158, 0); -x_163 = lean_ctor_get(x_158, 1); -lean_inc(x_163); -lean_inc(x_162); -lean_dec(x_158); -x_164 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10___boxed), 8, 3); -lean_closure_set(x_164, 0, x_155); -lean_closure_set(x_164, 1, x_156); -lean_closure_set(x_164, 2, x_162); -x_165 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_165, 0, x_164); -lean_ctor_set(x_165, 1, x_163); -return x_165; -} -} -else -{ -uint8_t x_166; -lean_dec(x_156); -lean_dec(x_155); -x_166 = !lean_is_exclusive(x_158); -if (x_166 == 0) -{ -return x_158; -} -else -{ -lean_object* x_167; lean_object* x_168; lean_object* x_169; -x_167 = lean_ctor_get(x_158, 0); -x_168 = lean_ctor_get(x_158, 1); -lean_inc(x_168); -lean_inc(x_167); -lean_dec(x_158); -x_169 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_169, 0, x_167); -lean_ctor_set(x_169, 1, x_168); -return x_169; -} -} -} -case 10: -{ -lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; -x_170 = lean_ctor_get(x_1, 0); -lean_inc(x_170); -x_171 = lean_ctor_get(x_1, 1); -lean_inc(x_171); -x_172 = lean_ctor_get(x_1, 2); -lean_inc(x_172); -lean_dec(x_1); -x_173 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_172, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_173) == 0) -{ -uint8_t x_174; -x_174 = !lean_is_exclusive(x_173); -if (x_174 == 0) -{ -lean_object* x_175; lean_object* x_176; -x_175 = lean_ctor_get(x_173, 0); -x_176 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__11), 8, 3); -lean_closure_set(x_176, 0, x_170); -lean_closure_set(x_176, 1, x_171); -lean_closure_set(x_176, 2, x_175); -lean_ctor_set(x_173, 0, x_176); -return x_173; -} -else -{ -lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; -x_177 = lean_ctor_get(x_173, 0); -x_178 = lean_ctor_get(x_173, 1); -lean_inc(x_178); -lean_inc(x_177); -lean_dec(x_173); -x_179 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__11), 8, 3); -lean_closure_set(x_179, 0, x_170); -lean_closure_set(x_179, 1, x_171); -lean_closure_set(x_179, 2, x_177); -x_180 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_180, 0, x_179); -lean_ctor_set(x_180, 1, x_178); -return x_180; -} -} -else -{ -uint8_t x_181; -lean_dec(x_171); -lean_dec(x_170); -x_181 = !lean_is_exclusive(x_173); -if (x_181 == 0) -{ -return x_173; -} -else -{ -lean_object* x_182; lean_object* x_183; lean_object* x_184; -x_182 = lean_ctor_get(x_173, 0); -x_183 = lean_ctor_get(x_173, 1); -lean_inc(x_183); -lean_inc(x_182); -lean_dec(x_173); -x_184 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_184, 0, x_182); -lean_ctor_set(x_184, 1, x_183); -return x_184; -} -} -} -case 11: -{ -lean_object* x_185; lean_object* x_186; lean_object* x_187; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_185 = lean_ctor_get(x_1, 0); -lean_inc(x_185); -lean_dec(x_1); -x_186 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___boxed), 2, 1); -lean_closure_set(x_186, 0, x_185); -x_187 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_187, 0, x_186); -lean_ctor_set(x_187, 1, x_5); -return x_187; -} -case 12: -{ -lean_object* x_188; uint8_t x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_188 = lean_ctor_get(x_1, 0); -lean_inc(x_188); -x_189 = lean_ctor_get_uint8(x_1, sizeof(void*)*1); -lean_dec(x_1); -x_190 = lean_box(x_189); -x_191 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___boxed), 3, 2); -lean_closure_set(x_191, 0, x_188); -lean_closure_set(x_191, 1, x_190); -x_192 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_192, 0, x_191); -lean_ctor_set(x_192, 1, x_5); -return x_192; -} -case 13: -{ -lean_object* x_193; lean_object* x_194; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_193 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; -x_194 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_194, 0, x_193); -lean_ctor_set(x_194, 1, x_5); -return x_194; -} -case 14: -{ -lean_object* x_195; lean_object* x_196; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_195 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2; -x_196 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_196, 0, x_195); -lean_ctor_set(x_196, 1, x_5); -return x_196; -} -case 15: -{ -lean_object* x_197; lean_object* x_198; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_197 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3; -x_198 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_198, 0, x_197); -lean_ctor_set(x_198, 1, x_5); -return x_198; -} -case 16: -{ -lean_object* x_199; lean_object* x_200; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_199 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4; -x_200 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_200, 0, x_199); -lean_ctor_set(x_200, 1, x_5); -return x_200; -} -case 17: -{ -lean_object* x_201; lean_object* x_202; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_201 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5; -x_202 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_202, 0, x_201); -lean_ctor_set(x_202, 1, x_5); -return x_202; -} -case 18: -{ -lean_object* x_203; lean_object* x_204; -x_203 = lean_ctor_get(x_1, 0); -lean_inc(x_203); -lean_dec(x_1); -x_204 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_203, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_204) == 0) -{ -uint8_t x_205; -x_205 = !lean_is_exclusive(x_204); -if (x_205 == 0) -{ -lean_object* x_206; lean_object* x_207; -x_206 = lean_ctor_get(x_204, 0); -x_207 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__18), 6, 1); -lean_closure_set(x_207, 0, x_206); -lean_ctor_set(x_204, 0, x_207); -return x_204; -} -else -{ -lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; -x_208 = lean_ctor_get(x_204, 0); -x_209 = lean_ctor_get(x_204, 1); -lean_inc(x_209); -lean_inc(x_208); -lean_dec(x_204); -x_210 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__18), 6, 1); -lean_closure_set(x_210, 0, x_208); -x_211 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_211, 0, x_210); -lean_ctor_set(x_211, 1, x_209); -return x_211; -} -} -else -{ -uint8_t x_212; -x_212 = !lean_is_exclusive(x_204); -if (x_212 == 0) -{ -return x_204; -} -else -{ -lean_object* x_213; lean_object* x_214; lean_object* x_215; -x_213 = lean_ctor_get(x_204, 0); -x_214 = lean_ctor_get(x_204, 1); -lean_inc(x_214); -lean_inc(x_213); -lean_dec(x_204); -x_215 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_215, 0, x_213); -lean_ctor_set(x_215, 1, x_214); -return x_215; -} -} -} -case 19: -{ -lean_object* x_216; lean_object* x_217; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_216 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6; -x_217 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_217, 0, x_216); -lean_ctor_set(x_217, 1, x_5); -return x_217; -} -case 20: -{ -lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_218 = lean_ctor_get(x_1, 0); -lean_inc(x_218); -x_219 = lean_ctor_get(x_1, 1); -lean_inc(x_219); -lean_dec(x_1); -x_220 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__20), 7, 2); -lean_closure_set(x_220, 0, x_218); -lean_closure_set(x_220, 1, x_219); -x_221 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_221, 0, x_220); -lean_ctor_set(x_221, 1, x_5); -return x_221; -} -case 21: -{ -lean_object* x_222; lean_object* x_223; uint8_t x_224; lean_object* x_225; -x_222 = lean_ctor_get(x_1, 0); -lean_inc(x_222); -lean_dec(x_1); -x_223 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8; -x_224 = 0; -x_225 = l_Lean_ParserCompiler_interpretParser___rarg(x_223, x_222, x_224, x_2, x_3, x_4, x_5); -return x_225; -} -default: -{ -lean_object* x_226; lean_object* x_227; -x_226 = lean_ctor_get(x_1, 0); -lean_inc(x_226); -lean_dec(x_1); -x_227 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr(x_226, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_227) == 0) -{ -uint8_t x_228; -x_228 = !lean_is_exclusive(x_227); -if (x_228 == 0) -{ -lean_object* x_229; lean_object* x_230; -x_229 = lean_ctor_get(x_227, 0); -x_230 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___boxed), 5, 1); -lean_closure_set(x_230, 0, x_229); -lean_ctor_set(x_227, 0, x_230); -return x_227; -} -else -{ -lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; -x_231 = lean_ctor_get(x_227, 0); -x_232 = lean_ctor_get(x_227, 1); -lean_inc(x_232); -lean_inc(x_231); -lean_dec(x_227); -x_233 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___boxed), 5, 1); -lean_closure_set(x_233, 0, x_231); -x_234 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_234, 0, x_233); -lean_ctor_set(x_234, 1, x_232); -return x_234; -} -} -else -{ -uint8_t x_235; -x_235 = !lean_is_exclusive(x_227); -if (x_235 == 0) -{ -return x_227; -} -else -{ -lean_object* x_236; lean_object* x_237; lean_object* x_238; -x_236 = lean_ctor_get(x_227, 0); -x_237 = lean_ctor_get(x_227, 1); -lean_inc(x_237); -lean_inc(x_236); -lean_dec(x_227); -x_238 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_238, 0, x_236); -lean_ctor_set(x_238, 1, x_237); -return x_238; -} -} -} -} -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; -x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_6; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_2); -return x_9; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg(x_1, x_2, x_3, x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_5; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -return x_3; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg(x_1, x_2, x_3, x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_5; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -uint8_t x_4; lean_object* x_5; -x_4 = lean_unbox(x_2); -lean_dec(x_2); -x_5 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13(x_1, x_4, x_3); -lean_dec(x_3); -lean_dec(x_1); -return x_5; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; -x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_6; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_regHook(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8; -x_3 = l_Lean_ParserCompiler_registerParserCompiler___rarg(x_2, x_1); -return x_3; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_ctx(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_2 = l_Lean_PrettyPrinter_mkFormatterAttribute___closed__4; -x_3 = l_Lean_PrettyPrinter_formatterAttribute; -x_4 = l_Lean_PrettyPrinter_combinatorFormatterAttribute; -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_2); -lean_ctor_set(x_5, 1, x_3); -lean_ctor_set(x_5, 2, x_4); -lean_ctor_set(x_5, 3, x_1); -return x_5; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_25 = lean_ctor_get(x_1, 0); -lean_inc(x_25); -x_26 = lean_ctor_get(x_1, 1); -lean_inc(x_26); -lean_dec(x_1); -x_27 = lean_apply_2(x_2, x_25, x_26); -return x_27; -} -case 1: -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_28 = lean_ctor_get(x_1, 0); -lean_inc(x_28); -x_29 = lean_ctor_get(x_1, 1); -lean_inc(x_29); -lean_dec(x_1); -x_30 = lean_apply_2(x_3, x_28, x_29); -return x_30; -} -case 2: -{ -lean_object* x_31; lean_object* x_32; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_31 = lean_ctor_get(x_1, 0); -lean_inc(x_31); -lean_dec(x_1); -x_32 = lean_apply_1(x_4, x_31); -return x_32; -} -case 3: -{ -lean_object* x_33; lean_object* x_34; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_33 = lean_ctor_get(x_1, 0); -lean_inc(x_33); -lean_dec(x_1); -x_34 = lean_apply_1(x_5, x_33); -return x_34; -} -case 4: -{ -lean_object* x_35; lean_object* x_36; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_35 = lean_ctor_get(x_1, 0); -lean_inc(x_35); -lean_dec(x_1); -x_36 = lean_apply_1(x_6, x_35); -return x_36; -} -case 5: -{ -lean_object* x_37; lean_object* x_38; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_37 = lean_ctor_get(x_1, 0); -lean_inc(x_37); -lean_dec(x_1); -x_38 = lean_apply_1(x_8, x_37); -return x_38; -} -case 6: -{ -lean_object* x_39; lean_object* x_40; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_39 = lean_ctor_get(x_1, 0); -lean_inc(x_39); -lean_dec(x_1); -x_40 = lean_apply_1(x_9, x_39); -return x_40; -} -case 7: -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_41 = lean_ctor_get(x_1, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_1, 1); -lean_inc(x_42); -lean_dec(x_1); -x_43 = lean_apply_2(x_10, x_41, x_42); -return x_43; -} -case 8: -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_44 = lean_ctor_get(x_1, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_1, 1); -lean_inc(x_45); -lean_dec(x_1); -x_46 = lean_apply_2(x_11, x_44, x_45); -return x_46; -} -case 9: -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_47 = lean_ctor_get(x_1, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_1, 1); -lean_inc(x_48); -x_49 = lean_ctor_get(x_1, 2); -lean_inc(x_49); -lean_dec(x_1); -x_50 = lean_apply_3(x_12, x_47, x_48, x_49); -return x_50; -} -case 10: -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_51 = lean_ctor_get(x_1, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_1, 1); -lean_inc(x_52); -x_53 = lean_ctor_get(x_1, 2); -lean_inc(x_53); -lean_dec(x_1); -x_54 = lean_apply_3(x_13, x_51, x_52, x_53); -return x_54; -} -case 11: -{ -lean_object* x_55; lean_object* x_56; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_55 = lean_ctor_get(x_1, 0); -lean_inc(x_55); -lean_dec(x_1); -x_56 = lean_apply_1(x_14, x_55); -return x_56; -} -case 12: -{ -lean_object* x_57; uint8_t x_58; lean_object* x_59; lean_object* x_60; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_57 = lean_ctor_get(x_1, 0); -lean_inc(x_57); -x_58 = lean_ctor_get_uint8(x_1, sizeof(void*)*1); -lean_dec(x_1); -x_59 = lean_box(x_58); -x_60 = lean_apply_2(x_21, x_57, x_59); -return x_60; -} -case 13: -{ -lean_object* x_61; lean_object* x_62; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_61 = lean_box(0); -x_62 = lean_apply_1(x_22, x_61); -return x_62; -} -case 14: -{ -lean_object* x_63; lean_object* x_64; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_63 = lean_box(0); -x_64 = lean_apply_1(x_15, x_63); -return x_64; -} -case 15: -{ -lean_object* x_65; lean_object* x_66; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_65 = lean_box(0); -x_66 = lean_apply_1(x_16, x_65); -return x_66; -} -case 16: -{ -lean_object* x_67; lean_object* x_68; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_67 = lean_box(0); -x_68 = lean_apply_1(x_17, x_67); -return x_68; -} -case 17: -{ -lean_object* x_69; lean_object* x_70; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_69 = lean_box(0); -x_70 = lean_apply_1(x_18, x_69); -return x_70; -} -case 18: -{ -lean_object* x_71; lean_object* x_72; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_71 = lean_ctor_get(x_1, 0); -lean_inc(x_71); -lean_dec(x_1); -x_72 = lean_apply_1(x_19, x_71); -return x_72; -} -case 19: -{ -lean_object* x_73; lean_object* x_74; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_73 = lean_box(0); -x_74 = lean_apply_1(x_20, x_73); -return x_74; -} -case 20: -{ -lean_object* x_75; lean_object* x_76; lean_object* x_77; -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_75 = lean_ctor_get(x_1, 0); -lean_inc(x_75); -x_76 = lean_ctor_get(x_1, 1); -lean_inc(x_76); -lean_dec(x_1); -x_77 = lean_apply_2(x_24, x_75, x_76); -return x_77; -} -case 21: -{ -lean_object* x_78; lean_object* x_79; -lean_dec(x_24); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_78 = lean_ctor_get(x_1, 0); -lean_inc(x_78); -lean_dec(x_1); -x_79 = lean_apply_1(x_23, x_78); -return x_79; -} -default: -{ -lean_object* x_80; lean_object* x_81; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_80 = lean_ctor_get(x_1, 0); -lean_inc(x_80); -lean_dec(x_1); -x_81 = lean_apply_1(x_7, x_80); -return x_81; -} -} -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg___boxed), 24, 0); -return x_2; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg___boxed(lean_object** _args) { -lean_object* x_1 = _args[0]; -lean_object* x_2 = _args[1]; -lean_object* x_3 = _args[2]; -lean_object* x_4 = _args[3]; -lean_object* x_5 = _args[4]; -lean_object* x_6 = _args[5]; -lean_object* x_7 = _args[6]; -lean_object* x_8 = _args[7]; -lean_object* x_9 = _args[8]; -lean_object* x_10 = _args[9]; -lean_object* x_11 = _args[10]; -lean_object* x_12 = _args[11]; -lean_object* x_13 = _args[12]; -lean_object* x_14 = _args[13]; -lean_object* x_15 = _args[14]; -lean_object* x_16 = _args[15]; -lean_object* x_17 = _args[16]; -lean_object* x_18 = _args[17]; -lean_object* x_19 = _args[18]; -lean_object* x_20 = _args[19]; -lean_object* x_21 = _args[20]; -lean_object* x_22 = _args[21]; -lean_object* x_23 = _args[22]; -lean_object* x_24 = _args[23]; -_start: -{ -lean_object* x_25; -x_25 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr_match__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24); -return x_25; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Formatter_andthen_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Formatter_visitArgs(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___rarg(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = lean_box(0); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; -x_6 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___rarg), 1, 0); -return x_6; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = lean_apply_5(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Formatter_many_formatter(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Formatter_many_formatter(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Formatter_sepBy_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Formatter_sepBy_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Formatter_node_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = l_Lean_PrettyPrinter_Formatter_trailingNode_formatter(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -return x_9; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Formatter_symbol_formatter(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Formatter_symbol_formatter(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_numLitKind___closed__1; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1; -x_3 = 1; -x_4 = lean_box(x_3); -x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed), 8, 3); -lean_closure_set(x_5, 0, x_1); -lean_closure_set(x_5, 1, x_2); -lean_closure_set(x_5, 2, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_numLitNoAntiquot_formatter___boxed), 5, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1; -x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_strLitKind___closed__1; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1; -x_3 = 1; -x_4 = lean_box(x_3); -x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed), 8, 3); -lean_closure_set(x_5, 0, x_1); -lean_closure_set(x_5, 1, x_2); -lean_closure_set(x_5, 2, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_strLitNoAntiquot_formatter___boxed), 5, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1; -x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_charLitKind___closed__1; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1; -x_3 = 1; -x_4 = lean_box(x_3); -x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed), 8, 3); -lean_closure_set(x_5, 0, x_1); -lean_closure_set(x_5, 1, x_2); -lean_closure_set(x_5, 2, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_charLitNoAntiquot_formatter___boxed), 5, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1; -x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_nameLitKind___closed__1; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1; -x_3 = 1; -x_4 = lean_box(x_3); -x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed), 8, 3); -lean_closure_set(x_5, 0, x_1); -lean_closure_set(x_5, 1, x_2); -lean_closure_set(x_5, 2, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_nameLitNoAntiquot_formatter___boxed), 5, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1; -x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__18(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_identKind___closed__1; -x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1; -x_3 = 1; -x_4 = lean_box(x_3); -x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_mkAntiquot_formatter_x27___boxed), 8, 3); -lean_closure_set(x_5, 0, x_1); -lean_closure_set(x_5, 1, x_2); -lean_closure_set(x_5, 2, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___boxed), 5, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1; -x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__20(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(x_1, x_2, x_3, x_4, x_5, x_6); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___rarg(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = lean_box(0); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; -x_6 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___rarg), 1, 0); -return x_6; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkNoWsBefore_formatter___boxed), 1, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7; -x_2 = l_Lean_PrettyPrinter_Formatter_ctx(x_1); -return x_2; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -x_7 = lean_ctor_get(x_1, 1); -lean_inc(x_7); -lean_dec(x_1); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_8 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_6, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); -lean_inc(x_10); -lean_dec(x_8); -x_11 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_7, x_2, x_3, x_4, x_10); -if (lean_obj_tag(x_11) == 0) -{ -uint8_t x_12; -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -x_13 = lean_ctor_get(x_11, 0); -x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__1), 7, 2); -lean_closure_set(x_14, 0, x_9); -lean_closure_set(x_14, 1, x_13); -lean_ctor_set(x_11, 0, x_14); -return x_11; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_15 = lean_ctor_get(x_11, 0); -x_16 = lean_ctor_get(x_11, 1); -lean_inc(x_16); -lean_inc(x_15); -lean_dec(x_11); -x_17 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__1), 7, 2); -lean_closure_set(x_17, 0, x_9); -lean_closure_set(x_17, 1, x_15); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_16); -return x_18; -} -} -else -{ -uint8_t x_19; -lean_dec(x_9); -x_19 = !lean_is_exclusive(x_11); -if (x_19 == 0) -{ -return x_11; -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_11, 0); -x_21 = lean_ctor_get(x_11, 1); -lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_11); -x_22 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -return x_22; -} -} -} -else -{ -uint8_t x_23; -lean_dec(x_7); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_23 = !lean_is_exclusive(x_8); -if (x_23 == 0) -{ -return x_8; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_8, 0); -x_25 = lean_ctor_get(x_8, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_8); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -case 1: -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_1, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_1, 1); -lean_inc(x_28); -lean_dec(x_1); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_29 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_27, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_29) == 0) -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_29, 0); -lean_inc(x_30); -x_31 = lean_ctor_get(x_29, 1); -lean_inc(x_31); -lean_dec(x_29); -x_32 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_28, x_2, x_3, x_4, x_31); -if (lean_obj_tag(x_32) == 0) -{ -uint8_t x_33; -x_33 = !lean_is_exclusive(x_32); -if (x_33 == 0) -{ -lean_object* x_34; lean_object* x_35; -x_34 = lean_ctor_get(x_32, 0); -x_35 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__2), 7, 2); -lean_closure_set(x_35, 0, x_30); -lean_closure_set(x_35, 1, x_34); -lean_ctor_set(x_32, 0, x_35); -return x_32; -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_36 = lean_ctor_get(x_32, 0); -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_32); -x_38 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__2), 7, 2); -lean_closure_set(x_38, 0, x_30); -lean_closure_set(x_38, 1, x_36); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -return x_39; -} -} -else -{ -uint8_t x_40; -lean_dec(x_30); -x_40 = !lean_is_exclusive(x_32); -if (x_40 == 0) -{ -return x_32; -} -else -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_41 = lean_ctor_get(x_32, 0); -x_42 = lean_ctor_get(x_32, 1); -lean_inc(x_42); -lean_inc(x_41); -lean_dec(x_32); -x_43 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_43, 0, x_41); -lean_ctor_set(x_43, 1, x_42); -return x_43; -} -} -} -else -{ -uint8_t x_44; -lean_dec(x_28); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_44 = !lean_is_exclusive(x_29); -if (x_44 == 0) -{ -return x_29; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_29, 0); -x_46 = lean_ctor_get(x_29, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_29); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -} -case 2: -{ -lean_object* x_48; lean_object* x_49; -x_48 = lean_ctor_get(x_1, 0); -lean_inc(x_48); -lean_dec(x_1); -x_49 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_48, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_49) == 0) -{ -uint8_t x_50; -x_50 = !lean_is_exclusive(x_49); -if (x_50 == 0) -{ -lean_object* x_51; lean_object* x_52; -x_51 = lean_ctor_get(x_49, 0); -x_52 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__3), 6, 1); -lean_closure_set(x_52, 0, x_51); -lean_ctor_set(x_49, 0, x_52); -return x_49; -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_53 = lean_ctor_get(x_49, 0); -x_54 = lean_ctor_get(x_49, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_49); -x_55 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__3), 6, 1); -lean_closure_set(x_55, 0, x_53); -x_56 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_56, 0, x_55); -lean_ctor_set(x_56, 1, x_54); -return x_56; -} -} -else -{ -uint8_t x_57; -x_57 = !lean_is_exclusive(x_49); -if (x_57 == 0) -{ -return x_49; -} -else -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_49, 0); -x_59 = lean_ctor_get(x_49, 1); -lean_inc(x_59); -lean_inc(x_58); -lean_dec(x_49); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -return x_60; -} -} -} -case 3: -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_1, 0); -lean_inc(x_61); -lean_dec(x_1); -x_62 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_61, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_62) == 0) -{ -uint8_t x_63; -x_63 = !lean_is_exclusive(x_62); -if (x_63 == 0) -{ -lean_object* x_64; lean_object* x_65; -x_64 = lean_ctor_get(x_62, 0); -x_65 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___boxed), 5, 1); -lean_closure_set(x_65, 0, x_64); -lean_ctor_set(x_62, 0, x_65); -return x_62; -} -else -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_66 = lean_ctor_get(x_62, 0); -x_67 = lean_ctor_get(x_62, 1); -lean_inc(x_67); -lean_inc(x_66); -lean_dec(x_62); -x_68 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___boxed), 5, 1); -lean_closure_set(x_68, 0, x_66); -x_69 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_69, 0, x_68); -lean_ctor_set(x_69, 1, x_67); -return x_69; -} -} -else -{ -uint8_t x_70; -x_70 = !lean_is_exclusive(x_62); -if (x_70 == 0) -{ -return x_62; -} -else -{ -lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = lean_ctor_get(x_62, 0); -x_72 = lean_ctor_get(x_62, 1); -lean_inc(x_72); -lean_inc(x_71); -lean_dec(x_62); -x_73 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_73, 0, x_71); -lean_ctor_set(x_73, 1, x_72); -return x_73; -} -} -} -case 4: -{ -lean_object* x_74; lean_object* x_75; -x_74 = lean_ctor_get(x_1, 0); -lean_inc(x_74); -lean_dec(x_1); -x_75 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_74, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_75) == 0) -{ -uint8_t x_76; -x_76 = !lean_is_exclusive(x_75); -if (x_76 == 0) -{ -lean_object* x_77; lean_object* x_78; -x_77 = lean_ctor_get(x_75, 0); -x_78 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__5), 6, 1); -lean_closure_set(x_78, 0, x_77); -lean_ctor_set(x_75, 0, x_78); -return x_75; -} -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_79 = lean_ctor_get(x_75, 0); -x_80 = lean_ctor_get(x_75, 1); -lean_inc(x_80); -lean_inc(x_79); -lean_dec(x_75); -x_81 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__5), 6, 1); -lean_closure_set(x_81, 0, x_79); -x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_81); -lean_ctor_set(x_82, 1, x_80); -return x_82; -} -} -else -{ -uint8_t x_83; -x_83 = !lean_is_exclusive(x_75); -if (x_83 == 0) -{ -return x_75; -} -else -{ -lean_object* x_84; lean_object* x_85; lean_object* x_86; -x_84 = lean_ctor_get(x_75, 0); -x_85 = lean_ctor_get(x_75, 1); -lean_inc(x_85); -lean_inc(x_84); -lean_dec(x_75); -x_86 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_86, 0, x_84); -lean_ctor_set(x_86, 1, x_85); -return x_86; -} -} -} -case 5: -{ -lean_object* x_87; lean_object* x_88; -x_87 = lean_ctor_get(x_1, 0); -lean_inc(x_87); -lean_dec(x_1); -x_88 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_87, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_88) == 0) -{ -uint8_t x_89; -x_89 = !lean_is_exclusive(x_88); -if (x_89 == 0) -{ -lean_object* x_90; lean_object* x_91; -x_90 = lean_ctor_get(x_88, 0); -x_91 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__6), 6, 1); -lean_closure_set(x_91, 0, x_90); -lean_ctor_set(x_88, 0, x_91); -return x_88; -} -else -{ -lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; -x_92 = lean_ctor_get(x_88, 0); -x_93 = lean_ctor_get(x_88, 1); -lean_inc(x_93); -lean_inc(x_92); -lean_dec(x_88); -x_94 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__6), 6, 1); -lean_closure_set(x_94, 0, x_92); -x_95 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_95, 0, x_94); -lean_ctor_set(x_95, 1, x_93); -return x_95; -} -} -else -{ -uint8_t x_96; -x_96 = !lean_is_exclusive(x_88); -if (x_96 == 0) -{ -return x_88; -} -else -{ -lean_object* x_97; lean_object* x_98; lean_object* x_99; -x_97 = lean_ctor_get(x_88, 0); -x_98 = lean_ctor_get(x_88, 1); -lean_inc(x_98); -lean_inc(x_97); -lean_dec(x_88); -x_99 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_99, 0, x_97); -lean_ctor_set(x_99, 1, x_98); -return x_99; -} -} -} -case 6: -{ -lean_object* x_100; lean_object* x_101; -x_100 = lean_ctor_get(x_1, 0); -lean_inc(x_100); -lean_dec(x_1); -x_101 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_100, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_101) == 0) -{ -uint8_t x_102; -x_102 = !lean_is_exclusive(x_101); -if (x_102 == 0) -{ -lean_object* x_103; lean_object* x_104; -x_103 = lean_ctor_get(x_101, 0); -x_104 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__7), 6, 1); -lean_closure_set(x_104, 0, x_103); -lean_ctor_set(x_101, 0, x_104); -return x_101; -} -else -{ -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_105 = lean_ctor_get(x_101, 0); -x_106 = lean_ctor_get(x_101, 1); -lean_inc(x_106); -lean_inc(x_105); -lean_dec(x_101); -x_107 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__7), 6, 1); -lean_closure_set(x_107, 0, x_105); -x_108 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_108, 0, x_107); -lean_ctor_set(x_108, 1, x_106); -return x_108; -} -} -else -{ -uint8_t x_109; -x_109 = !lean_is_exclusive(x_101); -if (x_109 == 0) -{ -return x_101; -} -else -{ -lean_object* x_110; lean_object* x_111; lean_object* x_112; -x_110 = lean_ctor_get(x_101, 0); -x_111 = lean_ctor_get(x_101, 1); -lean_inc(x_111); -lean_inc(x_110); -lean_dec(x_101); -x_112 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_112, 0, x_110); -lean_ctor_set(x_112, 1, x_111); -return x_112; -} -} -} -case 7: -{ -lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_113 = lean_ctor_get(x_1, 0); -lean_inc(x_113); -x_114 = lean_ctor_get(x_1, 1); -lean_inc(x_114); -lean_dec(x_1); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_115 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_113, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_115) == 0) -{ -lean_object* x_116; lean_object* x_117; lean_object* x_118; -x_116 = lean_ctor_get(x_115, 0); -lean_inc(x_116); -x_117 = lean_ctor_get(x_115, 1); -lean_inc(x_117); -lean_dec(x_115); -x_118 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_114, x_2, x_3, x_4, x_117); -if (lean_obj_tag(x_118) == 0) -{ -uint8_t x_119; -x_119 = !lean_is_exclusive(x_118); -if (x_119 == 0) -{ -lean_object* x_120; lean_object* x_121; -x_120 = lean_ctor_get(x_118, 0); -x_121 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__8), 7, 2); -lean_closure_set(x_121, 0, x_116); -lean_closure_set(x_121, 1, x_120); -lean_ctor_set(x_118, 0, x_121); -return x_118; -} -else -{ -lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; -x_122 = lean_ctor_get(x_118, 0); -x_123 = lean_ctor_get(x_118, 1); -lean_inc(x_123); -lean_inc(x_122); -lean_dec(x_118); -x_124 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__8), 7, 2); -lean_closure_set(x_124, 0, x_116); -lean_closure_set(x_124, 1, x_122); -x_125 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_125, 0, x_124); -lean_ctor_set(x_125, 1, x_123); -return x_125; -} -} -else -{ -uint8_t x_126; -lean_dec(x_116); -x_126 = !lean_is_exclusive(x_118); -if (x_126 == 0) -{ -return x_118; -} -else -{ -lean_object* x_127; lean_object* x_128; lean_object* x_129; -x_127 = lean_ctor_get(x_118, 0); -x_128 = lean_ctor_get(x_118, 1); -lean_inc(x_128); -lean_inc(x_127); -lean_dec(x_118); -x_129 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_129, 0, x_127); -lean_ctor_set(x_129, 1, x_128); -return x_129; -} -} -} -else -{ -uint8_t x_130; -lean_dec(x_114); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_130 = !lean_is_exclusive(x_115); -if (x_130 == 0) -{ -return x_115; -} -else -{ -lean_object* x_131; lean_object* x_132; lean_object* x_133; -x_131 = lean_ctor_get(x_115, 0); -x_132 = lean_ctor_get(x_115, 1); -lean_inc(x_132); -lean_inc(x_131); -lean_dec(x_115); -x_133 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_133, 0, x_131); -lean_ctor_set(x_133, 1, x_132); -return x_133; -} -} -} -case 8: -{ -lean_object* x_134; lean_object* x_135; lean_object* x_136; -x_134 = lean_ctor_get(x_1, 0); -lean_inc(x_134); -x_135 = lean_ctor_get(x_1, 1); -lean_inc(x_135); -lean_dec(x_1); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_136 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_134, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_136) == 0) -{ -lean_object* x_137; lean_object* x_138; lean_object* x_139; -x_137 = lean_ctor_get(x_136, 0); -lean_inc(x_137); -x_138 = lean_ctor_get(x_136, 1); -lean_inc(x_138); -lean_dec(x_136); -x_139 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_135, x_2, x_3, x_4, x_138); -if (lean_obj_tag(x_139) == 0) -{ -uint8_t x_140; -x_140 = !lean_is_exclusive(x_139); -if (x_140 == 0) -{ -lean_object* x_141; lean_object* x_142; -x_141 = lean_ctor_get(x_139, 0); -x_142 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__9), 7, 2); -lean_closure_set(x_142, 0, x_137); -lean_closure_set(x_142, 1, x_141); -lean_ctor_set(x_139, 0, x_142); -return x_139; -} -else -{ -lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; -x_143 = lean_ctor_get(x_139, 0); -x_144 = lean_ctor_get(x_139, 1); -lean_inc(x_144); -lean_inc(x_143); -lean_dec(x_139); -x_145 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__9), 7, 2); -lean_closure_set(x_145, 0, x_137); -lean_closure_set(x_145, 1, x_143); -x_146 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_146, 0, x_145); -lean_ctor_set(x_146, 1, x_144); -return x_146; -} -} -else -{ -uint8_t x_147; -lean_dec(x_137); -x_147 = !lean_is_exclusive(x_139); -if (x_147 == 0) -{ -return x_139; -} -else -{ -lean_object* x_148; lean_object* x_149; lean_object* x_150; -x_148 = lean_ctor_get(x_139, 0); -x_149 = lean_ctor_get(x_139, 1); -lean_inc(x_149); -lean_inc(x_148); -lean_dec(x_139); -x_150 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_150, 0, x_148); -lean_ctor_set(x_150, 1, x_149); -return x_150; -} -} -} -else -{ -uint8_t x_151; -lean_dec(x_135); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_151 = !lean_is_exclusive(x_136); -if (x_151 == 0) -{ -return x_136; -} -else -{ -lean_object* x_152; lean_object* x_153; lean_object* x_154; -x_152 = lean_ctor_get(x_136, 0); -x_153 = lean_ctor_get(x_136, 1); -lean_inc(x_153); -lean_inc(x_152); -lean_dec(x_136); -x_154 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_154, 0, x_152); -lean_ctor_set(x_154, 1, x_153); -return x_154; -} -} -} -case 9: -{ -lean_object* x_155; lean_object* x_156; lean_object* x_157; -x_155 = lean_ctor_get(x_1, 0); -lean_inc(x_155); -x_156 = lean_ctor_get(x_1, 2); -lean_inc(x_156); -lean_dec(x_1); -x_157 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_156, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_157) == 0) -{ -uint8_t x_158; -x_158 = !lean_is_exclusive(x_157); -if (x_158 == 0) -{ -lean_object* x_159; lean_object* x_160; -x_159 = lean_ctor_get(x_157, 0); -x_160 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__10), 7, 2); -lean_closure_set(x_160, 0, x_155); -lean_closure_set(x_160, 1, x_159); -lean_ctor_set(x_157, 0, x_160); -return x_157; -} -else -{ -lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; -x_161 = lean_ctor_get(x_157, 0); -x_162 = lean_ctor_get(x_157, 1); -lean_inc(x_162); -lean_inc(x_161); -lean_dec(x_157); -x_163 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__10), 7, 2); -lean_closure_set(x_163, 0, x_155); -lean_closure_set(x_163, 1, x_161); -x_164 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_164, 0, x_163); -lean_ctor_set(x_164, 1, x_162); -return x_164; -} -} -else -{ -uint8_t x_165; -lean_dec(x_155); -x_165 = !lean_is_exclusive(x_157); -if (x_165 == 0) -{ -return x_157; -} -else -{ -lean_object* x_166; lean_object* x_167; lean_object* x_168; -x_166 = lean_ctor_get(x_157, 0); -x_167 = lean_ctor_get(x_157, 1); -lean_inc(x_167); -lean_inc(x_166); -lean_dec(x_157); -x_168 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_168, 0, x_166); -lean_ctor_set(x_168, 1, x_167); -return x_168; -} -} -} -case 10: -{ -lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; -x_169 = lean_ctor_get(x_1, 0); -lean_inc(x_169); -x_170 = lean_ctor_get(x_1, 1); -lean_inc(x_170); -x_171 = lean_ctor_get(x_1, 2); -lean_inc(x_171); -lean_dec(x_1); -x_172 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_171, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_172) == 0) -{ -uint8_t x_173; -x_173 = !lean_is_exclusive(x_172); -if (x_173 == 0) -{ -lean_object* x_174; lean_object* x_175; -x_174 = lean_ctor_get(x_172, 0); -x_175 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11___boxed), 8, 3); -lean_closure_set(x_175, 0, x_169); -lean_closure_set(x_175, 1, x_170); -lean_closure_set(x_175, 2, x_174); -lean_ctor_set(x_172, 0, x_175); -return x_172; -} -else -{ -lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; -x_176 = lean_ctor_get(x_172, 0); -x_177 = lean_ctor_get(x_172, 1); -lean_inc(x_177); -lean_inc(x_176); -lean_dec(x_172); -x_178 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11___boxed), 8, 3); -lean_closure_set(x_178, 0, x_169); -lean_closure_set(x_178, 1, x_170); -lean_closure_set(x_178, 2, x_176); -x_179 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_179, 0, x_178); -lean_ctor_set(x_179, 1, x_177); -return x_179; -} -} -else -{ -uint8_t x_180; -lean_dec(x_170); -lean_dec(x_169); -x_180 = !lean_is_exclusive(x_172); -if (x_180 == 0) -{ -return x_172; -} -else -{ -lean_object* x_181; lean_object* x_182; lean_object* x_183; -x_181 = lean_ctor_get(x_172, 0); -x_182 = lean_ctor_get(x_172, 1); -lean_inc(x_182); -lean_inc(x_181); -lean_dec(x_172); -x_183 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_183, 0, x_181); -lean_ctor_set(x_183, 1, x_182); -return x_183; -} -} -} -case 11: -{ -lean_object* x_184; lean_object* x_185; lean_object* x_186; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_184 = lean_ctor_get(x_1, 0); -lean_inc(x_184); -lean_dec(x_1); -x_185 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12___boxed), 6, 1); -lean_closure_set(x_185, 0, x_184); -x_186 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_186, 0, x_185); -lean_ctor_set(x_186, 1, x_5); -return x_186; -} -case 12: -{ -lean_object* x_187; lean_object* x_188; lean_object* x_189; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_187 = lean_ctor_get(x_1, 0); -lean_inc(x_187); -lean_dec(x_1); -x_188 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13___boxed), 6, 1); -lean_closure_set(x_188, 0, x_187); -x_189 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_189, 0, x_188); -lean_ctor_set(x_189, 1, x_5); -return x_189; -} -case 13: -{ -lean_object* x_190; lean_object* x_191; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_190 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1; -x_191 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_191, 0, x_190); -lean_ctor_set(x_191, 1, x_5); -return x_191; -} -case 14: -{ -lean_object* x_192; lean_object* x_193; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_192 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2; -x_193 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_193, 0, x_192); -lean_ctor_set(x_193, 1, x_5); -return x_193; -} -case 15: -{ -lean_object* x_194; lean_object* x_195; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_194 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3; -x_195 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_195, 0, x_194); -lean_ctor_set(x_195, 1, x_5); -return x_195; -} -case 16: -{ -lean_object* x_196; lean_object* x_197; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_196 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4; -x_197 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_197, 0, x_196); -lean_ctor_set(x_197, 1, x_5); -return x_197; -} -case 17: -{ -lean_object* x_198; lean_object* x_199; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_198 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5; -x_199 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_199, 0, x_198); -lean_ctor_set(x_199, 1, x_5); -return x_199; -} -case 18: -{ -lean_object* x_200; lean_object* x_201; -x_200 = lean_ctor_get(x_1, 0); -lean_inc(x_200); -lean_dec(x_1); -x_201 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_200, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_201) == 0) -{ -uint8_t x_202; -x_202 = !lean_is_exclusive(x_201); -if (x_202 == 0) -{ -lean_object* x_203; lean_object* x_204; -x_203 = lean_ctor_get(x_201, 0); -x_204 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__18), 6, 1); -lean_closure_set(x_204, 0, x_203); -lean_ctor_set(x_201, 0, x_204); -return x_201; -} -else -{ -lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; -x_205 = lean_ctor_get(x_201, 0); -x_206 = lean_ctor_get(x_201, 1); -lean_inc(x_206); -lean_inc(x_205); -lean_dec(x_201); -x_207 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__18), 6, 1); -lean_closure_set(x_207, 0, x_205); -x_208 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_208, 0, x_207); -lean_ctor_set(x_208, 1, x_206); -return x_208; -} -} -else -{ -uint8_t x_209; -x_209 = !lean_is_exclusive(x_201); -if (x_209 == 0) -{ -return x_201; -} -else -{ -lean_object* x_210; lean_object* x_211; lean_object* x_212; -x_210 = lean_ctor_get(x_201, 0); -x_211 = lean_ctor_get(x_201, 1); -lean_inc(x_211); -lean_inc(x_210); -lean_dec(x_201); -x_212 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_212, 0, x_210); -lean_ctor_set(x_212, 1, x_211); -return x_212; -} -} -} -case 19: -{ -lean_object* x_213; lean_object* x_214; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_213 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6; -x_214 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_214, 0, x_213); -lean_ctor_set(x_214, 1, x_5); -return x_214; -} -case 20: -{ -lean_object* x_215; lean_object* x_216; lean_object* x_217; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_215 = lean_ctor_get(x_1, 0); -lean_inc(x_215); -lean_dec(x_1); -x_216 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__20), 6, 1); -lean_closure_set(x_216, 0, x_215); -x_217 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_217, 0, x_216); -lean_ctor_set(x_217, 1, x_5); -return x_217; -} -case 21: -{ -lean_object* x_218; lean_object* x_219; uint8_t x_220; lean_object* x_221; -x_218 = lean_ctor_get(x_1, 0); -lean_inc(x_218); -lean_dec(x_1); -x_219 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8; -x_220 = 0; -x_221 = l_Lean_ParserCompiler_interpretParser___rarg(x_219, x_218, x_220, x_2, x_3, x_4, x_5); -return x_221; -} -default: -{ -lean_object* x_222; lean_object* x_223; -x_222 = lean_ctor_get(x_1, 0); -lean_inc(x_222); -lean_dec(x_1); -x_223 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr(x_222, x_2, x_3, x_4, x_5); -if (lean_obj_tag(x_223) == 0) -{ -uint8_t x_224; -x_224 = !lean_is_exclusive(x_223); -if (x_224 == 0) -{ -lean_object* x_225; lean_object* x_226; -x_225 = lean_ctor_get(x_223, 0); -x_226 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___boxed), 5, 1); -lean_closure_set(x_226, 0, x_225); -lean_ctor_set(x_223, 0, x_226); -return x_223; -} -else -{ -lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; -x_227 = lean_ctor_get(x_223, 0); -x_228 = lean_ctor_get(x_223, 1); -lean_inc(x_228); -lean_inc(x_227); -lean_dec(x_223); -x_229 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___boxed), 5, 1); -lean_closure_set(x_229, 0, x_227); -x_230 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_230, 0, x_229); -lean_ctor_set(x_230, 1, x_228); -return x_230; -} -} -else -{ -uint8_t x_231; -x_231 = !lean_is_exclusive(x_223); -if (x_231 == 0) -{ -return x_223; -} -else -{ -lean_object* x_232; lean_object* x_233; lean_object* x_234; -x_232 = lean_ctor_get(x_223, 0); -x_233 = lean_ctor_get(x_223, 1); -lean_inc(x_233); -lean_inc(x_232); -lean_dec(x_223); -x_234 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_234, 0, x_232); -lean_ctor_set(x_234, 1, x_233); -return x_234; -} -} -} -} -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; -x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__4(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_6; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_2); -return x_9; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__12(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__13(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_7; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; -x_6 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__21(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_6; -} -} -lean_object* l_Lean_PrettyPrinter_Formatter_regHook(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8; -x_3 = l_Lean_ParserCompiler_registerParserCompiler___rarg(x_2, x_1); -return x_3; -} -} -lean_object* initialize_Init(lean_object*); -lean_object* initialize_Lean_PrettyPrinter_Parenthesizer(lean_object*); -lean_object* initialize_Lean_PrettyPrinter_Formatter(lean_object*); -lean_object* initialize_Lean_ParserCompiler(lean_object*); -static bool _G_initialized = false; -lean_object* initialize_Lean_PrettyPrinter_Meta(lean_object* w) { -lean_object * res; -if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); -_G_initialized = true; -res = initialize_Init(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_PrettyPrinter_Parenthesizer(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_PrettyPrinter_Formatter(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_ParserCompiler(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7); -l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8); -res = l_Lean_PrettyPrinter_Parenthesizer_regHook(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__1); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__14___closed__2); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__1); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__15___closed__2); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__1); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__16___closed__2); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__1); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__17___closed__2); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__1); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___elambda__19___closed__2); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__1); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__2); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__3); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__4); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__5); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__6); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__7); -l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8 = _init_l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8(); -lean_mark_persistent(l_Lean_PrettyPrinter_Formatter_interpretParserDescr___closed__8); -res = l_Lean_PrettyPrinter_Formatter_regHook(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -return lean_io_result_mk_ok(lean_box(0)); -} -#ifdef __cplusplus -} -#endif diff --git a/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c b/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c index 0753de5981..aa61bcd6d4 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.PrettyPrinter.Parenthesizer -// Imports: Init Lean.CoreM Lean.KeyedDeclsAttribute Lean.Parser.Extension Lean.ParserCompiler.Attribute Lean.PrettyPrinter.Backtrack +// Imports: Init Lean.CoreM Lean.KeyedDeclsAttribute Lean.Parser.Extension Lean.ParserCompiler.Attribute Lean.PrettyPrinter.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -18,12 +18,16 @@ lean_object* l_List_reverse___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__14; lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_ite(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_numLitNoAntiquot_parenthesizer(lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___closed__1; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; size_t l_USize_add(size_t, size_t); lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___lambda__1___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__3___closed__1; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoImmediateColon_parenthesizer___rarg(lean_object*); lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2___lambda__1___boxed(lean_object*); @@ -38,7 +42,11 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer_mat lean_object* l_Lean_PrettyPrinter_parenthesize___closed__1; lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___lambda__1___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg___boxed(lean_object**); extern lean_object* l_Lean_nullKind; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___boxed(lean_object*, lean_object*); +extern lean_object* l_Lean_identKind___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_sepBy_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_MessageData_ofList___closed__3; uint8_t l_USize_decEq(size_t, size_t); @@ -57,6 +65,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkStackTop_parenthesizer___bo lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkOutsideQuot_parenthesizer___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_identNoAntiquot_parenthesizer___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__8; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___lambda__1___closed__3; extern lean_object* l_Lean_List_format___rarg___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -65,9 +74,10 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(lean_object lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__7; lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__10; lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__3; +extern lean_object* l_Lean_identKind___closed__2; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13(lean_object*, uint8_t, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_unicodeSymbol_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer_match__1(lean_object*); -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___spec__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_unicodeSymbol_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Context_cat___default; lean_object* l_Lean_PrettyPrinter_Parenthesizer_rawIdent_parenthesizer(lean_object*); @@ -81,12 +91,14 @@ lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Parenthes uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__7; lean_object* lean_st_ref_get(lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2423_(lean_object*); +lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2669_(lean_object*); lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_throwError___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_charLitKind___closed__2; lean_object* l_Lean_Syntax_MonadTraverser_setCur___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__3; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_withoutPosition_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Parenthesizer_pushNone_parenthesizer___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -106,7 +118,9 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_nameLitNoAntiquot_parenthesizer_ lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_errorAtSavedPos_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_charLitKind___closed__1; extern lean_object* l_Lean_Parser_leadPrec___closed__1; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; lean_object* l_List_range(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_toggleInsideQuot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkOutsideQuot_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -124,11 +138,12 @@ lean_object* l_Lean_PrettyPrinter_parenthesizeTerm(lean_object*, lean_object*, l lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkStackTop_parenthesizer___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_skip_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_numLitNoAntiquot_parenthesizer___boxed(lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_notFollowedByCategoryToken_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Tactics___hyg_720____closed__3; lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__3___closed__4; lean_object* l_Lean_PrettyPrinter_Parenthesizer_symbol_parenthesizer(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__22(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2; extern lean_object* l_Lean_mkAppStx___closed__4; lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goRight___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__5___boxed(lean_object*); @@ -138,11 +153,13 @@ lean_object* l_StateRefT_x27_get___at_Lean_PrettyPrinter_Parenthesizer_Lean_Pret lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitArgs___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__10; +lean_object* l_Lean_PrettyPrinter_runForNodeKind___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Tactics___hyg_720____closed__7; lean_object* l_Lean_PrettyPrinter_Parenthesizer_numLitNoAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_errorAtSavedPos_parenthesizer___rarg(lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkPrec_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_unicodeSymbol_parenthesizer___boxed(lean_object*, lean_object*, lean_object*); @@ -155,17 +172,21 @@ lean_object* l_Array_foldlMUnsafe_fold___at_Lean_PrettyPrinter_Parenthesizer_int lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_toStringWithSep(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_x27___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__2(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__3___closed__4; lean_object* l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_skip_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__17; lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__3___closed__3; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_pretty_printer_parenthesizer_interpret_parser_descr(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2___closed__3; lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___closed__3; lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___lambda__1___closed__1; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__2; lean_object* l_Lean_PrettyPrinter_parenthesize___closed__3; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkWsBefore_parenthesizer___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_strLitNoAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -176,10 +197,12 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_error_parenthesizer___rarg(lean_ lean_object* l_Lean_PrettyPrinter_Parenthesizer_setExpected_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___closed__5; lean_object* l_Lean_Syntax_Traverser_setCur(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3; +extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; lean_object* l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_charLitNoAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKindUnsafe___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_rawIdent_parenthesizer___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___closed__2; lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute_match__1(lean_object*); @@ -191,6 +214,7 @@ lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___lambda__1___closed_ extern lean_object* l_Lean_Option_format___rarg___closed__1; lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Parenthesizer_pushNone_parenthesizer___spec__1(lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_identEq_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__3; @@ -204,6 +228,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_suppressInsideQuot_parenthesizer lean_object* l_Lean_PrettyPrinter_Parenthesizer_numLitNoAntiquot_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_ParenthesizerM_orelse___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_ite___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkWsBefore_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); @@ -222,7 +247,9 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___lambda__2(l lean_object* l_Lean_Unhygienic_run___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_notFollowedByCategoryToken_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__12; +extern lean_object* l_Lean_numLitKind___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_sepBy1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_strLitKind___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParserOfStack_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Init_Control_Monad___instance__2___rarg(lean_object*, lean_object*); @@ -234,10 +261,15 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__21; lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3; lean_object* l_Lean_PrettyPrinter_Parenthesizer_identEq_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Format_join___closed__1; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_strLitKind___closed__2; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_charLitNoAntiquot_parenthesizer___boxed(lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goDown___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_withoutForbidden_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___kind_tactic____x40_Init_Tactics___hyg_461____closed__9; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2; lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2___closed__5; lean_object* l_Lean_Syntax_getId(lean_object*); @@ -245,7 +277,6 @@ lean_object* l_Lean_PrettyPrinter_parenthesize(lean_object*, lean_object*, lean_ lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_nameLitNoAntiquot_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Init_Data_Repr___instance__15___closed__1; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind_match__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__22; lean_object* l_Lean_PrettyPrinter_Parenthesizer_liftCoreM(lean_object*); extern lean_object* l_Lean_Parser_maxPrec; @@ -258,18 +289,24 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer lean_object* l_Lean_KeyedDeclsAttribute_getValues___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkLineEq_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkColGe_parenthesizer___rarg(lean_object*); +extern lean_object* l_Lean_numLitKind___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__5; lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__4; lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1; lean_object* l_Lean_attrParamSyntaxToIdentifier(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__11; lean_object* l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__1___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitArgs___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_liftCoreM___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_State_contPrec___default; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKindUnsafe(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__13; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_many1Unbox_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_reverse___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2___lambda__1(lean_object*); @@ -280,6 +317,7 @@ lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Parenth lean_object* l_Lean_PrettyPrinter_Parenthesizer_pushNone_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_symbol_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer(lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__3; lean_object* l_Lean_PrettyPrinter_Parenthesizer_eoi_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__1(lean_object*); @@ -288,40 +326,50 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_eoi_parenthesizer___rarg(lean_ob lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkOutsideQuot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_eoi_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___rarg(lean_object*); uint8_t l_Lean_PrettyPrinter_Parenthesizer_State_visitedToken___default; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_getIdx___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__1(lean_object*); lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkColGe_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_symbol_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_fieldIdx_parenthesizer___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_error_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkTailWs_parenthesizer___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__9; lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2___closed__6; lean_object* l_Lean_PrettyPrinter_Parenthesizer_throwBacktrack___rarg___closed__1; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Parenthesizer_pushNone_parenthesizer___spec__1___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Tactics___hyg_720____closed__4; lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer___rarg(lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8; lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute(lean_object*); lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoImmediateColon_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_nullKind___closed__2; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3; lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_Traverser_fromSyntax(lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize_match__4(lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4; lean_object* l_Lean_PrettyPrinter_mkCombinatorParenthesizerAttribute___closed__3; lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_map___at_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2___spec__2(lean_object*, lean_object*); lean_object* l_ReaderT_pure___at_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__3___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_pretty_printer_parenthesizer_interpret_parser_descr(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__9; lean_object* l_Lean_PrettyPrinter_Parenthesizer_identEq_parenthesizer(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_nonReservedSymbol_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___closed__4; @@ -368,12 +416,16 @@ lean_object* l_Lean_Syntax_MonadTraverser_goLeft___at_Lean_PrettyPrinter_Parenth lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_nameLitNoAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Unhygienic_Lean_Hygiene___instance__1___closed__4; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_goRight___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Format_paren___closed__2; extern lean_object* l_List_reprAux___rarg___closed__1; lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___lambda__1___closed__6; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_throwError___spec__1(lean_object*); lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_Lean_CoreM___instance__6___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_withForbidden_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoImmediateColon_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -397,9 +449,11 @@ lean_object* l_Lean_fmt___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize_ lean_object* l_Nat_forM_loop___at_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer(lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize_match__3___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_nonReservedSymbol_parenthesizer(lean_object*, uint8_t, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkInsideQuot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); @@ -408,6 +462,8 @@ lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__1; lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__4(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2; lean_object* l_Nat_forM_loop___at_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_getIdx___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -418,11 +474,13 @@ extern lean_object* l_Lean_Option_format___rarg___closed__3; lean_object* l_Lean_PrettyPrinter_parenthesize_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__16; lean_object* l_Lean_PrettyPrinter_Parenthesizer_notFollowedBy_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1; lean_object* l_Lean_Syntax_getTailInfo(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_optional_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkColGt_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_forM_loop___at_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_MonadTraverser_getIdx___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__1___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_lookahead_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -440,8 +498,10 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer_match__1(lean lean_object* l_Lean_PrettyPrinter_Parenthesizer_identNoAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Init_Core___instance__49; lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_throwError___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2; extern lean_object* l_Substring_splitOn_loop___closed__2; -lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_nameLitKind___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_State_contCat___default; lean_object* l_ReaderT_pure___at_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__3___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -455,7 +515,10 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer_match__1___ lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__3___closed__3; lean_object* lean_nat_mod(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_withForbidden_parenthesizer___boxed(lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize_match__1(lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1(lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_State_minPrec___default; lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__3; lean_object* l_Lean_PrettyPrinter_Parenthesizer_strLitNoAntiquot_parenthesizer___boxed(lean_object*); @@ -466,15 +529,17 @@ extern lean_object* l_System_FilePath_dirName___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2_match__1(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_init___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_throwError___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Tactics___hyg_720____closed__10; lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___boxed__const__1; lean_object* l_Nat_min(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5; lean_object* l_Lean_PrettyPrinter_Parenthesizer_many1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer___closed__6; lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__20(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_PrettyPrinter_backtrackExceptionId; lean_object* l_Lean_PrettyPrinter_parenthesizeTerm___closed__1; lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__6; @@ -489,6 +554,7 @@ lean_object* l_ReaderT_bind___at_Lean_PrettyPrinter_Parenthesizer_trailingNode_p lean_object* l_Lean_Syntax_Traverser_left(lean_object*); lean_object* l_Lean_addTrace___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkInsideQuot_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParserOfStack_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkCombinatorParenthesizerAttribute___closed__2; @@ -502,12 +568,12 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__1; lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_identEq_parenthesizer___boxed(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_error_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_errorAtSavedPos_parenthesizer(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_parenthesize___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_addPrecCheck___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind_match__1___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_interpolatedStrLitKind; extern lean_object* l_Lean_MetavarContext_MkBinding_mkBinding___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_identNoAntiquot_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -516,13 +582,18 @@ lean_object* l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Parenth lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkColGt_parenthesizer___rarg(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_throwBacktrack(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___lambda__1___closed__7; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3; +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_liftCoreM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_try_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_nameLitKind___closed__1; extern lean_object* l_myMacro____x40_Init_Tactics___hyg_720____closed__6; lean_object* lean_mk_antiquot_parenthesizer(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_mkCategoryParenthesizerAttribute___closed__5; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_Lean_PrettyPrinter_Parenthesizer___instance__2_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_rawIdent_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -6457,159 +6528,100 @@ lean_dec(x_2); return x_7; } } -lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_x27___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; -lean_dec(x_2); -x_4 = lean_apply_1(x_3, x_1); -return x_4; -} -else -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; -lean_dec(x_3); -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -x_6 = lean_ctor_get(x_1, 1); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_2(x_2, x_5, x_6); -return x_7; +lean_object* x_5; +x_5 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_1, x_2, x_3, x_4); +return x_5; } } -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; lean_object* x_8; uint8_t x_9; -x_7 = lean_ctor_get(x_4, 3); -x_8 = l_Lean_addMessageContextPartial___at_Lean_Core_Lean_CoreM___instance__6___spec__1(x_1, x_4, x_5, x_6); -x_9 = !lean_is_exclusive(x_8); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_ctor_get(x_8, 0); -lean_inc(x_7); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_7); -lean_ctor_set(x_11, 1, x_10); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 0, x_11); -return x_8; -} -else -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_12 = lean_ctor_get(x_8, 0); -x_13 = lean_ctor_get(x_8, 1); -lean_inc(x_13); -lean_inc(x_12); -lean_dec(x_8); -lean_inc(x_7); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_7); -lean_ctor_set(x_14, 1, x_12); -x_15 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_15, 0, x_14); -lean_ctor_set(x_15, 1, x_13); -return x_15; -} -} -} -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___spec__1___rarg___boxed), 6, 0); -return x_2; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__1() { +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKindUnsafe___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string("no known parenthesizer for kind '"); +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_x27___boxed), 4, 0); return x_1; } } -static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__2() { +lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKindUnsafe(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: +lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_7 = l_Lean_PrettyPrinter_parenthesizerAttribute; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKindUnsafe___closed__1; +lean_inc(x_5); +lean_inc(x_4); +x_9 = l_Lean_PrettyPrinter_runForNodeKind___rarg(x_7, x_1, x_8, x_4, x_5, x_6); +if (lean_obj_tag(x_9) == 0) { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_7 = lean_st_ref_get(x_5, x_6); -x_8 = lean_ctor_get(x_7, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_7, 1); -lean_inc(x_9); -lean_dec(x_7); -x_10 = lean_ctor_get(x_8, 0); +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); -lean_dec(x_8); -x_11 = l_Lean_PrettyPrinter_parenthesizerAttribute; -x_12 = l_Lean_KeyedDeclsAttribute_getValues___rarg(x_11, x_10, x_1); -lean_dec(x_10); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_13 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_13, 0, x_1); -x_14 = l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__2; -x_15 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_15, 0, x_14); -lean_ctor_set(x_15, 1, x_13); -x_16 = l_Lean_throwUnknownConstant___rarg___closed__3; -x_17 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_17, 0, x_15); -lean_ctor_set(x_17, 1, x_16); -x_18 = l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___spec__1___rarg(x_17, x_2, x_3, x_4, x_5, x_9); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_18; +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_apply_5(x_10, x_2, x_3, x_4, x_5, x_11); +return x_12; } else { -lean_object* x_19; lean_object* x_20; -lean_dec(x_1); -x_19 = lean_ctor_get(x_12, 0); -lean_inc(x_19); -lean_dec(x_12); -x_20 = lean_apply_5(x_19, x_2, x_3, x_4, x_5, x_9); -return x_20; -} -} -} -lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_throwError___at_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6); +uint8_t x_13; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -return x_7; +x_13 = !lean_is_exclusive(x_9); +if (x_13 == 0) +{ +return x_9; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_9, 0); +x_15 = lean_ctor_get(x_9, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_9); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = lean_box(0); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___rarg), 1, 0); +return x_6; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_6; } } lean_object* l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { @@ -6643,7 +6655,7 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_16 = l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind(x_15, x_3, x_4, x_5, x_6, x_14); +x_16 = l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKindUnsafe(x_15, x_3, x_4, x_5, x_6, x_14); if (lean_obj_tag(x_16) == 0) { lean_object* x_17; @@ -6813,7 +6825,7 @@ x_19 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_ lean_closure_set(x_19, 0, x_15); lean_closure_set(x_19, 1, x_16); lean_closure_set(x_19, 2, x_18); -x_20 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind), 6, 1); +x_20 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKindUnsafe), 6, 1); lean_closure_set(x_20, 0, x_11); lean_inc(x_6); lean_inc(x_5); @@ -9993,6 +10005,2596 @@ x_10 = l_Lean_PrettyPrinter_Parenthesizer_ite___rarg(x_9, x_2, x_3, x_4, x_5, x_ return x_10; } } +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24, lean_object* x_25, lean_object* x_26) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_27 = lean_ctor_get(x_1, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_1, 1); +lean_inc(x_28); +lean_dec(x_1); +x_29 = lean_apply_2(x_2, x_27, x_28); +return x_29; +} +case 1: +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_30 = lean_ctor_get(x_1, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_1, 1); +lean_inc(x_31); +lean_dec(x_1); +x_32 = lean_apply_2(x_3, x_30, x_31); +return x_32; +} +case 2: +{ +lean_object* x_33; lean_object* x_34; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_33 = lean_ctor_get(x_1, 0); +lean_inc(x_33); +lean_dec(x_1); +x_34 = lean_apply_1(x_4, x_33); +return x_34; +} +case 3: +{ +lean_object* x_35; lean_object* x_36; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_35 = lean_ctor_get(x_1, 0); +lean_inc(x_35); +lean_dec(x_1); +x_36 = lean_apply_1(x_5, x_35); +return x_36; +} +case 4: +{ +lean_object* x_37; lean_object* x_38; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_37 = lean_ctor_get(x_1, 0); +lean_inc(x_37); +lean_dec(x_1); +x_38 = lean_apply_1(x_6, x_37); +return x_38; +} +case 5: +{ +lean_object* x_39; lean_object* x_40; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_39 = lean_ctor_get(x_1, 0); +lean_inc(x_39); +lean_dec(x_1); +x_40 = lean_apply_1(x_8, x_39); +return x_40; +} +case 6: +{ +lean_object* x_41; lean_object* x_42; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_41 = lean_ctor_get(x_1, 0); +lean_inc(x_41); +lean_dec(x_1); +x_42 = lean_apply_1(x_9, x_41); +return x_42; +} +case 7: +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_43 = lean_ctor_get(x_1, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_1, 1); +lean_inc(x_44); +lean_dec(x_1); +x_45 = lean_apply_2(x_10, x_43, x_44); +return x_45; +} +case 8: +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_46 = lean_ctor_get(x_1, 0); +lean_inc(x_46); +x_47 = lean_ctor_get(x_1, 1); +lean_inc(x_47); +lean_dec(x_1); +x_48 = lean_apply_2(x_11, x_46, x_47); +return x_48; +} +case 9: +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_49 = lean_ctor_get(x_1, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_1, 1); +lean_inc(x_50); +x_51 = lean_ctor_get(x_1, 2); +lean_inc(x_51); +lean_dec(x_1); +x_52 = lean_apply_3(x_12, x_49, x_50, x_51); +return x_52; +} +case 10: +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_53 = lean_ctor_get(x_1, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_1, 1); +lean_inc(x_54); +x_55 = lean_ctor_get(x_1, 2); +lean_inc(x_55); +lean_dec(x_1); +x_56 = lean_apply_3(x_13, x_53, x_54, x_55); +return x_56; +} +case 11: +{ +lean_object* x_57; lean_object* x_58; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_57 = lean_ctor_get(x_1, 0); +lean_inc(x_57); +lean_dec(x_1); +x_58 = lean_apply_1(x_14, x_57); +return x_58; +} +case 12: +{ +lean_object* x_59; uint8_t x_60; lean_object* x_61; lean_object* x_62; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_59 = lean_ctor_get(x_1, 0); +lean_inc(x_59); +x_60 = lean_ctor_get_uint8(x_1, sizeof(void*)*1); +lean_dec(x_1); +x_61 = lean_box(x_60); +x_62 = lean_apply_2(x_21, x_59, x_61); +return x_62; +} +case 13: +{ +lean_object* x_63; lean_object* x_64; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_63 = lean_box(0); +x_64 = lean_apply_1(x_22, x_63); +return x_64; +} +case 14: +{ +lean_object* x_65; lean_object* x_66; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_65 = lean_box(0); +x_66 = lean_apply_1(x_15, x_65); +return x_66; +} +case 15: +{ +lean_object* x_67; lean_object* x_68; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_67 = lean_box(0); +x_68 = lean_apply_1(x_16, x_67); +return x_68; +} +case 16: +{ +lean_object* x_69; lean_object* x_70; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_69 = lean_box(0); +x_70 = lean_apply_1(x_17, x_69); +return x_70; +} +case 17: +{ +lean_object* x_71; lean_object* x_72; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_71 = lean_box(0); +x_72 = lean_apply_1(x_18, x_71); +return x_72; +} +case 18: +{ +lean_object* x_73; lean_object* x_74; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_73 = lean_ctor_get(x_1, 0); +lean_inc(x_73); +lean_dec(x_1); +x_74 = lean_apply_1(x_20, x_73); +return x_74; +} +case 19: +{ +lean_object* x_75; lean_object* x_76; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_75 = lean_box(0); +x_76 = lean_apply_1(x_19, x_75); +return x_76; +} +case 20: +{ +lean_object* x_77; lean_object* x_78; lean_object* x_79; +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_77 = lean_ctor_get(x_1, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_1, 1); +lean_inc(x_78); +lean_dec(x_1); +x_79 = lean_apply_2(x_26, x_77, x_78); +return x_79; +} +case 21: +{ +lean_object* x_80; lean_object* x_81; +lean_dec(x_26); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_80 = lean_ctor_get(x_1, 0); +lean_inc(x_80); +lean_dec(x_1); +x_81 = lean_apply_1(x_25, x_80); +return x_81; +} +case 22: +{ +lean_object* x_82; lean_object* x_83; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_82 = lean_ctor_get(x_1, 0); +lean_inc(x_82); +lean_dec(x_1); +x_83 = lean_apply_1(x_7, x_82); +return x_83; +} +case 23: +{ +lean_object* x_84; lean_object* x_85; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_84 = lean_ctor_get(x_1, 0); +lean_inc(x_84); +lean_dec(x_1); +x_85 = lean_apply_1(x_24, x_84); +return x_85; +} +default: +{ +uint8_t x_86; lean_object* x_87; lean_object* x_88; +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_86 = lean_ctor_get_uint8(x_1, 0); +lean_dec(x_1); +x_87 = lean_box(x_86); +x_88 = lean_apply_1(x_23, x_87); +return x_88; +} +} +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg___boxed), 26, 0); +return x_2; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg___boxed(lean_object** _args) { +lean_object* x_1 = _args[0]; +lean_object* x_2 = _args[1]; +lean_object* x_3 = _args[2]; +lean_object* x_4 = _args[3]; +lean_object* x_5 = _args[4]; +lean_object* x_6 = _args[5]; +lean_object* x_7 = _args[6]; +lean_object* x_8 = _args[7]; +lean_object* x_9 = _args[8]; +lean_object* x_10 = _args[9]; +lean_object* x_11 = _args[10]; +lean_object* x_12 = _args[11]; +lean_object* x_13 = _args[12]; +lean_object* x_14 = _args[13]; +lean_object* x_15 = _args[14]; +lean_object* x_16 = _args[15]; +lean_object* x_17 = _args[16]; +lean_object* x_18 = _args[17]; +lean_object* x_19 = _args[18]; +lean_object* x_20 = _args[19]; +lean_object* x_21 = _args[20]; +lean_object* x_22 = _args[21]; +lean_object* x_23 = _args[22]; +lean_object* x_24 = _args[23]; +lean_object* x_25 = _args[24]; +lean_object* x_26 = _args[25]; +_start: +{ +lean_object* x_27; +x_27 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr_match__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_26); +return x_27; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_visitArgs(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = lean_box(0); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___rarg), 1, 0); +return x_6; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = lean_apply_5(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_sepBy_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_sepBy_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_9; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_9; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(x_1, x_2, x_3, x_4); +return x_5; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg___boxed), 4, 0); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(x_1, x_2, x_3, x_4); +return x_5; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13(lean_object* x_1, uint8_t x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg___boxed), 4, 0); +return x_4; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_numLitKind___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_numLitKind___closed__1; +x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_numLitNoAntiquot_parenthesizer___boxed), 1, 0); +return x_1; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_strLitKind___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_strLitKind___closed__1; +x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_strLitNoAntiquot_parenthesizer___boxed), 1, 0); +return x_1; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_charLitKind___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_charLitKind___closed__1; +x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_charLitNoAntiquot_parenthesizer___boxed), 1, 0); +return x_1; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_nameLitKind___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_nameLitKind___closed__1; +x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_nameLitNoAntiquot_parenthesizer___boxed), 1, 0); +return x_1; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__18(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_identKind___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_identKind___closed__1; +x_2 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_mkAntiquot_parenthesizer_x27___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_identNoAntiquot_parenthesizer___boxed), 1, 0); +return x_1; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__20(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = lean_box(0); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___rarg), 1, 0); +return x_6; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__22(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer(x_1, x_2, x_3, x_4, x_5, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer___boxed), 4, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkColGe_parenthesizer___boxed), 4, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkColGt_parenthesizer___boxed), 4, 0); +return x_1; +} +} +lean_object* lean_pretty_printer_parenthesizer_interpret_parser_descr(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +x_6 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_dec(x_1); +lean_inc(x_3); +lean_inc(x_2); +x_7 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_5, x_2, x_3, x_4); +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_6, x_2, x_3, x_9); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +x_13 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__1), 7, 2); +lean_closure_set(x_13, 0, x_8); +lean_closure_set(x_13, 1, x_12); +lean_ctor_set(x_10, 0, x_13); +return x_10; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_10); +x_16 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__1), 7, 2); +lean_closure_set(x_16, 0, x_8); +lean_closure_set(x_16, 1, x_14); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +} +else +{ +uint8_t x_18; +lean_dec(x_8); +x_18 = !lean_is_exclusive(x_10); +if (x_18 == 0) +{ +return x_10; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_10, 0); +x_20 = lean_ctor_get(x_10, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_10); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +} +else +{ +uint8_t x_22; +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +x_22 = !lean_is_exclusive(x_7); +if (x_22 == 0) +{ +return x_7; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_7, 0); +x_24 = lean_ctor_get(x_7, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_7); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +case 1: +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_1, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_1, 1); +lean_inc(x_27); +lean_dec(x_1); +lean_inc(x_3); +lean_inc(x_2); +x_28 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_26, x_2, x_3, x_4); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_27, x_2, x_3, x_30); +if (lean_obj_tag(x_31) == 0) +{ +uint8_t x_32; +x_32 = !lean_is_exclusive(x_31); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; +x_33 = lean_ctor_get(x_31, 0); +x_34 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__2), 7, 2); +lean_closure_set(x_34, 0, x_29); +lean_closure_set(x_34, 1, x_33); +lean_ctor_set(x_31, 0, x_34); +return x_31; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_35 = lean_ctor_get(x_31, 0); +x_36 = lean_ctor_get(x_31, 1); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_31); +x_37 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__2), 7, 2); +lean_closure_set(x_37, 0, x_29); +lean_closure_set(x_37, 1, x_35); +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_36); +return x_38; +} +} +else +{ +uint8_t x_39; +lean_dec(x_29); +x_39 = !lean_is_exclusive(x_31); +if (x_39 == 0) +{ +return x_31; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_31, 0); +x_41 = lean_ctor_get(x_31, 1); +lean_inc(x_41); +lean_inc(x_40); +lean_dec(x_31); +x_42 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +return x_42; +} +} +} +else +{ +uint8_t x_43; +lean_dec(x_27); +lean_dec(x_3); +lean_dec(x_2); +x_43 = !lean_is_exclusive(x_28); +if (x_43 == 0) +{ +return x_28; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_28, 0); +x_45 = lean_ctor_get(x_28, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_28); +x_46 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +return x_46; +} +} +} +case 2: +{ +lean_object* x_47; lean_object* x_48; +x_47 = lean_ctor_get(x_1, 0); +lean_inc(x_47); +lean_dec(x_1); +x_48 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_47, x_2, x_3, x_4); +if (lean_obj_tag(x_48) == 0) +{ +uint8_t x_49; +x_49 = !lean_is_exclusive(x_48); +if (x_49 == 0) +{ +lean_object* x_50; lean_object* x_51; +x_50 = lean_ctor_get(x_48, 0); +x_51 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__3), 6, 1); +lean_closure_set(x_51, 0, x_50); +lean_ctor_set(x_48, 0, x_51); +return x_48; +} +else +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_52 = lean_ctor_get(x_48, 0); +x_53 = lean_ctor_get(x_48, 1); +lean_inc(x_53); +lean_inc(x_52); +lean_dec(x_48); +x_54 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__3), 6, 1); +lean_closure_set(x_54, 0, x_52); +x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_53); +return x_55; +} +} +else +{ +uint8_t x_56; +x_56 = !lean_is_exclusive(x_48); +if (x_56 == 0) +{ +return x_48; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_48, 0); +x_58 = lean_ctor_get(x_48, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_48); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +} +case 3: +{ +lean_object* x_60; lean_object* x_61; +x_60 = lean_ctor_get(x_1, 0); +lean_inc(x_60); +lean_dec(x_1); +x_61 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_60, x_2, x_3, x_4); +if (lean_obj_tag(x_61) == 0) +{ +uint8_t x_62; +x_62 = !lean_is_exclusive(x_61); +if (x_62 == 0) +{ +lean_object* x_63; lean_object* x_64; +x_63 = lean_ctor_get(x_61, 0); +x_64 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___boxed), 5, 1); +lean_closure_set(x_64, 0, x_63); +lean_ctor_set(x_61, 0, x_64); +return x_61; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_65 = lean_ctor_get(x_61, 0); +x_66 = lean_ctor_get(x_61, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_61); +x_67 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___boxed), 5, 1); +lean_closure_set(x_67, 0, x_65); +x_68 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_68, 0, x_67); +lean_ctor_set(x_68, 1, x_66); +return x_68; +} +} +else +{ +uint8_t x_69; +x_69 = !lean_is_exclusive(x_61); +if (x_69 == 0) +{ +return x_61; +} +else +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; +x_70 = lean_ctor_get(x_61, 0); +x_71 = lean_ctor_get(x_61, 1); +lean_inc(x_71); +lean_inc(x_70); +lean_dec(x_61); +x_72 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_72, 0, x_70); +lean_ctor_set(x_72, 1, x_71); +return x_72; +} +} +} +case 4: +{ +lean_object* x_73; lean_object* x_74; +x_73 = lean_ctor_get(x_1, 0); +lean_inc(x_73); +lean_dec(x_1); +x_74 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_73, x_2, x_3, x_4); +if (lean_obj_tag(x_74) == 0) +{ +uint8_t x_75; +x_75 = !lean_is_exclusive(x_74); +if (x_75 == 0) +{ +lean_object* x_76; lean_object* x_77; +x_76 = lean_ctor_get(x_74, 0); +x_77 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__5), 6, 1); +lean_closure_set(x_77, 0, x_76); +lean_ctor_set(x_74, 0, x_77); +return x_74; +} +else +{ +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_78 = lean_ctor_get(x_74, 0); +x_79 = lean_ctor_get(x_74, 1); +lean_inc(x_79); +lean_inc(x_78); +lean_dec(x_74); +x_80 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__5), 6, 1); +lean_closure_set(x_80, 0, x_78); +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_80); +lean_ctor_set(x_81, 1, x_79); +return x_81; +} +} +else +{ +uint8_t x_82; +x_82 = !lean_is_exclusive(x_74); +if (x_82 == 0) +{ +return x_74; +} +else +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; +x_83 = lean_ctor_get(x_74, 0); +x_84 = lean_ctor_get(x_74, 1); +lean_inc(x_84); +lean_inc(x_83); +lean_dec(x_74); +x_85 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_85, 0, x_83); +lean_ctor_set(x_85, 1, x_84); +return x_85; +} +} +} +case 5: +{ +lean_object* x_86; lean_object* x_87; +x_86 = lean_ctor_get(x_1, 0); +lean_inc(x_86); +lean_dec(x_1); +x_87 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_86, x_2, x_3, x_4); +if (lean_obj_tag(x_87) == 0) +{ +uint8_t x_88; +x_88 = !lean_is_exclusive(x_87); +if (x_88 == 0) +{ +lean_object* x_89; lean_object* x_90; +x_89 = lean_ctor_get(x_87, 0); +x_90 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__6), 6, 1); +lean_closure_set(x_90, 0, x_89); +lean_ctor_set(x_87, 0, x_90); +return x_87; +} +else +{ +lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_91 = lean_ctor_get(x_87, 0); +x_92 = lean_ctor_get(x_87, 1); +lean_inc(x_92); +lean_inc(x_91); +lean_dec(x_87); +x_93 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__6), 6, 1); +lean_closure_set(x_93, 0, x_91); +x_94 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_94, 0, x_93); +lean_ctor_set(x_94, 1, x_92); +return x_94; +} +} +else +{ +uint8_t x_95; +x_95 = !lean_is_exclusive(x_87); +if (x_95 == 0) +{ +return x_87; +} +else +{ +lean_object* x_96; lean_object* x_97; lean_object* x_98; +x_96 = lean_ctor_get(x_87, 0); +x_97 = lean_ctor_get(x_87, 1); +lean_inc(x_97); +lean_inc(x_96); +lean_dec(x_87); +x_98 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_98, 0, x_96); +lean_ctor_set(x_98, 1, x_97); +return x_98; +} +} +} +case 6: +{ +lean_object* x_99; lean_object* x_100; +x_99 = lean_ctor_get(x_1, 0); +lean_inc(x_99); +lean_dec(x_1); +x_100 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_99, x_2, x_3, x_4); +if (lean_obj_tag(x_100) == 0) +{ +uint8_t x_101; +x_101 = !lean_is_exclusive(x_100); +if (x_101 == 0) +{ +lean_object* x_102; lean_object* x_103; +x_102 = lean_ctor_get(x_100, 0); +x_103 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__7), 6, 1); +lean_closure_set(x_103, 0, x_102); +lean_ctor_set(x_100, 0, x_103); +return x_100; +} +else +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; +x_104 = lean_ctor_get(x_100, 0); +x_105 = lean_ctor_get(x_100, 1); +lean_inc(x_105); +lean_inc(x_104); +lean_dec(x_100); +x_106 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__7), 6, 1); +lean_closure_set(x_106, 0, x_104); +x_107 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_107, 0, x_106); +lean_ctor_set(x_107, 1, x_105); +return x_107; +} +} +else +{ +uint8_t x_108; +x_108 = !lean_is_exclusive(x_100); +if (x_108 == 0) +{ +return x_100; +} +else +{ +lean_object* x_109; lean_object* x_110; lean_object* x_111; +x_109 = lean_ctor_get(x_100, 0); +x_110 = lean_ctor_get(x_100, 1); +lean_inc(x_110); +lean_inc(x_109); +lean_dec(x_100); +x_111 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_111, 0, x_109); +lean_ctor_set(x_111, 1, x_110); +return x_111; +} +} +} +case 7: +{ +lean_object* x_112; lean_object* x_113; lean_object* x_114; +x_112 = lean_ctor_get(x_1, 0); +lean_inc(x_112); +x_113 = lean_ctor_get(x_1, 1); +lean_inc(x_113); +lean_dec(x_1); +lean_inc(x_3); +lean_inc(x_2); +x_114 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_112, x_2, x_3, x_4); +if (lean_obj_tag(x_114) == 0) +{ +lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_115 = lean_ctor_get(x_114, 0); +lean_inc(x_115); +x_116 = lean_ctor_get(x_114, 1); +lean_inc(x_116); +lean_dec(x_114); +x_117 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_113, x_2, x_3, x_116); +if (lean_obj_tag(x_117) == 0) +{ +uint8_t x_118; +x_118 = !lean_is_exclusive(x_117); +if (x_118 == 0) +{ +lean_object* x_119; lean_object* x_120; +x_119 = lean_ctor_get(x_117, 0); +x_120 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__8), 7, 2); +lean_closure_set(x_120, 0, x_115); +lean_closure_set(x_120, 1, x_119); +lean_ctor_set(x_117, 0, x_120); +return x_117; +} +else +{ +lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; +x_121 = lean_ctor_get(x_117, 0); +x_122 = lean_ctor_get(x_117, 1); +lean_inc(x_122); +lean_inc(x_121); +lean_dec(x_117); +x_123 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__8), 7, 2); +lean_closure_set(x_123, 0, x_115); +lean_closure_set(x_123, 1, x_121); +x_124 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_124, 0, x_123); +lean_ctor_set(x_124, 1, x_122); +return x_124; +} +} +else +{ +uint8_t x_125; +lean_dec(x_115); +x_125 = !lean_is_exclusive(x_117); +if (x_125 == 0) +{ +return x_117; +} +else +{ +lean_object* x_126; lean_object* x_127; lean_object* x_128; +x_126 = lean_ctor_get(x_117, 0); +x_127 = lean_ctor_get(x_117, 1); +lean_inc(x_127); +lean_inc(x_126); +lean_dec(x_117); +x_128 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_128, 0, x_126); +lean_ctor_set(x_128, 1, x_127); +return x_128; +} +} +} +else +{ +uint8_t x_129; +lean_dec(x_113); +lean_dec(x_3); +lean_dec(x_2); +x_129 = !lean_is_exclusive(x_114); +if (x_129 == 0) +{ +return x_114; +} +else +{ +lean_object* x_130; lean_object* x_131; lean_object* x_132; +x_130 = lean_ctor_get(x_114, 0); +x_131 = lean_ctor_get(x_114, 1); +lean_inc(x_131); +lean_inc(x_130); +lean_dec(x_114); +x_132 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_132, 0, x_130); +lean_ctor_set(x_132, 1, x_131); +return x_132; +} +} +} +case 8: +{ +lean_object* x_133; lean_object* x_134; lean_object* x_135; +x_133 = lean_ctor_get(x_1, 0); +lean_inc(x_133); +x_134 = lean_ctor_get(x_1, 1); +lean_inc(x_134); +lean_dec(x_1); +lean_inc(x_3); +lean_inc(x_2); +x_135 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_133, x_2, x_3, x_4); +if (lean_obj_tag(x_135) == 0) +{ +lean_object* x_136; lean_object* x_137; lean_object* x_138; +x_136 = lean_ctor_get(x_135, 0); +lean_inc(x_136); +x_137 = lean_ctor_get(x_135, 1); +lean_inc(x_137); +lean_dec(x_135); +x_138 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_134, x_2, x_3, x_137); +if (lean_obj_tag(x_138) == 0) +{ +uint8_t x_139; +x_139 = !lean_is_exclusive(x_138); +if (x_139 == 0) +{ +lean_object* x_140; lean_object* x_141; +x_140 = lean_ctor_get(x_138, 0); +x_141 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__9), 7, 2); +lean_closure_set(x_141, 0, x_136); +lean_closure_set(x_141, 1, x_140); +lean_ctor_set(x_138, 0, x_141); +return x_138; +} +else +{ +lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; +x_142 = lean_ctor_get(x_138, 0); +x_143 = lean_ctor_get(x_138, 1); +lean_inc(x_143); +lean_inc(x_142); +lean_dec(x_138); +x_144 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__9), 7, 2); +lean_closure_set(x_144, 0, x_136); +lean_closure_set(x_144, 1, x_142); +x_145 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_145, 0, x_144); +lean_ctor_set(x_145, 1, x_143); +return x_145; +} +} +else +{ +uint8_t x_146; +lean_dec(x_136); +x_146 = !lean_is_exclusive(x_138); +if (x_146 == 0) +{ +return x_138; +} +else +{ +lean_object* x_147; lean_object* x_148; lean_object* x_149; +x_147 = lean_ctor_get(x_138, 0); +x_148 = lean_ctor_get(x_138, 1); +lean_inc(x_148); +lean_inc(x_147); +lean_dec(x_138); +x_149 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_149, 0, x_147); +lean_ctor_set(x_149, 1, x_148); +return x_149; +} +} +} +else +{ +uint8_t x_150; +lean_dec(x_134); +lean_dec(x_3); +lean_dec(x_2); +x_150 = !lean_is_exclusive(x_135); +if (x_150 == 0) +{ +return x_135; +} +else +{ +lean_object* x_151; lean_object* x_152; lean_object* x_153; +x_151 = lean_ctor_get(x_135, 0); +x_152 = lean_ctor_get(x_135, 1); +lean_inc(x_152); +lean_inc(x_151); +lean_dec(x_135); +x_153 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_153, 0, x_151); +lean_ctor_set(x_153, 1, x_152); +return x_153; +} +} +} +case 9: +{ +lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; +x_154 = lean_ctor_get(x_1, 0); +lean_inc(x_154); +x_155 = lean_ctor_get(x_1, 1); +lean_inc(x_155); +x_156 = lean_ctor_get(x_1, 2); +lean_inc(x_156); +lean_dec(x_1); +x_157 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_156, x_2, x_3, x_4); +if (lean_obj_tag(x_157) == 0) +{ +uint8_t x_158; +x_158 = !lean_is_exclusive(x_157); +if (x_158 == 0) +{ +lean_object* x_159; lean_object* x_160; +x_159 = lean_ctor_get(x_157, 0); +x_160 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10___boxed), 8, 3); +lean_closure_set(x_160, 0, x_154); +lean_closure_set(x_160, 1, x_155); +lean_closure_set(x_160, 2, x_159); +lean_ctor_set(x_157, 0, x_160); +return x_157; +} +else +{ +lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; +x_161 = lean_ctor_get(x_157, 0); +x_162 = lean_ctor_get(x_157, 1); +lean_inc(x_162); +lean_inc(x_161); +lean_dec(x_157); +x_163 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10___boxed), 8, 3); +lean_closure_set(x_163, 0, x_154); +lean_closure_set(x_163, 1, x_155); +lean_closure_set(x_163, 2, x_161); +x_164 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_164, 0, x_163); +lean_ctor_set(x_164, 1, x_162); +return x_164; +} +} +else +{ +uint8_t x_165; +lean_dec(x_155); +lean_dec(x_154); +x_165 = !lean_is_exclusive(x_157); +if (x_165 == 0) +{ +return x_157; +} +else +{ +lean_object* x_166; lean_object* x_167; lean_object* x_168; +x_166 = lean_ctor_get(x_157, 0); +x_167 = lean_ctor_get(x_157, 1); +lean_inc(x_167); +lean_inc(x_166); +lean_dec(x_157); +x_168 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_168, 0, x_166); +lean_ctor_set(x_168, 1, x_167); +return x_168; +} +} +} +case 10: +{ +lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; +x_169 = lean_ctor_get(x_1, 0); +lean_inc(x_169); +x_170 = lean_ctor_get(x_1, 1); +lean_inc(x_170); +x_171 = lean_ctor_get(x_1, 2); +lean_inc(x_171); +lean_dec(x_1); +x_172 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_171, x_2, x_3, x_4); +if (lean_obj_tag(x_172) == 0) +{ +uint8_t x_173; +x_173 = !lean_is_exclusive(x_172); +if (x_173 == 0) +{ +lean_object* x_174; lean_object* x_175; +x_174 = lean_ctor_get(x_172, 0); +x_175 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__11), 8, 3); +lean_closure_set(x_175, 0, x_169); +lean_closure_set(x_175, 1, x_170); +lean_closure_set(x_175, 2, x_174); +lean_ctor_set(x_172, 0, x_175); +return x_172; +} +else +{ +lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; +x_176 = lean_ctor_get(x_172, 0); +x_177 = lean_ctor_get(x_172, 1); +lean_inc(x_177); +lean_inc(x_176); +lean_dec(x_172); +x_178 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__11), 8, 3); +lean_closure_set(x_178, 0, x_169); +lean_closure_set(x_178, 1, x_170); +lean_closure_set(x_178, 2, x_176); +x_179 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_179, 0, x_178); +lean_ctor_set(x_179, 1, x_177); +return x_179; +} +} +else +{ +uint8_t x_180; +lean_dec(x_170); +lean_dec(x_169); +x_180 = !lean_is_exclusive(x_172); +if (x_180 == 0) +{ +return x_172; +} +else +{ +lean_object* x_181; lean_object* x_182; lean_object* x_183; +x_181 = lean_ctor_get(x_172, 0); +x_182 = lean_ctor_get(x_172, 1); +lean_inc(x_182); +lean_inc(x_181); +lean_dec(x_172); +x_183 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_183, 0, x_181); +lean_ctor_set(x_183, 1, x_182); +return x_183; +} +} +} +case 11: +{ +lean_object* x_184; lean_object* x_185; lean_object* x_186; +lean_dec(x_3); +lean_dec(x_2); +x_184 = lean_ctor_get(x_1, 0); +lean_inc(x_184); +lean_dec(x_1); +x_185 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___boxed), 2, 1); +lean_closure_set(x_185, 0, x_184); +x_186 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_186, 0, x_185); +lean_ctor_set(x_186, 1, x_4); +return x_186; +} +case 12: +{ +lean_object* x_187; uint8_t x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; +lean_dec(x_3); +lean_dec(x_2); +x_187 = lean_ctor_get(x_1, 0); +lean_inc(x_187); +x_188 = lean_ctor_get_uint8(x_1, sizeof(void*)*1); +lean_dec(x_1); +x_189 = lean_box(x_188); +x_190 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___boxed), 3, 2); +lean_closure_set(x_190, 0, x_187); +lean_closure_set(x_190, 1, x_189); +x_191 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_191, 0, x_190); +lean_ctor_set(x_191, 1, x_4); +return x_191; +} +case 13: +{ +lean_object* x_192; lean_object* x_193; +lean_dec(x_3); +lean_dec(x_2); +x_192 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1; +x_193 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_193, 0, x_192); +lean_ctor_set(x_193, 1, x_4); +return x_193; +} +case 14: +{ +lean_object* x_194; lean_object* x_195; +lean_dec(x_3); +lean_dec(x_2); +x_194 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2; +x_195 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_195, 0, x_194); +lean_ctor_set(x_195, 1, x_4); +return x_195; +} +case 15: +{ +lean_object* x_196; lean_object* x_197; +lean_dec(x_3); +lean_dec(x_2); +x_196 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3; +x_197 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_197, 0, x_196); +lean_ctor_set(x_197, 1, x_4); +return x_197; +} +case 16: +{ +lean_object* x_198; lean_object* x_199; +lean_dec(x_3); +lean_dec(x_2); +x_198 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4; +x_199 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_199, 0, x_198); +lean_ctor_set(x_199, 1, x_4); +return x_199; +} +case 17: +{ +lean_object* x_200; lean_object* x_201; +lean_dec(x_3); +lean_dec(x_2); +x_200 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5; +x_201 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_201, 0, x_200); +lean_ctor_set(x_201, 1, x_4); +return x_201; +} +case 18: +{ +lean_object* x_202; lean_object* x_203; +x_202 = lean_ctor_get(x_1, 0); +lean_inc(x_202); +lean_dec(x_1); +x_203 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_202, x_2, x_3, x_4); +if (lean_obj_tag(x_203) == 0) +{ +uint8_t x_204; +x_204 = !lean_is_exclusive(x_203); +if (x_204 == 0) +{ +lean_object* x_205; lean_object* x_206; +x_205 = lean_ctor_get(x_203, 0); +x_206 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__18), 6, 1); +lean_closure_set(x_206, 0, x_205); +lean_ctor_set(x_203, 0, x_206); +return x_203; +} +else +{ +lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; +x_207 = lean_ctor_get(x_203, 0); +x_208 = lean_ctor_get(x_203, 1); +lean_inc(x_208); +lean_inc(x_207); +lean_dec(x_203); +x_209 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__18), 6, 1); +lean_closure_set(x_209, 0, x_207); +x_210 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_210, 0, x_209); +lean_ctor_set(x_210, 1, x_208); +return x_210; +} +} +else +{ +uint8_t x_211; +x_211 = !lean_is_exclusive(x_203); +if (x_211 == 0) +{ +return x_203; +} +else +{ +lean_object* x_212; lean_object* x_213; lean_object* x_214; +x_212 = lean_ctor_get(x_203, 0); +x_213 = lean_ctor_get(x_203, 1); +lean_inc(x_213); +lean_inc(x_212); +lean_dec(x_203); +x_214 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_214, 0, x_212); +lean_ctor_set(x_214, 1, x_213); +return x_214; +} +} +} +case 19: +{ +lean_object* x_215; lean_object* x_216; +lean_dec(x_3); +lean_dec(x_2); +x_215 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6; +x_216 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_216, 0, x_215); +lean_ctor_set(x_216, 1, x_4); +return x_216; +} +case 20: +{ +lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; +lean_dec(x_3); +lean_dec(x_2); +x_217 = lean_ctor_get(x_1, 0); +lean_inc(x_217); +x_218 = lean_ctor_get(x_1, 1); +lean_inc(x_218); +lean_dec(x_1); +x_219 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__20), 7, 2); +lean_closure_set(x_219, 0, x_217); +lean_closure_set(x_219, 1, x_218); +x_220 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_220, 0, x_219); +lean_ctor_set(x_220, 1, x_4); +return x_220; +} +case 21: +{ +lean_object* x_221; lean_object* x_222; lean_object* x_223; +x_221 = lean_ctor_get(x_1, 0); +lean_inc(x_221); +lean_dec(x_1); +x_222 = l_Lean_PrettyPrinter_combinatorParenthesizerAttribute; +x_223 = l_Lean_ParserCompiler_CombinatorAttribute_runDeclFor___rarg(x_222, x_221, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_223; +} +case 22: +{ +lean_object* x_224; lean_object* x_225; +x_224 = lean_ctor_get(x_1, 0); +lean_inc(x_224); +lean_dec(x_1); +x_225 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_224, x_2, x_3, x_4); +if (lean_obj_tag(x_225) == 0) +{ +uint8_t x_226; +x_226 = !lean_is_exclusive(x_225); +if (x_226 == 0) +{ +lean_object* x_227; lean_object* x_228; +x_227 = lean_ctor_get(x_225, 0); +x_228 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___boxed), 5, 1); +lean_closure_set(x_228, 0, x_227); +lean_ctor_set(x_225, 0, x_228); +return x_225; +} +else +{ +lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; +x_229 = lean_ctor_get(x_225, 0); +x_230 = lean_ctor_get(x_225, 1); +lean_inc(x_230); +lean_inc(x_229); +lean_dec(x_225); +x_231 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___boxed), 5, 1); +lean_closure_set(x_231, 0, x_229); +x_232 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_232, 0, x_231); +lean_ctor_set(x_232, 1, x_230); +return x_232; +} +} +else +{ +uint8_t x_233; +x_233 = !lean_is_exclusive(x_225); +if (x_233 == 0) +{ +return x_225; +} +else +{ +lean_object* x_234; lean_object* x_235; lean_object* x_236; +x_234 = lean_ctor_get(x_225, 0); +x_235 = lean_ctor_get(x_225, 1); +lean_inc(x_235); +lean_inc(x_234); +lean_dec(x_225); +x_236 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_236, 0, x_234); +lean_ctor_set(x_236, 1, x_235); +return x_236; +} +} +} +case 23: +{ +lean_object* x_237; lean_object* x_238; +x_237 = lean_ctor_get(x_1, 0); +lean_inc(x_237); +lean_dec(x_1); +x_238 = lean_pretty_printer_parenthesizer_interpret_parser_descr(x_237, x_2, x_3, x_4); +if (lean_obj_tag(x_238) == 0) +{ +uint8_t x_239; +x_239 = !lean_is_exclusive(x_238); +if (x_239 == 0) +{ +lean_object* x_240; lean_object* x_241; +x_240 = lean_ctor_get(x_238, 0); +x_241 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__22), 6, 1); +lean_closure_set(x_241, 0, x_240); +lean_ctor_set(x_238, 0, x_241); +return x_238; +} +else +{ +lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; +x_242 = lean_ctor_get(x_238, 0); +x_243 = lean_ctor_get(x_238, 1); +lean_inc(x_243); +lean_inc(x_242); +lean_dec(x_238); +x_244 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__22), 6, 1); +lean_closure_set(x_244, 0, x_242); +x_245 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_245, 0, x_244); +lean_ctor_set(x_245, 1, x_243); +return x_245; +} +} +else +{ +uint8_t x_246; +x_246 = !lean_is_exclusive(x_238); +if (x_246 == 0) +{ +return x_238; +} +else +{ +lean_object* x_247; lean_object* x_248; lean_object* x_249; +x_247 = lean_ctor_get(x_238, 0); +x_248 = lean_ctor_get(x_238, 1); +lean_inc(x_248); +lean_inc(x_247); +lean_dec(x_238); +x_249 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_249, 0, x_247); +lean_ctor_set(x_249, 1, x_248); +return x_249; +} +} +} +default: +{ +uint8_t x_250; +lean_dec(x_3); +lean_dec(x_2); +x_250 = lean_ctor_get_uint8(x_1, 0); +lean_dec(x_1); +if (x_250 == 0) +{ +lean_object* x_251; lean_object* x_252; +x_251 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7; +x_252 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_252, 0, x_251); +lean_ctor_set(x_252, 1, x_4); +return x_252; +} +else +{ +lean_object* x_253; lean_object* x_254; +x_253 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8; +x_254 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_254, 0, x_253); +lean_ctor_set(x_254, 1, x_4); +return x_254; +} +} +} +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__4(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_6; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__10(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_2); +return x_9; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___rarg(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_5; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__12(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___rarg(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_5; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; lean_object* x_5; +x_4 = lean_unbox(x_2); +lean_dec(x_2); +x_5 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__13(x_1, x_4, x_3); +lean_dec(x_3); +lean_dec(x_1); +return x_5; +} +} +lean_object* l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__21(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_6; +} +} lean_object* l_Lean_PrettyPrinter_parenthesize_match__1___rarg(lean_object* x_1, lean_object* x_2) { _start: { @@ -10235,7 +12837,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_parenthesizeCommand___closed__1() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3073____closed__4; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3093____closed__4; x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -10252,7 +12854,7 @@ x_6 = l_Lean_PrettyPrinter_parenthesize(x_5, x_1, x_2, x_3, x_4); return x_6; } } -lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2423_(lean_object* x_1) { +lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2669_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -10266,7 +12868,7 @@ lean_object* initialize_Lean_CoreM(lean_object*); lean_object* initialize_Lean_KeyedDeclsAttribute(lean_object*); lean_object* initialize_Lean_Parser_Extension(lean_object*); lean_object* initialize_Lean_ParserCompiler_Attribute(lean_object*); -lean_object* initialize_Lean_PrettyPrinter_Backtrack(lean_object*); +lean_object* initialize_Lean_PrettyPrinter_Basic(lean_object*); static bool _G_initialized = false; lean_object* initialize_Lean_PrettyPrinter_Parenthesizer(lean_object* w) { lean_object * res; @@ -10287,7 +12889,7 @@ lean_dec_ref(res); res = initialize_Lean_ParserCompiler_Attribute(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_PrettyPrinter_Backtrack(lean_io_mk_world()); +res = initialize_Lean_PrettyPrinter_Basic(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_PrettyPrinter_Parenthesizer_Context_cat___default = _init_l_Lean_PrettyPrinter_Parenthesizer_Context_cat___default(); @@ -10480,10 +13082,8 @@ l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__21 = _init_l_Lean lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__21); l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__22 = _init_l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__22(); lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__22); -l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__1); -l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__2); +l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKindUnsafe___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKindUnsafe___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKindUnsafe___closed__1); l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___closed__1); l___regBuiltin_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___closed__1 = _init_l___regBuiltin_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___closed__1(); @@ -10533,6 +13133,52 @@ l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___closed__1 = _ lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___closed__1); l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___boxed__const__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___boxed__const__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpolatedStr_parenthesizer___boxed__const__1); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__1); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__2); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__14___closed__3); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__1); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__2); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__15___closed__3); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__1); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__2); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__16___closed__3); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__1); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__2); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__17___closed__3); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__1); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__2); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___elambda__19___closed__3); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__1); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__2); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__3); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__4); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__5); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__6); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__7); +l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8 = _init_l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8(); +lean_mark_persistent(l_Lean_PrettyPrinter_Parenthesizer_interpretParserDescr___closed__8); l_Lean_PrettyPrinter_parenthesize___closed__1 = _init_l_Lean_PrettyPrinter_parenthesize___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_parenthesize___closed__1); l_Lean_PrettyPrinter_parenthesize___closed__2 = _init_l_Lean_PrettyPrinter_parenthesize___closed__2(); @@ -10543,7 +13189,7 @@ l_Lean_PrettyPrinter_parenthesizeTerm___closed__1 = _init_l_Lean_PrettyPrinter_p lean_mark_persistent(l_Lean_PrettyPrinter_parenthesizeTerm___closed__1); l_Lean_PrettyPrinter_parenthesizeCommand___closed__1 = _init_l_Lean_PrettyPrinter_parenthesizeCommand___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_parenthesizeCommand___closed__1); -res = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2423_(lean_io_mk_world()); +res = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2669_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0));