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;
}
