OCaml 编译器库

警告

此库是 OCaml 编译器内部 API 的一部分,而不是语言标准库。版本之间没有兼容性保证,因此针对这些模块编写的代码必须愿意依赖特定的 OCaml 编译器版本。

Ast_helper

生成 Parsetree 片段的辅助函数

Ast_invariants

检查 AST 不变式

Ast_iterator

Ast_iterator.iterator 使用开放递归实现 AST 检查。

Ast_mapper

-ppx 重写器的接口

Asttypes

parsetree 和 typedtree 使用的辅助 AST 类型。

Attr_helper

属性辅助函数

Builtin_attributes

内置属性的支持

CamlinternalMenhirLib
Depend

模块依赖关系。

Docstrings

文档注释

Lexer

词法分析器

Location

源代码位置(位置范围),用于 parsetree。

Longident

长标识符,用于 parsetree。

Parse

解析器中的入口点

Parser
Parsetree

解析生成的抽象语法树

Pprintast

Parsetree 的漂亮打印器

Printast

Parsetree 的原始打印器

Syntaxerr

报告语法错误的辅助类型

Unit_info

此模块集中处理编译文件及其元数据。

Arg_helper

解释形式为 <value> | <key>=<value>,... 的命令行参数。

Binutils
Build_path_prefix_map

重写路径以实现可重复构建

Ccomp

编译 C 文件和构建 C 库

Clflags

命令行标志

Compression
Config_boot

系统配置

Config_main

系统配置

Config

系统配置

Consistbl

一致性表:用于检查模块 CRC 的一致性

Diffing

参数化差异

Diffing_with_keys

当对每个元素都有唯一键的列表进行差异化时,我们可以通过引入两个复合编辑操作来细化差异补丁:交换和移动。

Domainstate
Identifiable

各种事物的常见数据结构的统一接口。

Int_replace_polymorphic_compare
Lazy_backtrack
Load_path

包含目录的管理。

Local_store

此模块提供了一些用于创建引用(和哈希表)的工具,这些引用可以轻松地进行快照并恢复到任意版本。

Misc

各种有用的类型和函数

Numbers

关于数字的模块,其中一些满足 Identifiable.S

Profile

编译器性能记录

Strongly_connected_components

Kosaraju 的强连通分量算法。

Targetint

目标处理器原生整数。

Terminfo

terminfo 数据库的基本接口

Warnings

警告定义

Pparse

解析器和外部预处理器的驱动程序。