Ppx_core is a standard library for OCaml AST transformers. It contains:
- various auto-generated AST traversal using an open recursion scheme
- helpers for building AST fragments
- helpers for matching AST fragments
- a framework for dealing with attributes and extension points
When used in combination with ppx_driver, it features:
- spellchecking and other hints on misspelled/misplaced attributes and extension points
- checks for unused attributes (they are otherwise silently dropped by the compiler)
Ppx_core uses the specific version of the OCaml Abstract Syntax Tree as defined by Ppx_ast.
If you want to write code that works with several versions of
Ppx_core using different AST versions, you can use the versionned
alternatives for Ast_builder
and Ast_pattern
. For instance:
open Ppx_core
module Ast_builder = Ast_builder_403
module Ast_pattern = Ast_pattern_403