Overview  Index  Help 
SMLDoc

ELABORATOR

All Known Implementing Modules:

Elaborator


signature ELABORATOR =
sig
  type path = string list
  val addExternalType : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet
  val addExternalException : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet
  val addExternalStructure : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet
  val addExternalSignature : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet
  val addExternalFunctor : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet
  val addExternalFunctorSignature
      : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet
  val elaborate
      : DocumentGenerationParameter.parameter ->
          ENVSet.ENVSet ->
            AnnotatedAst.compileUnit list ->
              ENVSet.ENVSet * ElaboratedAst.compileUnit list
end

elaborates abstract syntax tree generated by the parser. This modules does:
name resolution
translates names in type expressions and module expressions into FQN of elements they refer to.
type annotation
matches structures with signatures which constraint them, and annotates value declarations in structures with their type if they are specified in the signature.

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

 
Type detail

path

type path = string list

long ID

     
Value detail

addExternalType

val addExternalType : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet


addExternalException

val addExternalException : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet


addExternalStructure

val addExternalStructure : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet


addExternalSignature

val addExternalSignature : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet


addExternalFunctor

val addExternalFunctor : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet


addExternalFunctorSignature

val addExternalFunctorSignature
    : (string * path) * ENVSet.ENVSet -> ENVSet.ENVSet


elaborate

fun elaborate parameter envSet compileUnits
    : DocumentGenerationParameter.parameter ->
        ENVSet.ENVSet ->
          AnnotatedAst.compileUnit list ->
            ENVSet.ENVSet * ElaboratedAst.compileUnit list

do elaboration.

Author:
YAMATODANI Kiyoshi
Parameters:
parameter
global parameter
envSet
initial environment which contains
compileUnits
a list of abstract syntax tree grouped by compilation unit
Returns:
a pair of a new envSet extended by names bound in the given compilation units and an elaborated abstract syntax tree.
Version:
1.0

 


Overview  Index  Help 
SMLDoc: Documentation generator for SML