Additionally, you can change
(library
(name BooleanFormulae)
(libraries angstrom)
(preprocess (pps ppx_deriving.show ppx_deriving.ord)))
to
(library
(name BooleanFormulae)
(libraries angstrom)
(modules parser types)
(preprocess (pps ppx_deriving.show ppx_deriving.ord)))
to be able to access BooleanFormulae.Parser from main.ml.