lean4-htt/library/init/lean/parser/level.lean
2019-06-21 14:20:40 -07:00

34 lines
915 B
Text

/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Leonardo de Moura, Sebastian Ullrich
-/
prelude
import init.lean.parser.parser
namespace Lean
namespace Parser
@[init mkBuiltinParsingTablesRef]
constant builtinLevelParsingTable : IO.Ref ParsingTables := default _
@[init] def regBuiltinLevelParserAttr : IO Unit :=
registerBuiltinParserAttribute `builtinLevelParser `Lean.Parser.builtinLevelParsingTable
def levelParser (rbp : Nat := 0) : Parser :=
{ fn := λ _, runBuiltinParser "universe level" builtinLevelParsingTable rbp }
/-
def_parser [builtinLevelParser]
paren := "(":max_prec; levelParser; ")":0
hole := "_":max_prec
imax := "imax"
max := "max"
num := numLit
id := ident
addLit := levelParser; "+":65; numLit
app := levelParser; levelParser maxPrec
-/
end Parser
end Lean