X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_notation%2FcicNotationParser.mli;h=73627cd0ae68e83d816300e2f43e82f6b3419170;hb=915c3e1993cad4dcadefe7e6886e6cb8feefae8b;hp=1ce20fe9a8f7223ed00f4a44119120155b17ff12;hpb=a205eb4442d5b7a0a072a05bdfc525b8b9713c4e;p=helm.git diff --git a/helm/ocaml/cic_notation/cicNotationParser.mli b/helm/ocaml/cic_notation/cicNotationParser.mli index 1ce20fe9a..73627cd0a 100644 --- a/helm/ocaml/cic_notation/cicNotationParser.mli +++ b/helm/ocaml/cic_notation/cicNotationParser.mli @@ -24,15 +24,49 @@ *) exception Parse_error of Token.flocation * string +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 -> 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