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/compbasic.sml
ViewVC logotype

Annotation of /sml/trunk/src/compiler/TopLevel/main/compbasic.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 101 - (view) (download)

1 : monnier 16 (* COPYRIGHT (c) 1996 Bell Laboratories *)
2 :     (* compbasic.sml *)
3 :    
4 :     structure CompBasic : COMPBASIC =
5 :     struct
6 :    
7 :     type source = Source.inputSource
8 :     type ast = Ast.dec
9 :     type absyn = Absyn.dec
10 :     type flint = FLINT.prog
11 : monnier 100 type dsegment = Word8Vector.vector
12 : monnier 16 type csegments = {c0 : Word8Vector.vector,
13 :     cn : Word8Vector.vector list,
14 : monnier 100 data : Word8Vector.vector,
15 : monnier 16 name : string option ref}
16 :     type object = Unsafe.Object.object
17 :     type executable = object Vector.vector -> object
18 :    
19 : monnier 100 datatype importTree = ITNODE of (int * importTree) list
20 :    
21 : monnier 16 type compInfo = {mkStamp: unit -> Stamps.stamp,
22 :     mkLvar: Symbol.symbol option -> Access.lvar,
23 :     coreEnv: StaticEnv.staticEnv,
24 :     anyErrors: bool ref,
25 :     error: ErrorMsg.errorFn,
26 :     errorMatch: SourceMap.region -> string,
27 :     transform: absyn -> absyn,
28 :     sourceName : string}
29 :    
30 :     fun mkCompInfo(source: source, coreEnv: StaticEnv.staticEnv,
31 :     transform : absyn -> absyn,
32 :     mkMkStamp : unit -> (unit -> Stamps.stamp)) : compInfo =
33 :     let val {error,errorMatch,anyErrors} = ErrorMsg.errors source
34 :     val _ = LambdaVar.clear()
35 :     in {mkStamp = mkMkStamp(),
36 :     mkLvar = (fn NONE => LambdaVar.mkLvar ()
37 :     | SOME sym => LambdaVar.namedLvar sym),
38 :     error = error,
39 :     errorMatch = errorMatch,
40 :     anyErrors = anyErrors,
41 :     coreEnv = coreEnv,
42 :     transform = transform,
43 :     sourceName = #fileOpened source}
44 :     end
45 :    
46 :     fun anyErrors ({anyErrors=ref b,...} : compInfo) = b
47 :    
48 :     end (* structure CompBasic *)
49 : monnier 93
50 :     (*
51 :     * $Log: compbasic.sml,v $
52 :     * Revision 1.1.1.1 1998/04/08 18:39:15 george
53 :     * Version 110.5
54 :     *
55 :     *)

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