js_of_ocaml Camlp4 类型定义中的解析错误
js_of_ocaml Camlp4 Parse error in type definition
我正在尝试构建 this program using js_of_ocaml. According to this answer,我的 makefile 中有以下行
OCAMLC = ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax -syntax camlp4o -linkpkg -g -dtypes
但是,当我尝试构建时,出现以下错误:
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax -syntax camlp4o -linkpkg -g -dtypes -c types.ml
> File "types.ml", line 472, characters 11-12:
> Parse error: [type_longident] expected after ")" (in [type_ident_and_parameters])
> File "types.ml", line 1:
该文件的违规行是这样的:
type ('t,'v) parser = ('t list -> 'v -> unit) -> 't list -> unit
我对 OCaml 还是很陌生,所以我不太确定发生了什么。
-syntax camlp4o
有什么作用?我可能需要更改源代码中的哪些内容才能与 js_of_ocaml 兼容?
camlp4o
提供与普通 OCaml 语法相同的语法,但有轻微的不兼容性:parser
是 camlp4o
中的一个特殊关键字。这就是为什么如果使用 camlp4o
语法 parser
会被拒绝。
您可以通过重命名 parser
或使用 js_of_ocaml
的 PPX 语法扩展而不是 CamlP4 来解决此问题。请检查 https://ocsigen.org/js_of_ocaml/api/Ppx_js 以了解 js_of_ocaml
.
的这个较新语法助手的详细信息
我正在尝试构建 this program using js_of_ocaml. According to this answer,我的 makefile 中有以下行
OCAMLC = ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax -syntax camlp4o -linkpkg -g -dtypes
但是,当我尝试构建时,出现以下错误:
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax -syntax camlp4o -linkpkg -g -dtypes -c types.ml
> File "types.ml", line 472, characters 11-12:
> Parse error: [type_longident] expected after ")" (in [type_ident_and_parameters])
> File "types.ml", line 1:
该文件的违规行是这样的:
type ('t,'v) parser = ('t list -> 'v -> unit) -> 't list -> unit
我对 OCaml 还是很陌生,所以我不太确定发生了什么。
-syntax camlp4o
有什么作用?我可能需要更改源代码中的哪些内容才能与 js_of_ocaml 兼容?
camlp4o
提供与普通 OCaml 语法相同的语法,但有轻微的不兼容性:parser
是 camlp4o
中的一个特殊关键字。这就是为什么如果使用 camlp4o
语法 parser
会被拒绝。
您可以通过重命名 parser
或使用 js_of_ocaml
的 PPX 语法扩展而不是 CamlP4 来解决此问题。请检查 https://ocsigen.org/js_of_ocaml/api/Ppx_js 以了解 js_of_ocaml
.