1

ocaml を javascript にコンパイルしようとしています。

私がhttps://gist.github.com/larsr/6b3cd6f62d54d56e3f9aに入れた一部の OCaml コードは、menhirパーサーとjs_of_ocamlライブラリを一緒に使用します。でインストールしましたopam

コードはhttp://toss.sourceforge.net/ocaml.htmlから来ています。レクサーとパーサー、そしてそれらを呼び出すメインプログラムです。目標は、ocaml コードから JavaScript プログラムを生成し、Web ページ内から実行することです。

リポジトリの Makefile からのみmenhirを使用して、最初のメイン プログラムをコンパイルできます。make

ocamlbuild -use-menhir -menhir "menhir --external-tokens Lexer" Main.native

と のみを使用するプログラムをコンパイルできjs_of_ocamlますmake Formula.js

ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax \
      -syntax camlp4o -linkpkg -o Formula.byte Formula.ml
js_of_ocaml Formula.byte

私の問題は、ocamlfindビルドJsClient.jsにアクセスできないことです。

make JsClient.js

そのため、「JsClient.ml」の JavaScript コードを生成できません。Js私が得るエラーは、コンパイラがで使用されているモジュールを見つけることができないということJsClientです。コードはホーム ディレクトリの opam ライブラリにあるようですが、ocamlfindそれを使用するための正しい引数を取得できません。

JsClient.mlにコンパイルするにはどうすればよいJsClient.jsですか?

4

1 に答える 1

1

JsClient.mlファイルのコンパイルに使用するルールが適切ではありません。

JsClient.byte:
    ocamlbuild -use-menhir -menhir "menhir --external-tokens Lexer" 

あなたが言ったように、このファイルはモジュールを使用するJsので、ファイルと同じ方法でコンパイルする必要がありますFormula.ml:

ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax \
      -syntax camlp4o -linkpkg -o JsClient.byte JsClient.ml
js_of_ocaml JSClient.byte
于 2015-09-24T12:58:29.940 に答える