| author | kuncar | 
| Fri, 08 Mar 2013 13:21:06 +0100 | |
| changeset 51375 | d9e62d9c98de | 
| parent 50805 | 69439c9defec | 
| child 51616 | 949e2cf02a3d | 
| permissions | -rw-r--r-- | 
| 50687 | 1  | 
/* Title: Pure/Tools/main.scala  | 
| 
47663
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
2  | 
Author: Makarius  | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
3  | 
|
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
4  | 
Default Isabelle application wrapper.  | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
5  | 
*/  | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
6  | 
|
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
7  | 
package isabelle  | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
8  | 
|
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
9  | 
import scala.swing.TextArea  | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
10  | 
|
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
11  | 
|
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
12  | 
object Main  | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
13  | 
{
 | 
| 48275 | 14  | 
def main(args: Array[String])  | 
| 
47663
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
15  | 
  {
 | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
16  | 
val (out, rc) =  | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
17  | 
      try {
 | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
18  | 
Platform.init_laf()  | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
19  | 
Isabelle_System.init()  | 
| 
50805
 
69439c9defec
prefer system build mode in main application wrappers, to produce heaps insided distribution directory;
 
wenzelm 
parents: 
50687 
diff
changeset
 | 
20  | 
        Isabelle_System.isabelle_tool("jedit", ("-s" :: args.toList): _*)
 | 
| 
47663
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
21  | 
}  | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
22  | 
      catch { case exn: Throwable => (Exn.message(exn), 2) }
 | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
23  | 
|
| 
47867
 
dd9cbe708e6b
some attempts to make critical errors fit on screen;
 
wenzelm 
parents: 
47664 
diff
changeset
 | 
24  | 
if (rc != 0)  | 
| 
 
dd9cbe708e6b
some attempts to make critical errors fit on screen;
 
wenzelm 
parents: 
47664 
diff
changeset
 | 
25  | 
Library.dialog(null, "Isabelle", "Isabelle output",  | 
| 
 
dd9cbe708e6b
some attempts to make critical errors fit on screen;
 
wenzelm 
parents: 
47664 
diff
changeset
 | 
26  | 
Library.scrollable_text(out + "\nReturn code: " + rc))  | 
| 
47663
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
27  | 
|
| 48192 | 28  | 
sys.exit(rc)  | 
| 
47663
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
29  | 
}  | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
30  | 
}  | 
| 
 
20e0865ae9e7
default Isabelle application wrapper -- JVM entry point for Isabelle.exe;
 
wenzelm 
parents:  
diff
changeset
 | 
31  |