397 relevant ML commands at this stage are @{ML use} (for ML files) and |
397 relevant ML commands at this stage are @{ML use} (for ML files) and |
398 @{ML use_thy} (for theory files). |
398 @{ML use_thy} (for theory files). |
399 \<close> |
399 \<close> |
400 |
400 |
401 |
401 |
|
402 section \<open>The raw Isabelle Java process \label{sec:isabelle-java}\<close> |
|
403 |
|
404 text \<open> |
|
405 The @{executable_ref isabelle_java} executable allows to run a Java process |
|
406 within the name space of Java and Scala components that are bundled with |
|
407 Isabelle, but \<^emph>\<open>without\<close> the Isabelle settings environment |
|
408 (\secref{sec:settings}). |
|
409 |
|
410 After such a JVM cold-start, the Isabelle environment can be accessed via |
|
411 \<^verbatim>\<open>Isabelle_System.getenv\<close> as usual, but the underlying process environment |
|
412 remains clean. This is e.g.\ relevant when invoking other processes that |
|
413 should remain separate from the current Isabelle installation. |
|
414 |
|
415 \<^medskip> |
|
416 Note that under normal circumstances, Isabelle command-line tools are run |
|
417 \<^emph>\<open>within\<close> the settings environment, as provided by the @{executable |
|
418 isabelle} wrapper (\secref{sec:isabelle-tool} and \secref{sec:tool-java}). |
|
419 \<close> |
|
420 |
|
421 |
|
422 subsubsection \<open>Example\<close> |
|
423 |
|
424 text \<open> |
|
425 The subsequent example creates a raw Java process on the command-line and |
|
426 invokes the main Isabelle application entry point: |
|
427 @{verbatim [display] \<open>isabelle_java isabelle.Main\<close>} |
|
428 \<close> |
|
429 |
|
430 |
402 section \<open>YXML versus XML\<close> |
431 section \<open>YXML versus XML\<close> |
403 |
432 |
404 text \<open> |
433 text \<open> |
405 Isabelle tools often use YXML, which is a simple and efficient syntax for |
434 Isabelle tools often use YXML, which is a simple and efficient syntax for |
406 untyped XML trees. The YXML format is defined as follows. |
435 untyped XML trees. The YXML format is defined as follows. |