aboutsummaryrefslogtreecommitdiff
path: root/parsing/extend.mli
diff options
context:
space:
mode:
authorherbelin2002-11-24 23:13:25 +0000
committerherbelin2002-11-24 23:13:25 +0000
commit5c7cd2b0c85470a96b1edb09956ebef8e5d45cfe (patch)
treeb531583709303b92d62dee37571250eb7cde48c7 /parsing/extend.mli
parentd2b7a94fe0ed982a6dd7ff2c07991c2f1b1a6fc8 (diff)
Utilisation des niveaux de camlp4 pour gérer les niveaux de constr; améliorations diverses de l'affichage; affinement de la syntaxe et des options de Notation; branchement de Syntactic Definition sur Notation
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3270 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing/extend.mli')
-rw-r--r--parsing/extend.mli25
1 files changed, 12 insertions, 13 deletions
diff --git a/parsing/extend.mli b/parsing/extend.mli
index 13e3ee067a..771434ea36 100644
--- a/parsing/extend.mli
+++ b/parsing/extend.mli
@@ -20,15 +20,17 @@ open Genarg
(*i*)
type entry_type = argument_type
-type constr_entry_type = ETConstr | ETIdent | ETReference
-
-val entry_type_of_constr_entry_type : constr_entry_type -> entry_type
+type constr_entry_type =
+ | ETIdent | ETReference
+ | ETConstr of (int * parenRelation) * int option
+ | ETPattern
+ | ETOther of string * string
type nonterm_prod =
| ProdList0 of nonterm_prod
| ProdList1 of nonterm_prod
| ProdOpt of nonterm_prod
- | ProdPrimitive of (string * string)
+ | ProdPrimitive of constr_entry_type
type prod_item =
| Term of Token.pattern
@@ -41,7 +43,6 @@ type grammar_rule = {
type grammar_entry = {
ge_name : string;
- ge_type : constr_entry_type;
gl_assoc : Gramext.g_assoc option;
gl_rules : grammar_rule list }
@@ -57,10 +58,11 @@ val to_act_check_vars : entry_context -> grammar_action -> aconstr
val set_ast_to_rawconstr : (entry_context -> constr_expr -> aconstr) -> unit
type syntax_modifier =
- | SetItemLevel of string * int
+ | SetItemLevel of string list * int
| SetLevel of int
| SetAssoc of Gramext.g_assoc
| SetEntryType of string * constr_entry_type
+ | SetOnlyParsing
type nonterm =
| NtShort of string
@@ -69,13 +71,14 @@ type grammar_production =
| VTerm of string
| VNonTerm of loc * nonterm * Names.identifier option
type raw_grammar_rule = string * grammar_production list * grammar_action
-type raw_grammar_entry =
- string * constr_entry_type * grammar_associativity * raw_grammar_rule list
+type raw_grammar_entry = string * grammar_associativity * raw_grammar_rule list
val terminal : string -> string * string
val rename_command : string -> string
+val explicitize_entry : string -> string -> constr_entry_type
+
val subst_grammar_command :
Names.substitution -> grammar_command -> grammar_command
@@ -90,10 +93,6 @@ type 'pat unparsing_hunk =
| UNP_TAB
| UNP_FNL
| UNP_SYMBOLIC of string * string * 'pat unparsing_hunk
-(*
- | UNP_INFIX of Libnames.extended_global_reference * string * string *
- (parenRelation * parenRelation)
-*)
(*val subst_unparsing_hunk :
Names.substitution -> (Names.substitution -> 'pat -> 'pat) ->
@@ -129,7 +128,7 @@ type syntax_rule = string * Coqast.t * Coqast.t unparsing_hunk list
type raw_syntax_entry = precedence * syntax_rule list
val interp_grammar_command :
- string -> (string * string -> Genarg.argument_type) ->
+ string -> (string * string -> unit) ->
raw_grammar_entry list -> grammar_command
val interp_syntax_entry :