将camlp4和camlp5组合在pp字符串中用于ocamlopt?
我想结合螺栓,SEXP和ocamlViz的一个大项目。问题是,SEXP和BOLT使用的是CamlP4,而ocamlviz使用的是camlp5。但是如何将对ocamlc/ocamlopt的-pp参数的一个链的调用组合起来呢 以下是我对没有ocamlviz的实际项目的呼吁:将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
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要识别的语法