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

SCM Repository

[smlnj] Annotation of /sml/trunk/src/compiler/TopLevel/main/compile.sig
ViewVC logotype

Annotation of /sml/trunk/src/compiler/TopLevel/main/compile.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 879 - (view) (download) (as text)

1 : monnier 249 (* COPYRIGHT (c) 1996 Bell Laboratories *)
2 :     (* compile.sig *)
3 :    
4 : blume 587 (*
5 : blume 879 * Trimmed to contain only compile-related stuff but no linking or execution.
6 :     * -- 07/18/2001 (blume)
7 : blume 587 *)
8 : monnier 249
9 : blume 879 signature COMPILE0 = sig
10 : monnier 249
11 : blume 879 type pickle (* pickled format *)
12 :     type hash (* environment hash id *)
13 : monnier 249
14 : blume 879 val mkCompInfo :
15 :     { source: Source.inputSource, transform: Absyn.dec -> Absyn.dec }
16 :     -> CompInfo.compInfo
17 : monnier 249
18 : blume 879 (** take ast, do semantic checks,
19 :     ** then output the new env, absyn and pickles *)
20 :     val elaborate : { ast: Ast.dec,
21 :     statenv: StaticEnv.staticEnv,
22 :     compInfo: CompInfo.compInfo }
23 :     -> { absyn: Absyn.dec,
24 :     newstatenv: StaticEnv.staticEnv,
25 :     exportLvars: Access.lvar list,
26 :     exportPid: PersStamps.persstamp option,
27 :     staticPid: hash,
28 :     pickle: pickle }
29 : monnier 249
30 : blume 879 (** elaborate as above, then keep on to compile into the binary code *)
31 :     val compile : { source: Source.inputSource,
32 :     ast: Ast.dec,
33 :     statenv: StaticEnv.staticEnv,
34 :     symenv: SymbolicEnv.symenv,
35 :     compInfo: CompInfo.compInfo,
36 :     checkErr: string -> unit,
37 :     splitting: int option}
38 :     -> { csegments: CodeObj.csegments,
39 :     newstatenv: StaticEnv.staticEnv,
40 :     absyn: Absyn.dec (* for pretty printing only *),
41 :     exportPid: PersStamps.persstamp option,
42 :     exportLvars: Access.lvar list,
43 :     staticPid: hash,
44 :     pickle: pickle,
45 :     inlineExp: FLINT.prog option,
46 :     imports: ImportTree.import list }
47 : monnier 249
48 :     end (* signature COMPILE0 *)
49 :    
50 : blume 587 signature COMPILE = COMPILE0 where type pickle = Word8Vector.vector
51 : monnier 249 and type hash = PersStamps.persstamp
52 :    
53 : blume 587 signature TOP_COMPILE = COMPILE0

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