# HG changeset patch # User wenzelm # Date 1343497055 -7200 # Node ID 9df76dd459009439feae93364def375d7756f74a # Parent 0b95a13ed90a623175af9c5a38fd16f9ee106f9a some description of main build options; diff -r 0b95a13ed90a -r 9df76dd45900 doc-src/System/Thy/Sessions.thy --- a/doc-src/System/Thy/Sessions.thy Sat Jul 28 18:20:47 2012 +0200 +++ b/doc-src/System/Thy/Sessions.thy Sat Jul 28 19:37:35 2012 +0200 @@ -115,14 +115,22 @@ again. \end{description} +*} - Plenty of examples may be found in the Isabelle distribution, such - as in @{file "~~/src/HOL/ROOT"}. *} +subsubsection {* Examples *} + +text {* See @{file "~~/src/HOL/ROOT"} for a diversity of practically + relevant situations. *} section {* System build options \label{sec:system-options} *} -text {* FIXME *} +text {* See @{file "~~/etc/options"} for the main defaults provided by + the Isabelle distribution. + + Note that Isabelle/jEdit \secref{sec:tool-jedit} includes a simple + editing mode @{verbatim "isabelle-options"} for this file-format. +*} section {* Invoking the build process \label{sec:tool-build} *} diff -r 0b95a13ed90a -r 9df76dd45900 etc/options --- a/etc/options Sat Jul 28 18:20:47 2012 +0200 +++ b/etc/options Sat Jul 28 19:37:35 2012 +0200 @@ -1,39 +1,63 @@ (* :mode=isabelle-options: *) declare browser_info : bool = false + -- "generate theory browser information" declare document : string = "" + -- "build document in given format: pdf, dvi, dvi.gz, ps, ps.gz, or false" declare document_variants : string = "outline=/proof,/ML" + -- "declare alternative document variants (separated by colons)" declare document_graph : bool = false + -- "generate session graph image for document" declare document_dump : string = "" + -- "dump generated document sources into given directory" declare document_dump_mode : string = "all" -declare no_document : bool = false + -- "specific document dump mode: all, tex, tex+sty" declare threads : int = 0 + -- "maximum number of worker threads for prover process (0 = hardware max.)" declare threads_trace : int = 0 + -- "level of tracing information for multithreading" declare parallel_proofs : int = 2 + -- "level of parallel proof checking: 0, 1, 2" declare parallel_proofs_threshold : int = 100 + -- "threshold for sub-proof parallelization" declare print_mode : string = "" + -- "additional print modes for prover output (separated by commas)" declare proofs : int = 1 + -- "level of detail for proof objects: 0, 1, 2" declare quick_and_dirty : bool = false + -- "if true then some tools will OMIT some proofs" declare condition : string = "" + -- "required environment variables for subsequent theories (separated by commas)" declare show_question_marks : bool = true + -- "show leading question mark of schematic variables" declare names_long : bool = false + -- "show fully qualified names" declare names_short : bool = false + -- "show base names only" declare names_unique : bool = true + -- "show partially qualified names, as required for unique name resolution" declare pretty_margin : int = 76 + -- "right margin / page width of pretty printer in Isabelle/ML" declare thy_output_display : bool = false + -- "indicate output as multi-line display-style material" +declare thy_output_break : bool = false + -- "control line breaks in non-display material" declare thy_output_quotes : bool = false + -- "indicate if the output should be enclosed in double quotes" declare thy_output_indent : int = 0 + -- "indentation for pretty printing of display material" declare thy_output_source : bool = false -declare thy_output_break : bool = false + -- "print original source text rather than internal representation" declare timing : bool = false + -- "global timing of toplevel command execution and theory processing" diff -r 0b95a13ed90a -r 9df76dd45900 src/Pure/System/options.scala --- a/src/Pure/System/options.scala Sat Jul 28 18:20:47 2012 +0200 +++ b/src/Pure/System/options.scala Sat Jul 28 19:37:35 2012 +0200 @@ -35,7 +35,7 @@ val DECLARE = "declare" val DEFINE = "define" - val syntax = Outer_Syntax.empty + ":" + "=" + DECLARE + DEFINE + val syntax = Outer_Syntax.empty + ":" + "=" + "--" + DECLARE + DEFINE val entry: Parser[Options => Options] = { @@ -44,9 +44,8 @@ val option_value = atom("option value", tok => tok.is_name || tok.is_float) keyword(DECLARE) ~! (option_name ~ keyword(":") ~ option_type ~ - keyword("=") ~ option_value ~ opt(text)) ^^ - { case _ ~ (a ~ _ ~ b ~ _ ~ c ~ d) => - (options: Options) => options.declare(a, b, c, d.getOrElse("")) } | + keyword("=") ~ option_value ~ (keyword("--") ~! text ^^ { case _ ~ x => x } | success(""))) ^^ + { case _ ~ (a ~ _ ~ b ~ _ ~ c ~ d) => (options: Options) => options.declare(a, b, c, d) } | keyword(DEFINE) ~! (option_name ~ keyword("=") ~ option_value) ^^ { case _ ~ (a ~ _ ~ b) => (options: Options) => options.define(a, b) } }