Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将camlp4和camlp5组合在pp字符串中用于ocamlopt?_Ocaml_Camlp4 - Fatal编程技术网

将camlp4和camlp5组合在pp字符串中用于ocamlopt?

将camlp4和camlp5组合在pp字符串中用于ocamlopt?,ocaml,camlp4,Ocaml,Camlp4,我想结合螺栓,SEXP和ocamlViz的一个大项目。问题是,SEXP和BOLT使用的是CamlP4,而ocamlviz使用的是camlp5。但是如何将对ocamlc/ocamlopt的-pp参数的一个链的调用组合起来呢 以下是我对没有ocamlviz的实际项目的呼吁: ocamlopt.opt-c-I+dynlink-I+bolt-I+threads-I+lablgtk2-I+extlib-I+pcre-I+netsys-I+netstring-I+json-wheel-I+num-I+sex

我想结合螺栓,SEXP和ocamlViz的一个大项目。问题是,SEXP和BOLT使用的是CamlP4,而ocamlviz使用的是camlp5。但是如何将对ocamlc/ocamlopt的-pp参数的一个链的调用组合起来呢

以下是我对没有ocamlviz的实际项目的呼吁:
ocamlopt.opt-c-I+dynlink-I+bolt-I+threads-I+lablgtk2-I+extlib-I+pcre-I+netsys-I+netstring-I+json-wheel-I+num-I+sexplib-I+zip-I+xml-light-I+xmlrpc-light-I+equeue-I+netclient-g-annot-p-thread-pp'camlp4o/usr/lib/ocaml/bolt/bolt/bolt\u pp.cmo-logger'\''foo.native''level调试---I/usr/sexplib/ml-I/usr/lib/ocaml/type conv pa_type_conv.cmo pa_sexp_conv.cmo'-o foo.cmx foo.ml

如果将
-printer ocaml
传递给Camlp4,它将以源格式输出预处理的o'Caml文件。然后,您可以在另一个步骤中使用Camlp5再次解析此文件。

由于明显的原因,两个不同的预处理器不可能同时对源文件进行预处理,并且也不可能一个接一个地使用,因为第一个预处理器无法识别用于第二个预处理器的语法。解决方案是在不同的源文件中使用不同的语法,或者将ocamlviz移植到camlp4。

这不起作用,因为camlp4无法识别ocamlviz/camlp5要识别的语法