10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-12-22 12:23:31 +01:00
QCaml/top/lib/install_printers.ml

59 lines
1.5 KiB
OCaml

let printers =
[
"Ao.Basis_gaussian.pp" ;
"Ao.Basis.pp" ;
"Ci.Determinant.pp" ;
"Ci.Determinant_space.pp" ;
"Ci.Phase.pp" ;
"Ci.Spindeterminant.pp" ;
"Ci.Spindeterminant_space.pp" ;
"Common.Angular_momentum.pp" ;
"Common.Bitstring.pp" ;
"Common.Charge.pp" ;
"Common.Coordinate.pp" ;
"Common.Powers.pp" ;
"Common.Range.pp" ;
"Common.Spin.pp" ;
"Common.Zkey.pp" ;
"Gaussian.Atomic_shell.pp" ;
"Gaussian.Atomic_shell_pair_couple.pp" ;
"Gaussian.Atomic_shell_pair.pp" ;
"Gaussian.Basis.pp" ;
"Gaussian.Contracted_shell.pp" ;
"Gaussian.General_basis.pp" ;
"Linear_algebra.Matrix.pp" ;
"Linear_algebra.Vector.pp" ;
"Mo.Basis.pp" ;
"Mo.Class.pp" ;
"Mo.Fock.pp" ;
"Mo.Frozen_core.pp" ;
"Mo.Hartree_fock.pp" ;
"Mo.Localization.pp" ;
"Particles.Electrons.pp" ;
"Particles.Element.pp" ;
"Particles.Nuclei.pp" ;
"Particles.Zmatrix.pp" ;
"Perturbation.Mp2.pp" ;
"Simulation.pp" ;
]
let eval_exn str =
let lexbuf = Lexing.from_string str in
let phrase = !Toploop.parse_toplevel_phrase lexbuf in
Toploop.execute_phrase false Format.err_formatter phrase
let rec install_printers = function
| [] -> eval_exn "
#require \"lacaml.top\";;
#require \"trexio\";;
"
| printer :: printers ->
let cmd = Printf.sprintf "#install_printer %s;;" printer in
eval_exn cmd && install_printers printers
let () =
if not (install_printers printers) then
Format.eprintf "Problem installing QCaml-printers@."