SCM Repository
Annotation of /sml/trunk/src/cm/smlfile/skeleton.sml
Parent Directory
|
Revision Log
Revision 651 - (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 | 270 | type sympath = GenericVC.SymPath.path |
25 : | |||
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 |