]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_notation/cicNotationParser.mli
version 0.7.1
[helm.git] / helm / ocaml / cic_notation / cicNotationParser.mli
index 1ce20fe9a8f7223ed00f4a44119120155b17ff12..22dffd4bf61aeeab0a8656b64531eadd1899cae9 100644 (file)
@@ -24,6 +24,7 @@
  *)
 
 exception Parse_error of Token.flocation * string
+exception Level_not_found of int
 
 (** {2 Parsing functions} *)
 
@@ -34,5 +35,38 @@ val parse_syntax_pattern: char Stream.t -> CicNotationPt.term
 val parse_ast_pattern:    char Stream.t -> CicNotationPt.term
 
   (** interpretation: notation level 3 *)
-val parse_interpretation: char Stream.t -> unit
+val parse_interpretation: char Stream.t -> CicNotationPt.cic_appl_pattern
+
+  (** top level phrases *)
+val parse_phrase: char Stream.t -> CicNotationPt.phrase
+
+(** {2 Grammar extension} *)
+
+type rule_id
+
+val extend:
+  CicNotationPt.term ->
+  ?precedence:int ->
+  ?associativity:Gramext.g_assoc ->
+  (CicNotationEnv.t -> CicNotationPt.location -> CicNotationPt.term) ->
+    rule_id
+
+val delete: rule_id -> unit
+
+(** {2 Standard precedences} *)
+
+val let_in_prec: int
+val binder_prec: int
+val apply_prec: int
+val simple_prec: int
+
+val let_in_assoc: Gramext.g_assoc
+val binder_assoc: Gramext.g_assoc
+val apply_assoc: Gramext.g_assoc
+val simple_assoc: Gramext.g_assoc
+
+(** {2 Debugging} *)
+
+  (** print "level2_pattern" entry on stdout, flushing afterwards *)
+val print_l2_pattern: unit -> unit