Camlp4 is a software system for writing extensible parsers for programming languages. It provides a set of
OCaml libraries that are used to define grammars as well as loadable syntax extensions of such grammars.
Camlp4 stands for
Caml Preprocessor and
Pretty-Printer and one of its most important applications is the definition of domain-specific extensions of the syntax of
OCaml.