equal
deleted
inserted
replaced
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 |