(* Title: Pure/Thy/ROOT.ML
ID: $Id$
Author: Sonia Mahjoub and Tobias Nipkow and
Markus Wenzel and Carsten Clasohm, TU Muenchen
This file builds the theory parser and autoloading system.
*)
use "thy_scan.ML";
use "thy_parse.ML";
structure ThyScan = ThyScanFun(Scanner);
structure ThyParse = ThyParseFun(structure Symtab = Symtab
and ThyScan = ThyScan);
use "thy_syn.ML";
use "thm_database.ML";
use "../../Provers/simplifier.ML";
structure Simplifier = SimplifierFun();
use "thy_read.ML";
structure ThySyn = ThySynFun(val user_keywords = [] and user_sections = []);
structure ThmDB = ThmDBFun();
structure ReadThy = ReadthyFun(structure ThySyn = ThySyn and ThmDB = ThmDB);
open ThmDB ReadThy;
(* hide functors; saves space in PolyML *)
functor ThyScanFun() = struct end;
functor ThyParseFun() = struct end;
functor SimplifierFun() = struct end;
fun init_thy_reader () =
use_string
["structure ThmDB = ThmDBFun();",
"structure ReadThy = ReadthyFun(structure ThySyn = ThySyn \
\and ThmDB = ThmDB);",
"ReadThy.loaded_thys := !loaded_thys;",
"ReadThy.base_path := !base_path;",
"ReadThy.gif_path := !gif_path;",
"ReadThy.index_path := !index_path;",
"ReadThy.pure_subchart := !pure_subchart;",
"ReadThy.make_html := !make_html;",
"ThmDB.thm_db := !thm_db;",
"open ThmDB ReadThy;"];