signature SESSIONS = sig val root_name: string val theory_name: string val chapter_definition_parser: (Toplevel.transition -> Toplevel.transition) parser val session_parser: (Toplevel.transition -> Toplevel.transition) parser end;
structure Sessions: SESSIONS = struct
val root_name = "ROOT"; val theory_name = "Pure.Sessions";
local
val groups =
Scan.optional (Parse.$$$ "(" |-- Parse.!!! (Scan.repeat1 Parse.name --| Parse.$$$ ")")) [];
val _ =
maps #2 theories |> List.app (fn source => let val s = Input.string_of source; val pos = Input.pos_of source; val {node_name, theory_name, ...} =
Resources.import_name session session_dir s handle ERROR msg => error (msg ^ Position.here pos); val thy_path = the_default node_name (Resources.find_theory_file theory_name); in check_thy (path_source source thy_path) end);
val _ =
directories |> List.app (ignore o Resources.check_dir ctxt (SOME session_dir));
val _ =
document_theories |> List.app (fn source => let val thy = Input.string_of source; val pos = Input.pos_of source; in
(case Resources.find_theory_file thy of
NONE => Output.error_message ("Unknown theory " ^ quote thy ^ Position.here pos)
| SOME path => check_thy (path_source source path)) end);
val _ =
document_files |> List.app (fn (doc_dir, doc_files) => let val dir = Resources.check_dir ctxt (SOME session_dir) doc_dir; val _ = List.app (ignore o Resources.check_file ctxt (SOME dir)) doc_files; in () end);
val _ =
export_files |> List.app (fn ((export_dir, _), _) =>
ignore (Resources.check_path ctxt (SOME session_dir) export_dir)); in () end));
end;
end;
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.