def tool_body(args: List[String], internal: Boolean = false): Process_Result = { var cwd = Path.current val dirs = new mutable.ListBuffer[Path] val eval_args = new mutable.ListBuffer[String] var logic = Isabelle_System.default_logic() var modes: List[String] = Nil var options = Options.init() var redirect = false
val getopts = Getopts("""
Usage: isabelle ML_process [OPTIONS]
Options are:
-C DIR change working directory
-d DIR include session directory
-e ML_EXPR evaluate ML expression on startup
-f ML_FILE evaluate ML file on startup
-l NAME logic session name (default ISABELLE_LOGIC=""" + quote(logic) + """)
-m MODE add print mode for output
-o OPTION override Isabelle system OPTION (via NAME=VAL or NAME)
-r redirect stderr to stdout
val more_args = getopts(args, internal = internal) if (more_args.nonEmpty) getopts.usage(internal = internal)
val store = Store(options) val session_background = Sessions.background(options, logic, dirs = dirs.toList).check_errors val session_heaps = store.session_heaps(session_background, logic = logic)
val process =
ML_Process(options, session_background, session_heaps,
args = eval_args.toList, modes = modes, cwd = cwd, redirect = redirect)
val isabelle_tool =
Isabelle_Tool("ML_process", "low-level ML process without Isabelle/Scala context",
Scala_Project.here, args => sys.exit(tool_body(args).rc))
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.