X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_notation%2FcicNotationParser.mli;h=2819f4d9d802386ed4b58f219b07bab6ff85390a;hb=34113d572c334c351ba66f4b05db503eed4d48f2;hp=32ba0a318acff4c93b0692cd7cecc598149ac6df;hpb=aca103d3c3d740efcc0bcc2932922cff77facb49;p=helm.git diff --git a/helm/ocaml/cic_notation/cicNotationParser.mli b/helm/ocaml/cic_notation/cicNotationParser.mli index 32ba0a318..2819f4d9d 100644 --- a/helm/ocaml/cic_notation/cicNotationParser.mli +++ b/helm/ocaml/cic_notation/cicNotationParser.mli @@ -29,32 +29,47 @@ 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 - - (** interpretation: notation level 3 *) -val parse_interpretation: char Stream.t -> CicNotationPt.cic_appl_pattern +val parse_level2_ast: char Stream.t -> CicNotationPt.term +val parse_level2_meta: char Stream.t -> CicNotationPt.term (** {2 Grammar extension} *) -type env_type = (string * (CicNotationPt.value_type * CicNotationPt.value)) list - type rule_id 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 Debugging} *) +(** {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 -val pp_env: env_type -> string +(** {2 Grammar entries} + * needed by grafite parser *) + +val level2_ast_grammar: Grammar.g + +val term : CicNotationPt.term Grammar.Entry.e +val let_defs : + (CicNotationPt.capture_variable * CicNotationPt.term * int) list Grammar.Entry.e + +(** {2 Debugging} *) (** print "level2_pattern" entry on stdout, flushing afterwards *) val print_l2_pattern: unit -> unit