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 some of 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

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

Config

System configuration

Config_boot

System configuration

Config_main

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
Identifiable

Uniform interface for common data structures over various things.

Int_replace_polymorphic_compare
Lazy_backtrack
Load_path

Management of include directories.

Local_store

This module provides some facilities for creating references (and hash tables) which can easily be snapshoted 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.