diff options
| author | Pierre-Marie Pédrot | 2016-04-25 16:22:25 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2016-04-25 16:26:35 +0200 |
| commit | cca1a283d4693ef75f2aa48fc07c4d51bcd108c7 (patch) | |
| tree | de075b506538c43a66f199f1403ea0a67536d0c1 /ltac/extraargs.ml4 | |
| parent | 65578a55b81252e2c4b006728522839a9e37cd5c (diff) | |
| parent | 76992bd0bab4d5b59e19d7a6a21c091f1c5d8340 (diff) | |
Simplifying and uniformizing the implementation of tactic notations.
This branch mainly provides two features:
1. The resolution of tactic notation scopes is not tied to a hardwired Pcoq
registration anymore. We expose instead an API to interpret names as a given
generic argument, effectively reversing the logical dependency between parsing
entries and generic arguments.
2. ML tactics do not declare their own notation system anymore. They rely instead
on plain tactic notations, except for a little hack due to the way we currently
interpret toplevel values.
Diffstat (limited to 'ltac/extraargs.ml4')
| -rw-r--r-- | ltac/extraargs.ml4 | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ltac/extraargs.ml4 b/ltac/extraargs.ml4 index fbae17bafc..0bddcc9fdd 100644 --- a/ltac/extraargs.ml4 +++ b/ltac/extraargs.ml4 @@ -40,6 +40,16 @@ let () = let inject (loc, v) = Tacexpr.Tacexp v in Tacentries.create_ltac_quotation "ltac" inject (Pcoq.Tactic.tactic_expr, Some 5) +(** Backward-compatible tactic notation entry names *) + +let () = + let register name entry = Tacentries.register_tactic_notation_entry name entry in + register "hyp" wit_var; + register "simple_intropattern" wit_intro_pattern; + register "integer" wit_integer; + register "reference" wit_ref; + () + (* Rewriting orientation *) let _ = Metasyntax.add_token_obj "<-" |
