feat: add attrParam syntax category

cc @Kha
This commit is contained in:
Leonardo de Moura 2020-12-14 16:45:05 -08:00
parent f5de22ee36
commit a3fe907a28

View file

@ -13,9 +13,16 @@ builtin_initialize
registerBuiltinParserAttribute `builtinTacticParser `tactic (leadingIdentAsSymbol := true)
registerBuiltinDynamicParserAttribute `tacticParser `tactic
builtin_initialize
registerBuiltinParserAttribute `builtinAttrParamParser `attrParam (leadingIdentAsSymbol := true)
registerBuiltinDynamicParserAttribute `attrParamParser `attrParam
@[inline] def tacticParser (rbp : Nat := 0) : Parser :=
categoryParser `tactic rbp
@[inline] def attrParamParser (rbp : Nat := 0) : Parser :=
categoryParser `attrParam rbp
namespace Tactic
def tacticSeq1Indented : Parser :=
@ -202,6 +209,8 @@ def isIdent (stx : Syntax) : Bool :=
@[builtinTermParser] def bracketedBinder.quot : Parser := parser! "`(bracketedBinder|" >> toggleInsideQuot (evalInsideQuot ``bracketedBinder bracketedBinder) >> ")"
@[builtinTermParser] def matchDiscr.quot : Parser := parser! "`(matchDiscr|" >> toggleInsideQuot (evalInsideQuot ``matchDiscr matchDiscr) >> ")"
@[builtinTermParser] def attrParam.quot : Parser := parser! "`(attrParam|" >> toggleInsideQuot attrParamParser >> ")"
@[builtinTermParser] def panic := parser!:leadPrec "panic! " >> termParser
@[builtinTermParser] def unreachable := parser!:leadPrec "unreachable!"
@[builtinTermParser] def dbgTrace := parser!:leadPrec withPosition ("dbgTrace! " >> ((interpolatedStr termParser) <|> termParser)) >> optSemicolon termParser