2016-04-21 3 views
0

La commande écrit en README.md ne fonctionne pas (L'utilisation de ocamlfind apparaît.) Je comprends le fichier d'exécution de ppx_metaquot est une sorte de fichier de réécriture, donc je peux traduire mon code en utilisant citation quasi ainsi:Comment utiliser ppx.metaquot dans OCaml?

ocamlfind ppx_tools/rewriter ~/.opam/system/lib/ppx_tools/ppx_metaquot sample.ml 

mais cela peut ne pas être une manière supposée, alors s'il vous plaît dites-moi l'utilisation correcte.

Répondre

1

Lorsque wd veulent utiliser certains PPX, normalement utiliser l'option wd -package de ocamlfind:

ocamlfind ocamlc -c -package ppx_tools.metaquot sample.ml 

Cette compile sample.ml en utilisant le préprocesseur ppx_tools.metaquot.

Si vous voulez voir la sortie de PPX sous forme lisible par l'homme, les choses afaik obtenir un peu plus compliqué .:

ocamlfind ppx_tools/rewriter -ppx ~/.opam/system/lib/ppx_tools/ppx_metaquot sample.ml 

ou ce qui suit est mieux:

ocamlfind ppx_tools/rewriter -ppx `ocamlfind query ppx_tools`/ppx_metaquot sample.ml 

Il pourrait y avoir un moyen plus simple que cela, mais je ne sais pas.

+0

Merci, mais dans mon environnement, une erreur se produit en utilisant ocamlc: sh: ppx_tools.metaquot: command not found Fichier "mpr.ml", ligne 1: Erreur: Erreur lors de l'exécution préprocesseur externe ligne de commande : ppx_tools.metaquot '/ var/dossiers/gk/5tlptk8j44751wj4bw_2lzm00000gn/T/camlppxb52f14' '/ var/dossiers/gk/5tlptk8j44751wj4bw_2lzm00000gn/T/camlppx459e01' – henoc

+0

Ah, sorrry, j'ai fait une faute de frappe. 'ocamlfind ocamlc -c -package ppx_tools.metaquot sample.ml' est le bon. Je répare la partie réponse aussi. – camlspotter

+0

oh, je vois, ppx peut également être utilisé comme un paquet, merci. – henoc