10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-06-24 14:12:07 +02:00
QCaml/top/lib/install_printers.ml

36 lines
1011 B
OCaml
Raw Normal View History

2020-12-29 00:39:12 +01:00
(* [[file:../install_printers.org::*Intall printers][Intall printers:2]] *)
let printers =
[
"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" ;
"Particles.Electrons.pp" ;
"Particles.Element.pp" ;
2021-01-01 11:46:11 +01:00
"Particles.Nuclei.pp" ;
2020-12-29 02:29:43 +01:00
"Particles.Zmatrix.pp" ;
2021-01-01 11:46:11 +01:00
"Simulation.Simulation.pp" ;
2020-12-29 00:39:12 +01:00
]
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
2020-12-29 02:29:43 +01:00
| [] -> eval_exn "#require \"lacaml.top\";;"
2020-12-29 00:39:12 +01:00
| 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@."
(* Intall printers:2 ends here *)