]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/grafite_parser/grafiteParser.ml
Some bugs fixed (and some still open) in recursive compilation of files:
[helm.git] / matita / components / grafite_parser / grafiteParser.ml
index 5873d29c7a1ddbfeb2ccc45599c2e376772cf132..9b5ecfe7c907cb23e94d618eededc5b8228c9071 100644 (file)
@@ -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)
 
@@ -518,6 +524,8 @@ EXTEND
     include_command: [ [
         IDENT "include" ; path = QSTRING -> 
           loc,path,G.WithPreferences
+      | IDENT "include" ; IDENT "alias"; path = QSTRING -> 
+          loc,path,G.OnlyPreferences
       | IDENT "include'" ; path = QSTRING -> 
           loc,path,G.WithoutPreferences
      ]];