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/cm/smlfile/skeleton.sml
ViewVC logotype

Annotation of /sml/trunk/src/cm/smlfile/skeleton.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 879 - (view) (download)

1 : blume 270 (*
2 :     * SML source skeletons.
3 :     *
4 : blume 286 * Copyright (c) 1999 by Bell Laboratories, Lucent Technologies
5 : blume 296 *
6 :     * The idea of skeletons is taken from the original SC (where they were
7 :     * called "decl"s after one of the datatypes involved).
8 :     * The new definitions used here are a lot simpler than the original ones;
9 :     * they allow for a more succinct dependency analysis, and are easier to
10 :     * pickle/unpickle. Moreover, the ast->skeleton converter has been made
11 :     * smarter -- resulting in smaller skeletons.
12 :     *
13 :     * author: Matthias Blume (blume@cs.princeton.edu)
14 :     *
15 :     * The copyright notices of the earlier versions are:
16 : blume 270 * Copyright (c) 1995 by AT&T Bell Laboratories
17 :     * Copyright (c) 1993 by Carnegie Mellon University,
18 :     * School of Computer Science
19 :     * contact: Gene Rollins (rollins+@cs.cmu.edu)
20 :     *)
21 :     structure Skeleton = struct
22 :    
23 : blume 278 type symbol = Symbol.symbol
24 : blume 879 type sympath = SymPath.path
25 : blume 270
26 :     datatype decl =
27 : blume 286 Bind of symbol * modExp
28 :     | Local of decl * decl
29 :     | Par of decl list
30 :     | Seq of decl list
31 :     | Open of modExp
32 :     | Ref of SymbolSet.set
33 : blume 270
34 : blume 286 and modExp =
35 :     Var of sympath
36 : blume 293 | Decl of decl list (* implicit Seq *)
37 :     | Let of decl list * modExp (* implicit Seq *)
38 : blume 291 | Ign1 of modExp * modExp
39 : blume 270 end

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