PreviousUpNext

15.3.5  src/app/makelib/compilable/raw-syntax-to-module-dependencies-summary.api

## Convert RAW_SYNTAX_TREEs to makelib's trimmed version thereof ("module_dependencies_summarys").

# Compiled by:
#     src/app/makelib/makelib.sublib

#   The ideas here are based on those found in the original SC and
#   also in an older version of makelib (before 1999).  However, nearly
#   all aspects have been changed radically, and the code has been
#   re-written from scratch.
#
#   The module_dependencies_summarys generated by this module are typically smaller
#   than the "decl"s in SC or old versions of makelib.  This should
#   make dependency analysis somewhat faster (but is probably not
#   very noticeable).

# This api is implemented in:
#     src/app/makelib/compilable/raw-syntax-to-module-dependencies-summary.pkg

stipulate
    package raw =  raw_syntax;                                                  # raw_syntax                    is from   src/lib/compiler/front/parser/raw-syntax/raw-syntax.pkg
    package err =  error_message;                                               # error_message                 is from   src/lib/compiler/front/basics/errormsg/error-message.pkg
    package mds =  module_dependencies_summary;                                 # module_dependencies_summary   is from   src/app/makelib/compilable/module-dependencies-summary.pkg
herein

    api Raw_Syntax_To_Module_Dependencies_Summary {
        #
        convert:  { tree:  raw::Declaration,
                    #
                    err:   err::Severity
                        -> raw::Source_Code_Region
                        -> String
                        -> Void
                  }
                  ->
                  { module_dependencies_summary:  mds::Declaration,
                    complain:                     Void -> Void
                  };
    };
end;

## author: Matthias Blume (blume@cs.princeton.edu)
## The copyright notices of the earlier versions are:
##   Copyright (c) 1995 by AT&T Bell Laboratories
##   Copyright (c) 1993 by Carnegie Mellon University,
##                         School of Computer Science
##                         contact: Gene Rollins (rollins+@cs.cmu.edu)
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext