Overview  Index  Help 
SMLDoc

SUMMARIZER

All Known Implementing Modules:

Summarizer


signature SUMMARIZER =
sig
  type linkage
  datatype traceDirection = SRCTODEST | DESTTOSRC
  val summarize : ElaboratedAst.compileUnit list -> Binds.bind list * linkage
  val getClosureOfLink
      : traceDirection ->
          Linkage.moduleLinkType list ->
            linkage -> ElaboratedAst.moduleFQN -> Binds.bind list
end

signature of module which analyse the elaborated AST and produce the summarized information useful for the document generator.

Author:
YAMATODANI Kiyoshi
Version:
$Id: SigSUMMARIZER.html,v 1.9 2007/02/17 07:01:57 kiyoshiy Exp $

 
Type detail

linkage

type linkage

graph of dependency links between the binds

 
Datatype detail

traceDirection

datatype traceDirection = SRCTODEST | DESTTOSRC

indicates the direction of trace in the getClosureOfLink

 
DataConstructor detail

SRCTODEST

constructor SRCTODEST : traceDirection

trace from the source to the destination of links


DESTTOSRC

constructor DESTTOSRC : traceDirection

trace from the destination to the source of links

 
Value detail

summarize

fun summarize compileUnits
    : ElaboratedAst.compileUnit list -> Binds.bind list * linkage

generates summary information of the abstract syntax tree.

Parameters:
compileUnits
the elaborated compile unit list
Returns:
a pair of the list of bindings in the given ast and the linkage graph of those bindings.

getClosureOfLink

fun getClosureOfLink direction linkTypes linkage startModule
    : traceDirection ->
        Linkage.moduleLinkType list ->
          linkage -> ElaboratedAst.moduleFQN -> Binds.bind list

traces the linkage graph and gets the closure of links of the specified type.

Parameters:
direction
the direction of trace
linkTypes
a list of the link types to trace
linkage
the linkage graph
startModule
the FQN of the module which is the start point of trace
Returns:
bindings reachable from the startModule by tracing the links of the specified link types.

 


Overview  Index  Help 
SMLDoc: Documentation generator for SML