1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424
|
digraph SMLComp {
size = "6,5"; ratio = fill;
node [style=filled];
subgraph xcluster_CodeGen {
node [color=indianred];
str_ContMap [label=ContMap, shape=box];
str_Expand [label=Expand, shape=box];
fun_Coder [label=Coder, shape=ellipse];
str_SparcInstr [label=SparcInstr, shape=box];
str_GlobalFix [label=GlobalFix, shape=box];
str_Hoist [label=Hoist, shape=box];
fun_CPSopt [label=CPSopt, shape=ellipse];
fun_Closure [label=Closure, shape=ellipse];
str_SparcAsCode [label=SparcAsCode, shape=box];
str_SparcMCEmit [label=SparcMCEmit, shape=box];
fun_SparcCM [label=SparcCM, shape=ellipse];
str_CG [label=CG, shape=box];
str_BaseCoder [label=BaseCoder, shape=box];
str_SparcMCode [label=SparcMCode, shape=box];
fun_ClosureCallee [label=ClosureCallee, shape=ellipse];
str_SparcAsEmit [label=SparcAsEmit, shape=box];
fun_Spill [label=Spill, shape=ellipse];
str_CPSsize [label=CPSsize, shape=box];
str_CPSprint [label=CPSprint, shape=box];
str_SparcMC [label=SparcMC, shape=box];
str_FreeMap [label=FreeMap, shape=box];
str_IEEEReal [label=IEEEReal, shape=box];
fun_Contract [label=Contract, shape=ellipse];
str_SparcAC [label=SparcAC, shape=box];
str_Convert [label=Convert, shape=box];
str_Profile [label=Profile, shape=box];
fun_Eta [label=Eta, shape=ellipse];
str_CPS [label=CPS, shape=box];
fun_CPSgen [label=CPSgen, shape=ellipse];
fun_CPScomp [label=CPScomp, shape=ellipse];
}
subgraph xcluster_Parse {
node [color=steelblue];
str_Strs [label=Strs, shape=box];
str_Overload [label=Overload, shape=box];
str_Typecheck [label=Typecheck, shape=box];
str_Stream [label=Stream, shape=box];
fun_MLLexFun [label=MLLexFun, shape=ellipse];
str_LrParser [label=LrParser, shape=box];
fun_JoinWithArg [label=JoinWithArg, shape=ellipse];
fun_Join [label=Join, shape=ellipse];
fun_MLLrValsFun [label=MLLrValsFun, shape=ellipse];
str_NewParse [label=NewParse, shape=box];
str_Misc [label=Misc, shape=box];
str_TyvarSet [label=TyvarSet, shape=box];
str_Normalize [label=Normalize, shape=box];
str_CoreLang [label=CoreLang, shape=box];
str_Signs [label=Signs, shape=box];
str_LrTable [label=LrTable, shape=box];
}
subgraph xcluster_Core {
node [color=lightgrey];
fun_Backpatch [label=Backpatch, shape=ellipse];
str_PrimTypes [label=PrimTypes, shape=box];
str_PolyCont [label=PolyCont, shape=box];
str_Initial [label=Initial, shape=box];
str_Vector [label=Vector, shape=box];
fun_Loader [label=Loader, shape=ellipse];
fun_CoreFunc [label=CoreFunc, shape=ellipse];
str_CInterface [label=CInterface, shape=box];
str_Fastlib [label=Fastlib, shape=box];
str_Assembly [label=Assembly, shape=box];
str_Math [label=Math, shape=box];
str_Core [label=Core, shape=box];
str_Dummy [label=Dummy, shape=box];
str_Overloads [label=Overloads, shape=box];
str_CleanUp [label=CleanUp, shape=box];
str_InLine [label=InLine, shape=box];
str_Unsafe [label=Unsafe, shape=box];
str_MakeMos [label=MakeMos, shape=box];
}
subgraph xcluster_Util {
node [color=limegreen];
str_Stamps [label=Stamps, shape=box];
str_Pathnames [label=Pathnames, shape=box];
str_Access [label=Access, shape=box];
fun_RealConst [label=RealConst, shape=ellipse];
str_Intmap [label=Intmap, shape=box];
str_PersStamps [label=PersStamps, shape=box];
str_ArrayExt [label=ArrayExt, shape=box];
str_Bigint [label=Bigint, shape=box];
str_Unionfind [label=Unionfind, shape=box];
str_Siblings [label=Siblings, shape=box];
str_Sort [label=Sort, shape=box];
str_IntStrMap [label=IntStrMap, shape=box];
str_SortedList [label=SortedList, shape=box];
str_StrgHash [label=StrgHash, shape=box];
str_Intset [label=Intset, shape=box];
str_Env [label=Env, shape=box];
str_List2 [label=List2, shape=box];
str_ErrorMsg [label=ErrorMsg, shape=box];
str_Ascii [label=Ascii, shape=box];
fun_Dynamic [label=Dynamic, shape=ellipse];
}
subgraph xcluster_CoreLang {
node [color=aquamarine];
str_BasicTypes [label=BasicTypes, shape=box];
str_Types [label=Types, shape=box];
str_Prim [label=Prim, shape=box];
str_EqTypes [label=EqTypes, shape=box];
str_Fixity [label=Fixity, shape=box];
str_Tuples [label=Tuples, shape=box];
str_TypesUtil [label=TypesUtil, shape=box];
str_PrintType [label=PrintType, shape=box];
str_Equal [label=Equal, shape=box];
str_Unify [label=Unify, shape=box];
str_Variables [label=Variables, shape=box];
str_BareAbsyn [label=BareAbsyn, shape=box];
str_Symbol [label=Symbol, shape=box];
str_ConRep [label=ConRep, shape=box];
str_PrintUtil [label=PrintUtil, shape=box];
str_PrintAbsyn [label=PrintAbsyn, shape=box];
str_Absyn [label=Absyn, shape=box];
str_CoreInfo [label=CoreInfo, shape=box];
str_PrintBasics [label=PrintBasics, shape=box];
str_PrintVal [label=PrintVal, shape=box];
str_PrintDec [label=PrintDec, shape=box];
}
subgraph xcluster_Modules {
node [color=purple];
str_AbstractFct [label=AbstractFct, shape=box];
str_ModuleUtil [label=ModuleUtil, shape=box];
str_Instantiate [label=Instantiate, shape=box];
str_SigMatch [label=SigMatch, shape=box];
str_Modules [label=Modules, shape=box];
str_ApplyFunctor [label=ApplyFunctor, shape=box];
}
subgraph xcluster_Top {
node [color=gold];
str_IntSparcD [label=IntSparcD, shape=box];
fun_IntShare [label=IntShare, shape=ellipse];
fun_UnixPaths [label=UnixPaths, shape=ellipse];
str_IntSparc [label=IntSparc, shape=box];
str_IntNullD [label=IntNullD, shape=box];
str_Linkage [label=Linkage, shape=box];
str_Prof [label=Prof, shape=box];
str_IntNull [label=IntNull, shape=box];
str_Index [label=Index, shape=box];
fun_Interact [label=Interact, shape=ellipse];
str_Interp [label=Interp, shape=box];
fun_ModuleComp [label=ModuleComp, shape=ellipse];
fun_Importer [label=Importer, shape=ellipse];
str_ProcessFile [label=ProcessFile, shape=box];
str_FreeLvar [label=FreeLvar, shape=box];
fun_Batch [label=Batch, shape=ellipse];
str_RealDebug [label=RealDebug, shape=box];
str_CompSparc [label=CompSparc, shape=box];
str_BogusDebug [label=BogusDebug, shape=box];
}
subgraph xcluster_Lambda {
node [color=hotpink];
str_MCopt [label=MCopt, shape=box];
str_Nonrec [label=Nonrec, shape=box];
str_MC [label=MC, shape=box];
str_LambdaOpt [label=LambdaOpt, shape=box];
str_MCprint [label=MCprint, shape=box];
str_Lambda [label=Lambda, shape=box];
str_Translate [label=Translate, shape=box];
str_Unboxed [label=Unboxed, shape=box];
str_Opt [label=Opt, shape=box];
str_Reorder [label=Reorder, shape=box];
str_InlineOps [label=InlineOps, shape=box];
}
fun_CPScomp -> str_CPSsize;
fun_CPScomp -> str_GlobalFix;
fun_CPScomp -> fun_CPSopt;
fun_CPScomp -> fun_CPSgen;
fun_CPScomp -> fun_Closure;
fun_CPScomp -> fun_ClosureCallee;
fun_CPScomp -> fun_Spill;
str_SparcAsEmit -> str_ErrorMsg;
str_SparcAsEmit -> str_SparcInstr;
str_Signs -> str_Instantiate;
str_Signs -> str_Normalize;
str_Signs -> str_Misc;
str_CoreLang -> str_Typecheck;
str_CoreLang -> str_ConRep;
str_CoreLang -> str_Misc;
str_Variables -> str_Types;
str_Normalize -> str_Modules;
str_PrintDec -> str_PrintVal;
str_PrintDec -> str_BareAbsyn;
str_PrintDec -> str_PrintBasics;
str_Interp -> str_Vector;
str_Interp -> str_Lambda;
str_Siblings -> str_Intmap;
str_SigMatch -> str_Instantiate;
str_ApplyFunctor -> str_SigMatch;
str_Unionfind -> str_Intmap;
str_CompSparc -> str_SparcAC;
str_CompSparc -> str_SparcMC;
str_CompSparc -> str_BogusDebug;
str_CompSparc -> str_RealDebug;
str_CompSparc -> fun_IntShare;
str_CompSparc -> fun_Batch;
str_InlineOps -> str_Lambda;
str_InlineOps -> str_Absyn;
str_InlineOps -> str_Unboxed;
fun_Interact -> str_Linkage;
fun_Interact -> str_ProcessFile;
fun_Interact -> str_Interp;
str_Overloads -> str_Initial;
fun_MLLexFun -> str_Ascii;
fun_MLLexFun -> str_ErrorMsg;
fun_MLLexFun -> str_Vector;
fun_CPSgen -> str_List2;
fun_CPSgen -> str_Sort;
fun_CPSgen -> str_FreeMap;
str_PrintVal -> str_ModuleUtil;
fun_Batch -> str_Profile;
fun_Batch -> str_ProcessFile;
fun_Batch -> str_CG;
fun_CoreFunc -> str_InLine;
fun_ClosureCallee -> str_List2;
fun_ClosureCallee -> str_ContMap;
fun_ClosureCallee -> str_Profile;
fun_ClosureCallee -> str_Sort;
str_PrintBasics -> str_PrintType;
str_PrintBasics -> str_EqTypes;
str_Unify -> str_TypesUtil;
str_TyvarSet -> str_Types;
str_Equal -> str_Lambda;
str_Equal -> str_CoreInfo;
str_Equal -> str_PrintType;
str_Equal -> str_EqTypes;
str_FreeLvar -> str_Absyn;
str_ProcessFile -> str_Opt;
str_ProcessFile -> str_PrintDec;
str_ProcessFile -> str_LambdaOpt;
str_ProcessFile -> str_Reorder;
str_ProcessFile -> str_Translate;
str_ProcessFile -> str_Prof;
str_ProcessFile -> str_Convert;
str_ProcessFile -> str_NewParse;
str_Instantiate -> str_PrintBasics;
str_CoreInfo -> str_ModuleUtil;
fun_Loader -> str_CInterface;
fun_Loader -> str_CleanUp;
str_Misc -> str_TyvarSet;
str_Misc -> str_Absyn;
str_ErrorMsg -> str_Pathnames;
str_Dummy -> fun_CoreFunc;
str_Translate -> str_MC;
str_Translate -> str_Equal;
str_Translate -> str_InlineOps;
str_Translate -> str_Nonrec;
str_SparcMCode -> str_ErrorMsg;
str_SparcMCode -> str_SparcInstr;
str_SparcMCode -> str_IEEEReal;
str_Core -> fun_CoreFunc;
str_IntNull -> str_BogusDebug;
str_IntNull -> str_RealDebug;
str_IntNull -> fun_IntShare;
str_Index -> str_BareAbsyn;
str_Index -> str_PrintType;
str_PrintType -> str_ModuleUtil;
str_Typecheck -> str_PrintAbsyn;
str_Typecheck -> str_Overload;
str_Typecheck -> str_Prim;
str_ModuleUtil -> str_Sort;
str_ModuleUtil -> str_Modules;
str_ModuleUtil -> str_TypesUtil;
str_MCprint -> str_PrintAbsyn;
str_MCprint -> str_Lambda;
str_MCprint -> str_Prim;
str_Absyn -> str_BareAbsyn;
str_Absyn -> str_CoreInfo;
str_Lambda -> str_Types;
str_TypesUtil -> str_List2;
str_TypesUtil -> str_Ascii;
str_TypesUtil -> str_BasicTypes;
str_TypesUtil -> str_PrintUtil;
fun_Eta -> str_Access;
fun_Eta -> str_CPS;
str_Env -> str_ErrorMsg;
str_Env -> str_IntStrMap;
str_Env -> str_StrgHash;
str_LambdaOpt -> str_Lambda;
str_Prof -> str_Lambda;
str_Prof -> str_Absyn;
str_Convert -> str_Lambda;
str_Convert -> str_CoreInfo;
str_Convert -> str_CPS;
str_SparcAC -> str_SparcAsEmit;
str_SparcAC -> str_SparcAsCode;
str_SparcAC -> str_SparcMCEmit;
str_SparcAC -> str_SparcMCode;
str_SparcAC -> fun_CPScomp;
str_SparcAC -> fun_SparcCM;
str_SparcAC -> fun_Coder;
str_PersStamps -> str_IntStrMap;
fun_Contract -> str_CPSprint;
str_Reorder -> str_Lambda;
str_Reorder -> str_Prim;
str_PrintAbsyn -> str_BareAbsyn;
str_PrintAbsyn -> str_PrintBasics;
str_IEEEReal -> fun_RealConst;
str_PrintUtil -> str_Symbol;
str_MC -> str_SortedList;
str_MC -> str_MCopt;
fun_Importer -> str_PrintDec;
fun_Importer -> str_Linkage;
fun_Importer -> str_NewParse;
fun_Importer -> str_FreeLvar;
str_Opt -> str_Intset;
str_Opt -> str_Lambda;
str_Opt -> str_SortedList;
str_Opt -> str_Variables;
str_Linkage -> str_Absyn;
str_FreeMap -> str_Intset;
str_FreeMap -> str_SortedList;
str_FreeMap -> str_Access;
str_FreeMap -> str_CPS;
str_Math -> str_Core;
str_NewParse -> str_LrParser;
str_NewParse -> str_Index;
str_NewParse -> fun_MLLrValsFun;
str_NewParse -> fun_JoinWithArg;
str_NewParse -> fun_MLLexFun;
str_Initial -> str_Assembly;
str_Initial -> str_Math;
str_Initial -> str_Unsafe;
str_Initial -> str_PrimTypes;
str_Initial -> str_PolyCont;
str_SparcMC -> str_SparcAsEmit;
str_SparcMC -> str_SparcAsCode;
str_SparcMC -> str_SparcMCEmit;
str_SparcMC -> str_SparcMCode;
str_SparcMC -> fun_CPScomp;
str_SparcMC -> fun_SparcCM;
str_SparcMC -> fun_Coder;
str_Tuples -> str_Types;
str_Tuples -> fun_Dynamic;
fun_MLLrValsFun -> str_Strs;
fun_MLLrValsFun -> str_CoreLang;
str_EqTypes -> str_ArrayExt;
str_EqTypes -> str_ModuleUtil;
str_Fastlib -> str_Assembly;
fun_SparcCM -> str_ErrorMsg;
fun_SparcCM -> str_SparcInstr;
fun_SparcCM -> str_CPS;
str_ConRep -> str_Types;
str_CPSprint -> str_Prim;
str_CPSprint -> str_CPS;
str_IntNullD -> str_BogusDebug;
str_IntNullD -> str_RealDebug;
str_IntNullD -> fun_IntShare;
str_Nonrec -> str_Absyn;
str_IntSparc -> str_SparcAC;
str_IntSparc -> str_SparcMC;
str_IntSparc -> str_BogusDebug;
str_IntSparc -> str_RealDebug;
str_IntSparc -> fun_IntShare;
str_IntSparc -> fun_Batch;
str_AbstractFct -> str_ArrayExt;
str_AbstractFct -> str_ModuleUtil;
str_SparcMCEmit -> str_ErrorMsg;
str_SparcMCEmit -> str_SparcInstr;
str_SparcMCEmit -> str_IEEEReal;
str_Modules -> str_Env;
str_Modules -> str_Variables;
str_Modules -> str_Fixity;
fun_RealConst -> str_Bigint;
fun_RealConst -> fun_Dynamic;
str_Prim -> str_ModuleUtil;
str_SparcAsCode -> str_ErrorMsg;
str_SparcAsCode -> str_SparcInstr;
fun_Closure -> str_List2;
fun_Closure -> str_Profile;
fun_Closure -> str_FreeMap;
fun_CPSopt -> str_Expand;
fun_CPSopt -> str_Hoist;
fun_CPSopt -> fun_Contract;
fun_CPSopt -> fun_Eta;
str_CPSsize -> str_CPS;
str_Access -> str_Symbol;
str_Access -> str_Intmap;
fun_Spill -> str_Sort;
fun_Spill -> str_PrintUtil;
fun_Spill -> str_FreeMap;
str_Symbol -> str_ErrorMsg;
str_Symbol -> str_IntStrMap;
str_Symbol -> str_StrgHash;
str_Types -> str_Stamps;
str_Types -> str_Access;
fun_ModuleComp -> str_ProcessFile;
fun_ModuleComp -> str_FreeLvar;
str_Hoist -> str_Intset;
str_Hoist -> str_SortedList;
str_Hoist -> str_CPSprint;
str_BasicTypes -> str_Tuples;
str_MCopt -> str_MCprint;
fun_IntShare -> fun_ModuleComp;
fun_IntShare -> fun_Importer;
fun_IntShare -> fun_UnixPaths;
fun_IntShare -> fun_Interact;
str_GlobalFix -> str_CPS;
str_BareAbsyn -> str_Modules;
str_SparcInstr -> str_BaseCoder;
str_Strs -> str_Signs;
str_Strs -> str_ApplyFunctor;
str_Strs -> str_AbstractFct;
str_Overload -> str_Unify;
str_Overload -> str_PrintType;
str_Stamps -> str_PersStamps;
str_Stamps -> str_ErrorMsg;
str_Stamps -> str_Intmap;
fun_Coder -> str_BaseCoder;
fun_Coder -> str_ErrorMsg;
str_Unboxed -> str_Prim;
str_Expand -> str_CPSprint;
str_ContMap -> str_FreeMap;
str_IntSparcD -> str_SparcAC;
str_IntSparcD -> str_SparcMC;
str_IntSparcD -> str_BogusDebug;
str_IntSparcD -> str_RealDebug;
str_IntSparcD -> fun_IntShare;
str_IntSparcD -> fun_Batch;
}
|