SML# Document Version 4.0.0
32.2 The SML# Source Tree
The SML# source directory src consists of the following directories and files.
-
•
Directories
-
–
SML# compiler source
basis/ the Standard ML Basis Library compiler/ the SML# compiler config/ the library to access system parameter set by configure ffi/ the support library for direct C interface llvm/ the LLVM code generation library runtime/ the runtime system sql/ the SQL integration support library thread/ the thread support library unix-utils/ the library for UNIX basic commands -
–
SML# tools
smlformat/ smlformatthe pretty printer generator smlunit/ the unit test library These are general purpose tools we have developed for SML#. Since they are relatively small system independent of the SML# compiler, we omit their description in this current document.
-
–
third-party codes
ml-lex/ a lexer generator ml-yacc/ a parser generator smlnj/ smlnj source files used in basis/ smlnj-lib/ smlnj utility library These third-party codes are ported to SML#. They are are included here with their licenses. make system compiles them with SML# source code to build the SML# system. This document does not describe these code.
-
–
-
•
Files
basis.smi the interface file of the Standard ML Basis Library builtin.smi the interface file to bind builtin data config.mk definition of environment variables of the compiler command config.mk.in the template file of config.mk config.sed the sed script to generate config.mk ffi.smi the interface file of the direct C interface foreach.smi the interface file of data parallel execution json.smi the interface file of JSON support ml-yacc-lib.smi the interface file of the smlyacc library prelude.smi the interface file of interactive mode reifyTy.smi the interface file for reflection smlformat-lib.smi the interface file of the smlformat library smlnj-lib.smi the interface file of smlnj-lib smlunit-lib.smi the interface file of smlunit sql.smi the interface file of the SQL integration support thread.smi the interface file of the thread support