author | nipkow |
Fri, 28 Apr 1995 15:38:15 +0200 | |
changeset 1078 | e57beb974dd7 |
parent 549 | 5d904be18774 |
child 1506 | 192c48376d25 |
permissions | -rw-r--r-- |
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 "pretty.ML"; |
239 | 9 |
use "lexicon.ML"; |
0 | 10 |
use "ast.ML"; |
239 | 11 |
use "syn_ext.ML"; |
18 | 12 |
use "parser.ML"; |
0 | 13 |
use "type_ext.ML"; |
549
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
14 |
use "syn_trans.ML"; |
392 | 15 |
use "mixfix.ML"; |
0 | 16 |
use "printer.ML"; |
17 |
use "syntax.ML"; |
|
18 |
||
549
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
19 |
structure PrivateSyntax = |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
20 |
struct |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
21 |
structure Pretty = PrettyFun(); |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
22 |
structure Lexicon = LexiconFun(); |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
23 |
structure Scanner: SCANNER = Lexicon; |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
24 |
structure Ast = AstFun(Pretty); |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
25 |
structure SynExt = SynExtFun(structure Lexicon = Lexicon and Ast = Ast); |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
26 |
structure Parser = ParserFun(structure Symtab = Symtab and Lexicon = Lexicon |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
27 |
and SynExt = SynExt); |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
28 |
structure TypeExt = TypeExtFun(structure Lexicon = Lexicon and SynExt = SynExt); |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
29 |
structure SynTrans = SynTransFun(structure TypeExt = TypeExt and Parser = Parser); |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
30 |
structure Mixfix = MixfixFun(structure Lexicon = Lexicon and SynExt = SynExt and |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
31 |
SynTrans = SynTrans); |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
32 |
structure Printer = PrinterFun(structure Symtab = Symtab and TypeExt = TypeExt |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
33 |
and SynTrans = SynTrans); |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
34 |
structure Syntax = SyntaxFun(structure Symtab = Symtab and TypeExt = TypeExt |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
35 |
and SynTrans = SynTrans and Mixfix = Mixfix and Printer = Printer); |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
36 |
structure BasicSyntax: BASIC_SYNTAX = Syntax; |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
37 |
end; |
392 | 38 |
|
549
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
39 |
structure Pretty = PrivateSyntax.Pretty; |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
40 |
structure Scanner = PrivateSyntax.Scanner; |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
41 |
structure Syntax = PrivateSyntax.Syntax; |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
42 |
structure BasicSyntax = PrivateSyntax.BasicSyntax; |
5d904be18774
replaced SExtension by SynTrans (mixfix stuff in Mixfix);
wenzelm
parents:
417
diff
changeset
|
43 |
|
1078 | 44 |
(* hide functors; saves space in PolyML *) |
45 |
functor PrettyFun() = struct end; |
|
46 |
functor LexiconFun() = struct end; |
|
47 |
functor AstFun() = struct end; |
|
48 |
functor SynExtFun() = struct end; |
|
49 |
functor ParserFun() = struct end; |
|
50 |
functor TypeExtFun() = struct end; |
|
51 |
functor SynTransFun() = struct end; |
|
52 |
functor MixfixFun() = struct end; |
|
53 |
functor PrinterFun() = struct end; |
|
54 |
functor SyntaxFun() = struct end; |