# OCaml compiler library

## Warning

This library is part of the internal OCaml compiler API, and is not the language standard library. There are no compatibility guarantees between releases, so code written against these modules must be willing to depend on specific OCaml compiler versions.

Ast_helper | Helpers to produce Parsetree fragments
Ast_invariants | Check AST invariants
Ast_iterator | `Ast_iterator.iterator` enables AST inspection using open recursion.
Ast_mapper | The interface of a -ppx rewriter
Asttypes | Auxiliary AST types used by parsetree and typedtree.
Attr_helper | Helpers for attributes
Builtin_attributes | Support for the builtin attributes:
CamlinternalMenhirLib |
Depend | Module dependencies.
Docstrings | Documentation comments
Lexer | The lexical analyzer
Location | Source code locations (ranges of positions), used in parsetree.
Longident | Long identifiers, used in parsetree.
Parse | Entry points in the parser
Parser |
Parsetree | Abstract syntax tree produced by parsing
Pprintast | Pretty-printers for `Parsetree`
Printast | Raw printer for `Parsetree`
Syntaxerr | Auxiliary type for reporting syntax errors
Unit_info | This module centralize the handling of compilation files and their metadata.
Arg_helper | Decipher command line arguments of the form <value> | <key>=<value>`,...`
Binutils |
Build_path_prefix_map | Rewrite paths for reproducible builds
Ccomp | Compiling C files and building C libraries
Clflags | Command line flags
Compression |
Config_boot | System configuration
Config_main | System configuration
Config | System configuration
Consistbl | Consistency tables: for checking consistency of module CRCs
Diffing | Parametric diffing
Diffing_with_keys | When diffing lists where each element has a distinct key, we can refine the diffing patch by introducing two composite edit moves: swaps and moves.
Domainstate |
Format_doc | Composable document for the `Format` formatting engine.
Identifiable | Uniform interface for common data structures over various things.
Int_replace_polymorphic_compare |
Lazy_backtrack |
Linkdeps |
Load_path | Management of include directories.
Local_store | This module provides some facilities for creating references (and hash tables) which can easily be snapshotted and restored to an arbitrary version.
Misc | Miscellaneous useful types and functions
Numbers | Modules about numbers, some of which satisfy `Identifiable.S`.
Profile | Compiler performance recording
Strongly_connected_components | Kosaraju's algorithm for strongly connected components.
Targetint | Target processor-native integers.
Terminfo | Basic interface to the terminfo database
Warnings | Warning definitions
Pparse | Driver for the parser and external preprocessors.