src/Pure/Thy/thy_load.ML
changeset 54520 cee77d2e9582
parent 54519 5fed81762406
child 54523 11087efad95e
equal deleted inserted replaced
54519:5fed81762406 54520:cee77d2e9582
    74 
    74 
    75 fun parse_files cmd =
    75 fun parse_files cmd =
    76   Scan.ahead Parse.not_eof -- Parse.path >> (fn (tok, name) => fn thy =>
    76   Scan.ahead Parse.not_eof -- Parse.path >> (fn (tok, name) => fn thy =>
    77     (case Token.get_files tok of
    77     (case Token.get_files tok of
    78       [] => read_files (master_directory thy) cmd (Path.explode name, Token.position_of tok)
    78       [] => read_files (master_directory thy) cmd (Path.explode name, Token.position_of tok)
    79     | files => files));
    79     | files => map Exn.release files));
    80 
    80 
    81 
    81 
    82 (* theory files *)
    82 (* theory files *)
    83 
    83 
    84 val thy_path = Path.ext "thy";
    84 val thy_path = Path.ext "thy";
   168     val {name = (name, _), ...} = header;
   168     val {name = (name, _), ...} = header;
   169     val _ = Thy_Header.define_keywords header;
   169     val _ = Thy_Header.define_keywords header;
   170 
   170 
   171     val lexs = Keyword.get_lexicons ();
   171     val lexs = Keyword.get_lexicons ();
   172     val toks = Thy_Syntax.parse_tokens lexs text_pos text;
   172     val toks = Thy_Syntax.parse_tokens lexs text_pos text;
   173     val spans = map (Thy_Syntax.resolve_files (read_files master_dir)) (Thy_Syntax.parse_spans toks);
   173     val spans =
       
   174       map (Thy_Syntax.resolve_files (map Exn.Res oo read_files master_dir))
       
   175         (Thy_Syntax.parse_spans toks);
   174     val elements = Thy_Syntax.parse_elements spans;
   176     val elements = Thy_Syntax.parse_elements spans;
   175 
   177 
   176     fun init () =
   178     fun init () =
   177       begin_theory master_dir header parents
   179       begin_theory master_dir header parents
   178       |> Present.begin_theory update_time
   180       |> Present.begin_theory update_time