aboutsummaryrefslogtreecommitdiffhomepage
path: root/parsing/egrammar.mli
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2002-05-29 10:48:37 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2002-05-29 10:48:37 +0000
commit32170384190168856efeac5bcf90edf1170b54d6 (patch)
tree0ea86b672df93d997fa1cab70b678ea7abdcf171 /parsing/egrammar.mli
parent1e5182e9d5c29ae9adeed20dae32969785758809 (diff)
Nouveau modèle d'analyse syntaxique et d'interprétation des tactiques et commandes vernaculaires (cf dev/changements.txt pour plus de précisions)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2722 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing/egrammar.mli')
-rw-r--r--parsing/egrammar.mli23
1 files changed, 17 insertions, 6 deletions
diff --git a/parsing/egrammar.mli b/parsing/egrammar.mli
index 83dc3ce65..e7d2cde12 100644
--- a/parsing/egrammar.mli
+++ b/parsing/egrammar.mli
@@ -11,7 +11,8 @@
(*i*)
open Coqast
open Ast
-open Pcoq
+open Coqast
+open Vernacexpr
open Extend
(*i*)
@@ -21,9 +22,19 @@ val freeze : unit -> frozen_t
val unfreeze : frozen_t -> unit
val init : unit -> unit
-val extend_grammar : grammar_command -> unit
+type all_grammar_command =
+ | AstGrammar of grammar_command
+ | TacticGrammar of (string * (string * grammar_production list) * Tacexpr.raw_tactic_expr) list
+
+val extend_grammar : all_grammar_command -> unit
+
+(* Add grammar rules for tactics *)
+type grammar_tactic_production =
+ | TacTerm of string
+ | TacNonTerm of loc * (Gramext.g_symbol * Genarg.argument_type) * string option
+
+val extend_tactic_grammar :
+ string -> (string * grammar_tactic_production list) list -> unit
-val remove_rule : (string * gram_universe) -> typed_entry -> grammar_rule ->
- unit
-val remove_entry : (string * gram_universe) -> grammar_entry -> unit
-val remove_grammar : grammar_command -> unit
+val extend_vernac_command_grammar :
+ string -> (string * grammar_tactic_production list) list -> unit