X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=inline;f=matita%2Fcomponents%2Fcontent_pres%2FcicNotationParser.ml;h=3341b0febfea9fa55a2e96f0a889918dca41a8db;hb=f31020f1ae14e28c246b6cd9cf91b5864f4f536a;hp=38ce016768914215913ebb4ae0c2c047a6ece4a5;hpb=da71c09b8f4a42d3273fcbaea0cda3bceed1d949;p=helm.git diff --git a/matita/components/content_pres/cicNotationParser.ml b/matita/components/content_pres/cicNotationParser.ml index 38ce01676..3341b0feb 100644 --- a/matita/components/content_pres/cicNotationParser.ml +++ b/matita/components/content_pres/cicNotationParser.ml @@ -189,8 +189,8 @@ let extract_term_production status pattern = and aux_magic magic = match magic with | Ast.Opt p -> - let p_bindings, p_atoms, p_names, p_action = inner_pattern p in - let action (env_opt : NotationEnv.t option) (loc : Ast.location) = + let _p_bindings, p_atoms, p_names, p_action = inner_pattern p in + let action (env_opt : NotationEnv.t option) (_loc : Ast.location) = match env_opt with | Some env -> List.map Env.opt_binding_some env | None -> List.map Env.opt_binding_of_name p_names @@ -357,11 +357,11 @@ let exc_located_wrapper f = try f () with - | Stdpp.Exc_located (floc, Stream.Error msg) -> + | Ploc.Exc (floc, Stream.Error msg) -> raise (HExtlib.Localized (floc, Parse_error msg)) - | Stdpp.Exc_located (floc, HExtlib.Localized (_,exn)) -> + | Ploc.Exc (floc, HExtlib.Localized (_,exn)) -> raise (HExtlib.Localized (floc, (Parse_error (Printexc.to_string exn)))) - | Stdpp.Exc_located (floc, exn) -> + | Ploc.Exc (floc, exn) -> raise (HExtlib.Localized (floc, (Parse_error (Printexc.to_string exn)))) let parse_level1_pattern grammars precedence lexbuf = @@ -616,7 +616,8 @@ EXTEND ]; arg: [ [ LPAREN; names = LIST1 IDENT SEP SYMBOL ","; - SYMBOL ":"; ty = term; RPAREN -> + typ = OPT [ SYMBOL ":"; typ = term -> typ] ; RPAREN -> (* FG: now type is optional *) + let ty = match typ with Some ty -> ty | None -> Ast.Implicit `JustOne in List.map (fun n -> Ast.Ident (n, None)) names, Some ty | name = IDENT -> [Ast.Ident (name, None)], None | blob = UNPARSED_META -> @@ -657,7 +658,8 @@ EXTEND args = LIST1 arg; index_name = OPT [ "on"; id = single_arg -> id ]; ty = OPT [ SYMBOL ":" ; p = term -> p ]; - SYMBOL <:unicode> (* ≝ *); body = term -> + opt_body = OPT [ SYMBOL <:unicode> (* ≝ *); body = term -> body ] -> + let body = match opt_body with Some body -> body | None -> Ast.Implicit `JustOne in let rec position_of name p = function | [] -> None, p | n :: _ when n = name -> Some p, p @@ -695,7 +697,8 @@ EXTEND name = single_arg; args = LIST0 arg; ty = OPT [ SYMBOL ":" ; p = term -> p ]; - SYMBOL <:unicode> (* ≝ *); body = term -> + opt_body = OPT [ SYMBOL <:unicode> (* ≝ *); body = term -> body ] -> + let body = match opt_body with Some body -> body | None -> Ast.Implicit `JustOne in let args = List.concat (List.map