]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/content_pres/cicNotationParser.mli
librarian: retrieval of buildable files speeded up a lot
[helm.git] / helm / software / components / content_pres / cicNotationParser.mli
index 53182dc3167d6d8ae8e119b444561d7137a0547a..0df3f83d06ad9f9ddc64a21b4a695f99f928652e 100644 (file)
 exception Parse_error of string
 exception Level_not_found of int
 
+type checked_l1_pattern = private CL1P of CicNotationPt.term * int
+
 (** {2 Parsing functions} *)
 
-  (** concrete syntax pattern: notation level 1 *)
-val parse_level1_pattern: Ulexing.lexbuf -> CicNotationPt.term
+  (** concrete syntax pattern: notation level 1, the 
+   *  integer is the precedence *)
+val parse_level1_pattern: int -> Ulexing.lexbuf -> CicNotationPt.term
 
   (** AST pattern: notation level 2 *)
 val parse_level2_ast: Ulexing.lexbuf -> CicNotationPt.term
@@ -39,10 +42,11 @@ val parse_level2_meta: Ulexing.lexbuf -> CicNotationPt.term
 
 type rule_id
 
+val check_l1_pattern: (* level1_pattern *)
+ CicNotationPt.term -> int -> Gramext.g_assoc -> checked_l1_pattern
+
 val extend:
-  CicNotationPt.term -> (* level 1 pattern *)
-  precedence:int ->
-  associativity:Gramext.g_assoc ->
+  checked_l1_pattern ->
   (CicNotationEnv.t -> CicNotationPt.location -> CicNotationPt.term) ->
     rule_id
 
@@ -56,7 +60,7 @@ val level2_ast_grammar: Grammar.g
 val term : CicNotationPt.term Grammar.Entry.e
 
 val let_defs :
-  (CicNotationPt.capture_variable list * CicNotationPt.capture_variable * CicNotationPt.term * int) list
+  (CicNotationPt.term CicNotationPt.capture_variable list * CicNotationPt.term CicNotationPt.capture_variable * CicNotationPt.term * int) list
     Grammar.Entry.e
 
 val protected_binder_vars :