feat: add attr parser category

This commit is contained in:
Leonardo de Moura 2020-12-15 15:44:46 -08:00
parent 4e503b3728
commit 3ee6aec466

View file

@ -21,6 +21,10 @@ builtin_initialize
registerBuiltinParserAttribute `builtinAttrParamParser `attrParam
registerBuiltinDynamicParserAttribute `attrParamParser `attrParam
builtin_initialize
registerBuiltinParserAttribute `builtinAttrParser `attr
registerBuiltinDynamicParserAttribute `attrParser `attr
@[inline] def tacticParser (rbp : Nat := 0) : Parser :=
categoryParser `tactic rbp
@ -30,6 +34,9 @@ builtin_initialize
@[inline] def attrParamParser (rbp : Nat := 0) : Parser :=
categoryParser `attrParam rbp
@[inline] def attrParser (rbp : Nat := 0) : Parser :=
categoryParser `attr rbp
namespace Tactic
def tacticSeq1Indented : Parser :=
@ -228,6 +235,7 @@ def isIdent (stx : Syntax) : Bool :=
@[builtinTermParser] def matchDiscr.quot : Parser := parser! "`(matchDiscr|" >> toggleInsideQuot (evalInsideQuot ``matchDiscr matchDiscr) >> ")"
@[builtinTermParser] def attrParam.quot : Parser := parser! "`(attrParam|" >> toggleInsideQuot attrParamParser >> ")"
@[builtinTermParser] def attr.quot : Parser := parser! "`(attr|" >> toggleInsideQuot attrParser >> ")"
@[builtinTermParser] def panic := parser!:leadPrec "panic! " >> termParser
@[builtinTermParser] def unreachable := parser!:leadPrec "unreachable!"