18
|
1 |
(* Title: Pure/Syntax/ROOT.ML
|
0
|
2 |
ID: $Id$
|
|
3 |
Author: Tobias Nipkow and Markus Wenzel, TU Muenchen
|
|
4 |
|
18
|
5 |
This file builds the syntax module.
|
0
|
6 |
*)
|
|
7 |
|
18
|
8 |
use "lib.ML"; (* FIXME *)
|
|
9 |
|
|
10 |
use "pretty.ML";
|
|
11 |
|
0
|
12 |
use "ast.ML";
|
|
13 |
use "xgram.ML";
|
18
|
14 |
use "lexicon.ML";
|
0
|
15 |
use "extension.ML";
|
|
16 |
use "parse_tree.ML";
|
18
|
17 |
use "parser.ML";
|
|
18 |
use "earley0A.ML"; (* FIXME *)
|
0
|
19 |
use "type_ext.ML";
|
|
20 |
use "sextension.ML";
|
|
21 |
use "printer.ML";
|
|
22 |
use "syntax.ML";
|
|
23 |
|
18
|
24 |
structure Pretty = PrettyFun();
|
|
25 |
|
|
26 |
structure Ast = AstFun(Pretty);
|
0
|
27 |
structure XGram = XGramFun(Ast);
|
18
|
28 |
structure Lexicon = LexiconFun();
|
|
29 |
structure Extension = ExtensionFun(structure XGram = XGram and Lexicon = Lexicon);
|
|
30 |
structure ParseTree = ParseTreeFun(structure Ast = Ast and Lexicon = Lexicon);
|
|
31 |
structure Parser = ParserFun(structure Symtab = Symtab and XGram = XGram
|
|
32 |
and ParseTree = ParseTree);
|
|
33 |
structure Earley = EarleyFun(structure Symtab = Symtab and XGram = XGram
|
|
34 |
and ParseTree = ParseTree); (* FIXME *)
|
0
|
35 |
structure TypeExt = TypeExtFun(structure Extension = Extension
|
|
36 |
and Lexicon = Lexicon);
|
|
37 |
structure SExtension = SExtensionFun(structure TypeExt = TypeExt
|
|
38 |
and Lexicon = Lexicon);
|
|
39 |
structure Printer = PrinterFun(structure Symtab = Symtab and Lexicon = Lexicon
|
|
40 |
and TypeExt = TypeExt and SExtension = SExtension and Pretty = Pretty);
|
|
41 |
structure Syntax = SyntaxFun(structure Symtab = Symtab and TypeExt = TypeExt
|
|
42 |
and Parser = Earley and SExtension = SExtension and Printer = Printer);
|
18
|
43 |
(* FIXME ^^^^^^ *)
|
0
|
44 |
|
18
|
45 |
(*BasicSyntax has the most important primitives, which are made pervasive*)
|
0
|
46 |
signature BASIC_SYNTAX = sig include SEXTENSION0 include PRINTER0 end;
|
18
|
47 |
structure BasicSyntax: BASIC_SYNTAX = Syntax;
|
0
|
48 |
|