object Theory { def apply(
name: String,
files: List[String],
static_session: String,
dynamic_session: String,
entities: List[Export_Theory.Entity0],
others: List[String]
): Theory = { val entities1 =
entities.filter(e => e.file.nonEmpty && Position.Range.unapply(e.pos).isDefined) new Theory(name, files, static_session, dynamic_session, entities1, others)
}
}
class Theory private( val name: String, val files: List[String], val static_session: String, val dynamic_session: String,
entities: List[Export_Theory.Entity0],
others: List[String]
) { overridedef toString: String = name
val (thy_file, blobs_files) =
files match { case Nil => error("Unknown theory file for " + quote(name)) case a :: bs => def for_theory: String = " for theory " + quote(name) if (!File.is_thy(a)) error("Bad .thy file " + quote(a) + for_theory) for (b <- bs if File.is_thy(b)) error("Bad auxiliary file " + quote(b) + for_theory)
(a, bs)
}
val result1 =
sessions_requirements.foldLeft(Map.empty[String, Session]) { case (seen, session_name) => val session0 = result0(session_name) val loaded_theories1 =
sessions_structure(session_name).parent.map(seen) match { case None => session0.loaded_theories case Some(parent_session) =>
parent_session.loaded_theories ++ session0.loaded_theories
} val session1 = session0.copy(loaded_theories = loaded_theories1)
seen + (session_name -> session1)
}
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.