aboutsummaryrefslogtreecommitdiff
path: root/parsing/extend.mli
diff options
context:
space:
mode:
authorherbelin2003-04-17 15:01:24 +0000
committerherbelin2003-04-17 15:01:24 +0000
commit5b318ca418ef27d1bf2b155bebbf2425f65b4f1f (patch)
treeb04fb45d1fd3e8fb6b4253a2acbd595754ec7dc6 /parsing/extend.mli
parent95f8a0ac38cbd792a0b5d8006aac1ef1a9f70da8 (diff)
Ajout "at next level" dans Notation
Mise en place structure pour définir un objet en même temps que sa notation git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3939 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing/extend.mli')
-rw-r--r--parsing/extend.mli18
1 files changed, 12 insertions, 6 deletions
diff --git a/parsing/extend.mli b/parsing/extend.mli
index 808e50158b..ef685ffb16 100644
--- a/parsing/extend.mli
+++ b/parsing/extend.mli
@@ -25,14 +25,20 @@ type production_position =
| BorderProd of bool * Gramext.g_assoc option (* true=left; false=right *)
| InternalProd
-type 'pos constr_entry_key =
+type production_level =
+ | NextLevel
+ | NumLevel of int
+
+type ('lev,'pos) constr_entry_key =
| ETIdent | ETReference | ETBigint
- | ETConstr of (int * 'pos)
+ | ETConstr of ('lev * 'pos)
| ETPattern
| ETOther of string * string
-type constr_production_entry = production_position constr_entry_key
-type constr_entry = unit constr_entry_key
+type constr_production_entry =
+ (production_level,production_position) constr_entry_key
+type constr_entry = (int,unit) constr_entry_key
+type simple_constr_production_entry = (production_level,unit) constr_entry_key
type nonterm_prod =
| ProdList0 of nonterm_prod
@@ -68,10 +74,10 @@ val set_constr_globalizer :
(entry_context -> constr_expr -> constr_expr) -> unit
type syntax_modifier =
- | SetItemLevel of string list * int
+ | SetItemLevel of string list * production_level
| SetLevel of int
| SetAssoc of Gramext.g_assoc
- | SetEntryType of string * constr_entry
+ | SetEntryType of string * simple_constr_production_entry
| SetOnlyParsing
type nonterm =