Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/compiler/core.cm
ViewVC logotype

Diff of /sml/trunk/compiler/core.cm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 879, Thu Jul 19 18:59:38 2001 UTC revision 1785, Wed May 4 15:51:20 2005 UTC
# Line 4  Line 4 
4   * and   * and
5   * (C) 2001 Lucent Technologies, Bell labs   * (C) 2001 Lucent Technologies, Bell labs
6   *   *
7   * This is the machine-independent "core" part of the compiler.   * This is the machine-independent "core" part of the compiler
8     * (but without the parser and elaborator data structures).
9   * Machine-dependent parts are in backend-<arch>.cm.   * Machine-dependent parts are in backend-<arch>.cm.
10   *   *
11     * The parser is in Parse/parser.cm.
12     * Elaborator data structures are in ElabData/elabdata.cm.
13     * Basic definitions are in Basics/basics.cm.
14     *
15   * The present file is a group which gets referred to by the actual library   * The present file is a group which gets referred to by the actual library
16   * file in system/smlnj/viscomp/core.cm.   * file in system/smlnj/viscomp/core.cm.
17   *)   *)
18  Group (../system/smlnj/viscomp/core.cm)  Group
19          signature BACKEND          signature BACKEND
20    
21          (* To make it possible to dynamically link in the optimizer,          (* To make it possible to dynamically link in the optimizer,
# Line 20  Line 25 
25          signature MACHINE_GEN          signature MACHINE_GEN
26          signature INVOKE_GC          signature INVOKE_GC
27          signature CPSREGS          signature CPSREGS
28            signature SMLNJ_PSEUDO_OPS
29    
30          structure CPSRegions          structure CPSRegions
31          structure SMLGCType          structure SMLGCType
32    
33            structure Typecheck
34    
35          (* To be able to separate machine-dependent parts of viscomp-lib.cm          (* To be able to separate machine-dependent parts of viscomp-lib.cm
36           * from machine-independent parts, we must also export the           * from machine-independent parts, we must also export the
37           * the following things.... *)           * the following things.... *)
# Line 35  Line 43 
43          signature SMLNJ_MLTREE_EXT          signature SMLNJ_MLTREE_EXT
44          structure SMLNJMLTreeExt          structure SMLNJMLTreeExt
45          functor   SMLNJMLTreeExtComp          functor   SMLNJMLTreeExtComp
46            functor   SMLNJPseudoOps
47          structure CodeString          structure CodeString
48    
         functor PseudoOpsBig  
         functor PseudoOpsLittle  
49          functor MachineGen          functor MachineGen
50          functor SpillTable          functor SpillTable
51          functor FLINTComp          functor FLINTComp
52          functor BackendFn          functor BackendFn
53    
         functor DummyCCallsFn  
54          structure ClusterAnnotation          structure ClusterAnnotation
55    
56          (* stuff that lived (or should have in Frontend (aka GenericVC) *)          (* stuff that lived (or should have) in Frontend (aka GenericVC) *)
         structure Stats  
57          structure Control          structure Control
         structure Source  
         structure SourceMap  
         structure ErrorMsg  
         structure Symbol  
         structure SymPath  
         structure PersStamps  
         structure StaticEnv  
         structure DynamicEnv  
58          structure SymbolicEnv          structure SymbolicEnv
59            structure PrimEnv
60          structure Environment          structure Environment
61          structure EnvRef          structure EnvRef
62          structure ModuleId          structure ModuleId
# Line 68  Line 66 
66          structure Rehash          structure Rehash
67          structure PickleSymPid          structure PickleSymPid
68          structure UnpickleSymPid          structure UnpickleSymPid
         structure PrettyPrint  
69          structure CompilerPPTable          structure CompilerPPTable
         structure Ast  
         structure Absyn  
         structure SmlFile  
         structure Binfile  
70          structure PrintHooks          structure PrintHooks
71          structure CompilerVersion          structure SMLNJVersion
         structure CompInfo  
         structure CompileExn  
72          structure CoreSym          structure CoreSym
73          structure FLINT          structure FLINT
74    
75            structure Types
76            structure EntityEnv
77            structure Modules
78            structure Stamps
79            structure Bindings
80            structure TypesUtil
81            structure VarCon
82            structure ModuleUtil
83            structure II
84            structure BasicTypes
85            structure PPType
86            structure Access
87            structure Unify
88    
89          (* corresponding signatures *)          (* corresponding signatures *)
         signature STATS  
90          signature CONTROL          signature CONTROL
         signature SOURCE  
         signature SOURCE_MAP  
         signature ERRORMSG  
         signature SYMBOL  
         signature SYMPATH  
         signature PERSSTAMPS  
         signature STATICENV  
         signature DYNENV  
91          signature SYMENV          signature SYMENV
92          signature ENVIRONMENT          signature ENVIRONMENT
93            signature PRIM_ENV
94          signature ENVREF          signature ENVREF
95          signature MODULE_ID          signature MODULE_ID
96          signature PICKMOD          signature PICKMOD
97          signature UNPICKMOD          signature UNPICKMOD
         signature PRETTYPRINT  
         signature AST  
         signature ABSYN  
         signature SMLFILE  
         signature BINFILE  
98          signature FLINT          signature FLINT
99    
100            signature TYPES
101            signature ENTITY_ENV
102            signature MODULES
103            signature STAMPS
104            signature BINDINGS
105            signature TYPESUTIL
106            signature VARCON
107            signature MODULEUTIL
108            signature BASICTYPES
109            signature PPTYPE
110            signature ACCESS
111            signature UNIFY
112    
113            (* export of structures required to use FLINT directly *)
114            structure Translate
115            structure LtyKernel
116            structure LtyDef
117            structure LtyExtern
118            structure PrimTyc
119            structure PPFlint
120            structure LContract
121            structure Specialize
122            structure PrimOp
123            structure LambdaVar
124            structure ChkFlint
125            structure DebIndex
126  is  is
127    
 TopLevel/batch/batchconfig.sml  
 TopLevel/batch/binfile.sig  
 TopLevel/batch/binfile.sml  
 TopLevel/batch/smlfile.sml  
 TopLevel/environ/dynenv.sig  
 TopLevel/environ/dynenv.sml  
128  TopLevel/environ/environ.sig  TopLevel/environ/environ.sig
129  TopLevel/environ/environ.sml  TopLevel/environ/environ.sml
 TopLevel/environ/envref.sml  
 TopLevel/environ/persmap.sml  
130  TopLevel/environ/symenv.sig  TopLevel/environ/symenv.sig
131  TopLevel/environ/symenv.sml  TopLevel/environ/symenv.sml
132    
133    TopLevel/interact/envref.sml
134  TopLevel/interact/evalloop.sig  TopLevel/interact/evalloop.sig
135  TopLevel/interact/evalloop.sml  TopLevel/interact/evalloop.sml
 TopLevel/interact/intconfig.sml  
136  TopLevel/interact/interact.sig  TopLevel/interact/interact.sig
137  TopLevel/interact/interact.sml  TopLevel/interact/interact.sml
138  TopLevel/main/compileexn.sml  
139    TopLevel/backend/backend.sig
140    TopLevel/backend/backend-fn.sml
141    
142    TopLevel/main/control.sig
143    TopLevel/main/control.sml
144  TopLevel/main/cconfig.sig  TopLevel/main/cconfig.sig
145  TopLevel/main/code-generator.sig  TopLevel/main/code-generator.sig
 TopLevel/main/code-obj.sig  
 TopLevel/main/code-obj.sml  
 TopLevel/main/isolate.sml  
 TopLevel/main/execute.sml  
 TopLevel/main/importtree.sml  
 TopLevel/main/compinfo.sml  
146  TopLevel/main/compile.sig  TopLevel/main/compile.sig
147  TopLevel/main/compile.sml  TopLevel/main/compile.sml
 TopLevel/main/version.sml  
 TopLevel/main/control.sig  
 TopLevel/main/control.sml  
148  TopLevel/main/printhooks.sml  TopLevel/main/printhooks.sml
149  TopLevel/main/pptable.sml  TopLevel/main/pptable.sml
150    
151  TopLevel/backend/backend.sig  (* Semantic analysis (elaborator) specialized for SML/NJ. *)
152  TopLevel/backend/backend-fn.sml  Semant/basics/inlinfo.sig
   
 Parse/ast/ast.sig  
 Parse/ast/ast.sml  
 Parse/ast/astutil.sig  
 Parse/ast/astutil.sml  
 Parse/ast/fixity.sml  
 Parse/lex/ml.lex  
 Parse/lex/tokentable.sml  
 Parse/main/frontend.sig  
 Parse/main/frontend.sml  
 Parse/parse/ml.grm  
   
 Semant/basics/access.sig  
 Semant/basics/access.sml  
 Semant/basics/conrep.sml  
 Semant/basics/env.sig  
 Semant/basics/env.sml  
153  Semant/basics/inlinfo.sml  Semant/basics/inlinfo.sml
154  Semant/basics/persstamps.sig  
 Semant/basics/persstamps.sml  
 Semant/basics/stamps.sig  
 Semant/basics/stamps.sml  
 Semant/basics/stampmap.sml  
 Semant/basics/symbol.sig  
 Semant/basics/symbol.sml  
 Semant/basics/coresym.sml  
 Semant/basics/sympaths.sig  
 Semant/basics/sympaths.sml  
 Semant/elaborate/elabcore.sml  
 Semant/elaborate/elabdebug.sml  
 Semant/elaborate/specialsyms.sml  
155  Semant/elaborate/elabmod.sml  Semant/elaborate/elabmod.sml
 Semant/elaborate/elabsig.sml  
156  Semant/elaborate/elabtop.sml  Semant/elaborate/elabtop.sml
157  Semant/elaborate/elabtype.sig  
158  Semant/elaborate/elabtype.sml  Semant/modules/instantiate-param.sml
 Semant/elaborate/elabutil.sig  
 Semant/elaborate/elabutil.sml  
 Semant/elaborate/include.sml  
 Semant/elaborate/precedence.sml  
 Semant/elaborate/tyvarset.sml  
 Semant/syntax/absyn.sig  
 Semant/syntax/absyn.sml  
 Semant/syntax/varcon.sig  
 Semant/syntax/varcon.sml  
 Semant/modules/entityenv.sig  
 Semant/modules/entityenv.sml  
 Semant/modules/entpath.sml  
 Semant/modules/epcontext.sml  
 Semant/modules/evalent.sml  
 Semant/modules/expandtycon.sml  
159  Semant/modules/instantiate.sml  Semant/modules/instantiate.sml
 Semant/modules/moduleid.sml  
 Semant/modules/modules.sig  
 Semant/modules/modules.sml  
 Semant/modules/moduleutil.sig  
 Semant/modules/moduleutil.sml  
160  Semant/modules/sigmatch.sml  Semant/modules/sigmatch.sml
161    Semant/modules/evalent.sml
162    Semant/modules/module-plists.sml
163    
164  Semant/pickle/pickle-sym-pid.sml  Semant/pickle/pickle-sym-pid.sml
165  Semant/pickle/pickmod-new.sml  Semant/pickle/pickmod-new.sml
# Line 207  Line 167 
167  Semant/pickle/unpickmod-new.sml  Semant/pickle/unpickmod-new.sml
168  Semant/pickle/rehash.sml  Semant/pickle/rehash.sml
169    
 Semant/statenv/bindings.sml  
 Semant/statenv/lookup.sig  
 Semant/statenv/lookup.sml  
170  Semant/statenv/prim.sml  Semant/statenv/prim.sml
171  Semant/statenv/genmap.sml  
172  Semant/statenv/statenv.sig  Semant/types/tp-var-info.sml
 Semant/statenv/statenv.sml  
 Semant/types/basictypes.sig  
 Semant/types/basictypes.sml  
 Semant/types/eqtypes.sml  
 Semant/types/tuples.sml  
 Semant/types/types.sig  
 Semant/types/types.sml  
 Semant/types/typesutil.sig  
 Semant/types/typesutil.sml  
 Semant/types/unify.sml  
 Semant/types/overload.sml  
 Semant/types/overloadlit.sml  
 Semant/types/reconstruct.sml  
173  Semant/types/typecheck.sml  Semant/types/typecheck.sml
174  Semant/types/cproto.sml  Semant/types/cproto.sml
175    
176    
177    (* The FLINT optimizer ("middle-end"). *)
178  FLINT/clos/allocprof.sml  FLINT/clos/allocprof.sml
179  FLINT/clos/cps-split.sml  FLINT/clos/cps-split.sml
180  FLINT/clos/freemap.sml  FLINT/clos/freemap.sml
# Line 251  Line 197 
197  FLINT/cpsopt/expandNEW.sml  FLINT/cpsopt/expandNEW.sml
198  FLINT/cpsopt/flatten.sml  FLINT/cpsopt/flatten.sml
199  FLINT/cpsopt/uncurry.sml  FLINT/cpsopt/uncurry.sml
200    FLINT/cpsopt/infcnv.sml
201  FLINT/flint/chkflint.sml  FLINT/flint/chkflint.sml
202  FLINT/flint/flint.sig  FLINT/flint/flint.sig
203  FLINT/flint/flint.sml  FLINT/flint/flint.sml
# Line 258  Line 205 
205  FLINT/flint/ppflint.sig  FLINT/flint/ppflint.sig
206  FLINT/flint/ppflint.sml  FLINT/flint/ppflint.sml
207  FLINT/flint/tvarcvt.sml  FLINT/flint/tvarcvt.sml
208  FLINT/kernel/debindex.sig  FLINT/kernel/primtyc.sig
209  FLINT/kernel/debindex.sml  FLINT/kernel/primtyc.sml
 FLINT/kernel/lambdavar.sig  
 FLINT/kernel/lambdavar.sml  
210  FLINT/kernel/ltybasic.sig  FLINT/kernel/ltybasic.sig
211  FLINT/kernel/ltybasic.sml  FLINT/kernel/ltybasic.sml
212  FLINT/kernel/ltydef.sig  FLINT/kernel/ltydef.sig
# Line 273  Line 218 
218  FLINT/kernel/ltykernel.sml  FLINT/kernel/ltykernel.sml
219  FLINT/kernel/primop.sig  FLINT/kernel/primop.sig
220  FLINT/kernel/primop.sml  FLINT/kernel/primop.sml
 FLINT/kernel/primtyc.sig  
 FLINT/kernel/primtyc.sml  
221  FLINT/main/flintcomp.sml  FLINT/main/flintcomp.sml
222  FLINT/main/control.sml  FLINT/main/control.sml
223  FLINT/main/literals.sml  FLINT/main/literals.sml
# Line 313  Line 256 
256    
257  FLINT/lsplit/ls-inline.sml  FLINT/lsplit/ls-inline.sml
258    
259    
260    (* The code generator (MLRISC specialized for SML/NJ). *)
261  CodeGen/cpscompile/argPassing.sig  CodeGen/cpscompile/argPassing.sig
262  CodeGen/cpscompile/argPassing.sml  CodeGen/cpscompile/argPassing.sml
263    CodeGen/cpscompile/check-gc.sml
264  CodeGen/cpscompile/cluster.sml  CodeGen/cpscompile/cluster.sml
265  CodeGen/cpscompile/cps-aliasing.sml  CodeGen/cpscompile/cps-aliasing.sml
266    CodeGen/cpscompile/cps-c-calls.sml
267    CodeGen/cpscompile/cpsBranchProb.sml
268  CodeGen/cpscompile/cpsRegions.sig  CodeGen/cpscompile/cpsRegions.sig
269  CodeGen/cpscompile/cpsRegions.sml  CodeGen/cpscompile/cpsRegions.sml
270  CodeGen/cpscompile/cpsRegs.sig  CodeGen/cpscompile/cpsRegs.sig
# Line 327  Line 275 
275  CodeGen/cpscompile/limit.sml  CodeGen/cpscompile/limit.sml
276  CodeGen/cpscompile/memAliasing.sml  CodeGen/cpscompile/memAliasing.sml
277  CodeGen/cpscompile/memDisambig.sml  CodeGen/cpscompile/memDisambig.sml
278  CodeGen/cpscompile/pseudoOpType.sig  CodeGen/cpscompile/smlnj-pseudoOps.sig
 CodeGen/cpscompile/pseudoOpsBig.sml  
 CodeGen/cpscompile/pseudoOpsLittle.sml  
279  CodeGen/cpscompile/smlnj-const.sml  CodeGen/cpscompile/smlnj-const.sml
280  CodeGen/cpscompile/smlnj-gctype.sig  CodeGen/cpscompile/smlnj-gctype.sig
281  CodeGen/cpscompile/smlnj-gctype.sml  CodeGen/cpscompile/smlnj-gctype.sml
282  CodeGen/cpscompile/smlnj-mltreeext.sig  CodeGen/cpscompile/smlnj-mltreeext.sig
283  CodeGen/cpscompile/smlnj-mltreeext.sml  CodeGen/cpscompile/smlnj-mltreeext.sml
284  CodeGen/cpscompile/spill.sml  CodeGen/cpscompile/smlnj-pseudoOps.sml
285    CodeGen/cpscompile/spill-new.sml
286  CodeGen/main/clusterAnnotation.sml      (* temporary hack; see comment in file *)  CodeGen/main/clusterAnnotation.sml      (* temporary hack; see comment in file *)
287  CodeGen/main/code-string.sml  CodeGen/main/code-string.sml
288  CodeGen/main/machine.sig  CodeGen/main/machine.sig
# Line 347  Line 294 
294  CodeGen/main/object-desc.sig  CodeGen/main/object-desc.sig
295  CodeGen/main/object-desc.sml  CodeGen/main/object-desc.sml
296  CodeGen/main/spill-table.sml  CodeGen/main/spill-table.sml
 CodeGen/main/dummy-ccalls.sml  
297    
298  MiscUtil/bignums/bigint.sig  (* Miscellaneous utilities. *)
 MiscUtil/bignums/bigint.sml  
299  MiscUtil/bignums/realconst.sml  MiscUtil/bignums/realconst.sml
300  MiscUtil/bignums/ieeereal.sml  MiscUtil/bignums/ieeereal.sml
301  MiscUtil/print/ppabsyn.sml  
302  MiscUtil/print/ppdec.sml  MiscUtil/print/ppdec.sml
 MiscUtil/print/ppmod.sml  
303  MiscUtil/print/ppobj.sml  MiscUtil/print/ppobj.sml
304  MiscUtil/print/pptable.sml  MiscUtil/print/pptable.sml
 MiscUtil/print/pptype.sml  
 MiscUtil/print/pputil.sig  
 MiscUtil/print/pputil.sml  
 MiscUtil/print/ppval.sml  
 MiscUtil/print/pp-wrapper.sml  
 MiscUtil/print/printutil.sig  
 MiscUtil/print/printutil.sml  
 MiscUtil/profile/prof-env.sml  
 MiscUtil/profile/profile-fn.sml  
 MiscUtil/profile/profile.sig  
 MiscUtil/profile/profile.sml  
 MiscUtil/profile/sprof.sml  
 MiscUtil/profile/tell-env.sml  
 MiscUtil/profile/tprof.sml  
 MiscUtil/profile/btrace.sml  
 MiscUtil/profile/btimp.sml  
305    
 MiscUtil/util/errormsg.sig  
 MiscUtil/util/errormsg.sml  
306  MiscUtil/util/feedback.sml  MiscUtil/util/feedback.sml
307  MiscUtil/util/intstrmap.sig  MiscUtil/util/literal-to-num.sml    (* uses CoreIntInf functionality *)
 MiscUtil/util/intstrmap.sml  
 MiscUtil/util/literal-to-num.sml  
 MiscUtil/util/pathnames.sig  
 MiscUtil/util/pathnames.sml  
 MiscUtil/util/source.sig  
 MiscUtil/util/source.sml  
 MiscUtil/util/sourcemap.sig  
 MiscUtil/util/sourcemap.sml  
 MiscUtil/util/stats.sml  
308    
309  $/basis.cm  (* Libraries that are part of the visible compiler framework. *)
310  $/smlnj-lib.cm  $smlnj/viscomp/basics.cm
311  $/ml-yacc-lib.cm  $smlnj/viscomp/parser.cm
312  $/pickle-lib.cm  $smlnj/viscomp/elabdata.cm
313    $smlnj/viscomp/elaborate.cm
314    $smlnj/viscomp/debugprof.cm
315    $smlnj/viscomp/execute.cm
316    
317    (* MLRISC libraries. *)
318  $smlnj/MLRISC/Lib.cm                    (* provides SortedList *)  $smlnj/MLRISC/Lib.cm                    (* provides SortedList *)
319  $smlnj/MLRISC/Control.cm  $smlnj/MLRISC/Control.cm
320    $smlnj/MLRISC/Graphs.cm
321  $smlnj/MLRISC/MLRISC.cm  $smlnj/MLRISC/MLRISC.cm
322  $/pp-lib.cm  $smlnj/MLRISC/Visual.cm
323    
324    (* Other libaries. *)
325    $/basis.cm
326    $/smlnj-lib.cm
327    $/controls-lib.cm
328    $/pickle-lib.cm
329    
330    $smlnj/init/init.cmi : cm          (* to gain access at CoreIntInf *)
331    
332    $smlnj/internal/smlnj-version.cm

Legend:
Removed from v.879  
changed lines
  Added in v.1785

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0