]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_notation/cicNotationParser.mli
added XmlAttrs attribute for specification of xml attributes directly
[helm.git] / helm / ocaml / cic_notation / cicNotationParser.mli
index 1dd81ef9fa4a19298c74ae37c013fc49f1af5e75..73627cd0ae68e83d816300e2f43e82f6b3419170 100644 (file)
@@ -29,17 +29,18 @@ exception Level_not_found of int
 (** {2 Parsing functions} *)
 
   (** concrete syntax pattern: notation level 1 *)
-val parse_syntax_pattern: char Stream.t -> CicNotationPt.term
+val parse_level1_pattern: char Stream.t -> CicNotationPt.term
 
   (** AST pattern: notation level 2 *)
-val parse_ast_pattern:    char Stream.t -> CicNotationPt.term
+val parse_level2_ast: char Stream.t -> CicNotationPt.term
 
   (** interpretation: notation level 3 *)
 val parse_interpretation: char Stream.t -> CicNotationPt.cic_appl_pattern
 
-(** {2 Grammar extension} *)
+  (** top level phrases *)
+val parse_phrase: char Stream.t -> CicNotationPt.phrase
 
-type env_type = (string * (CicNotationPt.value_type * CicNotationPt.value)) list
+(** {2 Grammar extension} *)
 
 type rule_id
 
@@ -47,13 +48,25 @@ val extend:
   CicNotationPt.term ->
   ?precedence:int ->
   ?associativity:Gramext.g_assoc ->
-  (env_type -> CicNotationPt.location -> CicNotationPt.term) ->
+  (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_level2_pattern: unit -> unit
+val print_l2_pattern: unit -> unit