Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | (* Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh |
2 | * Jagannathan, and Stephen Weeks. | |
3 | * Copyright (C) 1997-2000 NEC Research Institute. | |
4 | * | |
5 | * MLton is released under a BSD-style license. | |
6 | * See the file MLton-LICENSE for details. | |
7 | *) | |
8 | ||
9 | functor Atoms (S: ATOMS_STRUCTS): ATOMS = | |
10 | struct | |
11 | ||
12 | structure Atoms = | |
13 | struct | |
14 | open S | |
15 | ||
16 | structure CharSize = CharSize () | |
17 | structure IntSize = IntSize () | |
18 | structure RealSize = RealSize () | |
19 | structure WordSize = WordSize () | |
20 | ||
21 | structure WordX = WordX (structure WordSize = WordSize) | |
22 | structure WordXVector = WordXVector (structure WordSize = WordSize | |
23 | structure WordX = WordX) | |
24 | structure RealX = RealX (structure RealSize = RealSize | |
25 | structure WordX = WordX) | |
26 | structure Const = Const (structure RealX = RealX | |
27 | structure WordX = WordX | |
28 | structure WordXVector = WordXVector) | |
29 | ||
30 | structure Symbol = Symbol () | |
31 | structure Field = Field (structure Symbol = Symbol) | |
32 | structure Record = Record (val isSorted = false | |
33 | structure Field = Field) | |
34 | structure SortedRecord = Record (val isSorted = true | |
35 | structure Field = Field) | |
36 | ||
37 | structure Tyvar = Tyvar () | |
38 | structure AdmitsEquality = AdmitsEquality () | |
39 | structure TyconKind = TyconKind () | |
40 | structure Tycon = Tycon (structure AdmitsEquality = AdmitsEquality | |
41 | structure CharSize = CharSize | |
42 | structure IntSize = IntSize | |
43 | structure Kind = TyconKind | |
44 | structure RealSize = RealSize | |
45 | structure WordSize = WordSize) | |
46 | structure Con = Con () | |
47 | structure Var = Var () | |
48 | structure Func = | |
49 | struct | |
50 | open Var | |
51 | fun newNoname () = newString "F" | |
52 | end | |
53 | structure Label = | |
54 | struct | |
55 | open Func | |
56 | fun newNoname () = newString "L" | |
57 | end | |
58 | ||
59 | structure CType = CType (structure RealSize = RealSize | |
60 | structure WordSize = WordSize) | |
61 | structure CFunction = CFunction (structure CType = CType) | |
62 | structure Ffi = Ffi (structure CFunction = CFunction | |
63 | structure CType = CType) | |
64 | ||
65 | structure Prim = Prim (structure CFunction = CFunction | |
66 | structure CType = CType | |
67 | structure Con = Con | |
68 | structure Const = Const | |
69 | structure RealSize = RealSize | |
70 | structure WordSize = WordSize) | |
71 | ||
72 | structure SourceInfo = SourceInfo () | |
73 | structure ProfileLabel = ProfileLabel () | |
74 | structure ProfileExp = ProfileExp (structure SourceInfo = SourceInfo) | |
75 | end | |
76 | ||
77 | open Atoms | |
78 | ||
79 | end |