-
Notifications
You must be signed in to change notification settings - Fork 345
Source Layout
Yotam Barnoy edited this page Apr 4, 2014
·
5 revisions
-
asmcomp
- amd64
- arm
- i386
- power
- sparc
- asmrun
- boot
- build
- bytecomp
- byterun
- compilerlibs
- config
- debugger
- driver
- emacs
- experimental
- lex
- man
- ocamlbuild
- ocamldoc
-
otherlibs
- bigarray
- dynlink
- graph
- num
- str
- systhread
- threads
- unix
- win32graph
- win32unix
- parsing
- stdlib
- testsuite
- tools
- toplevel
- typing
- utils
- yacc
Native-code compiler and linker
- asmgen.ml / asmgen.mli
- asmlibrarian.ml / asmlibrarian.mli
- asmlink.ml / asmlink.mli
- asmpackager.ml / asmpackager.mli
- clambda.ml / clambda.mli
- closure.ml / closure.mli
- cmm.ml / cmm.mli
- cmmgen.ml / cmmgen.mli
- cmx_format.mli
- codegen.ml / codegen.mli
- coloring.ml / coloring.mli
- comballoc.ml / comballoc.mli
- compilenv.ml / compilenv.mli
- debuginfo.ml / debuginfo.mli
- emit.mli
- emitaux.ml / emitaux.mli
- interf.ml / interf.mli
- linearize.ml / linearize.mli
- liveness.ml / liveness.mli
- mach.ml / mach.mli
- printclambda.ml / printclambda.mli
- printcmm.ml / printcmm.mli
- printlinear.ml / printlinear.mli
- printmach.ml / printmach.mli
- proc.mli
- reg.ml / reg.mli
- reload.ml / reload.mli
- reloadgen.ml / reloadgen.mli
- schedgen.ml / schedgen.mli
- scheduling.ml / scheduling.mli
- selectgen.ml / selectgen.mli
- spill.ml / spill.mli
- split.ml / split.mli
- strmatch.ml / strmatch.mli
Native-code runtime library
Bootstrap compiler
Bytecode compiler and linker
Bytecode interpreter and runtime system
Autoconfiguration stuff
Source-level replay debugger
Driver code for the compilers
Lexer generator
Man pages
The OCamlBuild build system
Documentation generator
Several external libraries
Syntax analysis
- asttypes.mli: Utility types for the parse tree and typed parse tree
- lexer.mll / lexer.mli: The lexer
- location.ml / location.mli: The location type and utilities
-
longident.ml / longident.mli: The longident type (for e.g.
M.N.F(X).t
) and utilities - parse.ml / parse.mli: Entry points for the parser
- parser.mly: The parser
- parsetree.mli: The parsetree
- pprintast.ml / pprintast.mli: Pretty printer for the parsetree
- printast.ml / printast.mli: Debug printer for the parsetree
- syntaxerr.ml / syntaxerr.mli: Type and printer for syntax errors
Standard library
Various utilities
Interactive system
Typechecking
- annot.mli: Output ".annot" files
- btype.ml / btype.mli: Basic operations on core types
- cmi_format.ml / cmi_format.mli: The format of ".cmi" files
- cmt_format.ml / cmt_format.mli: The format of ".cmt" files
- ctype.ml / ctype.mli: Operations on core types (including expansion, unification, subtyping, etc.)
- datarepr.ml / datarepr.mli: Compute constructor and label descriptions from type declarations, determining their representation.
- envaux.ml / envaux.mli: Auxiliary operations on environments
- env.ml / env.mli: The environment
- ident.ml / ident.mli: Identifiers (unique names)
- includeclass.ml / includeclass.mli: Inclusion checks on class types
- includecore.ml / includecore.mli: Inclusion checks on core types
- includemod.ml / includemod.mli: Inclusion checks on module types
- mtype.ml / mtype.mli: Operations on module types
- oprint.ml / oprint.mli: Pretty printer for outcome trees
- outcometree.mli: Results displayed at the top level
- parmatch.ml / parmatch.mli: Exhaustivity checks for pattern matching
- path.ml / path.mli: Operations on paths (unique long identifiers)
- predef.ml / predef.mli: Defines the predefined types
- primitive.ml / primitive.mli: Operations on primitive (external) values
- printtyped.ml / printtyped.mli: Debug printer for the typed tree
- printtyp.ml / printtyp.mli: Pretty printer for types
- stypes.ml / stypes.mli: Recording and dumping (partial) type information for ".annot" files
- subst.ml / subst.mli: Path substitutions
- typeclass.ml / typeclass.mli: Type-checking of classes
- typecore.ml / typecore.mli: Type-checking of expressions and patterns
- typedecl.ml / typedecl.mli: Type-checking of declarations
- typedtreeIter.ml / typedtreeIter.mli: Iterator functor for the typed tree
- typedtreeMap.ml / typedtreeMap.mli: Map functor for the typed tree
- typedtree.ml / typedtree.mli: The typed tree
- typemod.ml / typemod.mli: Type-checking of modules
- types.ml / types.mli: The types
- typetexp.ml / typetexp.mli: Type-checking of type expressions
Utility libraries
Parser generator