X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fgrafite_parser%2FgrafiteParser.ml;h=9b5ecfe7c907cb23e94d618eededc5b8228c9071;hb=b804ff9f8fba300ffaa54add291e0f6490b757ce;hp=dd4075a8a5f70fb5b87ccdc364dac0c7f58ad1a1;hpb=fa3139698294b99889afd375298f9b071cdfbd67;p=helm.git diff --git a/matita/components/grafite_parser/grafiteParser.ml b/matita/components/grafite_parser/grafiteParser.ml index dd4075a8a..9b5ecfe7c 100644 --- a/matita/components/grafite_parser/grafiteParser.ml +++ b/matita/components/grafite_parser/grafiteParser.ml @@ -42,9 +42,15 @@ let exc_located_wrapper f = raise (HExtlib.Localized (floc,CicNotationParser.Parse_error (Printexc.to_string exn))) -let parse_statement grafite_parser lexbuf = +type parsable = Grammar.parsable + +let parsable_statement status buf = + let grammar = CicNotationParser.level2_ast_grammar status in + Grammar.parsable grammar (Obj.magic buf) + +let parse_statement grafite_parser parsable = exc_located_wrapper - (fun () -> (Grammar.Entry.parse (Obj.magic grafite_parser) (Obj.magic lexbuf))) + (fun () -> (Grammar.Entry.parse_parsable (Obj.magic grafite_parser) parsable)) let add_raw_attribute ~text t = N.AttributedTerm (`Raw text, t)