equal
deleted
inserted
replaced
57 Outer_Syntax.quote_string(name) + """ end""" |
57 Outer_Syntax.quote_string(name) + """ end""" |
58 } |
58 } |
59 |
59 |
60 |
60 |
61 /* base info and source dependencies */ |
61 /* base info and source dependencies */ |
62 |
|
63 object Base |
|
64 { |
|
65 def bootstrap( |
|
66 session_directories: Map[JFile, String], |
|
67 global_theories: Map[String, String]): Base = |
|
68 Base( |
|
69 session_directories = session_directories, |
|
70 global_theories = global_theories, |
|
71 overall_syntax = Thy_Header.bootstrap_syntax) |
|
72 } |
|
73 |
62 |
74 sealed case class Base( |
63 sealed case class Base( |
75 pos: Position.T = Position.none, |
64 pos: Position.T = Position.none, |
76 session_directories: Map[JFile, String] = Map.empty, |
65 session_directories: Map[JFile, String] = Map.empty, |
77 global_theories: Map[String, String] = Map.empty, |
66 global_theories: Map[String, String] = Map.empty, |
164 (path, digest) |
153 (path, digest) |
165 } |
154 } |
166 } |
155 } |
167 } |
156 } |
168 |
157 |
169 val bootstrap = |
|
170 Sessions.Base.bootstrap( |
|
171 sessions_structure.session_directories, |
|
172 sessions_structure.global_theories) |
|
173 |
|
174 val session_bases = |
158 val session_bases = |
175 (Map("" -> bootstrap) /: sessions_structure.imports_topological_order)({ |
159 (Map("" -> sessions_structure.bootstrap) /: sessions_structure.imports_topological_order)({ |
176 case (session_bases, session_name) => |
160 case (session_bases, session_name) => |
177 progress.expose_interrupt() |
161 progress.expose_interrupt() |
178 |
162 |
179 val info = sessions_structure(session_name) |
163 val info = sessions_structure(session_name) |
180 try { |
164 try { |
732 val build_graph: Graph[String, Info], |
716 val build_graph: Graph[String, Info], |
733 val imports_graph: Graph[String, Info]) |
717 val imports_graph: Graph[String, Info]) |
734 { |
718 { |
735 sessions_structure => |
719 sessions_structure => |
736 |
720 |
|
721 def bootstrap: Base = |
|
722 Base( |
|
723 session_directories = session_directories, |
|
724 global_theories = global_theories, |
|
725 overall_syntax = Thy_Header.bootstrap_syntax) |
|
726 |
737 def dest_session_directories: List[(String, String)] = |
727 def dest_session_directories: List[(String, String)] = |
738 for ((file, session) <- session_directories.toList) |
728 for ((file, session) <- session_directories.toList) |
739 yield (File.standard_path(file), session) |
729 yield (File.standard_path(file), session) |
740 |
730 |
741 lazy val chapters: SortedMap[String, List[Info]] = |
731 lazy val chapters: SortedMap[String, List[Info]] = |