Olmar: manipulating C and C++ abstract syntax trees in Ocaml

Olmar is a branch of the Elsa C++ parser that adds the ability to marshal the abstract syntax tree of any C or C++ input as Ocaml variant type to the disk. The marshaled abstract syntax tree can later be processed with a pure Ocaml program. Alternatively additional Ocaml code could also be linked directly into the elsa parser. This paper describes Olmar, the technology used inside it and the first Olmar application: ast_graph for visualizing C and C++ abstract syntax trees.