Expand optional «precedence» where
«precedence» := leading_parser " : " >> precedenceParser
Equations
- Lean.Elab.Term.expandOptPrecedence stx = if stx.isNone = true then pure none else do let __do_lift ← Lean.evalPrec stx[0][1] pure (some __do_lift)
Instances For
- catName : Lake.Name
- first : Bool
- leftRec : Bool
- behavior : Lean.Parser.LeadingIdentBehavior
See comment at
Parser.ParserCategory.
Instances For
Equations
Instances For
Instances For
(Try to) add a term info for the category catName at ref.
Equations
- One or more equations did not get rendered due to their size.
Instances For
(Try to) add a term info for the alias with info info at ref.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a stx of category syntax, return a (newStx, lhsPrec?),
where newStx is of category term. After elaboration, newStx should have type
TrailingParserDescr if lhsPrec?.isSome, and ParserDescr otherwise.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Sequence (aka NullNode)
Equations
- Lean.Elab.Term.toParserDescr.ensureNoPrec stx = if stx[1].isNone = true then pure PUnit.unit else Lean.throwErrorAt stx[1] (Lean.toMessageData "unexpected precedence")
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Auxiliary function for creating declaration names from parser descriptions. Example: Given
syntax term "+" term : term
syntax "[" sepBy(term, ", ") "]" : term
It generates the names term_+_ and term[_,]
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Elab.Command.mkNameFromParserSyntax.appendCatName catName str = match catName with | pre.str s => s ++ str | x => str
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Add macro scope to name if it does not already have them, and attrKind is local.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Infer syntax kind k from first pattern, put alternatives of same kind into new macro/elab_rules (kind := k) via mkCmd (some k),
leave remaining alternatives (via mkCmd none) to be recursively expanded.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Elab.Command.strLitToPattern stx = match stx.isStrLit? with | some str => pure (Lean.mkAtomFrom stx str) | none => Lean.Macro.throwUnsupported