Ppx\_ast selects a specific version of the OCaml Abstract Syntax Tree from the migrate-parsetree project that is not necessarily the same one as the one being used by the compiler.
It also snapshots the corresponding parser and pretty-printer from the OCaml compiler, to create a full frontend independent of the version of OCaml.
This AST is used in all Jane Street ppx rewriters, and more generally in all Ppx\_core/Ppx\_driver based ppx rewriters. Using a different ASTs allows to “detach” the ppx code from the compiler libraries, and allow to use ppx rewriters with new compilers before upgrading the ppx code.