diff -urN camlp5-6.11/boot/.cvsignore camlp5-6.12-63a8c30f/boot/.cvsignore --- camlp5-6.11/boot/.cvsignore 2010-09-15 17:00:18.000000000 +0100 +++ camlp5-6.12-63a8c30f/boot/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -*.cm[oia] -camlp5 -camlp5o -camlp5r -SAVED diff -urN camlp5-6.11/boot/.gitignore camlp5-6.12-63a8c30f/boot/.gitignore --- camlp5-6.11/boot/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/boot/.gitignore 2014-08-01 10:14:54.283065418 +0100 @@ -0,0 +1,5 @@ +*.cm[oia] +camlp5 +camlp5o +camlp5r +SAVED diff -urN camlp5-6.11/CHANGES camlp5-6.12-63a8c30f/CHANGES --- camlp5-6.11/CHANGES 2013-07-22 10:53:23.000000000 +0100 +++ camlp5-6.12-63a8c30f/CHANGES 2014-08-01 10:14:54.283065418 +0100 @@ -1,3 +1,17 @@ +Camlp5 Version 6.12: +-------------------- + +* [17 Apr 14] Updated for ocaml trunk (4.02.0) svn rev 14621. +* [14 Apr 14] Updated for ocaml version 4.01.1. +* [19 Dec 13] Dummy line numbers are now 1 instead of -1 to prevent + errors that sometimes happen later at assembling phase. +* [19 Dec 13] Fixed problem in top/Makefile when OCLIBDIR contains spaces. +* [06 Sep 13] Added flag Grammar.utf8_print to print grammars entries + (with Grammar.Entry.print) displaying strings in utf-8 (default: True). + Usefull e.g. for Coq in command 'Print Grammar constr' when using utf8. +* [27 Aug 13] Fixed bug in normal syntax: "let f { x } = ...", "{ x }" + and "let open ..." were refused. + Camlp5 Version 6.11: -------------------- diff -urN camlp5-6.11/compile/comp_head.ml.tpl camlp5-6.12-63a8c30f/compile/comp_head.ml.tpl --- camlp5-6.11/compile/comp_head.ml.tpl 2012-01-09 14:22:19.000000000 +0000 +++ camlp5-6.12-63a8c30f/compile/comp_head.ml.tpl 2014-08-01 10:14:54.284065419 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: comp_head.ml.tpl,v 6.5 2012-01-09 14:22:19 deraugla Exp $ *) +(* comp_head.ml.tpl,v *) (* Copyright (c) INRIA 2007-2012 *) #load "q_MLast.cmo"; diff -urN camlp5-6.11/compile/compile.ml camlp5-6.12-63a8c30f/compile/compile.ml --- camlp5-6.11/compile/compile.ml 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/compile/compile.ml 2014-08-01 10:14:54.284065419 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: compile.ml,v 6.6 2012-01-09 14:22:20 deraugla Exp $ *) +(* compile.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "q_MLast.cmo"; diff -urN camlp5-6.11/compile/.cvsignore camlp5-6.12-63a8c30f/compile/.cvsignore --- camlp5-6.11/compile/.cvsignore 2010-09-15 17:00:18.000000000 +0100 +++ camlp5-6.12-63a8c30f/compile/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -*.cm[oix] -*.fast -*.fast.opt -o_fast.ml.tmp -r_fast.ml.tmp -pa_o_fast.ml -pa_r_fast.ml diff -urN camlp5-6.11/compile/.gitignore camlp5-6.12-63a8c30f/compile/.gitignore --- camlp5-6.11/compile/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/compile/.gitignore 2014-08-01 10:14:54.283065418 +0100 @@ -0,0 +1,7 @@ +*.cm[oix] +*.fast +*.fast.opt +o_fast.ml.tmp +r_fast.ml.tmp +pa_o_fast.ml +pa_r_fast.ml diff -urN camlp5-6.11/compile/Makefile camlp5-6.12-63a8c30f/compile/Makefile --- camlp5-6.11/compile/Makefile 2012-03-07 08:55:31.000000000 +0000 +++ camlp5-6.12-63a8c30f/compile/Makefile 2014-08-01 10:14:54.283065418 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.6 2012-03-07 08:55:31 deraugla Exp $ +# Makefile,v TOP=.. include ../config/Makefile diff -urN camlp5-6.11/config/.cvsignore camlp5-6.12-63a8c30f/config/.cvsignore --- camlp5-6.11/config/.cvsignore 2010-09-15 17:00:18.000000000 +0100 +++ camlp5-6.12-63a8c30f/config/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Makefile.cnf -Makefile diff -urN camlp5-6.11/config/.gitignore camlp5-6.12-63a8c30f/config/.gitignore --- camlp5-6.11/config/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/config/.gitignore 2014-08-01 10:14:54.284065419 +0100 @@ -0,0 +1,2 @@ +Makefile.cnf +Makefile diff -urN camlp5-6.11/config/Makefile.tpl camlp5-6.12-63a8c30f/config/Makefile.tpl --- camlp5-6.11/config/Makefile.tpl 2012-03-02 18:49:56.000000000 +0000 +++ camlp5-6.12-63a8c30f/config/Makefile.tpl 2014-08-01 10:14:54.284065419 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile.tpl,v 6.4 2012-03-02 18:49:56 deraugla Exp $ +# Makefile.tpl,v CAMLP5_COMM=OPT=$(OPT) EXE=$(EXE) OCAMLN=$(OCAMLN) MODE=$(MODE) COMPWITH=$(COMPWITH) CAMLP5N=$(CAMLP5N) ../tools/camlp5_comm.sh OCAMLC=@OPT=$(OPT) EXE=$(EXE) OCAMLN=$(OCAMLN) ../tools/ocamlc.sh diff -urN camlp5-6.11/configure camlp5-6.12-63a8c30f/configure --- camlp5-6.11/configure 2012-07-01 02:27:07.000000000 +0100 +++ camlp5-6.12-63a8c30f/configure 2014-08-01 10:14:54.284065419 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: configure,v 6.16 2012-07-01 01:27:07 deraugla Exp $ +# configure,v prefix='' bindir='' diff -urN camlp5-6.11/.cvsignore camlp5-6.12-63a8c30f/.cvsignore --- camlp5-6.11/.cvsignore 2010-09-15 17:00:18.000000000 +0100 +++ camlp5-6.12-63a8c30f/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -myconfig diff -urN camlp5-6.11/doc/.cvsignore camlp5-6.12-63a8c30f/doc/.cvsignore --- camlp5-6.11/doc/.cvsignore 2010-09-15 17:00:19.000000000 +0100 +++ camlp5-6.12-63a8c30f/doc/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -*.aux -*.bbl -*.blg -*.dvi -*.log -*.toc diff -urN camlp5-6.11/doc/.gitignore camlp5-6.12-63a8c30f/doc/.gitignore --- camlp5-6.11/doc/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/doc/.gitignore 2014-08-01 10:14:54.284065419 +0100 @@ -0,0 +1,6 @@ +*.aux +*.bbl +*.blg +*.dvi +*.log +*.toc diff -urN camlp5-6.11/doc/html/.cvsignore camlp5-6.12-63a8c30f/doc/html/.cvsignore --- camlp5-6.11/doc/html/.cvsignore 2010-09-15 17:00:19.000000000 +0100 +++ camlp5-6.12-63a8c30f/doc/html/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -*.html -rss diff -urN camlp5-6.11/doc/html/.gitignore camlp5-6.12-63a8c30f/doc/html/.gitignore --- camlp5-6.11/doc/html/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/doc/html/.gitignore 2014-08-01 10:14:54.284065419 +0100 @@ -0,0 +1,2 @@ +*.html +rss Binary files camlp5-6.11/doc/html/images/valid-xhtml11.png and camlp5-6.12-63a8c30f/doc/html/images/valid-xhtml11.png differ diff -urN camlp5-6.11/doc/html/styles/base.css camlp5-6.12-63a8c30f/doc/html/styles/base.css --- camlp5-6.11/doc/html/styles/base.css 2010-09-15 17:00:19.000000000 +0100 +++ camlp5-6.12-63a8c30f/doc/html/styles/base.css 2014-08-01 10:14:54.284065419 +0100 @@ -1,4 +1,4 @@ -/* $Id: base.css,v 6.1 2010-09-15 16:00:19 deraugla Exp $ */ +/* base.css,v */ body { margin: 0 0 1px 0; background-color: rgb(189,225,255) } body { border: 0 } diff -urN camlp5-6.11/doc/htmlp/about.html camlp5-6.12-63a8c30f/doc/htmlp/about.html --- camlp5-6.11/doc/htmlp/about.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/about.html 2014-08-01 10:14:54.285065419 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + About Camlp5 diff -urN camlp5-6.11/doc/htmlp/ast_strict.html camlp5-6.12-63a8c30f/doc/htmlp/ast_strict.html --- camlp5-6.11/doc/htmlp/ast_strict.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/ast_strict.html 2014-08-01 10:14:54.285065419 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + AST - strict diff -urN camlp5-6.11/doc/htmlp/ast_transi.html camlp5-6.12-63a8c30f/doc/htmlp/ast_transi.html --- camlp5-6.11/doc/htmlp/ast_transi.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/ast_transi.html 2014-08-01 10:14:54.286065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + AST - transitional diff -urN camlp5-6.11/doc/htmlp/bparsers.html camlp5-6.12-63a8c30f/doc/htmlp/bparsers.html --- camlp5-6.11/doc/htmlp/bparsers.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/bparsers.html 2014-08-01 10:14:54.286065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + backtracking parsers diff -urN camlp5-6.11/doc/htmlp/commands.html camlp5-6.12-63a8c30f/doc/htmlp/commands.html --- camlp5-6.11/doc/htmlp/commands.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/commands.html 2014-08-01 10:14:54.286065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Commands and Files diff -urN camlp5-6.11/doc/htmlp/conclusion.html camlp5-6.12-63a8c30f/doc/htmlp/conclusion.html --- camlp5-6.11/doc/htmlp/conclusion.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/conclusion.html 2014-08-01 10:14:54.286065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Conclusion diff -urN camlp5-6.11/doc/htmlp/.cvsignore camlp5-6.12-63a8c30f/doc/htmlp/.cvsignore --- camlp5-6.11/doc/htmlp/.cvsignore 2010-09-15 17:00:19.000000000 +0100 +++ camlp5-6.12-63a8c30f/doc/htmlp/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -camlp5.aux -camlp5.dvi -camlp5.info* -camlp5.log -camlp5.pdf -camlp5.ps -camlp5.tex -camlp5.texi -camlp5.toc diff -urN camlp5-6.11/doc/htmlp/directives.html camlp5-6.12-63a8c30f/doc/htmlp/directives.html --- camlp5-6.11/doc/htmlp/directives.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/directives.html 2014-08-01 10:14:54.286065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Directives diff -urN camlp5-6.11/doc/htmlp/extfun.html camlp5-6.12-63a8c30f/doc/htmlp/extfun.html --- camlp5-6.11/doc/htmlp/extfun.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/extfun.html 2014-08-01 10:14:54.286065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Extensible functions diff -urN camlp5-6.11/doc/htmlp/fparsers.html camlp5-6.12-63a8c30f/doc/htmlp/fparsers.html --- camlp5-6.11/doc/htmlp/fparsers.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/fparsers.html 2014-08-01 10:14:54.286065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + functional parsers diff -urN camlp5-6.11/doc/htmlp/.gitignore camlp5-6.12-63a8c30f/doc/htmlp/.gitignore --- camlp5-6.11/doc/htmlp/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/doc/htmlp/.gitignore 2014-08-01 10:14:54.284065419 +0100 @@ -0,0 +1,9 @@ +camlp5.aux +camlp5.dvi +camlp5.info* +camlp5.log +camlp5.pdf +camlp5.ps +camlp5.tex +camlp5.texi +camlp5.toc diff -urN camlp5-6.11/doc/htmlp/grammars.html camlp5-6.12-63a8c30f/doc/htmlp/grammars.html --- camlp5-6.11/doc/htmlp/grammars.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/grammars.html 2014-08-01 10:14:54.287065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + extensible grammars diff -urN camlp5-6.11/doc/htmlp/html2latex camlp5-6.12-63a8c30f/doc/htmlp/html2latex --- camlp5-6.11/doc/htmlp/html2latex 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/html2latex 2014-08-01 10:14:54.287065420 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: html2latex,v 6.4 2012-01-09 14:22:20 deraugla Exp $ +# html2latex,v FILES1="index.html strict.html ptools.html" FILES2="parsers.html lexers.html fparsers.html bparsers.html grammars.html" diff -urN camlp5-6.11/doc/htmlp/html2texi camlp5-6.12-63a8c30f/doc/htmlp/html2texi --- camlp5-6.11/doc/htmlp/html2texi 2010-09-15 17:00:19.000000000 +0100 +++ camlp5-6.12-63a8c30f/doc/htmlp/html2texi 2014-08-01 10:14:54.287065420 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: html2texi,v 6.1 2010-09-15 16:00:19 deraugla Exp $ +# html2texi,v FILES1="index.html strict.html ptools.html" FILES2="parsers.html lexers.html fparsers.html bparsers.html grammars.html" diff -urN camlp5-6.11/doc/htmlp/htmlp2html camlp5-6.12-63a8c30f/doc/htmlp/htmlp2html --- camlp5-6.11/doc/htmlp/htmlp2html 2010-09-15 17:00:19.000000000 +0100 +++ camlp5-6.12-63a8c30f/doc/htmlp/htmlp2html 2014-08-01 10:14:54.287065420 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: htmlp2html,v 6.1 2010-09-15 16:00:19 deraugla Exp $ +# htmlp2html,v FILE=$1 VERSION="$(grep "value version =" ../../main/pcaml.ml | sed -e 's/^[^"]*"\([^"]*\).*$/\1/')" diff -urN camlp5-6.11/doc/htmlp/index.html camlp5-6.12-63a8c30f/doc/htmlp/index.html --- camlp5-6.11/doc/htmlp/index.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/index.html 2014-08-01 10:14:54.287065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Camlp5 diff -urN camlp5-6.11/doc/htmlp/lexers.html camlp5-6.12-63a8c30f/doc/htmlp/lexers.html --- camlp5-6.11/doc/htmlp/lexers.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/lexers.html 2014-08-01 10:14:54.287065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + lexers diff -urN camlp5-6.11/doc/htmlp/library.html camlp5-6.12-63a8c30f/doc/htmlp/library.html --- camlp5-6.11/doc/htmlp/library.html 2013-01-28 09:27:12.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/library.html 2014-08-01 10:14:54.287065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Library diff -urN camlp5-6.11/doc/htmlp/locations.html camlp5-6.12-63a8c30f/doc/htmlp/locations.html --- camlp5-6.11/doc/htmlp/locations.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/locations.html 2014-08-01 10:14:54.287065420 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Locations diff -urN camlp5-6.11/doc/htmlp/macros.html camlp5-6.12-63a8c30f/doc/htmlp/macros.html --- camlp5-6.11/doc/htmlp/macros.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/macros.html 2014-08-01 10:14:54.288065421 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + macros diff -urN camlp5-6.11/doc/htmlp/Makefile camlp5-6.12-63a8c30f/doc/htmlp/Makefile --- camlp5-6.11/doc/htmlp/Makefile 2010-09-29 03:32:05.000000000 +0100 +++ camlp5-6.12-63a8c30f/doc/htmlp/Makefile 2014-08-01 10:14:54.285065419 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.2 2010-09-29 02:32:05 deraugla Exp $ +# Makefile,v H=../html OBJS=$H/index.html $H/about.html $H/ast_strict.html $H/ast_transi.html $H/bparsers.html $H/commands.html $H/conclusion.html $H/directives.html $H/extfun.html $H/fparsers.html $H/grammars.html $H/lexers.html $H/library.html $H/locations.html $H/macros.html $H/ml_ast.html $H/opretty.html $H/parsers.html $H/pcaml.html $H/pprintf.html $H/pragma.html $H/pretty.html $H/printers.html $H/ptools.html $H/q_ast.html $H/quot.html $H/redef.html $H/revsynt.html $H/scheme.html $H/sources.html $H/strict.html $H/syntext.html diff -urN camlp5-6.11/doc/htmlp/mkstri.sh camlp5-6.12-63a8c30f/doc/htmlp/mkstri.sh --- camlp5-6.11/doc/htmlp/mkstri.sh 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/mkstri.sh 2014-08-01 10:14:54.288065421 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: mkstri.sh,v 6.16 2012-01-09 14:22:20 deraugla Exp $ +# mkstri.sh,v top=../.. file=$top/test/quot_r.ml @@ -12,7 +12,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + AST - strict diff -urN camlp5-6.11/doc/htmlp/mktrans.sh camlp5-6.12-63a8c30f/doc/htmlp/mktrans.sh --- camlp5-6.11/doc/htmlp/mktrans.sh 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/mktrans.sh 2014-08-01 10:14:54.288065421 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: mktrans.sh,v 6.17 2012-01-09 14:22:20 deraugla Exp $ +# mktrans.sh,v top=../.. file=$top/test/quot_r.ml @@ -12,7 +12,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + AST - transitional diff -urN camlp5-6.11/doc/htmlp/ml_ast.html camlp5-6.12-63a8c30f/doc/htmlp/ml_ast.html --- camlp5-6.11/doc/htmlp/ml_ast.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/ml_ast.html 2014-08-01 10:14:54.288065421 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Abstract tree in concrete syntax diff -urN camlp5-6.11/doc/htmlp/opretty.html camlp5-6.12-63a8c30f/doc/htmlp/opretty.html --- camlp5-6.11/doc/htmlp/opretty.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/opretty.html 2014-08-01 10:14:54.288065421 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Extensions of printing diff -urN camlp5-6.11/doc/htmlp/parsers.html camlp5-6.12-63a8c30f/doc/htmlp/parsers.html --- camlp5-6.11/doc/htmlp/parsers.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/parsers.html 2014-08-01 10:14:54.288065421 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + parsers diff -urN camlp5-6.11/doc/htmlp/pcaml.html camlp5-6.12-63a8c30f/doc/htmlp/pcaml.html --- camlp5-6.11/doc/htmlp/pcaml.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/pcaml.html 2014-08-01 10:14:54.288065421 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Pcaml diff -urN camlp5-6.11/doc/htmlp/pprintf.html camlp5-6.12-63a8c30f/doc/htmlp/pprintf.html --- camlp5-6.11/doc/htmlp/pprintf.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/pprintf.html 2014-08-01 10:14:54.288065421 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + pprintf diff -urN camlp5-6.11/doc/htmlp/pragma.html camlp5-6.12-63a8c30f/doc/htmlp/pragma.html --- camlp5-6.11/doc/htmlp/pragma.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/pragma.html 2014-08-01 10:14:54.289065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + pragma diff -urN camlp5-6.11/doc/htmlp/pretty.html camlp5-6.12-63a8c30f/doc/htmlp/pretty.html --- camlp5-6.11/doc/htmlp/pretty.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/pretty.html 2014-08-01 10:14:54.289065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Pretty print diff -urN camlp5-6.11/doc/htmlp/printers.html camlp5-6.12-63a8c30f/doc/htmlp/printers.html --- camlp5-6.11/doc/htmlp/printers.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/printers.html 2014-08-01 10:14:54.289065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + extensible printers diff -urN camlp5-6.11/doc/htmlp/ptools.html camlp5-6.12-63a8c30f/doc/htmlp/ptools.html --- camlp5-6.11/doc/htmlp/ptools.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/ptools.html 2014-08-01 10:14:54.289065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + parsing and printing tools diff -urN camlp5-6.11/doc/htmlp/q_ast.html camlp5-6.12-63a8c30f/doc/htmlp/q_ast.html --- camlp5-6.11/doc/htmlp/q_ast.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/q_ast.html 2014-08-01 10:14:54.289065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + q_ast.cmo diff -urN camlp5-6.11/doc/htmlp/quot.html camlp5-6.12-63a8c30f/doc/htmlp/quot.html --- camlp5-6.11/doc/htmlp/quot.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/quot.html 2014-08-01 10:14:54.289065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + quotations diff -urN camlp5-6.11/doc/htmlp/redef.html camlp5-6.12-63a8c30f/doc/htmlp/redef.html --- camlp5-6.11/doc/htmlp/redef.html 2010-09-15 17:00:20.000000000 +0100 +++ camlp5-6.12-63a8c30f/doc/htmlp/redef.html 2014-08-01 10:14:54.289065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Redefining OCaml syntax diff -urN camlp5-6.11/doc/htmlp/revsynt.html camlp5-6.12-63a8c30f/doc/htmlp/revsynt.html --- camlp5-6.11/doc/htmlp/revsynt.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/revsynt.html 2014-08-01 10:14:54.289065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + revised syntax diff -urN camlp5-6.11/doc/htmlp/scheme.html camlp5-6.12-63a8c30f/doc/htmlp/scheme.html --- camlp5-6.11/doc/htmlp/scheme.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/scheme.html 2014-08-01 10:14:54.289065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Scheme diff -urN camlp5-6.11/doc/htmlp/sources.html camlp5-6.12-63a8c30f/doc/htmlp/sources.html --- camlp5-6.11/doc/htmlp/sources.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/sources.html 2014-08-01 10:14:54.290065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Camlp5 sources diff -urN camlp5-6.11/doc/htmlp/strict.html camlp5-6.12-63a8c30f/doc/htmlp/strict.html --- camlp5-6.11/doc/htmlp/strict.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/strict.html 2014-08-01 10:14:54.290065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Camlp5 diff -urN camlp5-6.11/doc/htmlp/syntext.html camlp5-6.12-63a8c30f/doc/htmlp/syntext.html --- camlp5-6.11/doc/htmlp/syntext.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/syntext.html 2014-08-01 10:14:54.290065422 +0100 @@ -2,7 +2,7 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - + Extensions of syntax diff -urN camlp5-6.11/doc/htmlp/trailer.html camlp5-6.12-63a8c30f/doc/htmlp/trailer.html --- camlp5-6.11/doc/htmlp/trailer.html 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/doc/htmlp/trailer.html 2014-08-01 10:14:54.290065422 +0100 @@ -5,7 +5,6 @@

Valid XHTML 1.1

diff -urN camlp5-6.11/etc/.cvsignore camlp5-6.12-63a8c30f/etc/.cvsignore --- camlp5-6.11/etc/.cvsignore 2010-09-15 17:00:20.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -*.cm[oiax] -camlp5o -camlp5sch -camlp5o.opt -mkcamlp5.sh -mkcamlp5.opt.sh -META diff -urN camlp5-6.11/etc/elexer.ml camlp5-6.12-63a8c30f/etc/elexer.ml --- camlp5-6.11/etc/elexer.ml 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/elexer.ml 2014-08-01 10:14:54.290065422 +0100 @@ -1,11 +1,13 @@ (* camlp5r *) -(* $Id: elexer.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) +(* elexer.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* lexer written with extensible grammars; experimental *) #load "pa_extend.cmo"; +open Versdep; + value lexlex cs = (cs, fun i -> Plexing.make_loc (i, i + 1)); value next_char s i = @@ -100,7 +102,7 @@ ; value implode l = - let s = String.create (List.length l) in + let s = string_create (List.length l) in loop 0 l where rec loop i = fun [ [c :: l] -> do { String.unsafe_set s i c; loop (i + 1) l } diff -urN camlp5-6.11/etc/.gitignore camlp5-6.12-63a8c30f/etc/.gitignore --- camlp5-6.11/etc/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/.gitignore 2014-08-01 10:14:54.290065422 +0100 @@ -0,0 +1,7 @@ +*.cm[oiax] +camlp5o +camlp5sch +camlp5o.opt +mkcamlp5.sh +mkcamlp5.opt.sh +META diff -urN camlp5-6.11/etc/lib.sml camlp5-6.12-63a8c30f/etc/lib.sml --- camlp5-6.11/etc/lib.sml 2010-09-15 17:00:21.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/lib.sml 2014-08-01 10:14:54.290065422 +0100 @@ -1,4 +1,4 @@ -(* $Id: lib.sml,v 6.1 2010-09-15 16:00:21 deraugla Exp $ *) +(* lib.sml,v *) datatype 'a option = SOME of 'a | NONE exception Fail of string diff -urN camlp5-6.11/etc/Makefile camlp5-6.12-63a8c30f/etc/Makefile --- camlp5-6.11/etc/Makefile 2012-03-03 02:47:04.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/Makefile 2014-08-01 10:14:54.290065422 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.7 2012-03-03 02:47:04 deraugla Exp $ +# Makefile,v include ../config/Makefile diff -urN camlp5-6.11/etc/Makefile.withnew camlp5-6.12-63a8c30f/etc/Makefile.withnew --- camlp5-6.11/etc/Makefile.withnew 2010-09-15 17:00:21.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/Makefile.withnew 2014-08-01 10:14:54.290065422 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile.withnew,v 6.1 2010-09-15 16:00:21 deraugla Exp $ +# Makefile.withnew,v include ../config/Makefile diff -urN camlp5-6.11/etc/mkcamlp5.opt.sh.tpl camlp5-6.12-63a8c30f/etc/mkcamlp5.opt.sh.tpl --- camlp5-6.11/etc/mkcamlp5.opt.sh.tpl 2012-03-03 02:47:04.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/mkcamlp5.opt.sh.tpl 2014-08-01 10:14:54.290065422 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: mkcamlp5.opt.sh.tpl,v 6.2 2012-03-03 02:47:04 deraugla Exp $ +# mkcamlp5.opt.sh.tpl,v OLIB=`OCAMLNc -where` LIB=LIBDIR/CAMLP5N diff -urN camlp5-6.11/etc/mkcamlp5.sh.tpl camlp5-6.12-63a8c30f/etc/mkcamlp5.sh.tpl --- camlp5-6.11/etc/mkcamlp5.sh.tpl 2012-03-03 02:47:04.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/mkcamlp5.sh.tpl 2014-08-01 10:14:54.290065422 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: mkcamlp5.sh.tpl,v 6.2 2012-03-03 02:47:04 deraugla Exp $ +# mkcamlp5.sh.tpl,v OLIB=`OCAMLNc -where` LIB=LIBDIR/CAMLP5N diff -urN camlp5-6.11/etc/pa_extfold.ml camlp5-6.12-63a8c30f/etc/pa_extfold.ml --- camlp5-6.11/etc/pa_extfold.ml 2010-09-15 17:00:21.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/pa_extfold.ml 2014-08-01 10:14:54.290065422 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_extfold.ml,v 6.1 2010-09-15 16:00:21 deraugla Exp $ *) +(* pa_extfold.ml,v *) #load "pa_extend.cmo"; #load "q_MLast.cmo"; diff -urN camlp5-6.11/etc/pa_extfun.ml camlp5-6.12-63a8c30f/etc/pa_extfun.ml --- camlp5-6.11/etc/pa_extfun.ml 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pa_extfun.ml 2014-08-01 10:14:54.291065423 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_extfun.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) +(* pa_extfun.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "q_MLast.cmo"; diff -urN camlp5-6.11/etc/pa_extprint.ml camlp5-6.12-63a8c30f/etc/pa_extprint.ml --- camlp5-6.11/etc/pa_extprint.ml 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pa_extprint.ml 2014-08-01 10:14:54.291065423 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_extprint.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) +(* pa_extprint.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; diff -urN camlp5-6.11/etc/pa_lefteval.ml camlp5-6.12-63a8c30f/etc/pa_lefteval.ml --- camlp5-6.11/etc/pa_lefteval.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/pa_lefteval.ml 2014-08-01 10:14:54.291065423 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_lefteval.ml,v 6.4 2013-07-02 16:12:43 deraugla Exp $ *) +(* pa_lefteval.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "q_MLast.cmo"; diff -urN camlp5-6.11/etc/pa_lex.ml camlp5-6.12-63a8c30f/etc/pa_lex.ml --- camlp5-6.11/etc/pa_lex.ml 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pa_lex.ml 2014-08-01 10:14:54.291065423 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_lex.ml,v 6.3 2012-01-09 14:22:20 deraugla Exp $ *) +(* pa_lex.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; diff -urN camlp5-6.11/etc/pa_lisp.ml camlp5-6.12-63a8c30f/etc/pa_lisp.ml --- camlp5-6.11/etc/pa_lisp.ml 2012-01-09 14:22:20.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pa_lisp.ml 2014-08-01 10:14:54.291065423 +0100 @@ -1,8 +1,9 @@ ;; camlp5 ./pa_lispr.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo -;; $Id: pa_lisp.ml,v 6.9 2012-01-09 14:22:20 deraugla Exp $ +;; pa_lisp.ml,v ;; Copyright (c) INRIA 2007-2012 (open Pcaml) +(open Versdep) (type (choice 'a 'b) (sum (Left 'a) (Right 'b))) @@ -10,13 +11,13 @@ (module Buff (struct - (value buff (ref (String.create 80))) + (value buff (ref (string_create 80))) (value store (lambda (len x) (if (>= len (String.length buff.val)) (:= buff.val (^ buff.val - (String.create (String.length buff.val))))) - (:= ([] buff.val len) x) + (string_create (String.length buff.val))))) + (string_set buff.val len x) (succ len))) (value get (lambda len (String.sub buff.val 0 len))))) diff -urN camlp5-6.11/etc/pa_lispr.ml camlp5-6.12-63a8c30f/etc/pa_lispr.ml --- camlp5-6.11/etc/pa_lispr.ml 2013-05-20 06:56:33.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/pa_lispr.ml 2014-08-01 10:14:54.291065423 +0100 @@ -1,8 +1,9 @@ (* camlp5 pa_r.cmo pa_rp.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo *) -(* File generated by pretty print; do not edit! *) +(* pa_lisp.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Pcaml; +open Versdep; type choice α β = [ Left of α @@ -13,12 +14,12 @@ module Buff = struct - value buff = ref (String.create 80); + value buff = ref (string_create 80); value store len x = do { if len >= String.length buff.val then - buff.val := buff.val ^ String.create (String.length buff.val) + buff.val := buff.val ^ string_create (String.length buff.val) else (); - buff.val.[len] := x; + string_set buff.val len x; succ len }; value get len = String.sub buff.val 0 len; diff -urN camlp5-6.11/etc/pa_mkast.ml camlp5-6.12-63a8c30f/etc/pa_mkast.ml --- camlp5-6.11/etc/pa_mkast.ml 2012-03-06 14:57:58.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pa_mkast.ml 2014-08-01 10:14:54.291065423 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_mkast.ml,v 6.5 2012-03-06 14:57:58 deraugla Exp $ *) +(* pa_mkast.ml,v *) (* meta/camlp5r etc/pa_mkast.cmo etc/pr_r.cmo -impl main/mLast.mli diff -urN camlp5-6.11/etc/pa_mktest.ml camlp5-6.12-63a8c30f/etc/pa_mktest.ml --- camlp5-6.11/etc/pa_mktest.ml 2010-11-12 23:23:59.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pa_mktest.ml 2014-08-01 10:14:54.291065423 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_mktest.ml,v 6.15 2010-11-12 23:23:59 deraugla Exp $ *) +(* pa_mktest.ml,v *) (* meta/camlp5r etc/pa_mktest.cmo etc/pr_r.cmo -flag D -impl main/mLast.mli diff -urN camlp5-6.11/etc/pa_o.ml camlp5-6.12-63a8c30f/etc/pa_o.ml --- camlp5-6.11/etc/pa_o.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/pa_o.ml 2014-08-01 10:14:54.292065424 +0100 @@ -1,9 +1,10 @@ -(* camlp5r pa_macro.cmo *) -(* $Id: pa_o.ml,v 6.50 2013-07-02 16:12:43 deraugla Exp $ *) +(* camlp5r *) +(* pa_o.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; #load "q_MLast.cmo"; +#load "pa_macro.cmo"; open Pcaml; @@ -253,7 +254,7 @@ [ Some (("UIDENT", _) | ("LIDENT", _) | ("", ".")) -> test (lev + 1) strm | Some ("ANTIQUOT_LOC", _) -> () - | Some ("", "=") -> () + | Some ("", "=" | ";" | "}") -> () | _ -> raise Stream.Failure ]) ; @@ -356,6 +357,13 @@ Reloc.expr floc 0 e ; +value expr_of_patt p = + let loc = MLast.loc_of_patt p in + match p with + [ <:patt< $lid:x$ >> -> <:expr< $lid:x$ >> + | _ -> Ploc.raise loc (Stream.Error "identifier expected") ] +; + EXTEND GLOBAL: sig_item str_item ctyp patt expr module_type module_expr signature structure class_type class_expr class_sig_item class_str_item @@ -525,6 +533,8 @@ | "let"; "module"; m = V UIDENT; mb = mod_fun_binding; "in"; e = expr LEVEL "top" -> <:expr< let module $_uid:m$ = $mb$ in $e$ >> + | "let"; "open"; m = V UIDENT; "in"; e = expr LEVEL "top" -> + <:expr< $_uid:m$ . ($e$) >> | "function"; OPT "|"; l = V (LIST1 match_case SEP "|") -> <:expr< fun [ $_list:l$ ] >> | "fun"; p = patt LEVEL "simple"; (eo, e) = fun_def -> @@ -697,7 +707,8 @@ | le = lbl_expr -> [le] ] ] ; lbl_expr: - [ [ i = patt_label_ident; "="; e = expr LEVEL "expr1" -> (i, e) ] ] + [ [ i = patt_label_ident; "="; e = expr LEVEL "expr1" -> (i, e) + | i = patt_label_ident -> (i, expr_of_patt i) ] ] ; expr1_semi_list: [ [ el = LIST1 (expr LEVEL "expr1") SEP ";" OPT_SEP -> el ] ] @@ -817,6 +828,7 @@ ; lbl_patt: [ [ i = patt_label_ident; "="; p = patt -> (i, p) + | i = patt_label_ident -> (i, i) | "_" -> (<:patt< _ >>, <:patt< _ >>) ] ] ; patt_label_ident: diff -urN camlp5-6.11/etc/pa_oop.ml camlp5-6.12-63a8c30f/etc/pa_oop.ml --- camlp5-6.11/etc/pa_oop.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pa_oop.ml 2014-08-01 10:14:54.292065424 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_oop.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* pa_oop.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; diff -urN camlp5-6.11/etc/pa_op.ml camlp5-6.12-63a8c30f/etc/pa_op.ml --- camlp5-6.11/etc/pa_op.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pa_op.ml 2014-08-01 10:14:54.292065424 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_op.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* pa_op.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; diff -urN camlp5-6.11/etc/pa_pprintf.ml camlp5-6.12-63a8c30f/etc/pa_pprintf.ml --- camlp5-6.11/etc/pa_pprintf.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pa_pprintf.ml 2014-08-01 10:14:54.292065424 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_pprintf.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) +(* pa_pprintf.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; @@ -7,6 +7,7 @@ #load "q_MLast.cmo"; open Pcaml; +open Versdep; (** Types and Functions for the [pprintf] statement *) @@ -33,10 +34,10 @@ ; value implode l = - let s = String.create (List.length l) in + let s = string_create (List.length l) in loop 0 l where rec loop i = fun - [ [c :: l] -> do { String.set s i c; loop (i + 1) l } + [ [c :: l] -> do { string_set s i c; loop (i + 1) l } | [] -> s ] ; diff -urN camlp5-6.11/etc/pa_pragma.ml camlp5-6.12-63a8c30f/etc/pa_pragma.ml --- camlp5-6.11/etc/pa_pragma.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pa_pragma.ml 2014-08-01 10:14:54.292065424 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_pragma.ml,v 6.6 2012-01-09 14:22:21 deraugla Exp $ *) +(* pa_pragma.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; @@ -999,7 +999,7 @@ ("String.set", fun loc -> {ctyp = <:ctyp< string -> int -> char -> unit >>; - expr = Obj.repr String.set; + expr = Obj.repr string_set; patt = no_patt loc}); ("String.sub", fun loc -> diff -urN camlp5-6.11/etc/pa_reloc.ml camlp5-6.12-63a8c30f/etc/pa_reloc.ml --- camlp5-6.11/etc/pa_reloc.ml 2012-03-06 14:57:58.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pa_reloc.ml 2014-08-01 10:14:54.292065424 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_reloc.ml,v 6.6 2012-03-06 14:57:58 deraugla Exp $ *) +(* pa_reloc.ml,v *) (* meta/camlp5r etc/pa_reloc.cmo etc/pr_r.cmo -impl main/mLast.mli diff -urN camlp5-6.11/etc/pa_scheme.ml camlp5-6.12-63a8c30f/etc/pa_scheme.ml --- camlp5-6.11/etc/pa_scheme.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/pa_scheme.ml 2014-08-01 10:14:54.293065424 +0100 @@ -1,9 +1,10 @@ ; camlp5 ./pa_schemer.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo -; $Id: pa_scheme.ml,v 6.10 2013-07-02 16:12:43 deraugla Exp $ +; pa_scheme.ml,v ; Copyright (c) INRIA 2007-2012 (open Pcaml) (open Exparser) +(open Versdep) (type (choice 'a 'b) (sum @@ -14,12 +15,12 @@ (module Buff (struct - (define buff (ref (String.create 80))) + (define buff (ref (string_create 80))) (define (store len x) (begin (if (>= len (String.length buff.val)) - (:= buff.val (^ buff.val (String.create (String.length buff.val))))) - (:= buff.val.[len] x) + (:= buff.val (^ buff.val (string_create (String.length buff.val))))) + (string_set buff.val len x) (succ len))) (define (mstore len s) (letrec diff -urN camlp5-6.11/etc/pa_schemer.ml camlp5-6.12-63a8c30f/etc/pa_schemer.ml --- camlp5-6.11/etc/pa_schemer.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/pa_schemer.ml 2014-08-01 10:14:54.293065424 +0100 @@ -1,9 +1,10 @@ (* camlp5 pa_r.cmo pa_rp.cmo pa_extend.cmo q_MLast.cmo pr_dump.cmo *) -(* File generated by pretty print; do not edit! *) +(* pa_scheme.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Pcaml; open Exparser; +open Versdep; type choice α β = [ Left of α @@ -14,12 +15,12 @@ module Buff = struct - value buff = ref (String.create 80); + value buff = ref (string_create 80); value store len x = do { if len >= String.length buff.val then - buff.val := buff.val ^ String.create (String.length buff.val) + buff.val := buff.val ^ string_create (String.length buff.val) else (); - buff.val.[len] := x; + string_set buff.val len x; succ len }; value mstore len s = diff -urN camlp5-6.11/etc/pa_sml.ml camlp5-6.12-63a8c30f/etc/pa_sml.ml --- camlp5-6.11/etc/pa_sml.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/pa_sml.ml 2014-08-01 10:14:54.293065424 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_sml.ml,v 6.7 2013-07-02 16:12:43 deraugla Exp $ *) +(* pa_sml.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; diff -urN camlp5-6.11/etc/pr_depend.ml camlp5-6.12-63a8c30f/etc/pr_depend.ml --- camlp5-6.11/etc/pr_depend.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/pr_depend.ml 2014-08-01 10:14:54.293065424 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_depend.ml,v 6.17 2013-07-02 16:12:43 deraugla Exp $ *) +(* pr_depend.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; diff -urN camlp5-6.11/etc/pr_extend.ml camlp5-6.12-63a8c30f/etc/pr_extend.ml --- camlp5-6.11/etc/pr_extend.ml 2012-03-09 14:01:54.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pr_extend.ml 2014-08-01 10:14:54.293065424 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_extend.ml,v 6.5 2012-03-09 14:01:54 deraugla Exp $ *) +(* pr_extend.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #directory "."; diff -urN camlp5-6.11/etc/pr_extfun.ml camlp5-6.12-63a8c30f/etc/pr_extfun.ml --- camlp5-6.11/etc/pr_extfun.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pr_extfun.ml 2014-08-01 10:14:54.294065425 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_extfun.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* pr_extfun.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #directory "."; diff -urN camlp5-6.11/etc/pr_extprint.ml camlp5-6.12-63a8c30f/etc/pr_extprint.ml --- camlp5-6.11/etc/pr_extprint.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pr_extprint.ml 2014-08-01 10:14:54.294065425 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_extprint.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) +(* pr_extprint.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #directory "."; diff -urN camlp5-6.11/etc/pr_null.ml camlp5-6.12-63a8c30f/etc/pr_null.ml --- camlp5-6.11/etc/pr_null.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pr_null.ml 2014-08-01 10:14:54.294065425 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_null.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* pr_null.ml,v *) (* Copyright (c) INRIA 2007-2012 *) Pcaml.print_interf.val := fun _ -> (); diff -urN camlp5-6.11/etc/pr_o.ml camlp5-6.12-63a8c30f/etc/pr_o.ml --- camlp5-6.11/etc/pr_o.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/pr_o.ml 2014-08-01 10:14:54.294065425 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_o.ml,v 6.63 2013-07-02 16:12:43 deraugla Exp $ *) +(* pr_o.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #directory "."; @@ -251,7 +251,7 @@ if i = String.length s then String.sub s 0 j else if s.[i] = '_' then loop (i + 1) j else do { - s.[j] := s.[i]; + string_set s j s.[i]; loop (i + 1) (j + 1) } }; diff -urN camlp5-6.11/etc/pr_op.ml camlp5-6.12-63a8c30f/etc/pr_op.ml --- camlp5-6.11/etc/pr_op.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pr_op.ml 2014-08-01 10:14:54.294065425 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_op.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* pr_op.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #directory "."; diff -urN camlp5-6.11/etc/pr_r.ml camlp5-6.12-63a8c30f/etc/pr_r.ml --- camlp5-6.11/etc/pr_r.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/pr_r.ml 2014-08-01 10:14:54.295065425 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_r.ml,v 6.79 2013-07-02 16:12:43 deraugla Exp $ *) +(* pr_r.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #directory "."; diff -urN camlp5-6.11/etc/pr_ro.ml camlp5-6.12-63a8c30f/etc/pr_ro.ml --- camlp5-6.11/etc/pr_ro.ml 2012-03-09 12:43:14.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pr_ro.ml 2014-08-01 10:14:54.295065425 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_ro.ml,v 6.20 2012-03-09 12:43:14 deraugla Exp $ *) +(* pr_ro.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #directory "."; diff -urN camlp5-6.11/etc/pr_rp.ml camlp5-6.12-63a8c30f/etc/pr_rp.ml --- camlp5-6.11/etc/pr_rp.ml 2013-03-15 16:17:17.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pr_rp.ml 2014-08-01 10:14:54.295065425 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_rp.ml,v 6.12 2013-03-15 16:17:17 deraugla Exp $ *) +(* pr_rp.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #directory "."; diff -urN camlp5-6.11/etc/pr_scheme.ml camlp5-6.12-63a8c30f/etc/pr_scheme.ml --- camlp5-6.11/etc/pr_scheme.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/etc/pr_scheme.ml 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_scheme.ml,v 6.9 2013-07-02 16:12:43 deraugla Exp $ *) +(* pr_scheme.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #directory "."; @@ -1445,12 +1445,12 @@ module Buff = struct - value buff = ref (String.create 80); + value buff = ref (string_create 80); value store len x = do { if len >= String.length buff.val then - buff.val := buff.val ^ String.create (String.length buff.val) + buff.val := buff.val ^ string_create (String.length buff.val) else (); - buff.val.[len] := x; + string_set buff.val len x; succ len }; value mstore len s = diff -urN camlp5-6.11/etc/pr_schemep.ml camlp5-6.12-63a8c30f/etc/pr_schemep.ml --- camlp5-6.11/etc/pr_schemep.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/pr_schemep.ml 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_schemep.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* pr_schemep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #directory "."; diff -urN camlp5-6.11/etc/q_phony.ml camlp5-6.12-63a8c30f/etc/q_phony.ml --- camlp5-6.11/etc/q_phony.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/etc/q_phony.ml 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: q_phony.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* q_phony.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #directory "."; diff -urN camlp5-6.11/.gitignore camlp5-6.12-63a8c30f/.gitignore --- camlp5-6.11/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/.gitignore 2014-08-01 10:14:54.283065418 +0100 @@ -0,0 +1,2 @@ +*.o +myconfig diff -urN camlp5-6.11/ICHANGES camlp5-6.12-63a8c30f/ICHANGES --- camlp5-6.11/ICHANGES 2010-12-05 00:58:48.000000000 +0000 +++ camlp5-6.12-63a8c30f/ICHANGES 2014-08-01 10:14:54.283065418 +0100 @@ -1,6 +1,12 @@ Internal, very small, undocumented, or invisible changes ******************************************************** +Camlp5 Version 6.12: +-------------------- +* [20 Jan 14] Removed W3C icon image (in documentation) that should + not be in Camlp5 distribution (violates Debian guidelines, in + particular). + Camlp5 Version 6.02.1: ---------------------- diff -urN camlp5-6.11/lib/.cvsignore camlp5-6.12-63a8c30f/lib/.cvsignore --- camlp5-6.11/lib/.cvsignore 2010-09-15 17:00:22.000000000 +0100 +++ camlp5-6.12-63a8c30f/lib/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -*.a -*.cm[oiax] -*.cmxa -*.lib diff -urN camlp5-6.11/lib/.depend camlp5-6.12-63a8c30f/lib/.depend --- camlp5-6.11/lib/.depend 2010-09-15 17:00:22.000000000 +0100 +++ camlp5-6.12-63a8c30f/lib/.depend 2014-08-01 10:14:54.296065426 +0100 @@ -19,8 +19,8 @@ plexer.cmo: plexer.cmi plexing.cmi ploc.cmi versdep.cmo plexer.cmx: plexer.cmi plexing.cmx ploc.cmx versdep.cmx plexer.cmi: plexing.cmi -plexing.cmo: plexing.cmi ploc.cmi -plexing.cmx: plexing.cmi ploc.cmx +plexing.cmo: plexing.cmi ploc.cmi versdep.cmo +plexing.cmx: plexing.cmi ploc.cmx versdep.cmx plexing.cmi: ploc.cmi ploc.cmo: ploc.cmi ploc.cmx: ploc.cmi diff -urN camlp5-6.11/lib/diff.ml camlp5-6.12-63a8c30f/lib/diff.ml --- camlp5-6.11/lib/diff.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/diff.ml 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: diff.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* diff.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* Parts of Code of GNU diff (analyze.c) translated from C to OCaml diff -urN camlp5-6.11/lib/diff.mli camlp5-6.12-63a8c30f/lib/diff.mli --- camlp5-6.11/lib/diff.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/diff.mli 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: diff.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* diff.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Differences between two arrays. *) diff -urN camlp5-6.11/lib/eprinter.ml camlp5-6.12-63a8c30f/lib/eprinter.ml --- camlp5-6.11/lib/eprinter.ml 2012-03-08 10:43:30.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/eprinter.ml 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: eprinter.ml,v 6.4 2012-03-08 10:43:30 deraugla Exp $ *) +(* eprinter.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; diff -urN camlp5-6.11/lib/eprinter.mli camlp5-6.12-63a8c30f/lib/eprinter.mli --- camlp5-6.11/lib/eprinter.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/eprinter.mli 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: eprinter.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* eprinter.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Extensible printers. diff -urN camlp5-6.11/lib/extfold.ml camlp5-6.12-63a8c30f/lib/extfold.ml --- camlp5-6.11/lib/extfold.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/extfold.ml 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: extfold.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* extfold.ml,v *) (* Copyright (c) INRIA 2007-2012 *) type t 'te 'a 'b = diff -urN camlp5-6.11/lib/extfold.mli camlp5-6.12-63a8c30f/lib/extfold.mli --- camlp5-6.11/lib/extfold.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/extfold.mli 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: extfold.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* extfold.mli,v *) (* Copyright (c) INRIA 2007-2012 *) type t 'te 'a 'b = diff -urN camlp5-6.11/lib/extfun.ml camlp5-6.12-63a8c30f/lib/extfun.ml --- camlp5-6.11/lib/extfun.ml 2012-03-08 14:01:06.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/extfun.ml 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: extfun.ml,v 6.4 2012-03-08 14:01:06 deraugla Exp $ *) +(* extfun.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* Extensible Functions *) diff -urN camlp5-6.11/lib/extfun.mli camlp5-6.12-63a8c30f/lib/extfun.mli --- camlp5-6.11/lib/extfun.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/extfun.mli 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: extfun.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* extfun.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Extensible functions. diff -urN camlp5-6.11/lib/fstream.ml camlp5-6.12-63a8c30f/lib/fstream.ml --- camlp5-6.11/lib/fstream.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/fstream.ml 2014-08-01 10:14:54.296065426 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: fstream.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* fstream.ml,v *) (* Copyright (c) INRIA 2007-2012 *) type mlazy_c 'a = diff -urN camlp5-6.11/lib/fstream.mli camlp5-6.12-63a8c30f/lib/fstream.mli --- camlp5-6.11/lib/fstream.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/fstream.mli 2014-08-01 10:14:54.297065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: fstream.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* fstream.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (* Module [Fstream]: functional streams *) diff -urN camlp5-6.11/lib/.gitignore camlp5-6.12-63a8c30f/lib/.gitignore --- camlp5-6.11/lib/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/lib/.gitignore 2014-08-01 10:14:54.296065426 +0100 @@ -0,0 +1,4 @@ +*.a +*.cm[oiax] +*.cmxa +*.lib diff -urN camlp5-6.11/lib/gramext.ml camlp5-6.12-63a8c30f/lib/gramext.ml --- camlp5-6.11/lib/gramext.ml 2013-01-28 09:27:12.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/gramext.ml 2014-08-01 10:14:54.297065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: gramext.ml,v 6.8 2013-01-28 09:27:12 deraugla Exp $ *) +(* gramext.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Printf; diff -urN camlp5-6.11/lib/gramext.mli camlp5-6.12-63a8c30f/lib/gramext.mli --- camlp5-6.11/lib/gramext.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/gramext.mli 2014-08-01 10:14:54.297065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: gramext.mli,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) +(* gramext.mli,v *) (* Copyright (c) INRIA 2007-2012 *) type parser_t 'a = Stream.t 'a -> Obj.t; diff -urN camlp5-6.11/lib/grammar.ml camlp5-6.12-63a8c30f/lib/grammar.ml --- camlp5-6.11/lib/grammar.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/grammar.ml 2014-08-01 10:14:54.297065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: grammar.ml,v 6.6 2012-01-09 14:22:21 deraugla Exp $ *) +(* grammar.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_fstream.cmo"; @@ -17,7 +17,32 @@ List.map (fun l -> [n :: l]) (flatten_tree s) @ flatten_tree b ] ; -value print_str ppf s = fprintf ppf "\"%s\"" (String.escaped s); +value utf8_print = ref True; + +value utf8_string_escaped s = + let b = Buffer.create (String.length s) in + loop 0 where rec loop i = + if i = String.length s then Buffer.contents b + else do { + match s.[i] with + | '"' → Buffer.add_string b "\\\"" + | '\\' → Buffer.add_string b "\\\\" + | '\n' → Buffer.add_string b "\\n" + | '\t' → Buffer.add_string b "\\t" + | '\r' → Buffer.add_string b "\\r" + | '\b' → Buffer.add_string b "\\b" + | c → Buffer.add_char b c + end; + loop (i + 1) + } +; + +value string_escaped s = + if utf8_print.val then utf8_string_escaped s + else String.escaped s +; + +value print_str ppf s = fprintf ppf "\"%s\"" (string_escaped s); value rec print_symbol ppf = fun diff -urN camlp5-6.11/lib/grammar.mli camlp5-6.12-63a8c30f/lib/grammar.mli --- camlp5-6.11/lib/grammar.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/grammar.mli 2014-08-01 10:14:54.297065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: grammar.mli,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) +(* grammar.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Extensible grammars. @@ -201,6 +201,10 @@ (** Flag to apply strict parsing, without trying to recover errors; default = [False] *) +value utf8_print : ref bool; + (** Flag to consider strings as utf8-encoded when printing them; + default = [True] *) + value print_entry : Format.formatter -> Gramext.g_entry 'te -> unit; (** General printer for all kinds of entries (obj entries) *) diff -urN camlp5-6.11/lib/Makefile camlp5-6.12-63a8c30f/lib/Makefile --- camlp5-6.11/lib/Makefile 2012-03-01 03:33:18.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/Makefile 2014-08-01 10:14:54.296065426 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.2 2012-03-01 03:33:18 deraugla Exp $ +# Makefile,v TOP=.. include $(TOP)/config/Makefile diff -urN camlp5-6.11/lib/plexer.ml camlp5-6.12-63a8c30f/lib/plexer.ml --- camlp5-6.11/lib/plexer.ml 2013-07-03 02:43:10.000000000 +0100 +++ camlp5-6.12-63a8c30f/lib/plexer.ml 2014-08-01 10:14:54.298065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: plexer.ml,v 6.19 2013-07-03 01:43:10 deraugla Exp $ *) +(* plexer.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_lexer.cmo"; @@ -39,10 +39,10 @@ ; value rev_implode l = - let s = String.create (List.length l) in + let s = string_create (List.length l) in loop (String.length s - 1) l where rec loop i = fun - [ [c :: l] -> do { String.unsafe_set s i c; loop (i - 1) l } + [ [c :: l] -> do { string_unsafe_set s i c; loop (i - 1) l } | [] -> s ] ; diff -urN camlp5-6.11/lib/plexer.mli camlp5-6.12-63a8c30f/lib/plexer.mli --- camlp5-6.11/lib/plexer.mli 2013-06-14 04:03:31.000000000 +0100 +++ camlp5-6.12-63a8c30f/lib/plexer.mli 2014-08-01 10:14:54.298065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: plexer.mli,v 6.4 2013-06-14 03:03:31 deraugla Exp $ *) +(* plexer.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** This module contains the lexer used for ocaml syntax (revised and diff -urN camlp5-6.11/lib/plexing.ml camlp5-6.12-63a8c30f/lib/plexing.ml --- camlp5-6.11/lib/plexing.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/plexing.ml 2014-08-01 10:14:54.298065427 +0100 @@ -1,7 +1,9 @@ (* camlp5r *) -(* $Id: plexing.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) +(* plexing.ml,v *) (* Copyright (c) INRIA 2007-2012 *) +open Versdep; + type pattern = (string * string); exception Error of string; @@ -75,7 +77,8 @@ let lb = Lexing.from_function (fun s n -> - try do { s.[0] := Stream.next cs; 1 } with [ Stream.Failure -> 0 ]) + try do { string_set s 0 (Stream.next cs); 1 } with + [ Stream.Failure -> 0 ]) in let next_token_loc _ = let tok = lexfun lb in @@ -87,12 +90,12 @@ (* Char and string tokens to real chars and string *) -value buff = ref (String.create 80); +value buff = ref (string_create 80); value store len x = do { if len >= String.length buff.val then - buff.val := buff.val ^ String.create (String.length buff.val) + buff.val := buff.val ^ string_create (String.length buff.val) else (); - buff.val.[len] := x; + string_set buff.val len x; succ len }; value get_buff len = String.sub buff.val 0 len; @@ -215,10 +218,10 @@ (* The lexing buffer used by pa_lexer.cmo *) value rev_implode l = - let s = String.create (List.length l) in + let s = string_create (List.length l) in loop (String.length s - 1) l where rec loop i = fun - [ [c :: l] -> do { String.unsafe_set s i c; loop (i - 1) l } + [ [c :: l] -> do { string_unsafe_set s i c; loop (i - 1) l } | [] -> s ] ; diff -urN camlp5-6.11/lib/plexing.mli camlp5-6.12-63a8c30f/lib/plexing.mli --- camlp5-6.11/lib/plexing.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/plexing.mli 2014-08-01 10:14:54.298065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: plexing.mli,v 6.5 2012-01-09 14:22:21 deraugla Exp $ *) +(* plexing.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Lexing for Camlp5 grammars. diff -urN camlp5-6.11/lib/ploc.ml camlp5-6.12-63a8c30f/lib/ploc.ml --- camlp5-6.11/lib/ploc.ml 2012-03-09 12:43:14.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/ploc.ml 2014-08-01 10:14:54.298065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: ploc.ml,v 6.13 2012-03-09 12:43:14 deraugla Exp $ *) +(* ploc.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; @@ -23,12 +23,12 @@ ; value make_unlined (bp, ep) = - {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; + {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; bp = bp; ep = ep; comm = ""; ecomm = ""} ; value dummy = - {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; + {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; bp = 0; ep = 0; comm = ""; ecomm = ""} ; diff -urN camlp5-6.11/lib/ploc.mli camlp5-6.12-63a8c30f/lib/ploc.mli --- camlp5-6.11/lib/ploc.mli 2012-03-09 11:03:05.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/ploc.mli 2014-08-01 10:14:54.298065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: ploc.mli,v 6.9 2012-03-09 11:03:05 deraugla Exp $ *) +(* ploc.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Locations and some pervasive type and value. *) diff -urN camlp5-6.11/lib/pprintf.ml camlp5-6.12-63a8c30f/lib/pprintf.ml --- camlp5-6.11/lib/pprintf.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/pprintf.ml 2014-08-01 10:14:54.298065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pprintf.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* pprintf.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; diff -urN camlp5-6.11/lib/pprintf.mli camlp5-6.12-63a8c30f/lib/pprintf.mli --- camlp5-6.11/lib/pprintf.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/pprintf.mli 2014-08-01 10:14:54.298065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pprintf.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* pprintf.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Definitions for pprintf statement. diff -urN camlp5-6.11/lib/pretty.ml camlp5-6.12-63a8c30f/lib/pretty.ml --- camlp5-6.11/lib/pretty.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/pretty.ml 2014-08-01 10:14:54.298065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pretty.ml,v 6.4 2012-01-09 14:22:21 deraugla Exp $ *) +(* pretty.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; diff -urN camlp5-6.11/lib/pretty.mli camlp5-6.12-63a8c30f/lib/pretty.mli --- camlp5-6.11/lib/pretty.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/pretty.mli 2014-08-01 10:14:54.298065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pretty.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* pretty.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Pretty printing on strings *) diff -urN camlp5-6.11/lib/stdpp.ml camlp5-6.12-63a8c30f/lib/stdpp.ml --- camlp5-6.11/lib/stdpp.ml 2012-03-03 09:06:39.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/stdpp.ml 2014-08-01 10:14:54.298065427 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: stdpp.ml,v 6.7 2012-03-03 09:06:39 deraugla Exp $ *) +(* stdpp.ml,v *) (* Copyright (c) INRIA 2007-2012 *) type location = Ploc.t; diff -urN camlp5-6.11/lib/stdpp.mli camlp5-6.12-63a8c30f/lib/stdpp.mli --- camlp5-6.11/lib/stdpp.mli 2012-03-15 07:05:39.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/stdpp.mli 2014-08-01 10:14:54.299065428 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: stdpp.mli,v 6.5 2012-03-15 07:05:39 deraugla Exp $ *) +(* stdpp.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Module deprecated since Camlp5 version 5.00. Use now module Ploc. diff -urN camlp5-6.11/lib/token.ml camlp5-6.12-63a8c30f/lib/token.ml --- camlp5-6.11/lib/token.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/token.ml 2014-08-01 10:14:54.299065428 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: token.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* token.ml,v *) (* Copyright (c) INRIA 2007-2012 *) type pattern = Plexing.pattern; diff -urN camlp5-6.11/lib/token.mli camlp5-6.12-63a8c30f/lib/token.mli --- camlp5-6.11/lib/token.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/lib/token.mli 2014-08-01 10:14:54.299065428 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: token.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* token.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Module deprecated since Camlp5 version 5.00. Use now module Plexing. diff -urN camlp5-6.11/lib/versdep.ml camlp5-6.12-63a8c30f/lib/versdep.ml --- camlp5-6.11/lib/versdep.ml 2013-06-10 16:57:21.000000000 +0100 +++ camlp5-6.12-63a8c30f/lib/versdep.ml 2014-08-01 10:14:54.299065428 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* $Id: versdep.ml,v 6.36 2013-06-10 15:57:21 deraugla Exp $ *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree; @@ -94,22 +94,72 @@ | [] -> Some (List.rev rev_l) ] ; -value ocaml_value_description t p = +value ocaml_value_description vn t p = IFDEF OCAML_VERSION < OCAML_4_00 THEN {pval_type = t; pval_prim = p} - ELSE {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} + ELSE + {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc; + pval_name = mkloc t.ptyp_loc vn; pval_attributes = []} + END ; value ocaml_class_type_field loc ctfd = IFDEF OCAML_VERSION < OCAML_4_00 THEN ctfd - ELSE {pctf_desc = ctfd; pctf_loc = loc} END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + {pctf_desc = ctfd; pctf_loc = loc} + ELSE + {pctf_desc = ctfd; pctf_loc = loc; pctf_attributes = []} + END ; value ocaml_class_field loc cfd = IFDEF OCAML_VERSION < OCAML_4_00 THEN cfd - ELSE {pcf_desc = cfd; pcf_loc = loc} END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pcf_desc = cfd; pcf_loc = loc} + ELSE {pcf_desc = cfd; pcf_loc = loc; pcf_attributes = []} END +; + +value ocaml_mktyp loc x = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {ptyp_desc = x; ptyp_loc = loc} + ELSE {ptyp_desc = x; ptyp_loc = loc; ptyp_attributes = []} END +; +value ocaml_mkpat loc x = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {ppat_desc = x; ppat_loc = loc} + ELSE {ppat_desc = x; ppat_loc = loc; ppat_attributes = []} END +; +value ocaml_mkexp loc x = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pexp_desc = x; pexp_loc = loc} + ELSE {pexp_desc = x; pexp_loc = loc; pexp_attributes = []} END +; +value ocaml_mkmty loc x = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pmty_desc = x; pmty_loc = loc} + ELSE {pmty_desc = x; pmty_loc = loc; pmty_attributes = []} END +; +value ocaml_mkmod loc x = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN {pmod_desc = x; pmod_loc = loc} + ELSE {pmod_desc = x; pmod_loc = loc; pmod_attributes = []} END +; +value ocaml_mkfield loc (lab, x) fl = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + [{pfield_desc = Pfield lab x; pfield_loc = loc} :: fl] + ELSE [(lab, x) :: fl] END +; +value ocaml_mkfield_var loc = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + [{pfield_desc = Pfield_var; pfield_loc = loc}] + ELSE [] END ; -value ocaml_type_declaration params cl tk pf tm loc variance = +IFDEF OCAML_VERSION >= OCAML_4_02_0 THEN + value variance_of_bool_bool = + fun + [ (False, True) -> Contravariant + | (True, False) -> Covariant + | _ -> Invariant ] + ; +END; + +value ocaml_type_declaration tn params cl tk pf tm loc variance = IFDEF OCAML_VERSION = OCAML_3_13_0_gadt THEN Right {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; @@ -147,12 +197,28 @@ {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; ptype_variance = variance} - ELSE - let params = List.map (fun os -> Some (mknoloc os)) params in + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + let params = List.map (fun os -> Some (mkloc loc os)) params in Right {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; ptype_variance = variance} + ELSE + let _ = + if List.length params <> List.length variance then + failwith "internal error: ocaml_type_declaration" + else () + in + let params = + List.map2 + (fun os va -> + (ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va)) + params variance + in + Right + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; + ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; + ptype_name = mkloc loc tn; ptype_attributes = []} END | None -> Left "no '_' type param in this ocaml version" ] END @@ -160,22 +226,35 @@ value ocaml_class_type = IFDEF OCAML_VERSION <= OCAML_1_07 THEN None - ELSE Some (fun d loc -> {pcty_desc = d; pcty_loc = loc}) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Some (fun d loc -> {pcty_desc = d; pcty_loc = loc}) + ELSE + Some (fun d loc -> {pcty_desc = d; pcty_loc = loc; pcty_attributes = []}) + END ; value ocaml_class_expr = IFDEF OCAML_VERSION <= OCAML_1_07 THEN None - ELSE Some (fun d loc -> {pcl_desc = d; pcl_loc = loc}) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Some (fun d loc -> {pcl_desc = d; pcl_loc = loc}) + ELSE + Some (fun d loc -> {pcl_desc = d; pcl_loc = loc; pcl_attributes = []}) + END ; value ocaml_class_structure p cil = IFDEF OCAML_VERSION <= OCAML_4_00 THEN (p, cil) - ELSE {pcstr_pat = p; pcstr_fields = cil} END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + {pcstr_pat = p; pcstr_fields = cil} + ELSE {pcstr_self = p; pcstr_fields = cil} END ; value ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li); -value ocaml_pmty_functor sloc s mt1 mt2 = Pmty_functor (mkloc sloc s) mt1 mt2; +value ocaml_pmty_functor sloc s mt1 mt2 = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pmty_functor (mkloc sloc s) mt1 mt2 + ELSE Pmty_functor (mkloc sloc s) (Some mt1) mt2 END +; value ocaml_pmty_typeof = IFDEF OCAML_VERSION < OCAML_3_12 THEN None @@ -183,8 +262,12 @@ ; value ocaml_pmty_with mt lcl = - let lcl = List.map (fun (s, c) → (mknoloc s, c)) lcl in - Pmty_with mt lcl + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + let lcl = List.map (fun (s, c) → (mknoloc s, c)) lcl in + Pmty_with mt lcl + ELSE + let lcl = List.map snd lcl in Pmty_with mt lcl + END ; value ocaml_ptype_abstract = @@ -209,9 +292,16 @@ Ptype_record ltl priv ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN Ptype_record ltl - ELSE + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Ptype_record (List.map (fun (s, mf, ct, loc) → (mkloc loc s, mf, ct, loc)) ltl) + ELSE + Ptype_record + (List.map + (fun (s, mf, ct, loc) -> + {pld_name = mkloc loc s; pld_mutable = mf; pld_type = ct; + pld_loc = loc; pld_attributes = []}) + ltl) END ; @@ -250,7 +340,7 @@ ctl in Some (Ptype_variant ctl) - ELSE + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN let ctl = List.map (fun (c, tl, rto, loc) -> @@ -258,6 +348,17 @@ ctl in Some (Ptype_variant ctl) + ELSE + let ctl = + List.map + (fun (c, tl, rto, loc) -> + if rto <> None then raise Exit + else + {pcd_name = mkloc loc c; pcd_args = tl; pcd_res = None; + pcd_loc = loc; pcd_attributes = []}) + ctl + in + Some (Ptype_variant ctl) END with [ Exit -> None ] @@ -271,10 +372,19 @@ value ocaml_ptyp_class li tl ll = IFDEF OCAML_VERSION <= OCAML_2_04 THEN Ptyp_class li tl - ELSE Ptyp_class (mknoloc li) tl ll END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Ptyp_class (mknoloc li) tl ll + ELSE Ptyp_class (mknoloc li) tl END ; -value ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li) tl; +value ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li) tl; + +value ocaml_ptyp_object ml = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Ptyp_object ml + ELSE + let ml = List.map (fun (s, t) -> (s, [], t)) ml in + Ptyp_object ml Closed + END +; value ocaml_ptyp_package = IFDEF OCAML_VERSION < OCAML_3_12_0 THEN None @@ -283,7 +393,15 @@ value ocaml_ptyp_poly = IFDEF OCAML_VERSION <= OCAML_3_04 THEN None - ELSE Some (fun cl t -> Ptyp_poly cl t) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Some (fun cl t -> Ptyp_poly cl t) + ELSE + Some + (fun cl t -> + match cl with + [ [] -> t.ptyp_desc + | _ -> Ptyp_poly cl t ]) + END ; value ocaml_ptyp_variant catl clos sl_opt = @@ -301,7 +419,7 @@ Some (Ptyp_variant catl clos sl) with [ Exit -> None ] - ELSE + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN let catl = List.map (fun @@ -310,6 +428,16 @@ catl in Some (Ptyp_variant catl clos sl_opt) + ELSE + let catl = + List.map + (fun + [ Left (c, a, tl) -> Rtag c [] a tl + | Right t -> Rinherit t ]) + catl + in + let clos = if clos then Closed else Open in + Some (Ptyp_variant catl clos sl_opt) END ; @@ -317,6 +445,11 @@ (mknoloc li, List.map (fun (li, t) → (mkloc t.ptyp_loc li, t)) ltl) ; +value ocaml_const_string s = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Const_string s + ELSE Const_string s None END +; + value ocaml_const_int32 = IFDEF OCAML_VERSION <= OCAML_3_06 THEN None ELSE Some (fun s -> Const_int32 (Int32.of_string s)) END @@ -350,7 +483,11 @@ let bucket = ghexp (Pexp_construct excep (Some triple) False) in let raise_ = ghexp (Pexp_ident (Ldot (Lident "Pervasives") "raise")) in ocaml_pexp_apply raise_ [("", bucket)] - ELSE Pexp_assertfalse END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_assertfalse + ELSE + Pexp_assert + (ocaml_mkexp loc (Pexp_construct (mkloc loc (Lident "false")) None)) + END ; value ocaml_pexp_assert fname loc e = @@ -377,17 +514,84 @@ ELSE Pexp_assert e END ; +value ocaml_pexp_constraint e ot1 ot2 = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_constraint e ot1 ot2 + ELSE + match ot2 with + | Some t2 -> Pexp_coerce e ot1 t2 + | None -> + match ot1 with + | Some t1 -> Pexp_constraint e t1 + | None -> failwith "internal error: ocaml_pexp_constraint" + end + end + END +; + value ocaml_pexp_construct loc li po chk_arity = - Pexp_construct (mkloc loc li) po chk_arity + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Pexp_construct (mkloc loc li) po chk_arity + ELSE + Pexp_construct (mkloc loc li) po + END +; + +value ocaml_pexp_construct_args = + IFDEF OCAML_VERSION < OCAML_4_00_0 THEN + fun + [ Pexp_construct li po chk_arity -> Some (li, 0, po, chk_arity) + | _ -> None ] + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + fun + [ Pexp_construct li po chk_arity -> Some (li.txt, li.loc, po, chk_arity) + | _ -> None ] + ELSE + fun + [ Pexp_construct li po -> Some (li.txt, li.loc, po, 0) + | _ -> None ] + END +; + +value mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) True) + ELSE + {pexp_desc = ocaml_pexp_construct li_loc li (Some a) True; + pexp_loc = loc; + pexp_attributes = [(mkloc loc "ocaml.explicit_arity", PStr [])]} + END ; value ocaml_pexp_field loc e li = Pexp_field e (mkloc loc li); -value ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i) e1 e2 df e; +value ocaml_pexp_for i e1 e2 df e = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_for (mknoloc i) e1 e2 df e + ELSE Pexp_for (ocaml_mkpat loc_none (Ppat_var (mknoloc i))) e1 e2 df e END +; + +value ocaml_case (p, wo, loc, e) = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + match wo with + | Some w -> (p, ocaml_mkexp loc (Pexp_when w e)) + | None -> (p, e) + end + ELSE + {pc_lhs = p; pc_guard = wo; pc_rhs = e} + END +; value ocaml_pexp_function lab eo pel = IFDEF OCAML_VERSION <= OCAML_2_04 THEN Pexp_function pel - ELSE Pexp_function lab eo pel END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pexp_function lab eo pel + ELSE + match pel with + | [{pc_lhs = p; pc_guard = None; pc_rhs = e}] -> Pexp_fun lab eo p e + | pel -> + if lab = "" && eo = None then Pexp_function pel + else failwith "internal error: bad ast in ocaml_pexp_function" + end + END ; value ocaml_pexp_lazy = @@ -469,6 +673,11 @@ END ; +value ocaml_value_binding loc p e = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN (p, e) + ELSE {pvb_pat = p; pvb_expr = e; pvb_loc = loc; pvb_attributes = []} END +; + value ocaml_ppat_alias p i iloc = Ppat_alias p (mkloc iloc i); value ocaml_ppat_array = @@ -476,20 +685,40 @@ ELSE Some (fun pl -> Ppat_array pl) END ; -value ocaml_ppat_construct li li_loc po chk_arity = +value ocaml_ppat_construct loc li po chk_arity = IFDEF OCAML_VERSION < OCAML_4_00 THEN Ppat_construct li po chk_arity + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Ppat_construct (mkloc loc li) po chk_arity ELSE - Ppat_construct (mkloc li_loc li) po chk_arity + Ppat_construct (mkloc loc li) po END ; value ocaml_ppat_construct_args = - fun - [ Ppat_construct li po chk_arity -> - IFDEF OCAML_VERSION < OCAML_4_00 THEN Some (li, 0, po, chk_arity) - ELSE Some (li.txt, li.loc, po, chk_arity) END - | _ -> None ] + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + fun + [ Ppat_construct li po chk_arity -> + IFDEF OCAML_VERSION < OCAML_4_00 THEN Some (li, 0, po, chk_arity) + ELSE Some (li.txt, li.loc, po, chk_arity) END + | _ -> None ] + ELSE + fun + [ Ppat_construct li po -> Some (li.txt, li.loc, po, 0) + | _ -> None ] + END +; + +value mkpat_ocaml_ppat_construct_arity loc li_loc li al = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) True) + ELSE + let a = ocaml_mkpat loc (Ppat_tuple al) in + {ppat_desc = ocaml_ppat_construct li_loc li (Some a) True; + ppat_loc = loc; + ppat_attributes = [(mkloc loc "ocaml.explicit_arity", PStr [])]} + END ; value ocaml_ppat_lazy = @@ -535,80 +764,206 @@ ELSE Some (fun ctl -> Psig_class_type ctl) END ; -value ocaml_psig_exception s ed = Psig_exception (mknoloc s) ed; +value ocaml_psig_exception loc s ed = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_exception (mkloc loc s) ed + ELSE + Psig_exception + {pext_name = mkloc loc s; pext_kind = Pext_decl ed None; + pext_loc = loc; pext_attributes = []} + END +; + +value ocaml_psig_include loc mt = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_include mt + ELSE + Psig_include {pincl_mod = mt; pincl_loc = loc; pincl_attributes = []} + END +; -value ocaml_psig_module s mt = Psig_module (mknoloc s) mt; +value ocaml_psig_module loc s mt = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_module (mknoloc s) mt + ELSE + Psig_module + {pmd_name = mkloc loc s; pmd_type = mt; pmd_attributes = []; + pmd_loc = loc} + END +; -value ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s) mtd; +value ocaml_psig_modtype loc s mto = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + let mtd = + match mto with + | None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + end + in + Psig_modtype (mknoloc s) mtd + ELSE + let pmtd = + {pmtd_name = mkloc loc s; pmtd_type = mto; pmtd_attributes = []; + pmtd_loc = loc} + in + Psig_modtype pmtd + END +; -value ocaml_psig_open li = - IFDEF OCAML_VERSION < OCAML_4_01 THEN Psig_open (mknoloc li) - ELSE Psig_open Fresh (mknoloc li) END +value ocaml_psig_open loc li = + IFDEF OCAML_VERSION < OCAML_4_01 THEN Psig_open (mkloc loc li) + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_open Fresh (mkloc loc li) + ELSE + Psig_open + {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; + popen_attributes = []} + END ; value ocaml_psig_recmodule = IFDEF OCAML_VERSION <= OCAML_3_06 THEN None - ELSE + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN let f ntl = let ntl = List.map (fun (s, mt) → (mknoloc s, mt)) ntl in Psig_recmodule ntl in Some f + ELSE + let f ntl = + let ntl = + List.map + (fun (s, mt) -> + {pmd_name = mknoloc s; pmd_type = mt; pmd_attributes = []; + pmd_loc = loc_none}) + ntl + in + Psig_recmodule ntl + in + Some f END ; value ocaml_psig_type stl = - let stl = List.map (fun (s, t) → (mknoloc s, t)) stl in - Psig_type stl + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + let stl = List.map (fun (s, t) → (mknoloc s, t)) stl in + Psig_type stl + ELSE + let stl = List.map (fun (s, t) -> t) stl in Psig_type stl + END ; -value ocaml_psig_value s vd = Psig_value (mknoloc s) vd; +value ocaml_psig_value s vd = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Psig_value (mknoloc s) vd + ELSE Psig_value vd END +; value ocaml_pstr_class_type = IFDEF OCAML_VERSION <= OCAML_1_07 THEN None ELSE Some (fun ctl -> Pstr_class_type ctl) END ; -value ocaml_pstr_exception s ed = Pstr_exception (mknoloc s) ed; +value ocaml_pstr_eval e = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_eval e + ELSE Pstr_eval e [] END +; + +value ocaml_pstr_exception loc s ed = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_exception (mkloc loc s) ed + ELSE + Pstr_exception + {pext_name = mkloc loc s; pext_kind = Pext_decl ed None; + pext_loc = loc; pext_attributes = []} + END +; value ocaml_pstr_exn_rebind = IFDEF OCAML_VERSION <= OCAML_2_99 THEN None - ELSE Some (fun s li -> Pstr_exn_rebind (mknoloc s) (mknoloc li)) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s) (mkloc loc li)) + ELSE + Some + (fun loc s li -> + Pstr_exception + {pext_name = mkloc loc s; pext_kind = Pext_rebind (mkloc loc li); + pext_loc = loc; pext_attributes = []}) + END ; value ocaml_pstr_include = IFDEF OCAML_VERSION <= OCAML_3_00 THEN None - ELSE Some (fun me -> Pstr_include me) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Some (fun loc me -> Pstr_include me) + ELSE + Some + (fun loc me -> + Pstr_include + {pincl_mod = me; pincl_loc = loc; pincl_attributes = []}) + END ; -value ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s) mt; +value ocaml_pstr_modtype loc s mt = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_modtype (mkloc loc s) mt + ELSE + let pmtd = + {pmtd_name = mkloc loc s; pmtd_type = Some mt; pmtd_attributes = []; + pmtd_loc = loc} + in + Pstr_modtype pmtd + END +; -value ocaml_pstr_module s me = Pstr_module (mknoloc s) me; +value ocaml_pstr_module loc s me = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_module (mkloc loc s) me + ELSE + let mb = + {pmb_name = mkloc loc s; pmb_expr = me; pmb_attributes = []; + pmb_loc = loc} + in + Pstr_module mb + END +; -value ocaml_pstr_open li = +value ocaml_pstr_open loc li = IFDEF OCAML_VERSION < OCAML_4_01 THEN Pstr_open (mknoloc li) - ELSE Pstr_open Fresh (mknoloc li) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_open Fresh (mknoloc li) + ELSE + Pstr_open + {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; + popen_attributes = []} + END ; -value ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s) vd; +value ocaml_pstr_primitive s vd = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pstr_primitive (mknoloc s) vd + ELSE Pstr_primitive vd END +; value ocaml_pstr_recmodule = IFDEF OCAML_VERSION <= OCAML_3_06 THEN None ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN Some (fun nel -> Pstr_recmodule nel) - ELSE + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN let f nel = Pstr_recmodule (List.map (fun (s, mt, me) → (mknoloc s, mt, me)) nel) in Some f + ELSE + let f nel = + Pstr_recmodule + (List.map + (fun (s, mt, me) -> + {pmb_name = mknoloc s; pmb_expr = me; pmb_attributes = []; + pmb_loc = loc_none}) + nel) + in + Some f END ; value ocaml_pstr_type stl = IFDEF OCAML_VERSION < OCAML_4_00 THEN Pstr_type stl - ELSE + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN let stl = List.map (fun (s, t) → (mknoloc s, t)) stl in Pstr_type stl + ELSE + let stl = List.map (fun (s, t) -> t) stl in Pstr_type stl END ; @@ -619,18 +974,37 @@ (fun virt params name expr loc variance -> {pci_virt = virt; pci_params = params; pci_name = name; pci_expr = expr; pci_loc = loc}) - ELSE + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Some (fun virt (sl, sloc) name expr loc variance -> let params = (List.map (fun s → mkloc loc s) sl, sloc) in {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; pci_expr = expr; pci_loc = loc; pci_variance = variance}) + ELSE + Some + (fun virt (sl, sloc) name expr loc variance -> + let _ = + if List.length sl <> List.length variance then + failwith "internal error: ocaml_class_infos" + else () + in + let params = + List.map2 + (fun os va -> + (ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va)) + sl variance + in + {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; + pci_expr = expr; pci_loc = loc; pci_attributes = []}) END ; value ocaml_pmod_ident li = Pmod_ident (mknoloc li); -value ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s) mt me; +value ocaml_pmod_functor s mt me = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pmod_functor (mknoloc s) mt me + ELSE Pmod_functor (mknoloc s) (Some mt) me END +; value ocaml_pmod_unpack = IFDEF OCAML_VERSION < OCAML_3_12 THEN None @@ -646,41 +1020,58 @@ IFDEF OCAML_VERSION <= OCAML_1_07 THEN None ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN Some (fun (t1, t2, loc) -> Pcf_cstr (t1, t2, loc)) - ELSE Some (fun (t1, t2, loc) -> Pcf_constr (t1, t2)) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Some (fun (t1, t2, loc) -> Pcf_constr (t1, t2)) + ELSE + Some (fun (t1, t2, loc) -> Pcf_constraint (t1, t2)) + END ; value ocaml_pcf_inher = IFDEF OCAML_VERSION <= OCAML_1_07 THEN fun (id, cl, el, loc) pb -> Pcf_inher (id, cl, el, pb, loc) - ELSIFDEF OCAML_VERSION >= OCAML_3_12 THEN + ELSIFDEF OCAML_VERSION < OCAML_3_12 THEN + fun ce pb -> Pcf_inher ce pb + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN fun ce pb -> Pcf_inher Fresh ce pb ELSE - fun ce pb -> Pcf_inher ce pb + fun ce pb -> Pcf_inherit Fresh ce pb END ; value ocaml_pcf_init = IFDEF OCAML_VERSION <= OCAML_1_07 THEN None - ELSE Some (fun e -> Pcf_init e) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Some (fun e -> Pcf_init e) + ELSE Some (fun e -> Pcf_initializer e) END ; value ocaml_pcf_meth (s, pf, ovf, e, loc) = let pf = if pf then Private else Public in - IFDEF OCAML_VERSION >= OCAML_3_12 THEN + IFDEF OCAML_VERSION < OCAML_3_12 THEN Pcf_meth (s, pf, e, loc) + ELSE let ovf = if ovf then Override else Fresh in IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_meth (s, pf, ovf, e, loc) - ELSE Pcf_meth (mkloc loc s, pf, ovf, e) END - ELSE Pcf_meth (s, pf, e, loc) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Pcf_meth (mkloc loc s, pf, ovf, e) + ELSE + Pcf_method (mkloc loc s, pf, Cfk_concrete ovf e) + END + END ; value ocaml_pcf_val (s, mf, ovf, e, loc) = let mf = if mf then Mutable else Immutable in IFDEF OCAML_VERSION <= OCAML_1_07 THEN Pcf_val (s, Public, mf, Some e, loc) - ELSIFDEF OCAML_VERSION >= OCAML_3_12 THEN + ELSIFDEF OCAML_VERSION < OCAML_3_12 THEN Pcf_val (s, mf, e, loc) + ELSE let ovf = if ovf then Override else Fresh in IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_val (s, mf, ovf, e, loc) - ELSE Pcf_val (mkloc loc s, mf, ovf, e) END - ELSE Pcf_val (s, mf, e, loc) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Pcf_val (mkloc loc s, mf, ovf, e) + ELSE + Pcf_val (mkloc loc s, mf, Cfk_concrete ovf e) + END + END ; value ocaml_pcf_valvirt = @@ -689,7 +1080,9 @@ let ocaml_pcf (s, mf, t, loc) = let mf = if mf then Mutable else Immutable in IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_valvirt (s, mf, t, loc) - ELSE Pcf_valvirt (mkloc loc s, mf, t) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Pcf_valvirt (mkloc loc s, mf, t) + ELSE Pcf_val (mkloc loc s, mf, Cfk_virtual t) END in Some ocaml_pcf END @@ -697,7 +1090,8 @@ value ocaml_pcf_virt (s, pf, t, loc) = IFDEF OCAML_VERSION < OCAML_4_00 THEN Pcf_virt (s, pf, t, loc) - ELSE Pcf_virt (mkloc loc s, pf, t) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pcf_virt (mkloc loc s, pf, t) + ELSE Pcf_val (mkloc loc s, Immutable, Cfk_virtual t) END ; value ocaml_pcl_apply = @@ -743,13 +1137,22 @@ IFDEF OCAML_VERSION <= OCAML_1_07 THEN None ELSIFDEF OCAML_VERSION < OCAML_4_00 THEN Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc)) + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2)) ELSE - Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2)) END + Some (fun (t1, t2, loc) -> Pctf_constraint (t1, t2)) + END +; + +value ocaml_pctf_inher ct = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pctf_inher ct + ELSE Pctf_inherit ct END ; value ocaml_pctf_meth (s, pf, t, loc) = IFDEF OCAML_VERSION < OCAML_4_00 THEN Pctf_meth (s, pf, t, loc) - ELSE Pctf_meth (s, pf, t) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pctf_meth (s, pf, t) + ELSE Pctf_method (s, pf, Concrete, t) END ; value ocaml_pctf_val (s, mf, t, loc) = @@ -761,7 +1164,8 @@ value ocaml_pctf_virt (s, pf, t, loc) = IFDEF OCAML_VERSION < OCAML_4_00 THEN Pctf_virt (s, pf, t, loc) - ELSE Pctf_virt (s, pf, t) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pctf_virt (s, pf, t) + ELSE Pctf_val (s, Immutable, Virtual, t) END ; value ocaml_pcty_constr = @@ -774,8 +1178,11 @@ None ELSIFDEF OCAML_VERSION <= OCAML_2_04 THEN Some (fun lab t ct -> Pcty_fun t ct) + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Some (fun lab t ct -> Pcty_fun lab t ct) ELSE - Some (fun lab t ct -> Pcty_fun lab t ct) END + Some (fun lab t ct -> Pcty_arrow lab t ct) + END ; value ocaml_pcty_signature = @@ -785,7 +1192,11 @@ ELSE let f (t, ctfl) = let cs = - {pcsig_self = t; pcsig_fields = ctfl; pcsig_loc = t.ptyp_loc} + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + {pcsig_self = t; pcsig_fields = ctfl; pcsig_loc = t.ptyp_loc} + ELSE + {pcsig_self = t; pcsig_fields = ctfl} + END in Pcty_signature cs in @@ -800,10 +1211,22 @@ value ocaml_pwith_modsubst = IFDEF OCAML_VERSION < OCAML_3_12_0 THEN None - ELSE Some (fun loc me -> Pwith_modsubst (mkloc loc me)) END + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) + ELSE + Some (fun loc me -> Pwith_modsubst (mkloc loc "") (mkloc loc me)) + END +; + +value ocaml_pwith_type loc (i, td) = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pwith_type td + ELSE Pwith_type (mkloc loc i) td END ; -value ocaml_pwith_module loc me = Pwith_module (mkloc loc me); +value ocaml_pwith_module loc me = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN Pwith_module (mkloc loc me) + ELSE Pwith_module (mkloc loc (Lident "")) (mkloc loc me) END +; value ocaml_pwith_typesubst = IFDEF OCAML_VERSION < OCAML_3_12_0 THEN None @@ -1009,3 +1432,18 @@ String.contains END ; + +value string_create = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN String.create + ELSE Bytes.create END +; + +value string_unsafe_set = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN String.unsafe_set + ELSE Bytes.unsafe_set END +; + +value string_set = + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN String.set + ELSE Bytes.set END +; diff -urN camlp5-6.11/main/argl.ml camlp5-6.12-63a8c30f/main/argl.ml --- camlp5-6.11/main/argl.ml 2012-03-01 03:33:18.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/argl.ml 2014-08-01 10:14:54.299065428 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: argl.ml,v 6.2 2012-03-01 03:33:18 deraugla Exp $ *) +(* argl.ml,v *) open Printf; open Versdep; diff -urN camlp5-6.11/main/argl.mli camlp5-6.12-63a8c30f/main/argl.mli --- camlp5-6.11/main/argl.mli 2010-09-15 17:00:24.000000000 +0100 +++ camlp5-6.12-63a8c30f/main/argl.mli 2014-08-01 10:14:54.299065428 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: argl.mli,v 6.1 2010-09-15 16:00:24 deraugla Exp $ *) +(* argl.mli,v *) value usage : list (string * Arg.spec * string) -> list (string * Arg.spec * string) -> diff -urN camlp5-6.11/main/ast2pt.ml camlp5-6.12-63a8c30f/main/ast2pt.ml --- camlp5-6.11/main/ast2pt.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/ast2pt.ml 2014-08-01 10:14:54.300065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: ast2pt.ml,v 6.53 2013-03-19 15:25:22 deraugla Exp $ *) +(* ast2pt.ml,v *) #load "q_MLast.cmo"; @@ -62,14 +62,16 @@ ocaml_location (glob_fname.val, lnum, bolp, lnuml, bolpl, bp, ep) ; -value mktyp loc d = {ptyp_desc = d; ptyp_loc = mkloc loc}; -value mkpat loc d = {ppat_desc = d; ppat_loc = mkloc loc}; -value mkexp loc d = {pexp_desc = d; pexp_loc = mkloc loc}; -value mkmty loc d = {pmty_desc = d; pmty_loc = mkloc loc}; +value mktyp loc d = ocaml_mktyp (mkloc loc) d; +value mkpat loc d = ocaml_mkpat (mkloc loc) d; +value mkexp loc d = ocaml_mkexp (mkloc loc) d; +value mkmty loc d = ocaml_mkmty (mkloc loc) d; value mksig loc d = {psig_desc = d; psig_loc = mkloc loc}; -value mkmod loc d = {pmod_desc = d; pmod_loc = mkloc loc}; +value mkmod loc d = ocaml_mkmod (mkloc loc) d; value mkstr loc d = {pstr_desc = d; pstr_loc = mkloc loc}; -value mkfield loc d = {pfield_desc = d; pfield_loc = mkloc loc}; +value mkfield loc d fl = ocaml_mkfield (mkloc loc) d fl; +value mkfield_var loc = ocaml_mkfield_var (mkloc loc); + value mkcty loc d = match ocaml_class_type with [ Some class_type → class_type d (mkloc loc) @@ -87,9 +89,10 @@ let ghpat = mkpat loc in let ghexp = mkexp loc in let void_pat = - ghpat (ocaml_ppat_construct (Lident "()") (mkloc loc) None False) + ghpat (ocaml_ppat_construct (mkloc loc) (Lident "()") None False) in - let f = ghexp (ocaml_pexp_function "" None [(void_pat, e)]) in + let pwe = ocaml_case (void_pat, None, mkloc loc, e) in + let f = ghexp (ocaml_pexp_function "" None [pwe]) in let delayed = Ldot (Lident "Lazy") "Delayed" in let cloc = mkloc loc in let df = ghexp (ocaml_pexp_construct cloc delayed (Some f) False) in @@ -104,7 +107,7 @@ loop 0 0 where rec loop i j = if i = String.length s then String.sub s 0 j else if s.[i] = '_' then loop (i + 1) j - else do { s.[j] := s.[i]; loop (i + 1) (j + 1) } + else do { string_set s j s.[i]; loop (i + 1) (j + 1) } | None → s ] ; @@ -240,7 +243,7 @@ [ TyAcc loc _ _ as f → let (is_cls, li) = ctyp_long_id f in if is_cls then mktyp loc (ocaml_ptyp_class li [] []) - else mktyp loc (ocaml_ptyp_constr li []) + else mktyp loc (ocaml_ptyp_constr (mkloc loc) li []) | TyAli loc t1 t2 → let (t, i) = match (t1, t2) with @@ -254,7 +257,7 @@ let (f, al) = ctyp_fa [] f in let (is_cls, li) = ctyp_long_id f in if is_cls then mktyp loc (ocaml_ptyp_class li (List.map ctyp al) []) - else mktyp loc (ocaml_ptyp_constr li (List.map ctyp al)) + else mktyp loc (ocaml_ptyp_constr (mkloc loc) li (List.map ctyp al)) | TyArr loc (TyLab loc1 lab t1) t2 → mktyp loc (ocaml_ptyp_arrow (uv lab) (ctyp t1) (ctyp t2)) | TyArr loc (TyOlb loc1 lab t1) t2 → @@ -264,11 +267,11 @@ in mktyp loc (ocaml_ptyp_arrow ("?" ^ uv lab) (ctyp t1) (ctyp t2)) | TyArr loc t1 t2 → mktyp loc (ocaml_ptyp_arrow "" (ctyp t1) (ctyp t2)) - | TyObj loc fl v → mktyp loc (Ptyp_object (meth_list loc (uv fl) v)) + | TyObj loc fl v → mktyp loc (ocaml_ptyp_object (meth_list loc (uv fl) v)) | TyCls loc id → mktyp loc (ocaml_ptyp_class (long_id_of_string_list loc (uv id)) [] []) | TyLab loc _ _ → error loc "labeled type not allowed here" - | TyLid loc s → mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) + | TyLid loc s → mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) | TyMan loc _ _ _ → error loc "type manifest not allowed here" | TyOlb loc lab _ → error loc "labeled type not allowed here" | TyPck loc mt → @@ -286,7 +289,7 @@ | TyRec loc _ → error loc "record type not allowed here" | TySum loc _ → error loc "sum type not allowed here" | TyTup loc tl → mktyp loc (Ptyp_tuple (List.map ctyp (uv tl))) - | TyUid loc s → mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) + | TyUid loc s → mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) | TyVrn loc catl ool → let catl = List.map @@ -309,9 +312,9 @@ | TyXtr loc _ _ → error loc "bad ast TyXtr" ] and meth_list loc fl v = match fl with - [ [] → if uv v then [mkfield loc Pfield_var] else [] + [ [] → if uv v then mkfield_var loc else [] | [(lab, t) :: fl] → - [mkfield loc (Pfield lab (add_polytype t)) :: meth_list loc fl v] ] + mkfield loc (lab, add_polytype t) (meth_list loc fl v) ] and add_polytype t = match ocaml_ptyp_poly with [ Some ptyp_poly → @@ -363,11 +366,11 @@ | None → (False, False) ] ; -value mktype loc tl cl tk pf tm = +value mktype loc tn tl cl tk pf tm = let (params, var_list) = List.split tl in let variance = List.map variance_of_var var_list in let params = List.map uv params in - match ocaml_type_declaration params cl tk pf tm (mkloc loc) variance with + match ocaml_type_declaration tn params cl tk pf tm (mkloc loc) variance with [ Right td → td | Left msg → error loc msg ] ; @@ -407,18 +410,18 @@ | None → error loc "no generalized data types in this ocaml version" ] ; -value type_decl tl priv cl = +value type_decl tn tl priv cl = fun [ TyMan loc t pf <:ctyp< { $list:ltl$ } >> → let priv = if uv pf then Private else Public in - mktype loc tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) + mktype loc tn tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) | TyMan loc t pf <:ctyp< [ $list:ctl$ ] >> → let priv = if uv pf then Private else Public in - mktype loc tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) + mktype loc tn tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) | TyRec loc ltl → - mktype loc tl cl (mktrecord (uv ltl) False) priv None + mktype loc tn tl cl (mktrecord (uv ltl) False) priv None | TySum loc ctl → - mktype loc tl cl (mktvariant loc (uv ctl) False) priv None + mktype loc tn tl cl (mktvariant loc (uv ctl) False) priv None | t → let m = match t with @@ -427,10 +430,10 @@ else None | _ → Some (ctyp t) ] in - mktype (loc_of_ctyp t) tl cl Ptype_abstract priv m ] + mktype (loc_of_ctyp t) tn tl cl Ptype_abstract priv m ] ; -value mkvalue_desc t p = ocaml_value_description (ctyp t) p; +value mkvalue_desc vn t p = ocaml_value_description vn (ctyp t) p; value option f = fun @@ -456,14 +459,14 @@ | t → error (loc_of_module_expr t) "bad module expr long ident" ] ; -value type_decl_of_with_type loc tpl pf ct = +value type_decl_of_with_type loc tn tpl pf ct = let (params, var_list) = List.split (uv tpl) in let variance = List.map variance_of_var var_list in let params = List.map uv params in let ct = Some (ctyp ct) in let tk = if pf then ocaml_ptype_abstract else Ptype_abstract in let pf = if pf then Private else Public in - ocaml_type_declaration params [] tk pf ct (mkloc loc) variance + ocaml_type_declaration tn params [] tk pf ct (mkloc loc) variance ; value mkwithc = @@ -478,13 +481,14 @@ pwith_modsubst (mkloc loc) (module_expr_long_id m)) | None → error loc "no with module := in this ocaml version" ] | WcTyp loc id tpl pf ct → - match type_decl_of_with_type loc tpl (uv pf) ct with - [ Right td → (long_id_of_string_list loc (uv id), Pwith_type td) + let li = long_id_of_string_list loc (uv id) in + match type_decl_of_with_type loc "" tpl (uv pf) ct with + [ Right td -> (li, ocaml_pwith_type (mkloc loc) (li, td)) | Left msg → error loc msg ] | WcTys loc id tpl t → match ocaml_pwith_typesubst with [ Some pwith_typesubst → - match type_decl_of_with_type loc tpl False t with + match type_decl_of_with_type loc "" tpl False t with [ Right td → let li = long_id_of_string_list loc (uv id) in (li, pwith_typesubst td) @@ -533,8 +537,8 @@ [ (<:patt:< $uid:i$ >>, il) → match p2 with [ <:patt< $uid:s$ >> → - ocaml_ppat_construct (mkli (conv_con s) [i :: il]) - (mkloc loc) None (not Prtools.no_constructors_arity.val) + ocaml_ppat_construct (mkloc loc) (mkli (conv_con s) [i :: il]) + None (not Prtools.no_constructors_arity.val) | _ → error (loc_of_patt p2) "bad access pattern" ] | _ → error (loc_of_patt p2) "bad pattern" ] in @@ -558,13 +562,11 @@ if Prtools.no_constructors_arity.val then let a = match al with - [ [a] → a - | _ → mkpat loc (Ppat_tuple al) ] + [ [a] -> a + | _ -> mkpat loc (Ppat_tuple al) ] in - mkpat loc (ocaml_ppat_construct li li_loc (Some a) False) - else - let a = mkpat loc (Ppat_tuple al) in - mkpat loc (ocaml_ppat_construct li li_loc (Some a) True) + mkpat loc (ocaml_ppat_construct li_loc li (Some a) False) + else mkpat_ocaml_ppat_construct_arity (mkloc loc) li_loc li al | Some _ | None → match ocaml_ppat_variant with [ Some (ppat_variant_pat, ppat_variant) → @@ -620,7 +622,8 @@ mkpat loc (ocaml_ppat_record (List.map mklabpat lpl) is_closed) | PaStr loc s → mkpat loc - (Ppat_constant (Const_string (string_of_string_token loc (uv s)))) + (Ppat_constant + (ocaml_const_string (string_of_string_token loc (uv s)))) | PaTup loc pl → mkpat loc (Ppat_tuple (List.map patt (uv pl))) | PaTyc loc p t → mkpat loc (Ppat_constraint (patt p) (ctyp t)) | PaTyp loc sl → @@ -632,7 +635,7 @@ | PaUid loc s → let ca = not Prtools.no_constructors_arity.val in mkpat loc - (ocaml_ppat_construct (Lident (conv_con (uv s))) (mkloc loc) None ca) + (ocaml_ppat_construct (mkloc loc) (Lident (conv_con (uv s))) None ca) | PaUnp loc s mto → match ocaml_ppat_unpack with [ Some (ppat_unpack, ptyp_package) → @@ -788,20 +791,20 @@ | _ → f ] in let al = List.rev (List.fold_left label_expr [] al) in - match (expr f).pexp_desc with - [ Pexp_construct li None _ → + match ocaml_pexp_construct_args (expr f).pexp_desc with + [ Some (li, li_loc, None, _) → let al = List.map snd al in if Prtools.no_constructors_arity.val then let a = match al with - [ [a] → a - | _ → mkexp loc (Pexp_tuple al) ] + [ [a] -> a + | _ -> mkexp loc (Pexp_tuple al) ] in - mkexp loc (Pexp_construct li (Some a) False) + mkexp loc (ocaml_pexp_construct li_loc li (Some a) False) else - let a = mkexp loc (Pexp_tuple al) in - mkexp loc (Pexp_construct li (Some a) True) - | e → + mkexp_ocaml_pexp_construct_arity (mkloc loc) li_loc li al + | Some _ | None → + let e = (expr f).pexp_desc in match ocaml_pexp_variant with [ Some (pexp_variant_pat, pexp_variant) → match pexp_variant_pat e with @@ -861,7 +864,8 @@ | ExChr loc s → mkexp loc (Pexp_constant (Const_char (char_of_char_token loc (uv s)))) | ExCoe loc e t1 t2 → - mkexp loc (Pexp_constraint (expr e) (option ctyp t1) (Some (ctyp t2))) + mkexp loc + (ocaml_pexp_constraint (expr e) (option ctyp t1) (Some (ctyp t2))) | ExFlo loc s → mkexp loc (Pexp_constant (Const_float (uv s))) | ExFor loc i e1 e2 df el → let e3 = <:expr< do { $list:uv el$ } >> in @@ -870,16 +874,16 @@ | ExFun loc pel → match uv pel with [ [(PaLab ploc lppo, w, e)] → - List.fold_right - (fun (p, po) e → - let lab = label_of_patt p in - let p = - match uv po with - [ Some p → p - | None → p ] - in - mkexp loc (ocaml_pexp_function lab None [(patt p, e)])) - (uv lppo) (when_expr e (uv w)) + match uv lppo with + [ [(p, po)] → + let lab = label_of_patt p in + let p = + match uv po with + [ Some p → p + | None → p ] + in + mkexp loc (ocaml_pexp_function lab None [mkpwe (p, w, e)]) + | _ → error loc "bad AST" ] | [(PaNty loc s, w, e)] → match ocaml_pexp_newtype with [ Some newtype → @@ -896,7 +900,7 @@ in mkexp loc (ocaml_pexp_function ("?" ^ lab) (option expr (uv eo)) - [(patt p, when_expr e (uv w))]) + [mkpwe (p, w, e)]) | pel → let pel = if split_or_patterns_with_bindings then @@ -972,7 +976,7 @@ match mto with [ Some mt → let pt = package_of_module_type loc mt in - Pexp_constraint (mkexp loc e) + ocaml_pexp_constraint (mkexp loc e) (Some (mktyp loc (ptyp_package pt))) None | None → e ] in @@ -1036,10 +1040,12 @@ [("", expr e1); ("", expr e2)]) | ExStr loc s → mkexp loc - (Pexp_constant (Const_string (string_of_string_token loc (uv s)))) + (Pexp_constant + (ocaml_const_string (string_of_string_token loc (uv s)))) | ExTry loc e pel → mkexp loc (Pexp_try (expr e) (List.map mkpwe (uv pel))) | ExTup loc el → mkexp loc (Pexp_tuple (List.map expr (uv el))) - | ExTyc loc e t → mkexp loc (Pexp_constraint (expr e) (Some (ctyp t)) None) + | ExTyc loc e t → + mkexp loc (ocaml_pexp_constraint (expr e) (Some (ctyp t)) None) | ExUid loc s → let ca = not Prtools.no_constructors_arity.val in let cloc = mkloc loc in @@ -1091,7 +1097,7 @@ [ Some p → patt p | None → mkpat loc - (ocaml_ppat_construct (Lident "()") (mkloc loc) None + (ocaml_ppat_construct (mkloc loc) (Lident "()") None False) ] in (mkloc locp, (mkloc loc, uv s), p)) @@ -1102,6 +1108,7 @@ in (mkloc jc.jcLoc, jcval) and mkpe (p, e) = + let loc = Ploc.encl (loc_of_patt p) (loc_of_expr e) in let (p, e) = match e with [ ExTyc loc e (TyPol _ _ _ as t) → (PaTyc loc p t, e) @@ -1113,7 +1120,7 @@ [ PaTyc loc p (TyPot loc1 nt ct) → expand_gadt_type loc p loc1 nt ct e | p → (p, e) ] in - (patt p, expr e) + ocaml_value_binding (mkloc loc) (patt p) (expr e) and expand_gadt_type loc p loc1 nt ct e = let nt = uv nt in let e = <:expr< ($e$ : $ct$) >> in @@ -1125,11 +1132,8 @@ let tp = List.map (fun s → "&" ^ s) nt in let ct = <:ctyp< ! $list:tp$ . $ct$ >> in (<:patt< ($p$ : $ct$) >>, e) -and mkpwe (p, w, e) = (patt p, when_expr e (uv w)) -and when_expr e = - fun - [ Some w → mkexp (loc_of_expr e) (Pexp_when (expr w) (expr e)) - | None → expr e ] +and mkpwe (p, w, e) = + ocaml_case (patt p, option expr (uv w), mkloc (loc_of_expr e), expr e) and mklabexp (lab, e) = (patt_label_long_id lab, mkloc (loc_of_patt lab), expr e) and mkideexp (ide, e) = (ide, expr e) @@ -1142,7 +1146,8 @@ (ctyp t1, ctyp t2, mkloc loc)) (uv td.tdCon) in - (uv (snd (uv td.tdNam)), type_decl (uv td.tdPrm) priv cl td.tdDef) + let tn = uv (snd (uv td.tdNam)) in + (tn, type_decl tn (uv td.tdPrm) priv cl td.tdDef) and module_type = fun [ MtAcc loc _ _ as f → @@ -1179,15 +1184,20 @@ | SgDcl loc sl → List.fold_right sig_item (uv sl) l | SgDir loc _ _ → l | SgExc loc n tl → - [mksig loc (ocaml_psig_exception (uv n) (List.map ctyp (uv tl))) :: l] + [mksig loc + (ocaml_psig_exception (mkloc loc) (uv n) (List.map ctyp (uv tl))) :: + l] | SgExt loc n t p → - [mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t (uv p))) :: l] - | SgInc loc mt → [mksig loc (Psig_include (module_type mt)) :: l] + let vn = uv n in + [mksig loc (ocaml_psig_value vn (mkvalue_desc vn t (uv p))) :: l] + | SgInc loc mt → + [mksig loc (ocaml_psig_include (mkloc loc) (module_type mt)) :: l] | SgMod loc rf ntl → if not (uv rf) then List.fold_right (fun (n, mt) l → - [mksig loc (ocaml_psig_module (uv n) (module_type mt)) :: l]) + [mksig loc + (ocaml_psig_module (mkloc loc) (uv n) (module_type mt)) :: l]) (uv ntl) l else match ocaml_psig_recmodule with @@ -1198,21 +1208,25 @@ [mksig loc (psig_recmodule ntl) :: l] | None → error loc "no recursive module in this ocaml version" ] | SgMty loc n mt → - let si = + let mto = match mt with - [ MtQuo _ _ → Pmodtype_abstract - | _ → Pmodtype_manifest (module_type mt) ] + | MtQuo _ _ -> None + | _ -> Some (module_type mt) + end in - [mksig loc (ocaml_psig_modtype (uv n) si) :: l] + [mksig loc (ocaml_psig_modtype (mkloc loc) (uv n) mto) :: l] | SgOpn loc id → - [mksig loc (ocaml_psig_open (long_id_of_string_list loc (uv id))) :: l] + [mksig loc + (ocaml_psig_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: + l] | SgTyp loc tdl → [mksig loc (ocaml_psig_type (List.map mktype_decl (uv tdl))) :: l] | SgUse loc fn sl → Ploc.call_with glob_fname (uv fn) (fun () → List.fold_right (fun (si, _) → sig_item si) (uv sl) l) () | SgVal loc n t → - [mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t [])) :: l] + let vn = uv n in + [mksig loc (ocaml_psig_value vn (mkvalue_desc vn t [])) :: l] | SgXtr loc _ _ → error loc "bad ast SgXtr" ] and module_expr = fun @@ -1240,7 +1254,7 @@ [ Some mt → let pt = package_of_module_type loc mt in let t = mktyp loc (ptyp_package pt) in - mkexp loc (Pexp_constraint (expr e) (Some t) None) + mkexp loc (ocaml_pexp_constraint (expr e) (Some t) None) | None → expr e ] in @@ -1269,28 +1283,33 @@ | StExc loc n tl sl → let si = match (uv tl, uv sl) with - [ (tl, []) → ocaml_pstr_exception (uv n) (List.map ctyp tl) + [ (tl, []) → + ocaml_pstr_exception (mkloc loc) (uv n) (List.map ctyp tl) | ([], sl) → match ocaml_pstr_exn_rebind with [ Some pstr_exn_rebind → - pstr_exn_rebind (uv n) (long_id_of_string_list loc sl) + pstr_exn_rebind (mkloc loc) (uv n) + (long_id_of_string_list loc sl) | None → error loc "no exception renaming in this ocaml version" ] | _ → error loc "renamed exception should not have parameters" ] in [mkstr loc si :: l] - | StExp loc e → [mkstr loc (Pstr_eval (expr e)) :: l] + | StExp loc e → [mkstr loc (ocaml_pstr_eval (expr e)) :: l] | StExt loc n t p → - [mkstr loc (ocaml_pstr_primitive (uv n) (mkvalue_desc t (uv p))) :: l] + let vn = uv n in + [mkstr loc (ocaml_pstr_primitive vn (mkvalue_desc vn t (uv p))) :: l] | StInc loc me → match ocaml_pstr_include with - [ Some pstr_include → [mkstr loc (pstr_include (module_expr me)) :: l] + [ Some pstr_include → + [mkstr loc (pstr_include (mkloc loc) (module_expr me)) :: l] | None → error loc "no include in this ocaml version" ] | StMod loc rf nel → if not (uv rf) then List.fold_right (fun (n, me) l → - [mkstr loc (ocaml_pstr_module (uv n) (module_expr me)) :: l]) + let m = ocaml_pstr_module (mkloc loc) (uv n) (module_expr me) in + [mkstr loc m :: l]) (uv nel) l else match ocaml_pstr_recmodule with @@ -1311,9 +1330,12 @@ [mkstr loc (pstr_recmodule nel) :: l] | None → error loc "no recursive module in this ocaml version" ] | StMty loc n mt → - [mkstr loc (ocaml_pstr_modtype (uv n) (module_type mt)) :: l] + let m = ocaml_pstr_modtype (mkloc loc) (uv n) (module_type mt) in + [mkstr loc m :: l] | StOpn loc id → - [mkstr loc (ocaml_pstr_open (long_id_of_string_list loc (uv id))) :: l] + [mkstr loc + (ocaml_pstr_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: + l] | StTyp loc tdl → [mkstr loc (ocaml_pstr_type (List.map mktype_decl (uv tdl))) :: l] | StUse loc fn sl → @@ -1375,7 +1397,8 @@ | None → error loc "no class constraint in this ocaml version" ] | CgDcl loc cl → List.fold_right class_sig_item (uv cl) l | CgInh loc ct → - [ocaml_class_type_field (mkloc loc) (Pctf_inher (class_type ct)) :: l] + [ocaml_class_type_field (mkloc loc) + (ocaml_pctf_inher (class_type ct)) :: l] | CgMth loc pf s t → [ocaml_class_type_field (mkloc loc) (ocaml_pctf_meth @@ -1521,18 +1544,17 @@ value directive loc = fun - [ None → Pdir_none - | Some <:expr< $str:s$ >> → Pdir_string s - | Some <:expr< $int:i$ >> → Pdir_int (int_of_string_l loc i) - | Some <:expr< True >> → + [ <:expr< $str:s$ >> → Pdir_string s + | <:expr< $int:i$ >> → Pdir_int (int_of_string_l loc i) + | <:expr< True >> → match ocaml_pdir_bool with [ Some pdir_bool → pdir_bool True | None → error loc "no such kind of directive in this ocaml version" ] - | Some <:expr< False >> → + | <:expr< False >> → match ocaml_pdir_bool with [ Some pdir_bool → pdir_bool False | None → error loc "no such kind of directive in this ocaml version" ] - | Some e → + | e → let sl = loop e where rec loop = fun @@ -1545,9 +1567,16 @@ Pdir_ident (long_id_of_string_list loc sl) ] ; +value directive_args loc d = + match d with + | Some d -> directive loc d + | None -> Pdir_none + end +; + value phrase = fun - [ StDir loc d dp → Ptop_dir (uv d) (directive loc (uv dp)) + [ StDir loc d dp → Ptop_dir (uv d) (directive_args loc (uv dp)) | si → do { glob_fname.val := Plexing.input_file.val; Ptop_def (str_item si []) diff -urN camlp5-6.11/main/ast2pt.mli camlp5-6.12-63a8c30f/main/ast2pt.mli --- camlp5-6.11/main/ast2pt.mli 2010-09-15 17:00:24.000000000 +0100 +++ camlp5-6.12-63a8c30f/main/ast2pt.mli 2014-08-01 10:14:54.300065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: ast2pt.mli,v 6.1 2010-09-15 16:00:24 deraugla Exp $ *) +(* ast2pt.mli,v *) (** Conversion between Camlp5 AST into OCaml AST *) diff -urN camlp5-6.11/main/.cvsignore camlp5-6.12-63a8c30f/main/.cvsignore --- camlp5-6.11/main/.cvsignore 2010-09-15 17:00:24.000000000 +0100 +++ camlp5-6.12-63a8c30f/main/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -*.a -*.cm[oiax] -*.cmxa -*.lib -crc.tmp -camlp5 diff -urN camlp5-6.11/main/exparser.ml camlp5-6.12-63a8c30f/main/exparser.ml --- camlp5-6.11/main/exparser.ml 2013-03-15 16:17:17.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/exparser.ml 2014-08-01 10:14:54.300065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: exparser.ml,v 6.7 2013-03-15 16:17:17 deraugla Exp $ *) +(* exparser.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "q_MLast.cmo"; diff -urN camlp5-6.11/main/exparser.mli camlp5-6.12-63a8c30f/main/exparser.mli --- camlp5-6.11/main/exparser.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/exparser.mli 2014-08-01 10:14:54.300065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: exparser.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* exparser.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (* expand parser ast into normal one *) diff -urN camlp5-6.11/main/.gitignore camlp5-6.12-63a8c30f/main/.gitignore --- camlp5-6.11/main/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/main/.gitignore 2014-08-01 10:14:54.299065428 +0100 @@ -0,0 +1,6 @@ +*.a +*.cm[oiax] +*.cmxa +*.lib +crc.tmp +camlp5 diff -urN camlp5-6.11/main/main.ml camlp5-6.12-63a8c30f/main/main.ml --- camlp5-6.11/main/main.ml 2013-03-13 06:48:13.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/main.ml 2014-08-01 10:14:54.300065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: main.ml,v 6.11 2013-03-13 06:48:13 deraugla Exp $ *) +(* main.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "q_MLast.cmo"; diff -urN camlp5-6.11/main/Makefile camlp5-6.12-63a8c30f/main/Makefile --- camlp5-6.11/main/Makefile 2012-03-06 11:00:53.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/Makefile 2014-08-01 10:14:54.299065428 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.8 2012-03-06 11:00:53 deraugla Exp $ +# Makefile,v TOP=.. include $(TOP)/config/Makefile diff -urN camlp5-6.11/main/mkreloc.sh camlp5-6.12-63a8c30f/main/mkreloc.sh --- camlp5-6.11/main/mkreloc.sh 2012-03-06 11:00:53.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/mkreloc.sh 2014-08-01 10:14:54.300065429 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: mkreloc.sh,v 6.4 2012-03-06 11:00:53 deraugla Exp $ +# mkreloc.sh,v IFILE=pa_r.ml OFILE=reloc.ml diff -urN camlp5-6.11/main/mLast.mli camlp5-6.12-63a8c30f/main/mLast.mli --- camlp5-6.11/main/mLast.mli 2013-07-02 17:31:25.000000000 +0100 +++ camlp5-6.12-63a8c30f/main/mLast.mli 2014-08-01 10:14:54.300065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: mLast.mli,v 6.26 2013-07-02 16:31:25 deraugla Exp $ *) +(* mLast.mli,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; diff -urN camlp5-6.11/main/parserify.ml camlp5-6.12-63a8c30f/main/parserify.ml --- camlp5-6.11/main/parserify.ml 2013-03-14 21:34:32.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/parserify.ml 2014-08-01 10:14:54.300065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: parserify.ml,v 6.5 2013-03-14 21:34:32 deraugla Exp $ *) +(* parserify.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "q_MLast.cmo"; diff -urN camlp5-6.11/main/parserify.mli camlp5-6.12-63a8c30f/main/parserify.mli --- camlp5-6.11/main/parserify.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/parserify.mli 2014-08-01 10:14:54.300065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: parserify.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* parserify.mli,v *) (* Copyright (c) INRIA 2007-2012 *) type spat_comp = diff -urN camlp5-6.11/main/pcaml.ml camlp5-6.12-63a8c30f/main/pcaml.ml --- camlp5-6.11/main/pcaml.ml 2013-08-15 23:08:21.000000000 +0100 +++ camlp5-6.12-63a8c30f/main/pcaml.ml 2014-08-01 10:14:54.300065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pcaml.ml,v 6.45 2013-08-15 22:08:21 deraugla Exp $ *) +(* pcaml.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; @@ -7,7 +7,7 @@ open Printf; -value version = "6.11"; +value version = "6.12-exp"; value syntax_name = ref ""; value gram = diff -urN camlp5-6.11/main/pcaml.mli camlp5-6.12-63a8c30f/main/pcaml.mli --- camlp5-6.11/main/pcaml.mli 2013-04-19 09:43:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/main/pcaml.mli 2014-08-01 10:14:54.301065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pcaml.mli,v 6.7 2013-04-19 08:43:39 deraugla Exp $ *) +(* pcaml.mli,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; diff -urN camlp5-6.11/main/prtools.ml camlp5-6.12-63a8c30f/main/prtools.ml --- camlp5-6.11/main/prtools.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/prtools.ml 2014-08-01 10:14:54.301065429 +0100 @@ -1,11 +1,12 @@ (* camlp5r *) -(* $Id: prtools.ml,v 6.10 2012-01-09 14:22:21 deraugla Exp $ *) +(* prtools.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "q_MLast.cmo"; #load "pa_macro.cmo"; open Pretty; +open Versdep; type pr_context = Pprintf.pr_context == @@ -352,12 +353,12 @@ module Buff = struct - value buff = ref (String.create 80); + value buff = ref (string_create 80); value store len x = do { if len >= String.length buff.val then - buff.val := buff.val ^ String.create (String.length buff.val) + buff.val := buff.val ^ string_create (String.length buff.val) else (); - buff.val.[len] := x; + string_set buff.val len x; succ len }; value mstore len s = diff -urN camlp5-6.11/main/prtools.mli camlp5-6.12-63a8c30f/main/prtools.mli --- camlp5-6.11/main/prtools.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/prtools.mli 2014-08-01 10:14:54.301065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: prtools.mli,v 6.5 2012-01-09 14:22:21 deraugla Exp $ *) +(* prtools.mli,v *) (* Copyright (c) INRIA 2007-2012 *) type pr_context = diff -urN camlp5-6.11/main/quotation.ml camlp5-6.12-63a8c30f/main/quotation.ml --- camlp5-6.11/main/quotation.ml 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/quotation.ml 2014-08-01 10:14:54.301065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: quotation.ml,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* quotation.ml,v *) (* Copyright (c) INRIA 2007-2012 *) type expander = diff -urN camlp5-6.11/main/quotation.mli camlp5-6.12-63a8c30f/main/quotation.mli --- camlp5-6.11/main/quotation.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/quotation.mli 2014-08-01 10:14:54.301065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: quotation.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* quotation.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Quotation operations. *) diff -urN camlp5-6.11/main/reloc.ml camlp5-6.12-63a8c30f/main/reloc.ml --- camlp5-6.11/main/reloc.ml 2012-03-09 14:01:54.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/reloc.ml 2014-08-01 10:14:54.301065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: reloc.ml,v 6.26 2012-03-09 14:01:54 deraugla Exp $ *) +(* reloc.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; diff -urN camlp5-6.11/main/reloc.mli camlp5-6.12-63a8c30f/main/reloc.mli --- camlp5-6.11/main/reloc.mli 2012-01-09 14:22:21.000000000 +0000 +++ camlp5-6.12-63a8c30f/main/reloc.mli 2014-08-01 10:14:54.301065429 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: reloc.mli,v 6.3 2012-01-09 14:22:21 deraugla Exp $ *) +(* reloc.mli,v *) (* Copyright (c) INRIA 2007-2012 *) value expr : (MLast.loc -> MLast.loc) -> int -> MLast.expr -> MLast.expr; diff -urN camlp5-6.11/Makefile camlp5-6.12-63a8c30f/Makefile --- camlp5-6.11/Makefile 2013-03-06 10:08:18.000000000 +0000 +++ camlp5-6.12-63a8c30f/Makefile 2014-08-01 10:14:54.283065418 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.29 2013-03-06 10:08:18 deraugla Exp $ +# Makefile,v include config/Makefile @@ -86,13 +86,13 @@ backup: mkdir boot.new - $(MAKE) mv_cvs FROM=boot TO=boot.new + $(MAKE) mv_git FROM=boot TO=boot.new mv boot boot.new/SAVED mv boot.new boot restore: mv boot/SAVED boot.new - $(MAKE) mv_cvs FROM=boot TO=boot.new + $(MAKE) mv_git FROM=boot TO=boot.new rm -rf boot mv boot.new boot @@ -181,8 +181,6 @@ # Bootstrap the sources -TXTGEN=File generated by program: edit only if it does not compile. - bootstrap_sources: rm -rf ocaml_src.new mkdir ocaml_src.new @@ -196,8 +194,7 @@ rmdir ocaml_src.new/$$DIR rmdir ocaml_src.new -new_sources: - cd etc; $(MAKE) $(PR_O) +new_sources: oprinter @-for i in $(FDIRS); do \ mkdir ocaml_src.new/$$i; \ $(MAKE) $(NO_PR_DIR) new_source DIR=$$i FILE=Makefile; \ @@ -231,17 +228,14 @@ echo ============================================; \ echo ocaml_src.new/$$DIR/$$k; \ if [ "$$k" = "Makefile" ]; then \ - sed 's/# $$Id.*\$$/# $(TXTGEN)/' Makefile | \ - sed 's-^TOP=..$$-TOP=../..-'; \ + sed 's-^TOP=..$$-TOP=../..-' Makefile; \ else \ OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) VERSDIR=$$VERSDIR \ - ../tools/conv.sh $(PR_O) $$opt $$FILE | \ - sed 's/$$Id.*\$$/$(TXTGEN)/'; \ + ../tools/conv.sh $(PR_O) $$opt $$FILE; \ fi > \ ../ocaml_src.new/$$DIR/$$k -compare_sources: - cd etc; $(MAKE) $(PR_O) +compare_sources: oprinter @-for i in $(FDIRS); do \ $(MAKE) $(NO_PR_DIR) compare_source DIR=$$i FILE=Makefile; \ echo ============================================; \ @@ -268,17 +262,14 @@ echo ============================================; \ echo ocaml_src/$$DIR/$$k; \ if [ "$$k" = "Makefile" ]; then \ - sed 's/# $$Id.*\$$/# $(TXTGEN)/' Makefile | \ - sed 's-^TOP=..$$-TOP=../..-'; \ + sed 's-^TOP=..$$-TOP=../..-' Makefile; \ else \ OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) VERSDIR=$$VERSDIR \ - ../tools/conv.sh $(PR_O) $$opt $$FILE | \ - sed 's/$$Id.*\$$/$(TXTGEN)/'; \ + ../tools/conv.sh $(PR_O) $$opt $$FILE; \ fi | \ diff $(DIFF_OPT) ../ocaml_src/$$DIR/$$k - || : -bootstrap_all_versdep: - cd etc; $(MAKE) $(PR_O) +bootstrap_all_versdep: oprinter @-for i in ocaml_src/lib/versdep/*.ml; do \ $(MAKE) $(NO_PR_DIR) bootstrap_versdep i=$$i n=ocaml; \ done; \ @@ -298,11 +289,9 @@ n=$$(echo $$n | tr a-z A-Z); \ opt="-U$$k -U$$m -D$$j -D$$n"; \ OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) ../tools/conv.sh $(PR_O) $$opt \ - versdep.ml | \ - sed -e 's/\$$Id.*\$$/$(TXTGEN)/' > ../$$i - + versdep.ml > ../$$i -compare_all_versdep: - cd etc; $(MAKE) $(PR_O) +compare_all_versdep: oprinter @-for i in ocaml_src/lib/versdep/*.ml; do \ $(MAKE) $(NO_PR_DIR) compare_versdep i=$$i n=ocaml; \ done; \ @@ -323,7 +312,10 @@ opt="-U$$k -U$$m -D$$j -D$$n"; \ OCAMLN=$(OCAMLN) CAMLP5N=$(CAMLP5N) \ ../tools/conv.sh $(PR_O) $$opt versdep.ml | \ - sed -e 's/\$$Id.*\$$/$(TXTGEN)/' | diff ../$$i - + diff $(DIFF_OPT) ../$$i - + +oprinter: + cd etc; $(MAKE) $(PR_O) untouch_sources: @-cd ocaml_src; \ @@ -336,9 +328,9 @@ done promote_sources: - $(MAKE) mv_cvs FROM=ocaml_src TO=ocaml_src.new + $(MAKE) mv_git FROM=ocaml_src TO=ocaml_src.new for i in $(FDIRS) lib/versdep lib/versdep/jocaml; do \ - $(MAKE) mv_cvs FROM=ocaml_src/$$i TO=ocaml_src.new/$$i; \ + $(MAKE) mv_git FROM=ocaml_src/$$i TO=ocaml_src.new/$$i; \ done mv ocaml_src/tools ocaml_src.new/. mv ocaml_src ocaml_src.new/SAVED @@ -349,9 +341,9 @@ mv ocaml_src.new/SAVED ocaml_src mv ocaml_src.new/tools ocaml_src/. for i in $(FDIRS) lib/versdep lib/versdep/jocaml; do \ - $(MAKE) mv_cvs FROM=ocaml_src.new/$$i TO=ocaml_src/$$i; \ + $(MAKE) mv_git FROM=ocaml_src.new/$$i TO=ocaml_src/$$i; \ done - $(MAKE) mv_cvs FROM=ocaml_src.new TO=ocaml_src + $(MAKE) mv_git FROM=ocaml_src.new TO=ocaml_src clean_sources: rm -rf ocaml_src/SAVED/SAVED @@ -369,4 +361,7 @@ test ! -d $(FROM)/.svn || mv $(FROM)/.svn $(TO)/. test ! -f $(FROM)/.cvsignore || mv $(FROM)/.cvsignore $(TO)/. +mv_git: + test ! -f $(FROM)/.gitignore || mv $(FROM)/.gitignore $(TO)/. + .PHONY: install diff -urN camlp5-6.11/man/.cvsignore camlp5-6.12-63a8c30f/man/.cvsignore --- camlp5-6.11/man/.cvsignore 2010-09-15 17:00:24.000000000 +0100 +++ camlp5-6.12-63a8c30f/man/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -camlp5.1 -camlp5.help diff -urN camlp5-6.11/man/.gitignore camlp5-6.12-63a8c30f/man/.gitignore --- camlp5-6.11/man/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/man/.gitignore 2014-08-01 10:14:54.301065429 +0100 @@ -0,0 +1,2 @@ +camlp5.1 +camlp5.help diff -urN camlp5-6.11/man/Makefile camlp5-6.12-63a8c30f/man/Makefile --- camlp5-6.11/man/Makefile 2012-03-02 19:14:36.000000000 +0000 +++ camlp5-6.12-63a8c30f/man/Makefile 2014-08-01 10:14:54.301065429 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.3 2012-03-02 19:14:36 deraugla Exp $ +# Makefile,v include ../config/Makefile diff -urN camlp5-6.11/meta/.cvsignore camlp5-6.12-63a8c30f/meta/.cvsignore --- camlp5-6.11/meta/.cvsignore 2010-09-15 17:00:24.000000000 +0100 +++ camlp5-6.12-63a8c30f/meta/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -*.cm[oiax] -camlp5r -camlp5r.opt diff -urN camlp5-6.11/meta/.gitignore camlp5-6.12-63a8c30f/meta/.gitignore --- camlp5-6.11/meta/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/meta/.gitignore 2014-08-01 10:14:54.302065430 +0100 @@ -0,0 +1,3 @@ +*.cm[oiax] +camlp5r +camlp5r.opt diff -urN camlp5-6.11/meta/Makefile camlp5-6.12-63a8c30f/meta/Makefile --- camlp5-6.11/meta/Makefile 2012-03-06 11:00:53.000000000 +0000 +++ camlp5-6.12-63a8c30f/meta/Makefile 2014-08-01 10:14:54.302065430 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.3 2012-03-06 11:00:53 deraugla Exp $ +# Makefile,v TOP=.. include $(TOP)/config/Makefile diff -urN camlp5-6.11/meta/mk_q_ast.sh camlp5-6.12-63a8c30f/meta/mk_q_ast.sh --- camlp5-6.11/meta/mk_q_ast.sh 2012-03-06 11:00:53.000000000 +0000 +++ camlp5-6.12-63a8c30f/meta/mk_q_ast.sh 2014-08-01 10:14:54.302065430 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: mk_q_ast.sh,v 6.4 2012-03-06 11:00:53 deraugla Exp $ +# mk_q_ast.sh,v IFILE=pa_r.ml OFILE=q_ast.ml diff -urN camlp5-6.11/meta/mk_q_MLast.sh camlp5-6.12-63a8c30f/meta/mk_q_MLast.sh --- camlp5-6.11/meta/mk_q_MLast.sh 2012-03-09 15:22:46.000000000 +0000 +++ camlp5-6.12-63a8c30f/meta/mk_q_MLast.sh 2014-08-01 10:14:54.302065430 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: mk_q_MLast.sh,v 6.4 2012-03-09 15:22:46 deraugla Exp $ +# mk_q_MLast.sh,v IFILE=pa_r.ml OFILE=q_MLast.ml diff -urN camlp5-6.11/meta/pa_extend.ml camlp5-6.12-63a8c30f/meta/pa_extend.ml --- camlp5-6.11/meta/pa_extend.ml 2012-01-09 14:22:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/meta/pa_extend.ml 2014-08-01 10:14:54.302065430 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_extend.ml,v 6.7 2012-01-09 14:22:22 deraugla Exp $ *) +(* pa_extend.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; diff -urN camlp5-6.11/meta/pa_extend_m.ml camlp5-6.12-63a8c30f/meta/pa_extend_m.ml --- camlp5-6.11/meta/pa_extend_m.ml 2012-01-09 14:22:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/meta/pa_extend_m.ml 2014-08-01 10:14:54.302065430 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_extend_m.ml,v 6.4 2012-01-09 14:22:22 deraugla Exp $ *) +(* pa_extend_m.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; diff -urN camlp5-6.11/meta/pa_fstream.ml camlp5-6.12-63a8c30f/meta/pa_fstream.ml --- camlp5-6.11/meta/pa_fstream.ml 2010-09-15 17:00:25.000000000 +0100 +++ camlp5-6.12-63a8c30f/meta/pa_fstream.ml 2014-08-01 10:14:54.302065430 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_fstream.ml,v 6.1 2010-09-15 16:00:25 deraugla Exp $ *) +(* pa_fstream.ml,v *) #load "pa_extend.cmo"; #load "q_MLast.cmo"; diff -urN camlp5-6.11/meta/pa_lexer.ml camlp5-6.12-63a8c30f/meta/pa_lexer.ml --- camlp5-6.11/meta/pa_lexer.ml 2012-01-09 14:22:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/meta/pa_lexer.ml 2014-08-01 10:14:54.302065430 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_lexer.ml,v 6.4 2012-01-09 14:22:22 deraugla Exp $ *) +(* pa_lexer.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; diff -urN camlp5-6.11/meta/pa_macro.ml camlp5-6.12-63a8c30f/meta/pa_macro.ml --- camlp5-6.11/meta/pa_macro.ml 2013-03-13 06:48:13.000000000 +0000 +++ camlp5-6.12-63a8c30f/meta/pa_macro.ml 2014-08-01 10:14:54.302065430 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_macro.ml,v 6.12 2013-03-13 06:48:13 deraugla Exp $ *) +(* pa_macro.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; @@ -103,6 +103,7 @@ open Pcaml; open Printf; +open Versdep; type macro_value = [ MvExpr of list string and MLast.expr @@ -129,7 +130,7 @@ for i = 0 to String.length v - 1 do { match v.[i] with [ '0'..'9' | 'a'..'z' | 'A'..'Z' -> () - | _ -> v.[i] := '_' ]; + | _ -> string_set v i '_' ]; }; v }; diff -urN camlp5-6.11/meta/pa_r.ml camlp5-6.12-63a8c30f/meta/pa_r.ml --- camlp5-6.11/meta/pa_r.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/meta/pa_r.ml 2014-08-01 10:14:54.303065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_r.ml,v 6.48 2013-07-02 16:12:43 deraugla Exp $ *) +(* pa_r.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; diff -urN camlp5-6.11/meta/pa_rp.ml camlp5-6.12-63a8c30f/meta/pa_rp.ml --- camlp5-6.11/meta/pa_rp.ml 2012-01-09 14:22:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/meta/pa_rp.ml 2014-08-01 10:14:54.303065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pa_rp.ml,v 6.3 2012-01-09 14:22:22 deraugla Exp $ *) +(* pa_rp.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; diff -urN camlp5-6.11/meta/pr_dump.ml camlp5-6.12-63a8c30f/meta/pr_dump.ml --- camlp5-6.11/meta/pr_dump.ml 2012-01-09 14:22:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/meta/pr_dump.ml 2014-08-01 10:14:54.303065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: pr_dump.ml,v 6.5 2012-01-09 14:22:22 deraugla Exp $ *) +(* pr_dump.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Versdep; diff -urN camlp5-6.11/meta/q_ast.ml camlp5-6.12-63a8c30f/meta/q_ast.ml --- camlp5-6.11/meta/q_ast.ml 2012-03-09 14:01:54.000000000 +0000 +++ camlp5-6.12-63a8c30f/meta/q_ast.ml 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: q_ast.ml,v 6.32 2012-03-09 14:01:54 deraugla Exp $ *) +(* q_ast.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; diff -urN camlp5-6.11/meta/q_MLast.ml camlp5-6.12-63a8c30f/meta/q_MLast.ml --- camlp5-6.11/meta/q_MLast.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/meta/q_MLast.ml 2014-08-01 10:14:54.303065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: q_MLast.ml,v 6.43 2013-07-02 16:12:43 deraugla Exp $ *) +(* q_MLast.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_extend.cmo"; diff -urN camlp5-6.11/ocaml_src/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/.cvsignore --- camlp5-6.11/ocaml_src/.cvsignore 2010-09-15 17:00:25.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -SAVED diff -urN camlp5-6.11/ocaml_src/.gitignore camlp5-6.12-63a8c30f/ocaml_src/.gitignore --- camlp5-6.11/ocaml_src/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/.gitignore 2014-08-01 10:14:54.304065431 +0100 @@ -0,0 +1 @@ +SAVED diff -urN camlp5-6.11/ocaml_src/lib/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/lib/.cvsignore --- camlp5-6.11/ocaml_src/lib/.cvsignore 2010-09-15 17:00:25.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -versdep.ml diff -urN camlp5-6.11/ocaml_src/lib/.depend camlp5-6.12-63a8c30f/ocaml_src/lib/.depend --- camlp5-6.11/ocaml_src/lib/.depend 2010-09-15 17:00:25.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/.depend 2014-08-01 10:14:54.304065431 +0100 @@ -19,8 +19,8 @@ plexer.cmo: plexer.cmi plexing.cmi ploc.cmi versdep.cmo plexer.cmx: plexer.cmi plexing.cmx ploc.cmx versdep.cmx plexer.cmi: plexing.cmi -plexing.cmo: plexing.cmi ploc.cmi -plexing.cmx: plexing.cmi ploc.cmx +plexing.cmo: plexing.cmi ploc.cmi versdep.cmo +plexing.cmx: plexing.cmi ploc.cmx versdep.cmx plexing.cmi: ploc.cmi ploc.cmo: ploc.cmi ploc.cmx: ploc.cmi diff -urN camlp5-6.11/ocaml_src/lib/diff.ml camlp5-6.12-63a8c30f/ocaml_src/lib/diff.ml --- camlp5-6.11/ocaml_src/lib/diff.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/diff.ml 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* diff.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* Parts of Code of GNU diff (analyze.c) translated from C to OCaml diff -urN camlp5-6.11/ocaml_src/lib/diff.mli camlp5-6.12-63a8c30f/ocaml_src/lib/diff.mli --- camlp5-6.11/ocaml_src/lib/diff.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/diff.mli 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* diff.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Differences between two arrays. *) diff -urN camlp5-6.11/ocaml_src/lib/eprinter.ml camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.ml --- camlp5-6.11/ocaml_src/lib/eprinter.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.ml 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* eprinter.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_macro.cmo" *) diff -urN camlp5-6.11/ocaml_src/lib/eprinter.mli camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.mli --- camlp5-6.11/ocaml_src/lib/eprinter.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/eprinter.mli 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* eprinter.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Extensible printers. diff -urN camlp5-6.11/ocaml_src/lib/extfold.ml camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.ml --- camlp5-6.11/ocaml_src/lib/extfold.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.ml 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* extfold.ml,v *) (* Copyright (c) INRIA 2007-2012 *) type ('te, 'a, 'b) t = diff -urN camlp5-6.11/ocaml_src/lib/extfold.mli camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.mli --- camlp5-6.11/ocaml_src/lib/extfold.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfold.mli 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* extfold.mli,v *) (* Copyright (c) INRIA 2007-2012 *) type ('te, 'a, 'b) t = diff -urN camlp5-6.11/ocaml_src/lib/extfun.ml camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.ml --- camlp5-6.11/ocaml_src/lib/extfun.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.ml 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* extfun.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* Extensible Functions *) diff -urN camlp5-6.11/ocaml_src/lib/extfun.mli camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.mli --- camlp5-6.11/ocaml_src/lib/extfun.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/extfun.mli 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* extfun.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Extensible functions. diff -urN camlp5-6.11/ocaml_src/lib/fstream.ml camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.ml --- camlp5-6.11/ocaml_src/lib/fstream.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.ml 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* fstream.ml,v *) (* Copyright (c) INRIA 2007-2012 *) type 'a mlazy_c = diff -urN camlp5-6.11/ocaml_src/lib/fstream.mli camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.mli --- camlp5-6.11/ocaml_src/lib/fstream.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/fstream.mli 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* fstream.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (* Module [Fstream]: functional streams *) diff -urN camlp5-6.11/ocaml_src/lib/.gitignore camlp5-6.12-63a8c30f/ocaml_src/lib/.gitignore --- camlp5-6.11/ocaml_src/lib/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/.gitignore 2014-08-01 10:14:54.304065431 +0100 @@ -0,0 +1,2 @@ +*.cm[oia] +versdep.ml diff -urN camlp5-6.11/ocaml_src/lib/gramext.ml camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.ml --- camlp5-6.11/ocaml_src/lib/gramext.ml 2013-01-28 09:27:12.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.ml 2014-08-01 10:14:54.304065431 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* gramext.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Printf;; diff -urN camlp5-6.11/ocaml_src/lib/gramext.mli camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.mli --- camlp5-6.11/ocaml_src/lib/gramext.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/gramext.mli 2014-08-01 10:14:54.305065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* gramext.mli,v *) (* Copyright (c) INRIA 2007-2012 *) type 'a parser_t = 'a Stream.t -> Obj.t;; diff -urN camlp5-6.11/ocaml_src/lib/grammar.ml camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.ml --- camlp5-6.11/ocaml_src/lib/grammar.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.ml 2014-08-01 10:14:54.305065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* grammar.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_fstream.cmo" *) @@ -17,7 +17,34 @@ List.map (fun l -> n :: l) (flatten_tree s) @ flatten_tree b ;; -let print_str ppf s = fprintf ppf "\"%s\"" (String.escaped s);; +let utf8_print = ref true;; + +let utf8_string_escaped s = + let b = Buffer.create (String.length s) in + let rec loop i = + if i = String.length s then Buffer.contents b + else + begin + begin match s.[i] with + '"' -> Buffer.add_string b "\\\"" + | '\\' -> Buffer.add_string b "\\\\" + | '\n' -> Buffer.add_string b "\\n" + | '\t' -> Buffer.add_string b "\\t" + | '\r' -> Buffer.add_string b "\\r" + | '\b' -> Buffer.add_string b "\\b" + | c -> Buffer.add_char b c + end; + loop (i + 1) + end + in + loop 0 +;; + +let string_escaped s = + if !utf8_print then utf8_string_escaped s else String.escaped s +;; + +let print_str ppf s = fprintf ppf "\"%s\"" (string_escaped s);; let rec print_symbol ppf = function diff -urN camlp5-6.11/ocaml_src/lib/grammar.mli camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.mli --- camlp5-6.11/ocaml_src/lib/grammar.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/grammar.mli 2014-08-01 10:14:54.305065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* grammar.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Extensible grammars. @@ -196,6 +196,10 @@ (** Flag to apply strict parsing, without trying to recover errors; default = [False] *) +val utf8_print : bool ref;; + (** Flag to consider strings as utf8-encoded when printing them; + default = [True] *) + val print_entry : Format.formatter -> 'te Gramext.g_entry -> unit;; (** General printer for all kinds of entries (obj entries) *) diff -urN camlp5-6.11/ocaml_src/lib/Makefile camlp5-6.12-63a8c30f/ocaml_src/lib/Makefile --- camlp5-6.11/ocaml_src/lib/Makefile 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/Makefile 2014-08-01 10:14:54.304065431 +0100 @@ -1,4 +1,4 @@ -# File generated by program: edit only if it does not compile. +# Makefile,v TOP=../.. include $(TOP)/config/Makefile diff -urN camlp5-6.11/ocaml_src/lib/plexer.ml camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.ml --- camlp5-6.11/ocaml_src/lib/plexer.ml 2013-07-03 02:43:11.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.ml 2014-08-01 10:14:54.305065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* plexer.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_lexer.cmo" *) @@ -38,10 +38,10 @@ ;; let rev_implode l = - let s = String.create (List.length l) in + let s = string_create (List.length l) in let rec loop i = function - c :: l -> String.unsafe_set s i c; loop (i - 1) l + c :: l -> string_unsafe_set s i c; loop (i - 1) l | [] -> s in loop (String.length s - 1) l diff -urN camlp5-6.11/ocaml_src/lib/plexer.mli camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.mli --- camlp5-6.11/ocaml_src/lib/plexer.mli 2013-06-14 04:03:31.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexer.mli 2014-08-01 10:14:54.305065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* plexer.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** This module contains the lexer used for ocaml syntax (revised and diff -urN camlp5-6.11/ocaml_src/lib/plexing.ml camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.ml --- camlp5-6.11/ocaml_src/lib/plexing.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.ml 2014-08-01 10:14:54.305065432 +0100 @@ -1,7 +1,9 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* plexing.ml,v *) (* Copyright (c) INRIA 2007-2012 *) +open Versdep;; + type pattern = string * string;; exception Error of string;; @@ -70,7 +72,8 @@ let lexer_func_of_ocamllex lexfun cs = let lb = Lexing.from_function - (fun s n -> try s.[0] <- Stream.next cs; 1 with Stream.Failure -> 0) + (fun s n -> + try string_set s 0 (Stream.next cs); 1 with Stream.Failure -> 0) in let next_token_loc _ = let tok = lexfun lb in @@ -82,11 +85,11 @@ (* Char and string tokens to real chars and string *) -let buff = ref (String.create 80);; +let buff = ref (string_create 80);; let store len x = if len >= String.length !buff then - buff := !buff ^ String.create (String.length !buff); - !buff.[len] <- x; + buff := !buff ^ string_create (String.length !buff); + string_set !buff len x; succ len ;; let get_buff len = String.sub !buff 0 len;; @@ -207,10 +210,10 @@ (* The lexing buffer used by pa_lexer.cmo *) let rev_implode l = - let s = String.create (List.length l) in + let s = string_create (List.length l) in let rec loop i = function - c :: l -> String.unsafe_set s i c; loop (i - 1) l + c :: l -> string_unsafe_set s i c; loop (i - 1) l | [] -> s in loop (String.length s - 1) l diff -urN camlp5-6.11/ocaml_src/lib/plexing.mli camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.mli --- camlp5-6.11/ocaml_src/lib/plexing.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/plexing.mli 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* plexing.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Lexing for Camlp5 grammars. diff -urN camlp5-6.11/ocaml_src/lib/ploc.ml camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.ml --- camlp5-6.11/ocaml_src/lib/ploc.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.ml 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* ploc.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_macro.cmo" *) @@ -23,12 +23,12 @@ ;; let make_unlined (bp, ep) = - {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; + {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; bp = bp; ep = ep; comm = ""; ecomm = ""} ;; let dummy = - {fname = ""; line_nb = -1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; + {fname = ""; line_nb = 1; bol_pos = 0; line_nb_last = -1; bol_pos_last = 0; bp = 0; ep = 0; comm = ""; ecomm = ""} ;; diff -urN camlp5-6.11/ocaml_src/lib/ploc.mli camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.mli --- camlp5-6.11/ocaml_src/lib/ploc.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/ploc.mli 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* ploc.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Locations and some pervasive type and value. *) diff -urN camlp5-6.11/ocaml_src/lib/pprintf.ml camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.ml --- camlp5-6.11/ocaml_src/lib/pprintf.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.ml 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pprintf.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_macro.cmo" *) diff -urN camlp5-6.11/ocaml_src/lib/pprintf.mli camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.mli --- camlp5-6.11/ocaml_src/lib/pprintf.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/pprintf.mli 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pprintf.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Definitions for pprintf statement. diff -urN camlp5-6.11/ocaml_src/lib/pretty.ml camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.ml --- camlp5-6.11/ocaml_src/lib/pretty.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.ml 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pretty.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_macro.cmo" *) diff -urN camlp5-6.11/ocaml_src/lib/pretty.mli camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.mli --- camlp5-6.11/ocaml_src/lib/pretty.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/pretty.mli 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pretty.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Pretty printing on strings *) diff -urN camlp5-6.11/ocaml_src/lib/stdpp.ml camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.ml --- camlp5-6.11/ocaml_src/lib/stdpp.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.ml 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* stdpp.ml,v *) (* Copyright (c) INRIA 2007-2012 *) type location = Ploc.t;; diff -urN camlp5-6.11/ocaml_src/lib/stdpp.mli camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.mli --- camlp5-6.11/ocaml_src/lib/stdpp.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/stdpp.mli 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* stdpp.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Module deprecated since Camlp5 version 5.00. Use now module Ploc. diff -urN camlp5-6.11/ocaml_src/lib/token.ml camlp5-6.12-63a8c30f/ocaml_src/lib/token.ml --- camlp5-6.11/ocaml_src/lib/token.ml 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/token.ml 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* token.ml,v *) (* Copyright (c) INRIA 2007-2012 *) type pattern = Plexing.pattern;; diff -urN camlp5-6.11/ocaml_src/lib/token.mli camlp5-6.12-63a8c30f/ocaml_src/lib/token.mli --- camlp5-6.11/ocaml_src/lib/token.mli 2012-06-02 14:23:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/token.mli 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* token.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Module deprecated since Camlp5 version 5.00. Use now module Plexing. diff -urN camlp5-6.11/ocaml_src/lib/versdep/1.06.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.06.ml --- camlp5-6.11/ocaml_src/lib/versdep/1.06.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.06.ml 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -41,13 +41,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> let cl_opt = @@ -107,7 +119,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -119,6 +133,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -164,14 +180,33 @@ Pexp_ifthenelse (not_try_e, raise_af, None) ;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function pel;; let ocaml_pexp_lazy = None;; @@ -207,11 +242,13 @@ let ocaml_pexp_variant = None;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = None;; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -221,6 +258,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -238,13 +280,22 @@ let ocaml_psig_class_type = None;; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -256,17 +307,19 @@ let ocaml_pstr_class_type = None;; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = None;; let ocaml_pstr_include = None;; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -315,6 +368,8 @@ let ocaml_pctf_cstr = None;; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, Public, mf, Some t, loc);; @@ -331,6 +386,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -426,3 +483,9 @@ in loop 0 ;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/1.07.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.07.ml --- camlp5-6.11/ocaml_src/lib/versdep/1.07.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/1.07.ml 2014-08-01 10:14:54.306065432 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -41,13 +41,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> let cl_opt = @@ -107,7 +119,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -119,6 +133,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -164,14 +180,33 @@ Pexp_ifthenelse (not_try_e, raise_af, None) ;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function pel;; let ocaml_pexp_lazy = None;; @@ -207,11 +242,13 @@ let ocaml_pexp_variant = None;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = None;; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -221,6 +258,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -238,13 +280,22 @@ let ocaml_psig_class_type = None;; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -256,17 +307,19 @@ let ocaml_pstr_class_type = None;; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = None;; let ocaml_pstr_include = None;; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -315,6 +368,8 @@ let ocaml_pctf_cstr = None;; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, Public, mf, Some t, loc);; @@ -331,6 +386,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -426,3 +483,9 @@ in loop 0 ;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.00.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.00.ml --- camlp5-6.11/ocaml_src/lib/versdep/2.00.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.00.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -41,13 +41,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -95,7 +107,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -107,6 +121,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -152,14 +168,33 @@ Pexp_ifthenelse (not_try_e, raise_af, None) ;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function pel;; let ocaml_pexp_lazy = None;; @@ -195,11 +230,13 @@ let ocaml_pexp_variant = None;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -209,6 +246,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -244,17 +295,19 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = None;; let ocaml_pstr_include = None;; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -307,6 +360,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -323,6 +378,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -418,3 +475,9 @@ in loop 0 ;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.01.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.01.ml --- camlp5-6.11/ocaml_src/lib/versdep/2.01.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.01.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -41,13 +41,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -95,7 +107,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -107,6 +121,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -152,14 +168,33 @@ Pexp_ifthenelse (not_try_e, raise_af, None) ;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function pel;; let ocaml_pexp_lazy = None;; @@ -195,11 +230,13 @@ let ocaml_pexp_variant = None;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -209,6 +246,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -244,17 +295,19 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = None;; let ocaml_pstr_include = None;; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -307,6 +360,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -323,6 +378,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -411,3 +468,9 @@ ;; let string_contains s c = s <> "" && String.contains s c;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.02.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.02.ml --- camlp5-6.11/ocaml_src/lib/versdep/2.02.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.02.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -41,13 +41,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -95,7 +107,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -107,6 +121,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -152,14 +168,33 @@ Pexp_ifthenelse (not_try_e, raise_af, None) ;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function pel;; let ocaml_pexp_lazy = None;; @@ -195,11 +230,13 @@ let ocaml_pexp_variant = None;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -209,6 +246,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -244,17 +295,19 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = None;; let ocaml_pstr_include = None;; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -307,6 +360,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -323,6 +378,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -409,3 +466,9 @@ ;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.03.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.03.ml --- camlp5-6.11/ocaml_src/lib/versdep/2.03.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.03.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -42,13 +42,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -96,7 +108,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -108,6 +122,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -153,14 +169,33 @@ Pexp_ifthenelse (not_try_e, raise_af, None) ;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function pel;; let ocaml_pexp_lazy = None;; @@ -196,11 +231,13 @@ let ocaml_pexp_variant = None;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -210,6 +247,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -227,13 +269,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -245,17 +296,19 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = None;; let ocaml_pstr_include = None;; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -308,6 +361,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -324,6 +379,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -403,3 +460,9 @@ ;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.04.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.04.ml --- camlp5-6.11/ocaml_src/lib/versdep/2.04.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.04.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -42,13 +42,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -96,7 +108,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (li, tl);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -108,6 +122,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -153,14 +169,33 @@ Pexp_ifthenelse (not_try_e, raise_af, None) ;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function pel;; let ocaml_pexp_lazy = None;; @@ -196,11 +231,13 @@ let ocaml_pexp_variant = None;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -210,6 +247,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -227,13 +269,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -245,17 +296,19 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = None;; let ocaml_pstr_include = None;; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -308,6 +361,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -324,6 +379,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -403,3 +460,9 @@ ;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/2.99.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.99.ml --- camlp5-6.11/ocaml_src/lib/versdep/2.99.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/2.99.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -42,13 +42,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -96,7 +108,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -169,14 +185,33 @@ Pexp_ifthenelse (not_try_e, raise_af, None) ;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = None;; @@ -220,11 +255,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -234,6 +271,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -259,13 +301,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -277,17 +328,19 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = None;; let ocaml_pstr_include = None;; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -340,6 +393,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -356,6 +411,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -435,3 +492,9 @@ ;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.00.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.00.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.00.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.00.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -42,13 +42,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -96,7 +108,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -169,14 +185,33 @@ Pexp_ifthenelse (not_try_e, raise_af, None) ;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = None;; @@ -220,11 +255,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -234,6 +271,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -259,13 +301,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -277,19 +328,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; let ocaml_pstr_include = None;; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -342,6 +395,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -358,6 +413,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -437,3 +494,9 @@ ;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.01.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.01.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.01.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.01.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -42,13 +42,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -96,7 +108,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = None;; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -244,19 +295,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -310,6 +363,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -326,6 +381,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -405,3 +462,9 @@ ;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.02.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.02.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.02.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.02.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -42,13 +42,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -96,7 +108,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = None;; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -244,19 +295,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -310,6 +363,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -326,6 +381,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -405,3 +462,9 @@ ;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.03.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.03.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.03.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.03.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -42,13 +42,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -96,7 +108,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -117,6 +131,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -129,14 +145,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = None;; @@ -180,11 +215,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -194,6 +231,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -219,13 +261,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -237,19 +288,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -303,6 +356,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -319,6 +374,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -398,3 +455,9 @@ ;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.04.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.04.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.04.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.04.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -42,13 +42,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -96,7 +108,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -117,6 +131,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -129,14 +145,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = None;; @@ -180,11 +215,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -194,6 +231,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -219,13 +261,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -237,19 +288,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -303,6 +356,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -319,6 +374,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -398,3 +455,9 @@ ;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.05.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.05.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.05.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.05.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -42,13 +42,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -96,7 +108,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -117,6 +131,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -129,14 +145,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -180,11 +215,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -194,6 +231,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -219,13 +261,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -237,19 +288,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -303,6 +356,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -319,6 +374,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -378,3 +435,9 @@ let printf_ksprintf = Printf.kprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.06.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.06.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.06.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.06.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -42,13 +42,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -96,7 +108,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -117,6 +131,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = None;; let ocaml_const_int64 = None;; @@ -129,14 +145,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -180,11 +215,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -194,6 +231,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -219,13 +261,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = None;; @@ -237,19 +288,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -303,6 +356,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -319,6 +374,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -378,3 +435,9 @@ let printf_ksprintf = Printf.kprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.07.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.07.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.07.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.07.ml 2014-08-01 10:14:54.307065433 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.kprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.0.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.08.0.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.0.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.kprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.1.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.08.1.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.1.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.kprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.2.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.08.2.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.2.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.kprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.3.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.08.3.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.3.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.kprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.08.4.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.4.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.08.4.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.08.4.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.kprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.0.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.09.0.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.0.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.1.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.09.1.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.1.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.2.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.09.2.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.2.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.3.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.09.3.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.3.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.09.4.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.4.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.09.4.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.09.4.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Some t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.0.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.10.0.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.0.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -323,6 +376,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -339,6 +394,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -422,3 +479,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.1.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.10.1.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.1.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -323,6 +376,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -339,6 +394,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -422,3 +479,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.2.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.10.2.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.2.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -323,6 +376,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -339,6 +394,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -422,3 +479,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.3.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.10.3.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.3.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -323,6 +376,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -339,6 +394,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -422,3 +479,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.10.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.10.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.10.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -103,7 +115,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -124,6 +138,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -138,14 +154,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = None;; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -318,6 +371,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -334,6 +389,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -417,3 +474,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.0.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.11.0.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.0.ml 2014-08-01 10:14:54.308065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -101,7 +113,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -122,6 +136,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -250,19 +301,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -321,6 +374,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -337,6 +392,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -416,3 +473,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.1.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.11.1.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.1.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -101,7 +113,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -122,6 +136,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -250,19 +301,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -321,6 +374,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -337,6 +392,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -416,3 +473,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.2.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.11.2.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.2.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -101,7 +113,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -122,6 +136,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -250,19 +301,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -321,6 +374,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -337,6 +392,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -416,3 +473,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.3.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.3.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.11.3.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.3.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -101,7 +113,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -122,6 +136,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -250,19 +301,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -321,6 +374,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -337,6 +392,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -416,3 +473,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.11.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.11.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.11.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -101,7 +113,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = None;; @@ -122,6 +136,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -250,19 +301,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -321,6 +374,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -337,6 +392,8 @@ let ocaml_pwith_modsubst = None;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = None;; @@ -416,3 +473,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.12.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.0.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.12.0.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.0.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -101,7 +113,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; @@ -122,6 +136,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -250,19 +301,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -323,6 +376,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -341,6 +396,8 @@ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; @@ -420,3 +477,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.12.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.1.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.12.1.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.1.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -101,7 +113,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; @@ -122,6 +136,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -250,19 +301,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -323,6 +376,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -341,6 +396,8 @@ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; @@ -420,3 +477,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.12.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.2.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.12.2.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.12.2.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -101,7 +113,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; @@ -122,6 +136,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -250,19 +301,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -323,6 +376,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -341,6 +396,8 @@ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; @@ -420,3 +477,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/3.13.0-gadt.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.13.0-gadt.ml --- camlp5-6.11/ocaml_src/lib/versdep/3.13.0-gadt.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/3.13.0-gadt.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -55,13 +55,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = Right {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; @@ -96,7 +108,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; @@ -117,6 +131,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -131,14 +147,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -184,11 +219,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -198,6 +235,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -225,13 +267,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -249,19 +300,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -324,6 +377,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -342,6 +397,8 @@ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; @@ -421,3 +478,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.00.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.0.ml --- camlp5-6.11/ocaml_src/lib/versdep/4.00.0.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.0.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -62,7 +62,7 @@ loop [] l ;; -let ocaml_value_description t p = +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} ;; @@ -70,10 +70,22 @@ let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> - let params = List.map (fun os -> Some (mknoloc os)) params in + let params = List.map (fun os -> Some (mkloc loc os)) params in Right {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; @@ -122,7 +134,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; @@ -143,6 +157,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -157,14 +173,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -210,12 +245,14 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = - Ppat_construct (mkloc li_loc li, po, chk_arity) +let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (mkloc loc li, po, chk_arity) ;; let ocaml_ppat_construct_args = @@ -224,6 +261,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -251,13 +293,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -275,19 +326,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -360,6 +413,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; @@ -384,6 +439,8 @@ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; @@ -463,3 +520,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.00.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.1.ml --- camlp5-6.11/ocaml_src/lib/versdep/4.00.1.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.1.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -62,7 +62,7 @@ loop [] l ;; -let ocaml_value_description t p = +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} ;; @@ -70,10 +70,22 @@ let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> - let params = List.map (fun os -> Some (mknoloc os)) params in + let params = List.map (fun os -> Some (mkloc loc os)) params in Right {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; @@ -122,7 +134,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; @@ -143,6 +157,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -157,14 +173,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -210,12 +245,14 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = - Ppat_construct (mkloc li_loc li, po, chk_arity) +let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (mkloc loc li, po, chk_arity) ;; let ocaml_ppat_construct_args = @@ -224,6 +261,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -251,13 +293,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -275,19 +326,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -360,6 +413,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; @@ -384,6 +439,8 @@ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; @@ -463,3 +520,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.00.2.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.2.ml --- camlp5-6.11/ocaml_src/lib/versdep/4.00.2.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.00.2.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -62,7 +62,7 @@ loop [] l ;; -let ocaml_value_description t p = +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} ;; @@ -70,10 +70,22 @@ let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> - let params = List.map (fun os -> Some (mknoloc os)) params in + let params = List.map (fun os -> Some (mkloc loc os)) params in Right {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; @@ -122,7 +134,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; @@ -143,6 +157,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -157,14 +173,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -210,12 +245,14 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = - Ppat_construct (mkloc li_loc li, po, chk_arity) +let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (mkloc loc li, po, chk_arity) ;; let ocaml_ppat_construct_args = @@ -224,6 +261,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -251,13 +293,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -275,19 +326,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -360,6 +413,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; @@ -384,6 +439,8 @@ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; @@ -463,3 +520,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.01.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.0.ml --- camlp5-6.11/ocaml_src/lib/versdep/4.01.0.ml 2013-06-10 16:57:21.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.0.ml 2014-08-01 10:14:54.309065434 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -62,7 +62,7 @@ loop [] l ;; -let ocaml_value_description t p = +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} ;; @@ -70,10 +70,22 @@ let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> - let params = List.map (fun os -> Some (mknoloc os)) params in + let params = List.map (fun os -> Some (mkloc loc os)) params in Right {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; @@ -122,7 +134,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; @@ -143,6 +157,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -157,14 +173,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -210,12 +245,14 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = - Ppat_construct (mkloc li_loc li, po, chk_arity) +let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (mkloc loc li, po, chk_arity) ;; let ocaml_ppat_construct_args = @@ -224,6 +261,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -251,13 +293,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (Fresh, mknoloc li);; +let ocaml_psig_open loc li = Psig_open (Fresh, mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -275,19 +326,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (Fresh, mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (Fresh, mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -360,6 +413,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; @@ -384,6 +439,8 @@ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; @@ -463,3 +520,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.01.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.1.ml --- camlp5-6.11/ocaml_src/lib/versdep/4.01.1.ml 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.01.1.ml 2014-08-01 10:14:54.309065434 +0100 @@ -0,0 +1,528 @@ +(* camlp5r pa_macro.cmo *) +(* versdep.ml,v *) +(* Copyright (c) INRIA 2007-2012 *) + +open Parsetree;; +open Longident;; +open Asttypes;; + +type ('a, 'b) choice = + Left of 'a + | Right of 'b +;; + +let sys_ocaml_version = Sys.ocaml_version;; + +let ocaml_location (fname, lnum, bolp, lnuml, bolpl, bp, ep) = + let loc_at n lnum bolp = + {Lexing.pos_fname = if lnum = -1 then "" else fname; + Lexing.pos_lnum = lnum; Lexing.pos_bol = bolp; Lexing.pos_cnum = n} + in + {Location.loc_start = loc_at bp lnum bolp; + Location.loc_end = loc_at ep lnuml bolpl; + Location.loc_ghost = bp = 0 && ep = 0} +;; + +let loc_none = + let loc = + {Lexing.pos_fname = "_none_"; Lexing.pos_lnum = 1; Lexing.pos_bol = 0; + Lexing.pos_cnum = -1} + in + {Location.loc_start = loc; Location.loc_end = loc; + Location.loc_ghost = true} +;; + +let mkloc loc txt = {Location.txt = txt; Location.loc = loc};; +let mknoloc txt = mkloc loc_none txt;; + +let ocaml_id_or_li_of_string_list loc sl = + let mkli s = + let rec loop f = + function + i :: il -> loop (fun s -> Ldot (f i, s)) il + | [] -> f s + in + loop (fun s -> Lident s) + in + match List.rev sl with + [] -> None + | s :: sl -> Some (mkli s (List.rev sl)) +;; + +let list_map_check f l = + let rec loop rev_l = + function + x :: l -> + begin match f x with + Some s -> loop (s :: rev_l) l + | None -> None + end + | [] -> Some (List.rev rev_l) + in + loop [] l +;; + +let ocaml_value_description vn t p = + {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc} +;; + +let ocaml_class_type_field loc ctfd = {pctf_desc = ctfd; pctf_loc = loc};; + +let ocaml_class_field loc cfd = {pcf_desc = cfd; pcf_loc = loc};; + +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + let params = List.map (fun os -> Some (mkloc loc os)) params in + Right + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; + ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; + ptype_variance = variance} + | None -> Left "no '_' type param in this ocaml version" +;; + +let ocaml_class_type = Some (fun d loc -> {pcty_desc = d; pcty_loc = loc});; + +let ocaml_class_expr = Some (fun d loc -> {pcl_desc = d; pcl_loc = loc});; + +let ocaml_class_structure p cil = {pcstr_pat = p; pcstr_fields = cil};; + +let ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li);; + +let ocaml_pmty_functor sloc s mt1 mt2 = + Pmty_functor (mkloc sloc s, mt1, mt2) +;; + +let ocaml_pmty_typeof = Some (fun me -> Pmty_typeof me);; + +let ocaml_pmty_with mt lcl = + let lcl = List.map (fun (s, c) -> mknoloc s, c) lcl in Pmty_with (mt, lcl) +;; + +let ocaml_ptype_abstract = Ptype_abstract;; + +let ocaml_ptype_record ltl priv = + Ptype_record + (List.map (fun (s, mf, ct, loc) -> mkloc loc s, mf, ct, loc) ltl) +;; + +let ocaml_ptype_variant ctl priv = + try + let ctl = + List.map + (fun (c, tl, rto, loc) -> + if rto <> None then raise Exit else mknoloc c, tl, None, loc) + ctl + in + Some (Ptype_variant ctl) + with Exit -> None +;; + +let ocaml_ptyp_arrow lab t1 t2 = Ptyp_arrow (lab, t1, t2);; + +let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; + +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; + +let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +let ocaml_ptyp_poly = Some (fun cl t -> Ptyp_poly (cl, t));; + +let ocaml_ptyp_variant catl clos sl_opt = + let catl = + List.map + (function + Left (c, a, tl) -> Rtag (c, a, tl) + | Right t -> Rinherit t) + catl + in + Some (Ptyp_variant (catl, clos, sl_opt)) +;; + +let ocaml_package_type li ltl = + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl +;; + +let ocaml_const_string s = Const_string s;; + +let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + +let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; + +let ocaml_const_nativeint = + Some (fun s -> Const_nativeint (Nativeint.of_string s)) +;; + +let ocaml_pexp_apply f lel = Pexp_apply (f, lel);; + +let ocaml_pexp_assertfalse fname loc = Pexp_assertfalse;; + +let ocaml_pexp_assert fname loc e = Pexp_assert e;; + +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + +let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po, chk_arity) +;; + +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + +let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + +let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; + +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + +let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; + +let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; + +let ocaml_pexp_ident li = Pexp_ident (mknoloc li);; + +let ocaml_pexp_letmodule = + Some (fun i me e -> Pexp_letmodule (mknoloc i, me, e)) +;; + +let ocaml_pexp_new loc li = Pexp_new (mkloc loc li);; + +let ocaml_pexp_newtype = Some (fun s e -> Pexp_newtype (s, e));; + +let ocaml_pexp_object = Some (fun cs -> Pexp_object cs);; + +let ocaml_pexp_open = Some (fun li e -> Pexp_open (Fresh, mknoloc li, e));; + +let ocaml_pexp_override sel = + let sel = List.map (fun (s, e) -> mknoloc s, e) sel in Pexp_override sel +;; + +let ocaml_pexp_pack : ('a -> 'b -> 'c, 'd) choice option = + Some (Right ((fun me -> Pexp_pack me), (fun pt -> Ptyp_package pt))) +;; + +let ocaml_pexp_poly = Some (fun e t -> Pexp_poly (e, t));; + +let ocaml_pexp_record lel eo = + let lel = List.map (fun (li, loc, e) -> mkloc loc li, e) lel in + Pexp_record (lel, eo) +;; + +let ocaml_pexp_setinstvar s e = Pexp_setinstvar (mknoloc s, e);; + +let ocaml_pexp_variant = + let pexp_variant_pat = + function + Pexp_variant (lab, eo) -> Some (lab, eo) + | _ -> None + in + let pexp_variant (lab, eo) = Pexp_variant (lab, eo) in + Some (pexp_variant_pat, pexp_variant) +;; + +let ocaml_value_binding loc p e = p, e;; + +let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + +let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (mkloc loc li, po, chk_arity) +;; + +let ocaml_ppat_construct_args = + function + Ppat_construct (li, po, chk_arity) -> Some (li.txt, li.loc, po, chk_arity) + | _ -> None +;; + +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + +let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + +let ocaml_ppat_record lpl is_closed = + let lpl = List.map (fun (li, loc, p) -> mkloc loc li, p) lpl in + Ppat_record (lpl, (if is_closed then Closed else Open)) +;; + +let ocaml_ppat_type = Some (fun loc li -> Ppat_type (mkloc loc li));; + +let ocaml_ppat_unpack = + Some ((fun loc s -> Ppat_unpack (mkloc loc s)), (fun pt -> Ptyp_package pt)) +;; + +let ocaml_ppat_var loc s = Ppat_var (mkloc loc s);; + +let ocaml_ppat_variant = + let ppat_variant_pat = + function + Ppat_variant (lab, po) -> Some (lab, po) + | _ -> None + in + let ppat_variant (lab, po) = Ppat_variant (lab, po) in + Some (ppat_variant_pat, ppat_variant) +;; + +let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; + +let ocaml_psig_include loc mt = Psig_include mt;; + +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; + +let ocaml_psig_open loc li = Psig_open (Fresh, mkloc loc li);; + +let ocaml_psig_recmodule = + let f ntl = + let ntl = List.map (fun (s, mt) -> mknoloc s, mt) ntl in + Psig_recmodule ntl + in + Some f +;; + +let ocaml_psig_type stl = + let stl = List.map (fun (s, t) -> mknoloc s, t) stl in Psig_type stl +;; + +let ocaml_psig_value s vd = Psig_value (mknoloc s, vd);; + +let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; + +let ocaml_pstr_exn_rebind = + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) +;; + +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; + +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; + +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; + +let ocaml_pstr_open loc li = Pstr_open (Fresh, mknoloc li);; + +let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; + +let ocaml_pstr_recmodule = + let f nel = + Pstr_recmodule (List.map (fun (s, mt, me) -> mknoloc s, mt, me) nel) + in + Some f +;; + +let ocaml_pstr_type stl = + let stl = List.map (fun (s, t) -> mknoloc s, t) stl in Pstr_type stl +;; + +let ocaml_class_infos = + Some + (fun virt (sl, sloc) name expr loc variance -> + let params = List.map (fun s -> mkloc loc s) sl, sloc in + {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; + pci_expr = expr; pci_loc = loc; pci_variance = variance}) +;; + +let ocaml_pmod_ident li = Pmod_ident (mknoloc li);; + +let ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s, mt, me);; + +let ocaml_pmod_unpack : ('a -> 'b -> 'c, 'd) choice option = + Some (Right ((fun e -> Pmod_unpack e), (fun pt -> Ptyp_package pt))) +;; + +let ocaml_pcf_cstr = Some (fun (t1, t2, loc) -> Pcf_constr (t1, t2));; + +let ocaml_pcf_inher ce pb = Pcf_inher (Fresh, ce, pb);; + +let ocaml_pcf_init = Some (fun e -> Pcf_init e);; + +let ocaml_pcf_meth (s, pf, ovf, e, loc) = + let pf = if pf then Private else Public in + let ovf = if ovf then Override else Fresh in + Pcf_meth (mkloc loc s, pf, ovf, e) +;; + +let ocaml_pcf_val (s, mf, ovf, e, loc) = + let mf = if mf then Mutable else Immutable in + let ovf = if ovf then Override else Fresh in + Pcf_val (mkloc loc s, mf, ovf, e) +;; + +let ocaml_pcf_valvirt = + let ocaml_pcf (s, mf, t, loc) = + let mf = if mf then Mutable else Immutable in + Pcf_valvirt (mkloc loc s, mf, t) + in + Some ocaml_pcf +;; + +let ocaml_pcf_virt (s, pf, t, loc) = Pcf_virt (mkloc loc s, pf, t);; + +let ocaml_pcl_apply = Some (fun ce lel -> Pcl_apply (ce, lel));; + +let ocaml_pcl_constr = Some (fun li ctl -> Pcl_constr (mknoloc li, ctl));; + +let ocaml_pcl_constraint = Some (fun ce ct -> Pcl_constraint (ce, ct));; + +let ocaml_pcl_fun = Some (fun lab ceo p ce -> Pcl_fun (lab, ceo, p, ce));; + +let ocaml_pcl_let = Some (fun rf pel ce -> Pcl_let (rf, pel, ce));; + +let ocaml_pcl_structure = Some (fun cs -> Pcl_structure cs);; + +let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2));; + +let ocaml_pctf_inher ct = Pctf_inher ct;; + +let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t);; + +let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; + +let ocaml_pctf_virt (s, pf, t, loc) = Pctf_virt (s, pf, t);; + +let ocaml_pcty_constr = Some (fun li ltl -> Pcty_constr (mknoloc li, ltl));; + +let ocaml_pcty_fun = Some (fun lab t ct -> Pcty_fun (lab, t, ct));; + +let ocaml_pcty_signature = + let f (t, ctfl) = + let cs = {pcsig_self = t; pcsig_fields = ctfl; pcsig_loc = t.ptyp_loc} in + Pcty_signature cs + in + Some f +;; + +let ocaml_pdir_bool = Some (fun b -> Pdir_bool b);; + +let ocaml_pwith_modsubst = + Some (fun loc me -> Pwith_modsubst (mkloc loc me)) +;; + +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + +let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; + +let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; + +let module_prefix_can_be_in_first_record_label_only = true;; + +let split_or_patterns_with_bindings = false;; + +let has_records_with_with = true;; + +(* *) + +let jocaml_pstr_def : (_ -> _) option = None;; + +let jocaml_pexp_def : (_ -> _ -> _) option = None;; + +let jocaml_pexp_par : (_ -> _ -> _) option = None;; + +let jocaml_pexp_reply : (_ -> _ -> _ -> _) option = None;; + +let jocaml_pexp_spawn : (_ -> _) option = None;; + +let arg_rest = + function + Arg.Rest r -> Some r + | _ -> None +;; + +let arg_set_string = + function + Arg.Set_string r -> Some r + | _ -> None +;; + +let arg_set_int = + function + Arg.Set_int r -> Some r + | _ -> None +;; + +let arg_set_float = + function + Arg.Set_float r -> Some r + | _ -> None +;; + +let arg_symbol = + function + Arg.Symbol (s, f) -> Some (s, f) + | _ -> None +;; + +let arg_tuple = + function + Arg.Tuple t -> Some t + | _ -> None +;; + +let arg_bool = + function + Arg.Bool f -> Some f + | _ -> None +;; + +let char_escaped = Char.escaped;; + +let hashtbl_mem = Hashtbl.mem;; + +let list_rev_append = List.rev_append;; + +let list_rev_map = List.rev_map;; + +let list_sort = List.sort;; + +let pervasives_set_binary_mode_out = Pervasives.set_binary_mode_out;; + +let printf_ksprintf = Printf.ksprintf;; + +let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.02.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.02.0.ml --- camlp5-6.11/ocaml_src/lib/versdep/4.02.0.ml 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.02.0.ml 2014-08-01 10:14:54.309065434 +0100 @@ -0,0 +1,657 @@ +(* camlp5r pa_macro.cmo *) +(* versdep.ml,v *) +(* Copyright (c) INRIA 2007-2012 *) + +open Parsetree;; +open Longident;; +open Asttypes;; + +type ('a, 'b) choice = + Left of 'a + | Right of 'b +;; + +let sys_ocaml_version = Sys.ocaml_version;; + +let ocaml_location (fname, lnum, bolp, lnuml, bolpl, bp, ep) = + let loc_at n lnum bolp = + {Lexing.pos_fname = if lnum = -1 then "" else fname; + Lexing.pos_lnum = lnum; Lexing.pos_bol = bolp; Lexing.pos_cnum = n} + in + {Location.loc_start = loc_at bp lnum bolp; + Location.loc_end = loc_at ep lnuml bolpl; + Location.loc_ghost = bp = 0 && ep = 0} +;; + +let loc_none = + let loc = + {Lexing.pos_fname = "_none_"; Lexing.pos_lnum = 1; Lexing.pos_bol = 0; + Lexing.pos_cnum = -1} + in + {Location.loc_start = loc; Location.loc_end = loc; + Location.loc_ghost = true} +;; + +let mkloc loc txt = {Location.txt = txt; Location.loc = loc};; +let mknoloc txt = mkloc loc_none txt;; + +let ocaml_id_or_li_of_string_list loc sl = + let mkli s = + let rec loop f = + function + i :: il -> loop (fun s -> Ldot (f i, s)) il + | [] -> f s + in + loop (fun s -> Lident s) + in + match List.rev sl with + [] -> None + | s :: sl -> Some (mkli s (List.rev sl)) +;; + +let list_map_check f l = + let rec loop rev_l = + function + x :: l -> + begin match f x with + Some s -> loop (s :: rev_l) l + | None -> None + end + | [] -> Some (List.rev rev_l) + in + loop [] l +;; + +let ocaml_value_description vn t p = + {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc; + pval_name = mkloc t.ptyp_loc vn; pval_attributes = []} +;; + +let ocaml_class_type_field loc ctfd = + {pctf_desc = ctfd; pctf_loc = loc; pctf_attributes = []} +;; + +let ocaml_class_field loc cfd = + {pcf_desc = cfd; pcf_loc = loc; pcf_attributes = []} +;; + +let ocaml_mktyp loc x = + {ptyp_desc = x; ptyp_loc = loc; ptyp_attributes = []} +;; +let ocaml_mkpat loc x = + {ppat_desc = x; ppat_loc = loc; ppat_attributes = []} +;; +let ocaml_mkexp loc x = + {pexp_desc = x; pexp_loc = loc; pexp_attributes = []} +;; +let ocaml_mkmty loc x = + {pmty_desc = x; pmty_loc = loc; pmty_attributes = []} +;; +let ocaml_mkmod loc x = + {pmod_desc = x; pmod_loc = loc; pmod_attributes = []} +;; +let ocaml_mkfield loc (lab, x) fl = (lab, x) :: fl;; +let ocaml_mkfield_var loc = [];; + +let variance_of_bool_bool = + function + false, true -> Contravariant + | true, false -> Covariant + | _ -> Invariant +;; + +let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + let _ = + if List.length params <> List.length variance then + failwith "internal error: ocaml_type_declaration" + in + let params = + List.map2 + (fun os va -> + ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) + params variance + in + Right + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; + ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; + ptype_name = mkloc loc tn; ptype_attributes = []} + | None -> Left "no '_' type param in this ocaml version" +;; + +let ocaml_class_type = + Some (fun d loc -> {pcty_desc = d; pcty_loc = loc; pcty_attributes = []}) +;; + +let ocaml_class_expr = + Some (fun d loc -> {pcl_desc = d; pcl_loc = loc; pcl_attributes = []}) +;; + +let ocaml_class_structure p cil = {pcstr_self = p; pcstr_fields = cil};; + +let ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li);; + +let ocaml_pmty_functor sloc s mt1 mt2 = + Pmty_functor (mkloc sloc s, Some mt1, mt2) +;; + +let ocaml_pmty_typeof = Some (fun me -> Pmty_typeof me);; + +let ocaml_pmty_with mt lcl = + let lcl = List.map snd lcl in Pmty_with (mt, lcl) +;; + +let ocaml_ptype_abstract = Ptype_abstract;; + +let ocaml_ptype_record ltl priv = + Ptype_record + (List.map + (fun (s, mf, ct, loc) -> + {pld_name = mkloc loc s; pld_mutable = mf; pld_type = ct; + pld_loc = loc; pld_attributes = []}) + ltl) +;; + +let ocaml_ptype_variant ctl priv = + try + let ctl = + List.map + (fun (c, tl, rto, loc) -> + if rto <> None then raise Exit + else + {pcd_name = mkloc loc c; pcd_args = tl; pcd_res = None; + pcd_loc = loc; pcd_attributes = []}) + ctl + in + Some (Ptype_variant ctl) + with Exit -> None +;; + +let ocaml_ptyp_arrow lab t1 t2 = Ptyp_arrow (lab, t1, t2);; + +let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl);; + +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = + let ml = List.map (fun (s, t) -> s, [], t) ml in Ptyp_object (ml, Closed) +;; + +let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +let ocaml_ptyp_poly = + Some + (fun cl t -> + match cl with + [] -> t.ptyp_desc + | _ -> Ptyp_poly (cl, t)) +;; + +let ocaml_ptyp_variant catl clos sl_opt = + let catl = + List.map + (function + Left (c, a, tl) -> Rtag (c, [], a, tl) + | Right t -> Rinherit t) + catl + in + let clos = if clos then Closed else Open in + Some (Ptyp_variant (catl, clos, sl_opt)) +;; + +let ocaml_package_type li ltl = + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl +;; + +let ocaml_const_string s = Const_string (s, None);; + +let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + +let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; + +let ocaml_const_nativeint = + Some (fun s -> Const_nativeint (Nativeint.of_string s)) +;; + +let ocaml_pexp_apply f lel = Pexp_apply (f, lel);; + +let ocaml_pexp_assertfalse fname loc = + Pexp_assert + (ocaml_mkexp loc (Pexp_construct (mkloc loc (Lident "false"), None))) +;; + +let ocaml_pexp_assert fname loc e = Pexp_assert e;; + +let ocaml_pexp_constraint e ot1 ot2 = + match ot2 with + Some t2 -> Pexp_coerce (e, ot1, t2) + | None -> + match ot1 with + Some t1 -> Pexp_constraint (e, t1) + | None -> failwith "internal error: ocaml_pexp_constraint" +;; + +let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po) +;; + +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po) -> Some (li.txt, li.loc, po, 0) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + {pexp_desc = ocaml_pexp_construct li_loc li (Some a) true; pexp_loc = loc; + pexp_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} +;; + +let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + +let ocaml_pexp_for i e1 e2 df e = + Pexp_for (ocaml_mkpat loc_none (Ppat_var (mknoloc i)), e1, e2, df, e) +;; + +let ocaml_case (p, wo, loc, e) = {pc_lhs = p; pc_guard = wo; pc_rhs = e};; + +let ocaml_pexp_function lab eo pel = + match pel with + [{pc_lhs = p; pc_guard = None; pc_rhs = e}] -> Pexp_fun (lab, eo, p, e) + | pel -> + if lab = "" && eo = None then Pexp_function pel + else failwith "internal error: bad ast in ocaml_pexp_function" +;; + +let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; + +let ocaml_pexp_ident li = Pexp_ident (mknoloc li);; + +let ocaml_pexp_letmodule = + Some (fun i me e -> Pexp_letmodule (mknoloc i, me, e)) +;; + +let ocaml_pexp_new loc li = Pexp_new (mkloc loc li);; + +let ocaml_pexp_newtype = Some (fun s e -> Pexp_newtype (s, e));; + +let ocaml_pexp_object = Some (fun cs -> Pexp_object cs);; + +let ocaml_pexp_open = Some (fun li e -> Pexp_open (Fresh, mknoloc li, e));; + +let ocaml_pexp_override sel = + let sel = List.map (fun (s, e) -> mknoloc s, e) sel in Pexp_override sel +;; + +let ocaml_pexp_pack : ('a -> 'b -> 'c, 'd) choice option = + Some (Right ((fun me -> Pexp_pack me), (fun pt -> Ptyp_package pt))) +;; + +let ocaml_pexp_poly = Some (fun e t -> Pexp_poly (e, t));; + +let ocaml_pexp_record lel eo = + let lel = List.map (fun (li, loc, e) -> mkloc loc li, e) lel in + Pexp_record (lel, eo) +;; + +let ocaml_pexp_setinstvar s e = Pexp_setinstvar (mknoloc s, e);; + +let ocaml_pexp_variant = + let pexp_variant_pat = + function + Pexp_variant (lab, eo) -> Some (lab, eo) + | _ -> None + in + let pexp_variant (lab, eo) = Pexp_variant (lab, eo) in + Some (pexp_variant_pat, pexp_variant) +;; + +let ocaml_value_binding loc p e = + {pvb_pat = p; pvb_expr = e; pvb_loc = loc; pvb_attributes = []} +;; + +let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + +let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (mkloc loc li, po) +;; + +let ocaml_ppat_construct_args = + function + Ppat_construct (li, po) -> Some (li.txt, li.loc, po, 0) + | _ -> None +;; + +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + {ppat_desc = ocaml_ppat_construct li_loc li (Some a) true; ppat_loc = loc; + ppat_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} +;; + +let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + +let ocaml_ppat_record lpl is_closed = + let lpl = List.map (fun (li, loc, p) -> mkloc loc li, p) lpl in + Ppat_record (lpl, (if is_closed then Closed else Open)) +;; + +let ocaml_ppat_type = Some (fun loc li -> Ppat_type (mkloc loc li));; + +let ocaml_ppat_unpack = + Some ((fun loc s -> Ppat_unpack (mkloc loc s)), (fun pt -> Ptyp_package pt)) +;; + +let ocaml_ppat_var loc s = Ppat_var (mkloc loc s);; + +let ocaml_ppat_variant = + let ppat_variant_pat = + function + Ppat_variant (lab, po) -> Some (lab, po) + | _ -> None + in + let ppat_variant (lab, po) = Ppat_variant (lab, po) in + Some (ppat_variant_pat, ppat_variant) +;; + +let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +let ocaml_psig_exception loc s ed = + Psig_exception + {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); + pext_loc = loc; pext_attributes = []} +;; + +let ocaml_psig_include loc mt = + Psig_include {pincl_mod = mt; pincl_loc = loc; pincl_attributes = []} +;; + +let ocaml_psig_module loc s mt = + Psig_module + {pmd_name = mkloc loc s; pmd_type = mt; pmd_attributes = []; + pmd_loc = loc} +;; + +let ocaml_psig_modtype loc s mto = + let pmtd = + {pmtd_name = mkloc loc s; pmtd_type = mto; pmtd_attributes = []; + pmtd_loc = loc} + in + Psig_modtype pmtd +;; + +let ocaml_psig_open loc li = + Psig_open + {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; + popen_attributes = []} +;; + +let ocaml_psig_recmodule = + let f ntl = + let ntl = + List.map + (fun (s, mt) -> + {pmd_name = mknoloc s; pmd_type = mt; pmd_attributes = []; + pmd_loc = loc_none}) + ntl + in + Psig_recmodule ntl + in + Some f +;; + +let ocaml_psig_type stl = + let stl = List.map (fun (s, t) -> t) stl in Psig_type stl +;; + +let ocaml_psig_value s vd = Psig_value vd;; + +let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +let ocaml_pstr_eval e = Pstr_eval (e, []);; + +let ocaml_pstr_exception loc s ed = + Pstr_exception + {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); + pext_loc = loc; pext_attributes = []} +;; + +let ocaml_pstr_exn_rebind = + Some + (fun loc s li -> + Pstr_exception + {pext_name = mkloc loc s; pext_kind = Pext_rebind (mkloc loc li); + pext_loc = loc; pext_attributes = []}) +;; + +let ocaml_pstr_include = + Some + (fun loc me -> + Pstr_include {pincl_mod = me; pincl_loc = loc; pincl_attributes = []}) +;; + +let ocaml_pstr_modtype loc s mt = + let pmtd = + {pmtd_name = mkloc loc s; pmtd_type = Some mt; pmtd_attributes = []; + pmtd_loc = loc} + in + Pstr_modtype pmtd +;; + +let ocaml_pstr_module loc s me = + let mb = + {pmb_name = mkloc loc s; pmb_expr = me; pmb_attributes = []; + pmb_loc = loc} + in + Pstr_module mb +;; + +let ocaml_pstr_open loc li = + Pstr_open + {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; + popen_attributes = []} +;; + +let ocaml_pstr_primitive s vd = Pstr_primitive vd;; + +let ocaml_pstr_recmodule = + let f nel = + Pstr_recmodule + (List.map + (fun (s, mt, me) -> + {pmb_name = mknoloc s; pmb_expr = me; pmb_attributes = []; + pmb_loc = loc_none}) + nel) + in + Some f +;; + +let ocaml_pstr_type stl = + let stl = List.map (fun (s, t) -> t) stl in Pstr_type stl +;; + +let ocaml_class_infos = + Some + (fun virt (sl, sloc) name expr loc variance -> + let _ = + if List.length sl <> List.length variance then + failwith "internal error: ocaml_class_infos" + in + let params = + List.map2 + (fun os va -> + ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) + sl variance + in + {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; + pci_expr = expr; pci_loc = loc; pci_attributes = []}) +;; + +let ocaml_pmod_ident li = Pmod_ident (mknoloc li);; + +let ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s, Some mt, me);; + +let ocaml_pmod_unpack : ('a -> 'b -> 'c, 'd) choice option = + Some (Right ((fun e -> Pmod_unpack e), (fun pt -> Ptyp_package pt))) +;; + +let ocaml_pcf_cstr = Some (fun (t1, t2, loc) -> Pcf_constraint (t1, t2));; + +let ocaml_pcf_inher ce pb = Pcf_inherit (Fresh, ce, pb);; + +let ocaml_pcf_init = Some (fun e -> Pcf_initializer e);; + +let ocaml_pcf_meth (s, pf, ovf, e, loc) = + let pf = if pf then Private else Public in + let ovf = if ovf then Override else Fresh in + Pcf_method (mkloc loc s, pf, Cfk_concrete (ovf, e)) +;; + +let ocaml_pcf_val (s, mf, ovf, e, loc) = + let mf = if mf then Mutable else Immutable in + let ovf = if ovf then Override else Fresh in + Pcf_val (mkloc loc s, mf, Cfk_concrete (ovf, e)) +;; + +let ocaml_pcf_valvirt = + let ocaml_pcf (s, mf, t, loc) = + let mf = if mf then Mutable else Immutable in + Pcf_val (mkloc loc s, mf, Cfk_virtual t) + in + Some ocaml_pcf +;; + +let ocaml_pcf_virt (s, pf, t, loc) = + Pcf_val (mkloc loc s, Immutable, Cfk_virtual t) +;; + +let ocaml_pcl_apply = Some (fun ce lel -> Pcl_apply (ce, lel));; + +let ocaml_pcl_constr = Some (fun li ctl -> Pcl_constr (mknoloc li, ctl));; + +let ocaml_pcl_constraint = Some (fun ce ct -> Pcl_constraint (ce, ct));; + +let ocaml_pcl_fun = Some (fun lab ceo p ce -> Pcl_fun (lab, ceo, p, ce));; + +let ocaml_pcl_let = Some (fun rf pel ce -> Pcl_let (rf, pel, ce));; + +let ocaml_pcl_structure = Some (fun cs -> Pcl_structure cs);; + +let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_constraint (t1, t2));; + +let ocaml_pctf_inher ct = Pctf_inherit ct;; + +let ocaml_pctf_meth (s, pf, t, loc) = Pctf_method (s, pf, Concrete, t);; + +let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; + +let ocaml_pctf_virt (s, pf, t, loc) = Pctf_val (s, Immutable, Virtual, t);; + +let ocaml_pcty_constr = Some (fun li ltl -> Pcty_constr (mknoloc li, ltl));; + +let ocaml_pcty_fun = Some (fun lab t ct -> Pcty_arrow (lab, t, ct));; + +let ocaml_pcty_signature = + let f (t, ctfl) = + let cs = {pcsig_self = t; pcsig_fields = ctfl} in Pcty_signature cs + in + Some f +;; + +let ocaml_pdir_bool = Some (fun b -> Pdir_bool b);; + +let ocaml_pwith_modsubst = + Some (fun loc me -> Pwith_modsubst (mkloc loc "", mkloc loc me)) +;; + +let ocaml_pwith_type loc (i, td) = Pwith_type (mkloc loc i, td);; + +let ocaml_pwith_module loc me = + Pwith_module (mkloc loc (Lident ""), mkloc loc me) +;; + +let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; + +let module_prefix_can_be_in_first_record_label_only = true;; + +let split_or_patterns_with_bindings = false;; + +let has_records_with_with = true;; + +(* *) + +let jocaml_pstr_def : (_ -> _) option = None;; + +let jocaml_pexp_def : (_ -> _ -> _) option = None;; + +let jocaml_pexp_par : (_ -> _ -> _) option = None;; + +let jocaml_pexp_reply : (_ -> _ -> _ -> _) option = None;; + +let jocaml_pexp_spawn : (_ -> _) option = None;; + +let arg_rest = + function + Arg.Rest r -> Some r + | _ -> None +;; + +let arg_set_string = + function + Arg.Set_string r -> Some r + | _ -> None +;; + +let arg_set_int = + function + Arg.Set_int r -> Some r + | _ -> None +;; + +let arg_set_float = + function + Arg.Set_float r -> Some r + | _ -> None +;; + +let arg_symbol = + function + Arg.Symbol (s, f) -> Some (s, f) + | _ -> None +;; + +let arg_tuple = + function + Arg.Tuple t -> Some t + | _ -> None +;; + +let arg_bool = + function + Arg.Bool f -> Some f + | _ -> None +;; + +let char_escaped = Char.escaped;; + +let hashtbl_mem = Hashtbl.mem;; + +let list_rev_append = List.rev_append;; + +let list_rev_map = List.rev_map;; + +let list_sort = List.sort;; + +let pervasives_set_binary_mode_out = Pervasives.set_binary_mode_out;; + +let printf_ksprintf = Printf.ksprintf;; + +let string_contains = String.contains;; + +let string_create = Bytes.create;; + +let string_unsafe_set = Bytes.unsafe_set;; + +let string_set = Bytes.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/4.03.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.03.0.ml --- camlp5-6.11/ocaml_src/lib/versdep/4.03.0.ml 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/4.03.0.ml 2014-08-01 10:14:54.309065434 +0100 @@ -0,0 +1,657 @@ +(* camlp5r pa_macro.cmo *) +(* versdep.ml,v *) +(* Copyright (c) INRIA 2007-2012 *) + +open Parsetree;; +open Longident;; +open Asttypes;; + +type ('a, 'b) choice = + Left of 'a + | Right of 'b +;; + +let sys_ocaml_version = Sys.ocaml_version;; + +let ocaml_location (fname, lnum, bolp, lnuml, bolpl, bp, ep) = + let loc_at n lnum bolp = + {Lexing.pos_fname = if lnum = -1 then "" else fname; + Lexing.pos_lnum = lnum; Lexing.pos_bol = bolp; Lexing.pos_cnum = n} + in + {Location.loc_start = loc_at bp lnum bolp; + Location.loc_end = loc_at ep lnuml bolpl; + Location.loc_ghost = bp = 0 && ep = 0} +;; + +let loc_none = + let loc = + {Lexing.pos_fname = "_none_"; Lexing.pos_lnum = 1; Lexing.pos_bol = 0; + Lexing.pos_cnum = -1} + in + {Location.loc_start = loc; Location.loc_end = loc; + Location.loc_ghost = true} +;; + +let mkloc loc txt = {Location.txt = txt; Location.loc = loc};; +let mknoloc txt = mkloc loc_none txt;; + +let ocaml_id_or_li_of_string_list loc sl = + let mkli s = + let rec loop f = + function + i :: il -> loop (fun s -> Ldot (f i, s)) il + | [] -> f s + in + loop (fun s -> Lident s) + in + match List.rev sl with + [] -> None + | s :: sl -> Some (mkli s (List.rev sl)) +;; + +let list_map_check f l = + let rec loop rev_l = + function + x :: l -> + begin match f x with + Some s -> loop (s :: rev_l) l + | None -> None + end + | [] -> Some (List.rev rev_l) + in + loop [] l +;; + +let ocaml_value_description vn t p = + {pval_type = t; pval_prim = p; pval_loc = t.ptyp_loc; + pval_name = mkloc t.ptyp_loc vn; pval_attributes = []} +;; + +let ocaml_class_type_field loc ctfd = + {pctf_desc = ctfd; pctf_loc = loc; pctf_attributes = []} +;; + +let ocaml_class_field loc cfd = + {pcf_desc = cfd; pcf_loc = loc; pcf_attributes = []} +;; + +let ocaml_mktyp loc x = + {ptyp_desc = x; ptyp_loc = loc; ptyp_attributes = []} +;; +let ocaml_mkpat loc x = + {ppat_desc = x; ppat_loc = loc; ppat_attributes = []} +;; +let ocaml_mkexp loc x = + {pexp_desc = x; pexp_loc = loc; pexp_attributes = []} +;; +let ocaml_mkmty loc x = + {pmty_desc = x; pmty_loc = loc; pmty_attributes = []} +;; +let ocaml_mkmod loc x = + {pmod_desc = x; pmod_loc = loc; pmod_attributes = []} +;; +let ocaml_mkfield loc (lab, x) fl = (lab, x) :: fl;; +let ocaml_mkfield_var loc = [];; + +let variance_of_bool_bool = + function + false, true -> Contravariant + | true, false -> Covariant + | _ -> Invariant +;; + +let ocaml_type_declaration tn params cl tk pf tm loc variance = + match list_map_check (fun s_opt -> s_opt) params with + Some params -> + let _ = + if List.length params <> List.length variance then + failwith "internal error: ocaml_type_declaration" + in + let params = + List.map2 + (fun os va -> + ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) + params variance + in + Right + {ptype_params = params; ptype_cstrs = cl; ptype_kind = tk; + ptype_private = pf; ptype_manifest = tm; ptype_loc = loc; + ptype_name = mkloc loc tn; ptype_attributes = []} + | None -> Left "no '_' type param in this ocaml version" +;; + +let ocaml_class_type = + Some (fun d loc -> {pcty_desc = d; pcty_loc = loc; pcty_attributes = []}) +;; + +let ocaml_class_expr = + Some (fun d loc -> {pcl_desc = d; pcl_loc = loc; pcl_attributes = []}) +;; + +let ocaml_class_structure p cil = {pcstr_self = p; pcstr_fields = cil};; + +let ocaml_pmty_ident loc li = Pmty_ident (mkloc loc li);; + +let ocaml_pmty_functor sloc s mt1 mt2 = + Pmty_functor (mkloc sloc s, Some mt1, mt2) +;; + +let ocaml_pmty_typeof = Some (fun me -> Pmty_typeof me);; + +let ocaml_pmty_with mt lcl = + let lcl = List.map snd lcl in Pmty_with (mt, lcl) +;; + +let ocaml_ptype_abstract = Ptype_abstract;; + +let ocaml_ptype_record ltl priv = + Ptype_record + (List.map + (fun (s, mf, ct, loc) -> + {pld_name = mkloc loc s; pld_mutable = mf; pld_type = ct; + pld_loc = loc; pld_attributes = []}) + ltl) +;; + +let ocaml_ptype_variant ctl priv = + try + let ctl = + List.map + (fun (c, tl, rto, loc) -> + if rto <> None then raise Exit + else + {pcd_name = mkloc loc c; pcd_args = tl; pcd_res = None; + pcd_loc = loc; pcd_attributes = []}) + ctl + in + Some (Ptype_variant ctl) + with Exit -> None +;; + +let ocaml_ptyp_arrow lab t1 t2 = Ptyp_arrow (lab, t1, t2);; + +let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl);; + +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = + let ml = List.map (fun (s, t) -> s, [], t) ml in Ptyp_object (ml, Closed) +;; + +let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; + +let ocaml_ptyp_poly = + Some + (fun cl t -> + match cl with + [] -> t.ptyp_desc + | _ -> Ptyp_poly (cl, t)) +;; + +let ocaml_ptyp_variant catl clos sl_opt = + let catl = + List.map + (function + Left (c, a, tl) -> Rtag (c, [], a, tl) + | Right t -> Rinherit t) + catl + in + let clos = if clos then Closed else Open in + Some (Ptyp_variant (catl, clos, sl_opt)) +;; + +let ocaml_package_type li ltl = + mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl +;; + +let ocaml_const_string s = Const_string (s, None);; + +let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; + +let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; + +let ocaml_const_nativeint = + Some (fun s -> Const_nativeint (Nativeint.of_string s)) +;; + +let ocaml_pexp_apply f lel = Pexp_apply (f, lel);; + +let ocaml_pexp_assertfalse fname loc = + Pexp_assert + (ocaml_mkexp loc (Pexp_construct (mkloc loc (Lident "false"), None))) +;; + +let ocaml_pexp_assert fname loc e = Pexp_assert e;; + +let ocaml_pexp_constraint e ot1 ot2 = + match ot2 with + Some t2 -> Pexp_coerce (e, ot1, t2) + | None -> + match ot1 with + Some t1 -> Pexp_constraint (e, t1) + | None -> failwith "internal error: ocaml_pexp_constraint" +;; + +let ocaml_pexp_construct loc li po chk_arity = + Pexp_construct (mkloc loc li, po) +;; + +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po) -> Some (li.txt, li.loc, po, 0) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + {pexp_desc = ocaml_pexp_construct li_loc li (Some a) true; pexp_loc = loc; + pexp_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} +;; + +let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; + +let ocaml_pexp_for i e1 e2 df e = + Pexp_for (ocaml_mkpat loc_none (Ppat_var (mknoloc i)), e1, e2, df, e) +;; + +let ocaml_case (p, wo, loc, e) = {pc_lhs = p; pc_guard = wo; pc_rhs = e};; + +let ocaml_pexp_function lab eo pel = + match pel with + [{pc_lhs = p; pc_guard = None; pc_rhs = e}] -> Pexp_fun (lab, eo, p, e) + | pel -> + if lab = "" && eo = None then Pexp_function pel + else failwith "internal error: bad ast in ocaml_pexp_function" +;; + +let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; + +let ocaml_pexp_ident li = Pexp_ident (mknoloc li);; + +let ocaml_pexp_letmodule = + Some (fun i me e -> Pexp_letmodule (mknoloc i, me, e)) +;; + +let ocaml_pexp_new loc li = Pexp_new (mkloc loc li);; + +let ocaml_pexp_newtype = Some (fun s e -> Pexp_newtype (s, e));; + +let ocaml_pexp_object = Some (fun cs -> Pexp_object cs);; + +let ocaml_pexp_open = Some (fun li e -> Pexp_open (Fresh, mknoloc li, e));; + +let ocaml_pexp_override sel = + let sel = List.map (fun (s, e) -> mknoloc s, e) sel in Pexp_override sel +;; + +let ocaml_pexp_pack : ('a -> 'b -> 'c, 'd) choice option = + Some (Right ((fun me -> Pexp_pack me), (fun pt -> Ptyp_package pt))) +;; + +let ocaml_pexp_poly = Some (fun e t -> Pexp_poly (e, t));; + +let ocaml_pexp_record lel eo = + let lel = List.map (fun (li, loc, e) -> mkloc loc li, e) lel in + Pexp_record (lel, eo) +;; + +let ocaml_pexp_setinstvar s e = Pexp_setinstvar (mknoloc s, e);; + +let ocaml_pexp_variant = + let pexp_variant_pat = + function + Pexp_variant (lab, eo) -> Some (lab, eo) + | _ -> None + in + let pexp_variant (lab, eo) = Pexp_variant (lab, eo) in + Some (pexp_variant_pat, pexp_variant) +;; + +let ocaml_value_binding loc p e = + {pvb_pat = p; pvb_expr = e; pvb_loc = loc; pvb_attributes = []} +;; + +let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; + +let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; + +let ocaml_ppat_construct loc li po chk_arity = + Ppat_construct (mkloc loc li, po) +;; + +let ocaml_ppat_construct_args = + function + Ppat_construct (li, po) -> Some (li.txt, li.loc, po, 0) + | _ -> None +;; + +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + {ppat_desc = ocaml_ppat_construct li_loc li (Some a) true; ppat_loc = loc; + ppat_attributes = [mkloc loc "ocaml.explicit_arity", PStr []]} +;; + +let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; + +let ocaml_ppat_record lpl is_closed = + let lpl = List.map (fun (li, loc, p) -> mkloc loc li, p) lpl in + Ppat_record (lpl, (if is_closed then Closed else Open)) +;; + +let ocaml_ppat_type = Some (fun loc li -> Ppat_type (mkloc loc li));; + +let ocaml_ppat_unpack = + Some ((fun loc s -> Ppat_unpack (mkloc loc s)), (fun pt -> Ptyp_package pt)) +;; + +let ocaml_ppat_var loc s = Ppat_var (mkloc loc s);; + +let ocaml_ppat_variant = + let ppat_variant_pat = + function + Ppat_variant (lab, po) -> Some (lab, po) + | _ -> None + in + let ppat_variant (lab, po) = Ppat_variant (lab, po) in + Some (ppat_variant_pat, ppat_variant) +;; + +let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; + +let ocaml_psig_exception loc s ed = + Psig_exception + {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); + pext_loc = loc; pext_attributes = []} +;; + +let ocaml_psig_include loc mt = + Psig_include {pincl_mod = mt; pincl_loc = loc; pincl_attributes = []} +;; + +let ocaml_psig_module loc s mt = + Psig_module + {pmd_name = mkloc loc s; pmd_type = mt; pmd_attributes = []; + pmd_loc = loc} +;; + +let ocaml_psig_modtype loc s mto = + let pmtd = + {pmtd_name = mkloc loc s; pmtd_type = mto; pmtd_attributes = []; + pmtd_loc = loc} + in + Psig_modtype pmtd +;; + +let ocaml_psig_open loc li = + Psig_open + {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; + popen_attributes = []} +;; + +let ocaml_psig_recmodule = + let f ntl = + let ntl = + List.map + (fun (s, mt) -> + {pmd_name = mknoloc s; pmd_type = mt; pmd_attributes = []; + pmd_loc = loc_none}) + ntl + in + Psig_recmodule ntl + in + Some f +;; + +let ocaml_psig_type stl = + let stl = List.map (fun (s, t) -> t) stl in Psig_type stl +;; + +let ocaml_psig_value s vd = Psig_value vd;; + +let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; + +let ocaml_pstr_eval e = Pstr_eval (e, []);; + +let ocaml_pstr_exception loc s ed = + Pstr_exception + {pext_name = mkloc loc s; pext_kind = Pext_decl (ed, None); + pext_loc = loc; pext_attributes = []} +;; + +let ocaml_pstr_exn_rebind = + Some + (fun loc s li -> + Pstr_exception + {pext_name = mkloc loc s; pext_kind = Pext_rebind (mkloc loc li); + pext_loc = loc; pext_attributes = []}) +;; + +let ocaml_pstr_include = + Some + (fun loc me -> + Pstr_include {pincl_mod = me; pincl_loc = loc; pincl_attributes = []}) +;; + +let ocaml_pstr_modtype loc s mt = + let pmtd = + {pmtd_name = mkloc loc s; pmtd_type = Some mt; pmtd_attributes = []; + pmtd_loc = loc} + in + Pstr_modtype pmtd +;; + +let ocaml_pstr_module loc s me = + let mb = + {pmb_name = mkloc loc s; pmb_expr = me; pmb_attributes = []; + pmb_loc = loc} + in + Pstr_module mb +;; + +let ocaml_pstr_open loc li = + Pstr_open + {popen_lid = mknoloc li; popen_override = Fresh; popen_loc = loc; + popen_attributes = []} +;; + +let ocaml_pstr_primitive s vd = Pstr_primitive vd;; + +let ocaml_pstr_recmodule = + let f nel = + Pstr_recmodule + (List.map + (fun (s, mt, me) -> + {pmb_name = mknoloc s; pmb_expr = me; pmb_attributes = []; + pmb_loc = loc_none}) + nel) + in + Some f +;; + +let ocaml_pstr_type stl = + let stl = List.map (fun (s, t) -> t) stl in Pstr_type stl +;; + +let ocaml_class_infos = + Some + (fun virt (sl, sloc) name expr loc variance -> + let _ = + if List.length sl <> List.length variance then + failwith "internal error: ocaml_class_infos" + in + let params = + List.map2 + (fun os va -> + ocaml_mktyp loc (Ptyp_var os), variance_of_bool_bool va) + sl variance + in + {pci_virt = virt; pci_params = params; pci_name = mkloc loc name; + pci_expr = expr; pci_loc = loc; pci_attributes = []}) +;; + +let ocaml_pmod_ident li = Pmod_ident (mknoloc li);; + +let ocaml_pmod_functor s mt me = Pmod_functor (mknoloc s, Some mt, me);; + +let ocaml_pmod_unpack : ('a -> 'b -> 'c, 'd) choice option = + Some (Right ((fun e -> Pmod_unpack e), (fun pt -> Ptyp_package pt))) +;; + +let ocaml_pcf_cstr = Some (fun (t1, t2, loc) -> Pcf_constraint (t1, t2));; + +let ocaml_pcf_inher ce pb = Pcf_inherit (Fresh, ce, pb);; + +let ocaml_pcf_init = Some (fun e -> Pcf_initializer e);; + +let ocaml_pcf_meth (s, pf, ovf, e, loc) = + let pf = if pf then Private else Public in + let ovf = if ovf then Override else Fresh in + Pcf_method (mkloc loc s, pf, Cfk_concrete (ovf, e)) +;; + +let ocaml_pcf_val (s, mf, ovf, e, loc) = + let mf = if mf then Mutable else Immutable in + let ovf = if ovf then Override else Fresh in + Pcf_val (mkloc loc s, mf, Cfk_concrete (ovf, e)) +;; + +let ocaml_pcf_valvirt = + let ocaml_pcf (s, mf, t, loc) = + let mf = if mf then Mutable else Immutable in + Pcf_val (mkloc loc s, mf, Cfk_virtual t) + in + Some ocaml_pcf +;; + +let ocaml_pcf_virt (s, pf, t, loc) = + Pcf_val (mkloc loc s, Immutable, Cfk_virtual t) +;; + +let ocaml_pcl_apply = Some (fun ce lel -> Pcl_apply (ce, lel));; + +let ocaml_pcl_constr = Some (fun li ctl -> Pcl_constr (mknoloc li, ctl));; + +let ocaml_pcl_constraint = Some (fun ce ct -> Pcl_constraint (ce, ct));; + +let ocaml_pcl_fun = Some (fun lab ceo p ce -> Pcl_fun (lab, ceo, p, ce));; + +let ocaml_pcl_let = Some (fun rf pel ce -> Pcl_let (rf, pel, ce));; + +let ocaml_pcl_structure = Some (fun cs -> Pcl_structure cs);; + +let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_constraint (t1, t2));; + +let ocaml_pctf_inher ct = Pctf_inherit ct;; + +let ocaml_pctf_meth (s, pf, t, loc) = Pctf_method (s, pf, Concrete, t);; + +let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t);; + +let ocaml_pctf_virt (s, pf, t, loc) = Pctf_val (s, Immutable, Virtual, t);; + +let ocaml_pcty_constr = Some (fun li ltl -> Pcty_constr (mknoloc li, ltl));; + +let ocaml_pcty_fun = Some (fun lab t ct -> Pcty_arrow (lab, t, ct));; + +let ocaml_pcty_signature = + let f (t, ctfl) = + let cs = {pcsig_self = t; pcsig_fields = ctfl} in Pcty_signature cs + in + Some f +;; + +let ocaml_pdir_bool = Some (fun b -> Pdir_bool b);; + +let ocaml_pwith_modsubst = + Some (fun loc me -> Pwith_modsubst (mkloc loc "", mkloc loc me)) +;; + +let ocaml_pwith_type loc (i, td) = Pwith_type (mkloc loc i, td);; + +let ocaml_pwith_module loc me = + Pwith_module (mkloc loc (Lident ""), mkloc loc me) +;; + +let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; + +let module_prefix_can_be_in_first_record_label_only = true;; + +let split_or_patterns_with_bindings = false;; + +let has_records_with_with = true;; + +(* *) + +let jocaml_pstr_def : (_ -> _) option = None;; + +let jocaml_pexp_def : (_ -> _ -> _) option = None;; + +let jocaml_pexp_par : (_ -> _ -> _) option = None;; + +let jocaml_pexp_reply : (_ -> _ -> _ -> _) option = None;; + +let jocaml_pexp_spawn : (_ -> _) option = None;; + +let arg_rest = + function + Arg.Rest r -> Some r + | _ -> None +;; + +let arg_set_string = + function + Arg.Set_string r -> Some r + | _ -> None +;; + +let arg_set_int = + function + Arg.Set_int r -> Some r + | _ -> None +;; + +let arg_set_float = + function + Arg.Set_float r -> Some r + | _ -> None +;; + +let arg_symbol = + function + Arg.Symbol (s, f) -> Some (s, f) + | _ -> None +;; + +let arg_tuple = + function + Arg.Tuple t -> Some t + | _ -> None +;; + +let arg_bool = + function + Arg.Bool f -> Some f + | _ -> None +;; + +let char_escaped = Char.escaped;; + +let hashtbl_mem = Hashtbl.mem;; + +let list_rev_append = List.rev_append;; + +let list_rev_map = List.rev_map;; + +let list_sort = List.sort;; + +let pervasives_set_binary_mode_out = Pervasives.set_binary_mode_out;; + +let printf_ksprintf = Printf.ksprintf;; + +let string_contains = String.contains;; + +let string_create = Bytes.create;; + +let string_unsafe_set = Bytes.unsafe_set;; + +let string_set = Bytes.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.0.ml --- camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.0.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.0.ml 2014-08-01 10:14:54.310065435 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -101,7 +113,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; @@ -122,6 +136,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -250,19 +301,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -323,6 +376,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -341,6 +396,8 @@ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; @@ -442,3 +499,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.1.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.1.ml --- camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.12.1.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.12.1.ml 2014-08-01 10:14:54.310065435 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -101,7 +113,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; @@ -122,6 +136,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -187,11 +222,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -201,6 +238,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -226,13 +268,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -250,19 +301,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -323,6 +376,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -341,6 +396,8 @@ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; @@ -442,3 +499,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.13.0.ml camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.13.0.ml --- camlp5-6.11/ocaml_src/lib/versdep/jocaml/3.13.0.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/lib/versdep/jocaml/3.13.0.ml 2014-08-01 10:14:54.310065435 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* versdep.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Parsetree;; @@ -47,13 +47,25 @@ loop [] l ;; -let ocaml_value_description t p = {pval_type = t; pval_prim = p};; +let ocaml_value_description vn t p = {pval_type = t; pval_prim = p};; let ocaml_class_type_field loc ctfd = ctfd;; let ocaml_class_field loc cfd = cfd;; -let ocaml_type_declaration params cl tk pf tm loc variance = +let ocaml_mktyp loc x = {ptyp_desc = x; ptyp_loc = loc};; +let ocaml_mkpat loc x = {ppat_desc = x; ppat_loc = loc};; +let ocaml_mkexp loc x = {pexp_desc = x; pexp_loc = loc};; +let ocaml_mkmty loc x = {pmty_desc = x; pmty_loc = loc};; +let ocaml_mkmod loc x = {pmod_desc = x; pmod_loc = loc};; +let ocaml_mkfield loc (lab, x) fl = + {pfield_desc = Pfield (lab, x); pfield_loc = loc} :: fl +;; +let ocaml_mkfield_var loc = [{pfield_desc = Pfield_var; pfield_loc = loc}];; + +(* *) + +let ocaml_type_declaration tn params cl tk pf tm loc variance = match list_map_check (fun s_opt -> s_opt) params with Some params -> Right @@ -101,7 +113,9 @@ let ocaml_ptyp_class li tl ll = Ptyp_class (mknoloc li, tl, ll);; -let ocaml_ptyp_constr li tl = Ptyp_constr (mknoloc li, tl);; +let ocaml_ptyp_constr loc li tl = Ptyp_constr (mkloc loc li, tl);; + +let ocaml_ptyp_object ml = Ptyp_object ml;; let ocaml_ptyp_package = Some (fun pt -> Ptyp_package pt);; @@ -122,6 +136,8 @@ mknoloc li, List.map (fun (li, t) -> mkloc t.ptyp_loc li, t) ltl ;; +let ocaml_const_string s = Const_string s;; + let ocaml_const_int32 = Some (fun s -> Const_int32 (Int32.of_string s));; let ocaml_const_int64 = Some (fun s -> Const_int64 (Int64.of_string s));; @@ -136,14 +152,33 @@ let ocaml_pexp_assert fname loc e = Pexp_assert e;; +let ocaml_pexp_constraint e ot1 ot2 = Pexp_constraint (e, ot1, ot2);; + let ocaml_pexp_construct loc li po chk_arity = Pexp_construct (mkloc loc li, po, chk_arity) ;; +let ocaml_pexp_construct_args = + function + Pexp_construct (li, po, chk_arity) -> Some (li, 0, po, chk_arity) + | _ -> None +;; + +let mkexp_ocaml_pexp_construct_arity loc li_loc li al = + let a = ocaml_mkexp loc (Pexp_tuple al) in + ocaml_mkexp loc (ocaml_pexp_construct li_loc li (Some a) true) +;; + let ocaml_pexp_field loc e li = Pexp_field (e, mkloc loc li);; let ocaml_pexp_for i e1 e2 df e = Pexp_for (mknoloc i, e1, e2, df, e);; +let ocaml_case (p, wo, loc, e) = + match wo with + Some w -> p, ocaml_mkexp loc (Pexp_when (w, e)) + | None -> p, e +;; + let ocaml_pexp_function lab eo pel = Pexp_function (lab, eo, pel);; let ocaml_pexp_lazy = Some (fun e -> Pexp_lazy e);; @@ -189,11 +224,13 @@ Some (pexp_variant_pat, pexp_variant) ;; +let ocaml_value_binding loc p e = p, e;; + let ocaml_ppat_alias p i iloc = Ppat_alias (p, mkloc iloc i);; let ocaml_ppat_array = Some (fun pl -> Ppat_array pl);; -let ocaml_ppat_construct li li_loc po chk_arity = +let ocaml_ppat_construct loc li po chk_arity = Ppat_construct (li, po, chk_arity) ;; @@ -203,6 +240,11 @@ | _ -> None ;; +let mkpat_ocaml_ppat_construct_arity loc li_loc li al = + let a = ocaml_mkpat loc (Ppat_tuple al) in + ocaml_mkpat loc (ocaml_ppat_construct li_loc li (Some a) true) +;; + let ocaml_ppat_lazy = Some (fun p -> Ppat_lazy p);; let ocaml_ppat_record lpl is_closed = @@ -228,13 +270,22 @@ let ocaml_psig_class_type = Some (fun ctl -> Psig_class_type ctl);; -let ocaml_psig_exception s ed = Psig_exception (mknoloc s, ed);; +let ocaml_psig_exception loc s ed = Psig_exception (mkloc loc s, ed);; -let ocaml_psig_module s mt = Psig_module (mknoloc s, mt);; +let ocaml_psig_include loc mt = Psig_include mt;; -let ocaml_psig_modtype s mtd = Psig_modtype (mknoloc s, mtd);; +let ocaml_psig_module loc s mt = Psig_module (mknoloc s, mt);; + +let ocaml_psig_modtype loc s mto = + let mtd = + match mto with + None -> Pmodtype_abstract + | Some t -> Pmodtype_manifest t + in + Psig_modtype (mknoloc s, mtd) +;; -let ocaml_psig_open li = Psig_open (mknoloc li);; +let ocaml_psig_open loc li = Psig_open (mkloc loc li);; let ocaml_psig_recmodule = let f ntl = @@ -252,19 +303,21 @@ let ocaml_pstr_class_type = Some (fun ctl -> Pstr_class_type ctl);; -let ocaml_pstr_exception s ed = Pstr_exception (mknoloc s, ed);; +let ocaml_pstr_eval e = Pstr_eval e;; + +let ocaml_pstr_exception loc s ed = Pstr_exception (mkloc loc s, ed);; let ocaml_pstr_exn_rebind = - Some (fun s li -> Pstr_exn_rebind (mknoloc s, mknoloc li)) + Some (fun loc s li -> Pstr_exn_rebind (mkloc loc s, mkloc loc li)) ;; -let ocaml_pstr_include = Some (fun me -> Pstr_include me);; +let ocaml_pstr_include = Some (fun loc me -> Pstr_include me);; -let ocaml_pstr_modtype s mt = Pstr_modtype (mknoloc s, mt);; +let ocaml_pstr_modtype loc s mt = Pstr_modtype (mkloc loc s, mt);; -let ocaml_pstr_module s me = Pstr_module (mknoloc s, me);; +let ocaml_pstr_module loc s me = Pstr_module (mkloc loc s, me);; -let ocaml_pstr_open li = Pstr_open (mknoloc li);; +let ocaml_pstr_open loc li = Pstr_open (mknoloc li);; let ocaml_pstr_primitive s vd = Pstr_primitive (mknoloc s, vd);; @@ -327,6 +380,8 @@ let ocaml_pctf_cstr = Some (fun (t1, t2, loc) -> Pctf_cstr (t1, t2, loc));; +let ocaml_pctf_inher ct = Pctf_inher ct;; + let ocaml_pctf_meth (s, pf, t, loc) = Pctf_meth (s, pf, t, loc);; let ocaml_pctf_val (s, mf, t, loc) = Pctf_val (s, mf, Concrete, t, loc);; @@ -345,6 +400,8 @@ Some (fun loc me -> Pwith_modsubst (mkloc loc me)) ;; +let ocaml_pwith_type loc (i, td) = Pwith_type td;; + let ocaml_pwith_module loc me = Pwith_module (mkloc loc me);; let ocaml_pwith_typesubst = Some (fun td -> Pwith_typesubst td);; @@ -446,3 +503,9 @@ let printf_ksprintf = Printf.ksprintf;; let string_contains = String.contains;; + +let string_create = String.create;; + +let string_unsafe_set = String.unsafe_set;; + +let string_set = String.set;; diff -urN camlp5-6.11/ocaml_src/main/argl.ml camlp5-6.12-63a8c30f/ocaml_src/main/argl.ml --- camlp5-6.11/ocaml_src/main/argl.ml 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/argl.ml 2014-08-01 10:14:54.310065435 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* argl.ml,v *) open Printf;; open Versdep;; diff -urN camlp5-6.11/ocaml_src/main/argl.mli camlp5-6.12-63a8c30f/ocaml_src/main/argl.mli --- camlp5-6.11/ocaml_src/main/argl.mli 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/argl.mli 2014-08-01 10:14:54.310065435 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* argl.mli,v *) val usage : (string * Arg.spec * string) list -> (string * Arg.spec * string) list -> diff -urN camlp5-6.11/ocaml_src/main/ast2pt.ml camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.ml --- camlp5-6.11/ocaml_src/main/ast2pt.ml 2013-03-19 15:25:22.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.ml 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* ast2pt.ml,v *) (* #load "q_MLast.cmo" *) @@ -64,14 +64,16 @@ ocaml_location (!glob_fname, lnum, bolp, lnuml, bolpl, bp, ep) ;; -let mktyp loc d = {ptyp_desc = d; ptyp_loc = mkloc loc};; -let mkpat loc d = {ppat_desc = d; ppat_loc = mkloc loc};; -let mkexp loc d = {pexp_desc = d; pexp_loc = mkloc loc};; -let mkmty loc d = {pmty_desc = d; pmty_loc = mkloc loc};; +let mktyp loc d = ocaml_mktyp (mkloc loc) d;; +let mkpat loc d = ocaml_mkpat (mkloc loc) d;; +let mkexp loc d = ocaml_mkexp (mkloc loc) d;; +let mkmty loc d = ocaml_mkmty (mkloc loc) d;; let mksig loc d = {psig_desc = d; psig_loc = mkloc loc};; -let mkmod loc d = {pmod_desc = d; pmod_loc = mkloc loc};; +let mkmod loc d = ocaml_mkmod (mkloc loc) d;; let mkstr loc d = {pstr_desc = d; pstr_loc = mkloc loc};; -let mkfield loc d = {pfield_desc = d; pfield_loc = mkloc loc};; +let mkfield loc d fl = ocaml_mkfield (mkloc loc) d fl;; +let mkfield_var loc = ocaml_mkfield_var (mkloc loc);; + let mkcty loc d = match ocaml_class_type with Some class_type -> class_type d (mkloc loc) @@ -89,9 +91,10 @@ let ghpat = mkpat loc in let ghexp = mkexp loc in let void_pat = - ghpat (ocaml_ppat_construct (Lident "()") (mkloc loc) None false) + ghpat (ocaml_ppat_construct (mkloc loc) (Lident "()") None false) in - let f = ghexp (ocaml_pexp_function "" None [void_pat, e]) in + let pwe = ocaml_case (void_pat, None, mkloc loc, e) in + let f = ghexp (ocaml_pexp_function "" None [pwe]) in let delayed = Ldot (Lident "Lazy", "Delayed") in let cloc = mkloc loc in let df = ghexp (ocaml_pexp_construct cloc delayed (Some f) false) in @@ -106,7 +109,7 @@ let rec loop i j = if i = String.length s then String.sub s 0 j else if s.[i] = '_' then loop (i + 1) j - else begin s.[j] <- s.[i]; loop (i + 1) (j + 1) end + else begin string_set s j s.[i]; loop (i + 1) (j + 1) end in loop 0 0 | None -> s @@ -255,7 +258,7 @@ TyAcc (loc, _, _) as f -> let (is_cls, li) = ctyp_long_id f in if is_cls then mktyp loc (ocaml_ptyp_class li [] []) - else mktyp loc (ocaml_ptyp_constr li []) + else mktyp loc (ocaml_ptyp_constr (mkloc loc) li []) | TyAli (loc, t1, t2) -> let (t, i) = match t1, t2 with @@ -269,7 +272,7 @@ let (f, al) = ctyp_fa [] f in let (is_cls, li) = ctyp_long_id f in if is_cls then mktyp loc (ocaml_ptyp_class li (List.map ctyp al) []) - else mktyp loc (ocaml_ptyp_constr li (List.map ctyp al)) + else mktyp loc (ocaml_ptyp_constr (mkloc loc) li (List.map ctyp al)) | TyArr (loc, TyLab (loc1, lab, t1), t2) -> mktyp loc (ocaml_ptyp_arrow (uv lab) (ctyp t1) (ctyp t2)) | TyArr (loc, TyOlb (loc1, lab, t1), t2) -> @@ -278,11 +281,13 @@ in mktyp loc (ocaml_ptyp_arrow ("?" ^ uv lab) (ctyp t1) (ctyp t2)) | TyArr (loc, t1, t2) -> mktyp loc (ocaml_ptyp_arrow "" (ctyp t1) (ctyp t2)) - | TyObj (loc, fl, v) -> mktyp loc (Ptyp_object (meth_list loc (uv fl) v)) + | TyObj (loc, fl, v) -> + mktyp loc (ocaml_ptyp_object (meth_list loc (uv fl) v)) | TyCls (loc, id) -> mktyp loc (ocaml_ptyp_class (long_id_of_string_list loc (uv id)) [] []) | TyLab (loc, _, _) -> error loc "labeled type not allowed here" - | TyLid (loc, s) -> mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) + | TyLid (loc, s) -> + mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) | TyMan (loc, _, _, _) -> error loc "type manifest not allowed here" | TyOlb (loc, lab, _) -> error loc "labeled type not allowed here" | TyPck (loc, mt) -> @@ -302,7 +307,8 @@ | TyRec (loc, _) -> error loc "record type not allowed here" | TySum (loc, _) -> error loc "sum type not allowed here" | TyTup (loc, tl) -> mktyp loc (Ptyp_tuple (List.map ctyp (uv tl))) - | TyUid (loc, s) -> mktyp loc (ocaml_ptyp_constr (Lident (uv s)) []) + | TyUid (loc, s) -> + mktyp loc (ocaml_ptyp_constr (mkloc loc) (Lident (uv s)) []) | TyVrn (loc, catl, ool) -> let catl = List.map @@ -326,9 +332,8 @@ | TyXtr (loc, _, _) -> error loc "bad ast TyXtr" and meth_list loc fl v = match fl with - [] -> if uv v then [mkfield loc Pfield_var] else [] - | (lab, t) :: fl -> - mkfield loc (Pfield (lab, add_polytype t)) :: meth_list loc fl v + [] -> if uv v then mkfield_var loc else [] + | (lab, t) :: fl -> mkfield loc (lab, add_polytype t) (meth_list loc fl v) and add_polytype t = match ocaml_ptyp_poly with Some ptyp_poly -> @@ -379,11 +384,11 @@ | None -> false, false ;; -let mktype loc tl cl tk pf tm = +let mktype loc tn tl cl tk pf tm = let (params, var_list) = List.split tl in let variance = List.map variance_of_var var_list in let params = List.map uv params in - match ocaml_type_declaration params cl tk pf tm (mkloc loc) variance with + match ocaml_type_declaration tn params cl tk pf tm (mkloc loc) variance with Right td -> td | Left msg -> error loc msg ;; @@ -421,17 +426,18 @@ | None -> error loc "no generalized data types in this ocaml version" ;; -let type_decl tl priv cl = +let type_decl tn tl priv cl = function TyMan (loc, t, pf, MLast.TyRec (_, ltl)) -> let priv = if uv pf then Private else Public in - mktype loc tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) + mktype loc tn tl cl (mktrecord ltl (uv pf)) priv (Some (ctyp t)) | TyMan (loc, t, pf, MLast.TySum (_, ctl)) -> let priv = if uv pf then Private else Public in - mktype loc tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) - | TyRec (loc, ltl) -> mktype loc tl cl (mktrecord (uv ltl) false) priv None + mktype loc tn tl cl (mktvariant loc ctl (uv pf)) priv (Some (ctyp t)) + | TyRec (loc, ltl) -> + mktype loc tn tl cl (mktrecord (uv ltl) false) priv None | TySum (loc, ctl) -> - mktype loc tl cl (mktvariant loc (uv ctl) false) priv None + mktype loc tn tl cl (mktvariant loc (uv ctl) false) priv None | t -> let m = match t with @@ -440,10 +446,10 @@ else None | _ -> Some (ctyp t) in - mktype (loc_of_ctyp t) tl cl Ptype_abstract priv m + mktype (loc_of_ctyp t) tn tl cl Ptype_abstract priv m ;; -let mkvalue_desc t p = ocaml_value_description (ctyp t) p;; +let mkvalue_desc vn t p = ocaml_value_description vn (ctyp t) p;; let option f = function @@ -469,14 +475,14 @@ | t -> error (loc_of_module_expr t) "bad module expr long ident" ;; -let type_decl_of_with_type loc tpl pf ct = +let type_decl_of_with_type loc tn tpl pf ct = let (params, var_list) = List.split (uv tpl) in let variance = List.map variance_of_var var_list in let params = List.map uv params in let ct = Some (ctyp ct) in let tk = if pf then ocaml_ptype_abstract else Ptype_abstract in let pf = if pf then Private else Public in - ocaml_type_declaration params [] tk pf ct (mkloc loc) variance + ocaml_type_declaration tn params [] tk pf ct (mkloc loc) variance ;; let mkwithc = @@ -492,14 +498,15 @@ | None -> error loc "no with module := in this ocaml version" end | WcTyp (loc, id, tpl, pf, ct) -> - begin match type_decl_of_with_type loc tpl (uv pf) ct with - Right td -> long_id_of_string_list loc (uv id), Pwith_type td + let li = long_id_of_string_list loc (uv id) in + begin match type_decl_of_with_type loc "" tpl (uv pf) ct with + Right td -> li, ocaml_pwith_type (mkloc loc) (li, td) | Left msg -> error loc msg end | WcTys (loc, id, tpl, t) -> match ocaml_pwith_typesubst with Some pwith_typesubst -> - begin match type_decl_of_with_type loc tpl false t with + begin match type_decl_of_with_type loc "" tpl false t with Right td -> let li = long_id_of_string_list loc (uv id) in li, pwith_typesubst td @@ -550,7 +557,7 @@ MLast.PaUid (loc, i), il -> begin match p2 with MLast.PaUid (_, s) -> - ocaml_ppat_construct (mkli (conv_con s) (i :: il)) (mkloc loc) + ocaml_ppat_construct (mkloc loc) (mkli (conv_con s) (i :: il)) None (not !(Prtools.no_constructors_arity)) | _ -> error (loc_of_patt p2) "bad access pattern" end @@ -579,10 +586,8 @@ [a] -> a | _ -> mkpat loc (Ppat_tuple al) in - mkpat loc (ocaml_ppat_construct li li_loc (Some a) false) - else - let a = mkpat loc (Ppat_tuple al) in - mkpat loc (ocaml_ppat_construct li li_loc (Some a) true) + mkpat loc (ocaml_ppat_construct li_loc li (Some a) false) + else mkpat_ocaml_ppat_construct_arity (mkloc loc) li_loc li al | Some _ | None -> match ocaml_ppat_variant with Some (ppat_variant_pat, ppat_variant) -> @@ -642,7 +647,8 @@ mkpat loc (ocaml_ppat_record (List.map mklabpat lpl) is_closed) | PaStr (loc, s) -> mkpat loc - (Ppat_constant (Const_string (string_of_string_token loc (uv s)))) + (Ppat_constant + (ocaml_const_string (string_of_string_token loc (uv s)))) | PaTup (loc, pl) -> mkpat loc (Ppat_tuple (List.map patt (uv pl))) | PaTyc (loc, p, t) -> mkpat loc (Ppat_constraint (patt p, ctyp t)) | PaTyp (loc, sl) -> @@ -655,7 +661,7 @@ | PaUid (loc, s) -> let ca = not !(Prtools.no_constructors_arity) in mkpat loc - (ocaml_ppat_construct (Lident (conv_con (uv s))) (mkloc loc) None ca) + (ocaml_ppat_construct (mkloc loc) (Lident (conv_con (uv s))) None ca) | PaUnp (loc, s, mto) -> begin match ocaml_ppat_unpack with Some (ppat_unpack, ptyp_package) -> @@ -947,8 +953,8 @@ | _ -> f in let al = List.rev (List.fold_left label_expr [] al) in - begin match (expr f).pexp_desc with - Pexp_construct (li, None, _) -> + begin match ocaml_pexp_construct_args (expr f).pexp_desc with + Some (li, li_loc, None, _) -> let al = List.map snd al in if !(Prtools.no_constructors_arity) then let a = @@ -956,11 +962,10 @@ [a] -> a | _ -> mkexp loc (Pexp_tuple al) in - mkexp loc (Pexp_construct (li, Some a, false)) - else - let a = mkexp loc (Pexp_tuple al) in - mkexp loc (Pexp_construct (li, Some a, true)) - | e -> + mkexp loc (ocaml_pexp_construct li_loc li (Some a) false) + else mkexp_ocaml_pexp_construct_arity (mkloc loc) li_loc li al + | Some _ | None -> + let e = (expr f).pexp_desc in match ocaml_pexp_variant with Some (pexp_variant_pat, pexp_variant) -> begin match pexp_variant_pat e with @@ -1024,7 +1029,8 @@ | ExChr (loc, s) -> mkexp loc (Pexp_constant (Const_char (char_of_char_token loc (uv s)))) | ExCoe (loc, e, t1, t2) -> - mkexp loc (Pexp_constraint (expr e, option ctyp t1, Some (ctyp t2))) + mkexp loc + (ocaml_pexp_constraint (expr e) (option ctyp t1) (Some (ctyp t2))) | ExFlo (loc, s) -> mkexp loc (Pexp_constant (Const_float (uv s))) | ExFor (loc, i, e1, e2, df, el) -> let e3 = MLast.ExSeq (loc, uv el) in @@ -1033,16 +1039,17 @@ | ExFun (loc, pel) -> begin match uv pel with [PaLab (ploc, lppo), w, e] -> - List.fold_right - (fun (p, po) e -> - let lab = label_of_patt p in - let p = - match uv po with - Some p -> p - | None -> p - in - mkexp loc (ocaml_pexp_function lab None [patt p, e])) - (uv lppo) (when_expr e (uv w)) + begin match uv lppo with + [p, po] -> + let lab = label_of_patt p in + let p = + match uv po with + Some p -> p + | None -> p + in + mkexp loc (ocaml_pexp_function lab None [mkpwe (p, w, e)]) + | _ -> error loc "bad AST" + end | [PaNty (loc, s), w, e] -> begin match ocaml_pexp_newtype with Some newtype -> @@ -1061,7 +1068,7 @@ in mkexp loc (ocaml_pexp_function ("?" ^ lab) (option expr (uv eo)) - [patt p, when_expr e (uv w)]) + [mkpwe (p, w, e)]) | pel -> let pel = if split_or_patterns_with_bindings then @@ -1141,8 +1148,8 @@ match mto with Some mt -> let pt = package_of_module_type loc mt in - Pexp_constraint - (mkexp loc e, Some (mktyp loc (ptyp_package pt)), None) + ocaml_pexp_constraint (mkexp loc e) + (Some (mktyp loc (ptyp_package pt))) None | None -> e in mkexp loc e @@ -1211,12 +1218,13 @@ ["", expr e1; "", expr e2]) | ExStr (loc, s) -> mkexp loc - (Pexp_constant (Const_string (string_of_string_token loc (uv s)))) + (Pexp_constant + (ocaml_const_string (string_of_string_token loc (uv s)))) | ExTry (loc, e, pel) -> mkexp loc (Pexp_try (expr e, List.map mkpwe (uv pel))) | ExTup (loc, el) -> mkexp loc (Pexp_tuple (List.map expr (uv el))) | ExTyc (loc, e, t) -> - mkexp loc (Pexp_constraint (expr e, Some (ctyp t), None)) + mkexp loc (ocaml_pexp_constraint (expr e) (Some (ctyp t)) None) | ExUid (loc, s) -> let ca = not !(Prtools.no_constructors_arity) in let cloc = mkloc loc in @@ -1270,7 +1278,7 @@ Some p -> patt p | None -> mkpat loc - (ocaml_ppat_construct (Lident "()") (mkloc loc) None + (ocaml_ppat_construct (mkloc loc) (Lident "()") None false) in mkloc locp, (mkloc loc, uv s), p) @@ -1281,6 +1289,7 @@ in mkloc jc.jcLoc, jcval and mkpe (p, e) = + let loc = Ploc.encl (loc_of_patt p) (loc_of_expr e) in let (p, e) = match e with ExTyc (loc, e, (TyPol (_, _, _) as t)) -> PaTyc (loc, p, t), e @@ -1293,7 +1302,7 @@ expand_gadt_type loc p loc1 nt ct e | p -> p, e in - patt p, expr e + ocaml_value_binding (mkloc loc) (patt p) (expr e) and expand_gadt_type loc p loc1 nt ct e = let nt = uv nt in let e = MLast.ExTyc (loc, e, ct) in @@ -1304,11 +1313,8 @@ let ct = varify_constructors nt ct in let tp = List.map (fun s -> "&" ^ s) nt in let ct = MLast.TyPol (loc, tp, ct) in MLast.PaTyc (loc, p, ct), e -and mkpwe (p, w, e) = patt p, when_expr e (uv w) -and when_expr e = - function - Some w -> mkexp (loc_of_expr e) (Pexp_when (expr w, expr e)) - | None -> expr e +and mkpwe (p, w, e) = + ocaml_case (patt p, option expr (uv w), mkloc (loc_of_expr e), expr e) and mklabexp (lab, e) = patt_label_long_id lab, mkloc (loc_of_patt lab), expr e and mkideexp (ide, e) = ide, expr e @@ -1321,7 +1327,8 @@ ctyp t1, ctyp t2, mkloc loc) (uv td.tdCon) in - uv (snd (uv td.tdNam)), type_decl (uv td.tdPrm) priv cl td.tdDef + let tn = uv (snd (uv td.tdNam)) in + tn, type_decl tn (uv td.tdPrm) priv cl td.tdDef and module_type = function MtAcc (loc, _, _) as f -> @@ -1360,15 +1367,21 @@ | SgDcl (loc, sl) -> List.fold_right sig_item (uv sl) l | SgDir (loc, _, _) -> l | SgExc (loc, n, tl) -> - mksig loc (ocaml_psig_exception (uv n) (List.map ctyp (uv tl))) :: l + mksig loc + (ocaml_psig_exception (mkloc loc) (uv n) (List.map ctyp (uv tl))) :: + l | SgExt (loc, n, t, p) -> - mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t (uv p))) :: l - | SgInc (loc, mt) -> mksig loc (Psig_include (module_type mt)) :: l + let vn = uv n in + mksig loc (ocaml_psig_value vn (mkvalue_desc vn t (uv p))) :: l + | SgInc (loc, mt) -> + mksig loc (ocaml_psig_include (mkloc loc) (module_type mt)) :: l | SgMod (loc, rf, ntl) -> if not (uv rf) then List.fold_right (fun (n, mt) l -> - mksig loc (ocaml_psig_module (uv n) (module_type mt)) :: l) + mksig loc + (ocaml_psig_module (mkloc loc) (uv n) (module_type mt)) :: + l) (uv ntl) l else begin match ocaml_psig_recmodule with @@ -1380,21 +1393,24 @@ | None -> error loc "no recursive module in this ocaml version" end | SgMty (loc, n, mt) -> - let si = + let mto = match mt with - MtQuo (_, _) -> Pmodtype_abstract - | _ -> Pmodtype_manifest (module_type mt) + MtQuo (_, _) -> None + | _ -> Some (module_type mt) in - mksig loc (ocaml_psig_modtype (uv n) si) :: l + mksig loc (ocaml_psig_modtype (mkloc loc) (uv n) mto) :: l | SgOpn (loc, id) -> - mksig loc (ocaml_psig_open (long_id_of_string_list loc (uv id))) :: l + mksig loc + (ocaml_psig_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: + l | SgTyp (loc, tdl) -> mksig loc (ocaml_psig_type (List.map mktype_decl (uv tdl))) :: l | SgUse (loc, fn, sl) -> Ploc.call_with glob_fname (uv fn) (fun () -> List.fold_right (fun (si, _) -> sig_item si) (uv sl) l) () | SgVal (loc, n, t) -> - mksig loc (ocaml_psig_value (uv n) (mkvalue_desc t [])) :: l + let vn = uv n in + mksig loc (ocaml_psig_value vn (mkvalue_desc vn t [])) :: l | SgXtr (loc, _, _) -> error loc "bad ast SgXtr" and module_expr = function @@ -1424,7 +1440,7 @@ Some mt -> let pt = package_of_module_type loc mt in let t = mktyp loc (ptyp_package pt) in - mkexp loc (Pexp_constraint (expr e, Some t, None)) + mkexp loc (ocaml_pexp_constraint (expr e) (Some t) None) | None -> expr e in mkmod loc (pmod_unpack e) @@ -1455,29 +1471,33 @@ | StExc (loc, n, tl, sl) -> let si = match uv tl, uv sl with - tl, [] -> ocaml_pstr_exception (uv n) (List.map ctyp tl) + tl, [] -> ocaml_pstr_exception (mkloc loc) (uv n) (List.map ctyp tl) | [], sl -> begin match ocaml_pstr_exn_rebind with Some pstr_exn_rebind -> - pstr_exn_rebind (uv n) (long_id_of_string_list loc sl) + pstr_exn_rebind (mkloc loc) (uv n) + (long_id_of_string_list loc sl) | None -> error loc "no exception renaming in this ocaml version" end | _ -> error loc "renamed exception should not have parameters" in mkstr loc si :: l - | StExp (loc, e) -> mkstr loc (Pstr_eval (expr e)) :: l + | StExp (loc, e) -> mkstr loc (ocaml_pstr_eval (expr e)) :: l | StExt (loc, n, t, p) -> - mkstr loc (ocaml_pstr_primitive (uv n) (mkvalue_desc t (uv p))) :: l + let vn = uv n in + mkstr loc (ocaml_pstr_primitive vn (mkvalue_desc vn t (uv p))) :: l | StInc (loc, me) -> begin match ocaml_pstr_include with - Some pstr_include -> mkstr loc (pstr_include (module_expr me)) :: l + Some pstr_include -> + mkstr loc (pstr_include (mkloc loc) (module_expr me)) :: l | None -> error loc "no include in this ocaml version" end | StMod (loc, rf, nel) -> if not (uv rf) then List.fold_right (fun (n, me) l -> - mkstr loc (ocaml_pstr_module (uv n) (module_expr me)) :: l) + let m = ocaml_pstr_module (mkloc loc) (uv n) (module_expr me) in + mkstr loc m :: l) (uv nel) l else begin match ocaml_pstr_recmodule with @@ -1499,9 +1519,12 @@ | None -> error loc "no recursive module in this ocaml version" end | StMty (loc, n, mt) -> - mkstr loc (ocaml_pstr_modtype (uv n) (module_type mt)) :: l + let m = ocaml_pstr_modtype (mkloc loc) (uv n) (module_type mt) in + mkstr loc m :: l | StOpn (loc, id) -> - mkstr loc (ocaml_pstr_open (long_id_of_string_list loc (uv id))) :: l + mkstr loc + (ocaml_pstr_open (mkloc loc) (long_id_of_string_list loc (uv id))) :: + l | StTyp (loc, tdl) -> mkstr loc (ocaml_pstr_type (List.map mktype_decl (uv tdl))) :: l | StUse (loc, fn, sl) -> @@ -1581,7 +1604,8 @@ end | CgDcl (loc, cl) -> List.fold_right class_sig_item (uv cl) l | CgInh (loc, ct) -> - ocaml_class_type_field (mkloc loc) (Pctf_inher (class_type ct)) :: l + ocaml_class_type_field (mkloc loc) (ocaml_pctf_inher (class_type ct)) :: + l | CgMth (loc, pf, s, t) -> ocaml_class_type_field (mkloc loc) (ocaml_pctf_meth @@ -1733,20 +1757,19 @@ let directive loc = function - None -> Pdir_none - | Some (MLast.ExStr (_, s)) -> Pdir_string s - | Some (MLast.ExInt (_, i, "")) -> Pdir_int (int_of_string_l loc i) - | Some (MLast.ExUid (_, "True")) -> + MLast.ExStr (_, s) -> Pdir_string s + | MLast.ExInt (_, i, "") -> Pdir_int (int_of_string_l loc i) + | MLast.ExUid (_, "True") -> begin match ocaml_pdir_bool with Some pdir_bool -> pdir_bool true | None -> error loc "no such kind of directive in this ocaml version" end - | Some (MLast.ExUid (_, "False")) -> + | MLast.ExUid (_, "False") -> begin match ocaml_pdir_bool with Some pdir_bool -> pdir_bool false | None -> error loc "no such kind of directive in this ocaml version" end - | Some e -> + | e -> let sl = let rec loop = function @@ -1761,8 +1784,14 @@ Pdir_ident (long_id_of_string_list loc sl) ;; +let directive_args loc d = + match d with + Some d -> directive loc d + | None -> Pdir_none +;; + let phrase = function - StDir (loc, d, dp) -> Ptop_dir (uv d, directive loc (uv dp)) + StDir (loc, d, dp) -> Ptop_dir (uv d, directive_args loc (uv dp)) | si -> glob_fname := !(Plexing.input_file); Ptop_def (str_item si []) ;; diff -urN camlp5-6.11/ocaml_src/main/ast2pt.mli camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.mli --- camlp5-6.11/ocaml_src/main/ast2pt.mli 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/ast2pt.mli 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* ast2pt.mli,v *) (** Conversion between Camlp5 AST into OCaml AST *) diff -urN camlp5-6.11/ocaml_src/main/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/main/.cvsignore --- camlp5-6.11/ocaml_src/main/.cvsignore 2010-09-15 17:00:28.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -camlp5 diff -urN camlp5-6.11/ocaml_src/main/exparser.ml camlp5-6.12-63a8c30f/ocaml_src/main/exparser.ml --- camlp5-6.11/ocaml_src/main/exparser.ml 2013-03-19 14:29:57.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/main/exparser.ml 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* exparser.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "q_MLast.cmo" *) diff -urN camlp5-6.11/ocaml_src/main/exparser.mli camlp5-6.12-63a8c30f/ocaml_src/main/exparser.mli --- camlp5-6.11/ocaml_src/main/exparser.mli 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/exparser.mli 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* exparser.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (* expand parser ast into normal one *) diff -urN camlp5-6.11/ocaml_src/main/.gitignore camlp5-6.12-63a8c30f/ocaml_src/main/.gitignore --- camlp5-6.11/ocaml_src/main/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/.gitignore 2014-08-01 10:14:54.310065435 +0100 @@ -0,0 +1,2 @@ +*.cm[oi] +camlp5 diff -urN camlp5-6.11/ocaml_src/main/main.ml camlp5-6.12-63a8c30f/ocaml_src/main/main.ml --- camlp5-6.11/ocaml_src/main/main.ml 2013-03-13 14:55:40.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/main/main.ml 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* main.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "q_MLast.cmo" *) diff -urN camlp5-6.11/ocaml_src/main/Makefile camlp5-6.12-63a8c30f/ocaml_src/main/Makefile --- camlp5-6.11/ocaml_src/main/Makefile 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/Makefile 2014-08-01 10:14:54.310065435 +0100 @@ -1,4 +1,4 @@ -# File generated by program: edit only if it does not compile. +# Makefile,v TOP=../.. include $(TOP)/config/Makefile diff -urN camlp5-6.11/ocaml_src/main/mLast.mli camlp5-6.12-63a8c30f/ocaml_src/main/mLast.mli --- camlp5-6.11/ocaml_src/main/mLast.mli 2013-07-02 17:31:25.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/mLast.mli 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* mLast.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_macro.cmo" *) diff -urN camlp5-6.11/ocaml_src/main/parserify.ml camlp5-6.12-63a8c30f/ocaml_src/main/parserify.ml --- camlp5-6.11/ocaml_src/main/parserify.ml 2013-03-15 09:39:40.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/main/parserify.ml 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* parserify.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "q_MLast.cmo" *) diff -urN camlp5-6.11/ocaml_src/main/parserify.mli camlp5-6.12-63a8c30f/ocaml_src/main/parserify.mli --- camlp5-6.11/ocaml_src/main/parserify.mli 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/parserify.mli 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* parserify.mli,v *) (* Copyright (c) INRIA 2007-2012 *) type spat_comp = diff -urN camlp5-6.11/ocaml_src/main/pcaml.ml camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.ml --- camlp5-6.11/ocaml_src/main/pcaml.ml 2013-08-15 23:08:21.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.ml 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pcaml.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_macro.cmo" *) @@ -7,7 +7,7 @@ open Printf;; -let version = "6.11";; +let version = "6.12-exp";; let syntax_name = ref "";; let gram = diff -urN camlp5-6.11/ocaml_src/main/pcaml.mli camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.mli --- camlp5-6.11/ocaml_src/main/pcaml.mli 2013-04-19 09:43:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/pcaml.mli 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pcaml.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_macro.cmo" *) diff -urN camlp5-6.11/ocaml_src/main/prtools.ml camlp5-6.12-63a8c30f/ocaml_src/main/prtools.ml --- camlp5-6.11/ocaml_src/main/prtools.ml 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/prtools.ml 2014-08-01 10:14:54.311065436 +0100 @@ -1,11 +1,12 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* prtools.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "q_MLast.cmo" *) (* #load "pa_macro.cmo" *) open Pretty;; +open Versdep;; type pr_context = Pprintf.pr_context = @@ -334,11 +335,11 @@ module Buff = struct - let buff = ref (String.create 80);; + let buff = ref (string_create 80);; let store len x = if len >= String.length !buff then - buff := !buff ^ String.create (String.length !buff); - !buff.[len] <- x; + buff := !buff ^ string_create (String.length !buff); + string_set !buff len x; succ len ;; let mstore len s = diff -urN camlp5-6.11/ocaml_src/main/prtools.mli camlp5-6.12-63a8c30f/ocaml_src/main/prtools.mli --- camlp5-6.11/ocaml_src/main/prtools.mli 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/prtools.mli 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* prtools.mli,v *) (* Copyright (c) INRIA 2007-2012 *) type pr_context = diff -urN camlp5-6.11/ocaml_src/main/quotation.ml camlp5-6.12-63a8c30f/ocaml_src/main/quotation.ml --- camlp5-6.11/ocaml_src/main/quotation.ml 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/quotation.ml 2014-08-01 10:14:54.311065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* quotation.ml,v *) (* Copyright (c) INRIA 2007-2012 *) type expander = diff -urN camlp5-6.11/ocaml_src/main/quotation.mli camlp5-6.12-63a8c30f/ocaml_src/main/quotation.mli --- camlp5-6.11/ocaml_src/main/quotation.mli 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/quotation.mli 2014-08-01 10:14:54.312065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* quotation.mli,v *) (* Copyright (c) INRIA 2007-2012 *) (** Quotation operations. *) diff -urN camlp5-6.11/ocaml_src/main/reloc.ml camlp5-6.12-63a8c30f/ocaml_src/main/reloc.ml --- camlp5-6.11/ocaml_src/main/reloc.ml 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/reloc.ml 2014-08-01 10:14:54.312065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* reloc.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_macro.cmo" *) diff -urN camlp5-6.11/ocaml_src/main/reloc.mli camlp5-6.12-63a8c30f/ocaml_src/main/reloc.mli --- camlp5-6.11/ocaml_src/main/reloc.mli 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/main/reloc.mli 2014-08-01 10:14:54.312065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* reloc.mli,v *) (* Copyright (c) INRIA 2007-2012 *) val expr : (MLast.loc -> MLast.loc) -> int -> MLast.expr -> MLast.expr;; diff -urN camlp5-6.11/ocaml_src/meta/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/meta/.cvsignore --- camlp5-6.11/ocaml_src/meta/.cvsignore 2010-09-15 17:00:29.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -*.cm[oiax] -camlp5r -camlp5r.opt diff -urN camlp5-6.11/ocaml_src/meta/.gitignore camlp5-6.12-63a8c30f/ocaml_src/meta/.gitignore --- camlp5-6.11/ocaml_src/meta/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/.gitignore 2014-08-01 10:14:54.312065436 +0100 @@ -0,0 +1,3 @@ +*.cm[oiax] +camlp5r +camlp5r.opt diff -urN camlp5-6.11/ocaml_src/meta/Makefile camlp5-6.12-63a8c30f/ocaml_src/meta/Makefile --- camlp5-6.11/ocaml_src/meta/Makefile 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/Makefile 2014-08-01 10:14:54.312065436 +0100 @@ -1,4 +1,4 @@ -# File generated by program: edit only if it does not compile. +# Makefile,v TOP=../.. include $(TOP)/config/Makefile diff -urN camlp5-6.11/ocaml_src/meta/pa_extend.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend.ml --- camlp5-6.11/ocaml_src/meta/pa_extend.ml 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend.ml 2014-08-01 10:14:54.312065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pa_extend.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_macro.cmo" *) diff -urN camlp5-6.11/ocaml_src/meta/pa_extend_m.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend_m.ml --- camlp5-6.11/ocaml_src/meta/pa_extend_m.ml 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_extend_m.ml 2014-08-01 10:14:54.312065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pa_extend_m.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_extend.cmo" *) diff -urN camlp5-6.11/ocaml_src/meta/pa_fstream.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_fstream.ml --- camlp5-6.11/ocaml_src/meta/pa_fstream.ml 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_fstream.ml 2014-08-01 10:14:54.312065436 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pa_fstream.ml,v *) (* #load "pa_extend.cmo" *) (* #load "q_MLast.cmo" *) diff -urN camlp5-6.11/ocaml_src/meta/pa_lexer.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_lexer.ml --- camlp5-6.11/ocaml_src/meta/pa_lexer.ml 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_lexer.ml 2014-08-01 10:14:54.313065437 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pa_lexer.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_extend.cmo" *) diff -urN camlp5-6.11/ocaml_src/meta/pa_macro.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_macro.ml --- camlp5-6.11/ocaml_src/meta/pa_macro.ml 2013-03-13 14:55:40.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_macro.ml 2014-08-01 10:14:54.313065437 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pa_macro.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_extend.cmo" *) @@ -103,6 +103,7 @@ open Pcaml;; open Printf;; +open Versdep;; type macro_value = MvExpr of string list * MLast.expr @@ -129,7 +130,7 @@ for i = 0 to String.length v - 1 do match v.[i] with '0'..'9' | 'a'..'z' | 'A'..'Z' -> () - | _ -> v.[i] <- '_' + | _ -> string_set v i '_' done; v ;; diff -urN camlp5-6.11/ocaml_src/meta/pa_r.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_r.ml --- camlp5-6.11/ocaml_src/meta/pa_r.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_r.ml 2014-08-01 10:14:54.313065437 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pa_r.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_extend.cmo" *) diff -urN camlp5-6.11/ocaml_src/meta/pa_rp.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pa_rp.ml --- camlp5-6.11/ocaml_src/meta/pa_rp.ml 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/pa_rp.ml 2014-08-01 10:14:54.313065437 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pa_rp.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_extend.cmo" *) diff -urN camlp5-6.11/ocaml_src/meta/pr_dump.ml camlp5-6.12-63a8c30f/ocaml_src/meta/pr_dump.ml --- camlp5-6.11/ocaml_src/meta/pr_dump.ml 2012-06-02 14:23:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/pr_dump.ml 2014-08-01 10:14:54.314065438 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* pr_dump.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Versdep;; diff -urN camlp5-6.11/ocaml_src/meta/q_ast.ml camlp5-6.12-63a8c30f/ocaml_src/meta/q_ast.ml --- camlp5-6.11/ocaml_src/meta/q_ast.ml 2012-06-02 14:23:42.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/q_ast.ml 2014-08-01 10:14:54.315065438 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* q_ast.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_macro.cmo" *) diff -urN camlp5-6.11/ocaml_src/meta/q_MLast.ml camlp5-6.12-63a8c30f/ocaml_src/meta/q_MLast.ml --- camlp5-6.11/ocaml_src/meta/q_MLast.ml 2013-07-02 17:12:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/meta/q_MLast.ml 2014-08-01 10:14:54.315065438 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* q_MLast.ml,v *) (* Copyright (c) INRIA 2007-2012 *) (* #load "pa_extend.cmo" *) diff -urN camlp5-6.11/ocaml_src/odyl/.cvsignore camlp5-6.12-63a8c30f/ocaml_src/odyl/.cvsignore --- camlp5-6.11/ocaml_src/odyl/.cvsignore 2010-09-15 17:00:29.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/odyl/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -odyl -odyl_config.ml diff -urN camlp5-6.11/ocaml_src/odyl/.gitignore camlp5-6.12-63a8c30f/ocaml_src/odyl/.gitignore --- camlp5-6.11/ocaml_src/odyl/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/odyl/.gitignore 2014-08-01 10:14:54.315065438 +0100 @@ -0,0 +1,3 @@ +*.cm[oia] +odyl +odyl_config.ml diff -urN camlp5-6.11/ocaml_src/odyl/Makefile camlp5-6.12-63a8c30f/ocaml_src/odyl/Makefile --- camlp5-6.11/ocaml_src/odyl/Makefile 2012-06-02 14:23:42.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/odyl/Makefile 2014-08-01 10:14:54.315065438 +0100 @@ -1,4 +1,4 @@ -# File generated by program: edit only if it does not compile. +# Makefile,v TOP=../.. include $(TOP)/config/Makefile diff -urN camlp5-6.11/ocaml_src/odyl/odyl_main.ml camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.ml --- camlp5-6.11/ocaml_src/odyl/odyl_main.ml 2012-06-02 14:23:42.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.ml 2014-08-01 10:14:54.315065438 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* File generated by program: edit only if it does not compile. *) +(* odyl_main.ml,v *) (* Copyright (c) INRIA 2007-2012 *) let go = ref (fun () -> ());; diff -urN camlp5-6.11/ocaml_src/odyl/odyl_main.mli camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.mli --- camlp5-6.11/ocaml_src/odyl/odyl_main.mli 2012-06-02 14:23:42.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl_main.mli 2014-08-01 10:14:54.316065439 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* odyl_main.mli,v *) exception Error of string * string;; diff -urN camlp5-6.11/ocaml_src/odyl/odyl.ml camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl.ml --- camlp5-6.11/ocaml_src/odyl/odyl.ml 2012-06-02 14:23:42.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_src/odyl/odyl.ml 2014-08-01 10:14:54.315065438 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* File generated by program: edit only if it does not compile. *) +(* odyl.ml,v *) (* Copyright (c) INRIA 2007-2012 *) let apply_load () = diff -urN camlp5-6.11/ocaml_stuff/1.06/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/1.06/parsing/.cvsignore 2010-09-15 17:00:30.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/1.06/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/1.06/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/parsing/.gitignore 2014-08-01 10:14:54.316065439 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/1.06/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/1.06/utils/.cvsignore 2010-09-15 17:00:30.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/1.06/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.gitignore --- camlp5-6.11/ocaml_stuff/1.06/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/1.06/utils/.gitignore 2014-08-01 10:14:54.316065439 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/1.07/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/1.07/parsing/.cvsignore 2010-09-15 17:00:30.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/1.07/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/1.07/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/parsing/.gitignore 2014-08-01 10:14:54.316065439 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/1.07/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/1.07/utils/.cvsignore 2010-09-15 17:00:30.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/1.07/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.gitignore --- camlp5-6.11/ocaml_stuff/1.07/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/1.07/utils/.gitignore 2014-08-01 10:14:54.317065439 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.00/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/2.00/parsing/.cvsignore 2010-09-15 17:00:30.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.00/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/2.00/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/parsing/.gitignore 2014-08-01 10:14:54.317065439 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.00/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/2.00/utils/.cvsignore 2010-09-15 17:00:31.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.00/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.gitignore --- camlp5-6.11/ocaml_stuff/2.00/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.00/utils/.gitignore 2014-08-01 10:14:54.317065439 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.01/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/2.01/parsing/.cvsignore 2010-09-15 17:00:31.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.01/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/2.01/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/parsing/.gitignore 2014-08-01 10:14:54.318065440 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.01/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/2.01/utils/.cvsignore 2010-09-15 17:00:31.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.01/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.gitignore --- camlp5-6.11/ocaml_stuff/2.01/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.01/utils/.gitignore 2014-08-01 10:14:54.318065440 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.02/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/2.02/parsing/.cvsignore 2010-09-15 17:00:31.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.02/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/2.02/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/parsing/.gitignore 2014-08-01 10:14:54.318065440 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.02/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/2.02/utils/.cvsignore 2010-09-15 17:00:32.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.02/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.gitignore --- camlp5-6.11/ocaml_stuff/2.02/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.02/utils/.gitignore 2014-08-01 10:14:54.319065441 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.03/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/2.03/parsing/.cvsignore 2010-09-15 17:00:32.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.03/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/2.03/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/parsing/.gitignore 2014-08-01 10:14:54.319065441 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.03/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/2.03/utils/.cvsignore 2010-09-15 17:00:32.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.03/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.gitignore --- camlp5-6.11/ocaml_stuff/2.03/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.03/utils/.gitignore 2014-08-01 10:14:54.319065441 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.04/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/2.04/parsing/.cvsignore 2010-09-15 17:00:32.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.04/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/2.04/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/parsing/.gitignore 2014-08-01 10:14:54.319065441 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.04/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/2.04/utils/.cvsignore 2010-09-15 17:00:32.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.04/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.gitignore --- camlp5-6.11/ocaml_stuff/2.04/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.04/utils/.gitignore 2014-08-01 10:14:54.320065441 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.99/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/2.99/parsing/.cvsignore 2010-09-15 17:00:33.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.99/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/2.99/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/parsing/.gitignore 2014-08-01 10:14:54.320065441 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/2.99/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/2.99/utils/.cvsignore 2010-09-15 17:00:33.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/2.99/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.gitignore --- camlp5-6.11/ocaml_stuff/2.99/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/2.99/utils/.gitignore 2014-08-01 10:14:54.320065441 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.00/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.00/parsing/.cvsignore 2010-09-15 17:00:33.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.00/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.00/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/parsing/.gitignore 2014-08-01 10:14:54.321065442 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.00/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.00/utils/.cvsignore 2010-09-15 17:00:33.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.00/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.00/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.00/utils/.gitignore 2014-08-01 10:14:54.321065442 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.01/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.01/parsing/.cvsignore 2010-09-15 17:00:34.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.01/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.01/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/parsing/.gitignore 2014-08-01 10:14:54.321065442 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.01/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.01/utils/.cvsignore 2010-09-15 17:00:34.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.01/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.01/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.01/utils/.gitignore 2014-08-01 10:14:54.322065443 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.02/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.02/parsing/.cvsignore 2010-09-15 17:00:34.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.02/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.02/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/parsing/.gitignore 2014-08-01 10:14:54.322065443 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.02/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.02/utils/.cvsignore 2010-09-15 17:00:34.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.02/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.02/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.02/utils/.gitignore 2014-08-01 10:14:54.322065443 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.03/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.03/parsing/.cvsignore 2010-09-15 17:00:35.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.03/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.03/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/parsing/.gitignore 2014-08-01 10:14:54.322065443 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.03/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.03/utils/.cvsignore 2010-09-15 17:00:35.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.03/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.03/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.03/utils/.gitignore 2014-08-01 10:14:54.323065443 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.04/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.04/parsing/.cvsignore 2010-09-15 17:00:35.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.04/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.04/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/parsing/.gitignore 2014-08-01 10:14:54.323065443 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.04/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.04/utils/.cvsignore 2010-09-15 17:00:35.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.04/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.04/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.04/utils/.gitignore 2014-08-01 10:14:54.323065443 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.05/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.05/parsing/.cvsignore 2010-09-15 17:00:35.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.05/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.05/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/parsing/.gitignore 2014-08-01 10:14:54.324065444 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.05/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.05/utils/.cvsignore 2010-09-15 17:00:36.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.05/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.05/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.05/utils/.gitignore 2014-08-01 10:14:54.324065444 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.06/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.06/parsing/.cvsignore 2010-09-15 17:00:36.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.06/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.06/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/parsing/.gitignore 2014-08-01 10:14:54.324065444 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.06/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.06/utils/.cvsignore 2010-09-15 17:00:36.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.06/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.06/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.06/utils/.gitignore 2014-08-01 10:14:54.324065444 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.07/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.07/parsing/.cvsignore 2010-09-15 17:00:36.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.07/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.07/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/parsing/.gitignore 2014-08-01 10:14:54.325065444 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.07/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.07/utils/.cvsignore 2010-09-15 17:00:37.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.07/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.07/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.07/utils/.gitignore 2014-08-01 10:14:54.325065444 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.08.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.08.0/parsing/.cvsignore 2010-09-15 17:00:37.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.08.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.08.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/parsing/.gitignore 2014-08-01 10:14:54.325065444 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.08.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.08.0/utils/.cvsignore 2010-09-15 17:00:37.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.08.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.08.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.0/utils/.gitignore 2014-08-01 10:14:54.326065445 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.08.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.08.1/parsing/.cvsignore 2010-09-15 17:00:37.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.08.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.08.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/parsing/.gitignore 2014-08-01 10:14:54.326065445 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.08.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.08.1/utils/.cvsignore 2010-09-15 17:00:38.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.08.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.08.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.1/utils/.gitignore 2014-08-01 10:14:54.327065446 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.08.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.08.2/parsing/.cvsignore 2010-09-15 17:00:38.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.08.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.08.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/parsing/.gitignore 2014-08-01 10:14:54.327065446 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.08.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.08.2/utils/.cvsignore 2010-09-15 17:00:38.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.08.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.08.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.2/utils/.gitignore 2014-08-01 10:14:54.327065446 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.08.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.08.3/parsing/.cvsignore 2010-09-15 17:00:38.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.08.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.08.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/parsing/.gitignore 2014-08-01 10:14:54.327065446 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.08.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.08.3/utils/.cvsignore 2010-09-15 17:00:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.08.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.08.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.3/utils/.gitignore 2014-08-01 10:14:54.328065446 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.08.4/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.08.4/parsing/.cvsignore 2010-09-15 17:00:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.08.4/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.08.4/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/parsing/.gitignore 2014-08-01 10:14:54.328065446 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.08.4/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.08.4/utils/.cvsignore 2010-09-15 17:00:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.08.4/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.08.4/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.08.4/utils/.gitignore 2014-08-01 10:14:54.328065446 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.09.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.09.0/parsing/.cvsignore 2010-09-15 17:00:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.09.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.09.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/parsing/.gitignore 2014-08-01 10:14:54.329065447 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.09.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.09.0/utils/.cvsignore 2010-09-15 17:00:39.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.09.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.09.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.0/utils/.gitignore 2014-08-01 10:14:54.329065447 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.09.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.09.1/parsing/.cvsignore 2010-09-15 17:00:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.09.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.09.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/parsing/.gitignore 2014-08-01 10:14:54.329065447 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.09.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.09.1/utils/.cvsignore 2010-09-15 17:00:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.09.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.09.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.1/utils/.gitignore 2014-08-01 10:14:54.329065447 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.09.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.09.2/parsing/.cvsignore 2010-09-15 17:00:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.09.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.09.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/parsing/.gitignore 2014-08-01 10:14:54.330065448 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.09.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.09.2/utils/.cvsignore 2010-09-15 17:00:40.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.09.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.09.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.2/utils/.gitignore 2014-08-01 10:14:54.330065448 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.09.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.09.3/parsing/.cvsignore 2010-09-15 17:00:41.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.09.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.09.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/parsing/.gitignore 2014-08-01 10:14:54.330065448 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.09.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.09.3/utils/.cvsignore 2010-09-15 17:00:41.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.09.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.09.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.3/utils/.gitignore 2014-08-01 10:14:54.331065448 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.09.4/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.09.4/parsing/.cvsignore 2010-09-15 17:00:41.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.09.4/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.09.4/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/parsing/.gitignore 2014-08-01 10:14:54.331065448 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.09.4/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.09.4/utils/.cvsignore 2010-09-15 17:00:41.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.09.4/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.09.4/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.09.4/utils/.gitignore 2014-08-01 10:14:54.331065448 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.10/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.10/parsing/.cvsignore 2010-09-15 17:00:41.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.10/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.10/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/parsing/.gitignore 2014-08-01 10:14:54.334065450 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.10/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.10/utils/.cvsignore 2010-09-15 17:00:42.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.10/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.10/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10/utils/.gitignore 2014-08-01 10:14:54.334065450 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.10.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.10.0/parsing/.cvsignore 2010-09-15 17:00:42.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.10.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.10.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/parsing/.gitignore 2014-08-01 10:14:54.331065448 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.10.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.10.0/utils/.cvsignore 2010-09-15 17:00:42.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.10.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.10.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.0/utils/.gitignore 2014-08-01 10:14:54.332065449 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.10.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.10.1/parsing/.cvsignore 2010-09-15 17:00:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.10.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.10.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/parsing/.gitignore 2014-08-01 10:14:54.332065449 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.10.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.10.1/utils/.cvsignore 2010-09-15 17:00:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.10.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.10.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.1/utils/.gitignore 2014-08-01 10:14:54.332065449 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.10.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.10.2/parsing/.cvsignore 2010-09-15 17:00:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.10.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.10.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/parsing/.gitignore 2014-08-01 10:14:54.333065449 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.10.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.10.2/utils/.cvsignore 2010-09-15 17:00:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.10.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.10.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.2/utils/.gitignore 2014-08-01 10:14:54.333065449 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.10.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.10.3/parsing/.cvsignore 2010-09-15 17:00:43.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.10.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.10.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/parsing/.gitignore 2014-08-01 10:14:54.333065449 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.10.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.10.3/utils/.cvsignore 2010-09-15 17:00:44.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.10.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.10.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.10.3/utils/.gitignore 2014-08-01 10:14:54.333065449 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.11/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.11/parsing/.cvsignore 2010-09-15 17:00:44.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.11/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.11/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/parsing/.gitignore 2014-08-01 10:14:54.337065452 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.11/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.11/utils/.cvsignore 2010-09-15 17:00:44.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.11/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.11/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11/utils/.gitignore 2014-08-01 10:14:54.337065452 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.11.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.11.0/parsing/.cvsignore 2010-09-15 17:00:44.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.11.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.11.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/parsing/.gitignore 2014-08-01 10:14:54.334065450 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.11.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.11.0/utils/.cvsignore 2010-09-15 17:00:45.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.11.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.11.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.0/utils/.gitignore 2014-08-01 10:14:54.335065451 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.11.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.11.1/parsing/.cvsignore 2010-09-15 17:00:45.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.11.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.11.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/parsing/.gitignore 2014-08-01 10:14:54.335065451 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.11.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.11.1/utils/.cvsignore 2010-09-15 17:00:45.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.11.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.11.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.1/utils/.gitignore 2014-08-01 10:14:54.335065451 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.11.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.11.2/parsing/.cvsignore 2010-09-15 17:00:45.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.11.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.11.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/parsing/.gitignore 2014-08-01 10:14:54.335065451 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.11.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.11.2/utils/.cvsignore 2010-09-15 17:00:45.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.11.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.11.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.2/utils/.gitignore 2014-08-01 10:14:54.336065452 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.11.3/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.11.3/parsing/.cvsignore 2010-09-15 17:00:46.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.11.3/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.11.3/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/parsing/.gitignore 2014-08-01 10:14:54.336065452 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.11.3/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.11.3/utils/.cvsignore 2010-09-15 17:00:46.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.11.3/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.11.3/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.11.3/utils/.gitignore 2014-08-01 10:14:54.336065452 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.12.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.12.0/parsing/.cvsignore 2010-09-15 17:00:46.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.12.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.12.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/parsing/.gitignore 2014-08-01 10:14:54.337065452 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.12.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.12.0/utils/.cvsignore 2010-09-15 17:00:46.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.12.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.12.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.0/utils/.gitignore 2014-08-01 10:14:54.338065453 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.12.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.12.1/parsing/.cvsignore 2010-09-15 17:00:47.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.12.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.12.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/parsing/.gitignore 2014-08-01 10:14:54.338065453 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.12.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.12.1/utils/.cvsignore 2010-09-15 17:00:47.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.12.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.12.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.1/utils/.gitignore 2014-08-01 10:14:54.338065453 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.12.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.12.2/parsing/.cvsignore 2012-03-14 09:25:26.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.12.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.12.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/parsing/.gitignore 2014-08-01 10:14:54.338065453 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.12.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.12.2/utils/.cvsignore 2012-03-14 09:25:26.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.12.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.12.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.12.2/utils/.gitignore 2014-08-01 10:14:54.339065453 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore 2010-11-12 23:24:02.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/3.13.0-gadt/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/parsing/.gitignore 2014-08-01 10:14:54.339065453 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.cvsignore 2010-11-12 23:24:03.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.gitignore --- camlp5-6.11/ocaml_stuff/3.13.0-gadt/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/3.13.0-gadt/utils/.gitignore 2014-08-01 10:14:54.340065454 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.00.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/4.00.0/parsing/.cvsignore 2012-03-09 19:31:12.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/4.00.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/4.00.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/parsing/.gitignore 2014-08-01 10:14:54.340065454 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/4.00.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/4.00.0/utils/.cvsignore 2012-03-09 19:31:12.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.00.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.gitignore --- camlp5-6.11/ocaml_stuff/4.00.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.0/utils/.gitignore 2014-08-01 10:14:54.340065454 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.00.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/4.00.1/parsing/.cvsignore 2012-09-12 09:11:07.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/4.00.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/4.00.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/parsing/.gitignore 2014-08-01 10:14:54.341065454 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/4.00.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/4.00.1/utils/.cvsignore 2012-09-12 09:11:07.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.00.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.gitignore --- camlp5-6.11/ocaml_stuff/4.00.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.1/utils/.gitignore 2014-08-01 10:14:54.341065454 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.00.2/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/4.00.2/parsing/.cvsignore 2013-03-15 18:30:46.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/4.00.2/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/4.00.2/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/parsing/.gitignore 2014-08-01 10:14:54.341065454 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/4.00.2/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/4.00.2/utils/.cvsignore 2013-03-15 18:30:46.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.00.2/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.gitignore --- camlp5-6.11/ocaml_stuff/4.00.2/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.00.2/utils/.gitignore 2014-08-01 10:14:54.342065455 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.01.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/4.01.0/parsing/.cvsignore 2012-06-01 15:56:53.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/4.01.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/4.01.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/parsing/.gitignore 2014-08-01 10:14:54.342065455 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/4.01.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/4.01.0/utils/.cvsignore 2012-06-01 15:56:53.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.01.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.gitignore --- camlp5-6.11/ocaml_stuff/4.01.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.0/utils/.gitignore 2014-08-01 10:14:54.342065455 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/asttypes.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/asttypes.mli --- camlp5-6.11/ocaml_stuff/4.01.1/parsing/asttypes.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/asttypes.mli 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,43 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* Auxiliary a.s.t. types used by parsetree and typedtree. *) + +type constant = + Const_int of int + | Const_char of char + | Const_string of string + | Const_float of string + | Const_int32 of int32 + | Const_int64 of int64 + | Const_nativeint of nativeint + +type rec_flag = Nonrecursive | Recursive | Default + +type direction_flag = Upto | Downto + +type private_flag = Private | Public + +type mutable_flag = Immutable | Mutable + +type virtual_flag = Virtual | Concrete + +type override_flag = Override | Fresh + +type closed_flag = Closed | Open + +type label = string + +type 'a loc = 'a Location.loc = { + txt : 'a; + loc : Location.t; +} diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.depend --- camlp5-6.11/ocaml_stuff/4.01.1/parsing/.depend 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.depend 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,4 @@ +asttypes.cmi : location.cmi +location.cmi : ../utils/warnings.cmi +longident.cmi : +parsetree.cmi : longident.cmi location.cmi asttypes.cmi diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/4.01.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/.gitignore 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/location.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/location.mli --- camlp5-6.11/ocaml_stuff/4.01.1/parsing/location.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/location.mli 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,77 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* Source code locations (ranges of positions), used in parsetree. *) + +open Format + +type t = { + loc_start: Lexing.position; + loc_end: Lexing.position; + loc_ghost: bool; +} + +(* Note on the use of Lexing.position in this module. + If [pos_fname = ""], then use [!input_name] instead. + If [pos_lnum = -1], then [pos_bol = 0]. Use [pos_cnum] and + re-parse the file to get the line and character numbers. + Else all fields are correct. +*) + +val none : t +(** An arbitrary value of type [t]; describes an empty ghost range. *) +val in_file : string -> t;; +(** Return an empty ghost range located in a given file. *) +val init : Lexing.lexbuf -> string -> unit +(** Set the file name and line number of the [lexbuf] to be the start + of the named file. *) +val curr : Lexing.lexbuf -> t +(** Get the location of the current token from the [lexbuf]. *) + +val symbol_rloc: unit -> t +val symbol_gloc: unit -> t + +(** [rhs_loc n] returns the location of the symbol at position [n], starting + at 1, in the current parser rule. *) +val rhs_loc: int -> t + +val input_name: string ref +val input_lexbuf: Lexing.lexbuf option ref + +val get_pos_info: Lexing.position -> string * int * int (* file, line, char *) +val print_loc: formatter -> t -> unit +val print_error: formatter -> t -> unit +val print_error_cur_file: formatter -> unit +val print_warning: t -> formatter -> Warnings.t -> unit +val prerr_warning: t -> Warnings.t -> unit +val echo_eof: unit -> unit +val reset: unit -> unit + +val highlight_locations: formatter -> t -> t -> bool + +type 'a loc = { + txt : 'a; + loc : t; +} + +val mknoloc : 'a -> 'a loc +val mkloc : 'a -> t -> 'a loc + +val print: formatter -> t -> unit +val print_filename: formatter -> string -> unit + +val show_filename: string -> string + (** In -absname mode, return the absolute path for this filename. + Otherwise, returns the filename unchanged. *) + + +val absname: bool ref diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/longident.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/longident.mli --- camlp5-6.11/ocaml_stuff/4.01.1/parsing/longident.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/longident.mli 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,22 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* Long identifiers, used in parsetree. *) + +type t = + Lident of string + | Ldot of t * string + | Lapply of t * t + +val flatten: t -> string list +val last: t -> string +val parse: string -> t diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/Makefile --- camlp5-6.11/ocaml_stuff/4.01.1/parsing/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/Makefile 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,19 @@ +# Id + +FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi +INCL=-I ../utils + +all: $(FILES) + +clean: + rm -f *.cmi + +depend: + ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend + +.SUFFIXES: .mli .cmi + +.mli.cmi: + $(OCAMLN)c $(INCL) -c $< + +include .depend diff -urN camlp5-6.11/ocaml_stuff/4.01.1/parsing/parsetree.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/parsetree.mli --- camlp5-6.11/ocaml_stuff/4.01.1/parsing/parsetree.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/parsing/parsetree.mli 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,306 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* Abstract syntax tree produced by parsing *) + +open Asttypes + +(* Type expressions for the core language *) + +type core_type = + { ptyp_desc: core_type_desc; + ptyp_loc: Location.t } + +and core_type_desc = + Ptyp_any + | Ptyp_var of string + | Ptyp_arrow of label * core_type * core_type + | Ptyp_tuple of core_type list + | Ptyp_constr of Longident.t loc * core_type list + | Ptyp_object of core_field_type list + | Ptyp_class of Longident.t loc * core_type list * label list + | Ptyp_alias of core_type * string + | Ptyp_variant of row_field list * bool * label list option + | Ptyp_poly of string list * core_type + | Ptyp_package of package_type + + +and package_type = Longident.t loc * (Longident.t loc * core_type) list + +and core_field_type = + { pfield_desc: core_field_desc; + pfield_loc: Location.t } + +and core_field_desc = + Pfield of string * core_type + | Pfield_var + +and row_field = + Rtag of label * bool * core_type list + | Rinherit of core_type + +(* Type expressions for the class language *) + +type 'a class_infos = + { pci_virt: virtual_flag; + pci_params: string loc list * Location.t; + pci_name: string loc; + pci_expr: 'a; + pci_variance: (bool * bool) list; + pci_loc: Location.t } + +(* Value expressions for the core language *) + +type pattern = + { ppat_desc: pattern_desc; + ppat_loc: Location.t } + +and pattern_desc = + Ppat_any + | Ppat_var of string loc + | Ppat_alias of pattern * string loc + | Ppat_constant of constant + | Ppat_tuple of pattern list + | Ppat_construct of Longident.t loc * pattern option * bool + | Ppat_variant of label * pattern option + | Ppat_record of (Longident.t loc * pattern) list * closed_flag + | Ppat_array of pattern list + | Ppat_or of pattern * pattern + | Ppat_constraint of pattern * core_type + | Ppat_type of Longident.t loc + | Ppat_lazy of pattern + | Ppat_unpack of string loc + +type expression = + { pexp_desc: expression_desc; + pexp_loc: Location.t } + +and expression_desc = + Pexp_ident of Longident.t loc + | Pexp_constant of constant + | Pexp_let of rec_flag * (pattern * expression) list * expression + | Pexp_function of label * expression option * (pattern * expression) list + | Pexp_apply of expression * (label * expression) list + | Pexp_match of expression * (pattern * expression) list + | Pexp_try of expression * (pattern * expression) list + | Pexp_tuple of expression list + | Pexp_construct of Longident.t loc * expression option * bool + | Pexp_variant of label * expression option + | Pexp_record of (Longident.t loc * expression) list * expression option + | Pexp_field of expression * Longident.t loc + | Pexp_setfield of expression * Longident.t loc * expression + | Pexp_array of expression list + | Pexp_ifthenelse of expression * expression * expression option + | Pexp_sequence of expression * expression + | Pexp_while of expression * expression + | Pexp_for of + string loc * expression * expression * direction_flag * expression + | Pexp_constraint of expression * core_type option * core_type option + | Pexp_when of expression * expression + | Pexp_send of expression * string + | Pexp_new of Longident.t loc + | Pexp_setinstvar of string loc * expression + | Pexp_override of (string loc * expression) list + | Pexp_letmodule of string loc * module_expr * expression + | Pexp_assert of expression + | Pexp_assertfalse + | Pexp_lazy of expression + | Pexp_poly of expression * core_type option + | Pexp_object of class_structure + | Pexp_newtype of string * expression + | Pexp_pack of module_expr + | Pexp_open of override_flag * Longident.t loc * expression + +(* Value descriptions *) + +and value_description = + { pval_type: core_type; + pval_prim: string list; + pval_loc: Location.t + } + +(* Type declarations *) + +and type_declaration = + { ptype_params: string loc option list; + ptype_cstrs: (core_type * core_type * Location.t) list; + ptype_kind: type_kind; + ptype_private: private_flag; + ptype_manifest: core_type option; + ptype_variance: (bool * bool) list; + ptype_loc: Location.t } + +and type_kind = + Ptype_abstract + | Ptype_variant of + (string loc * core_type list * core_type option * Location.t) list + | Ptype_record of + (string loc * mutable_flag * core_type * Location.t) list + +and exception_declaration = core_type list + +(* Type expressions for the class language *) + +and class_type = + { pcty_desc: class_type_desc; + pcty_loc: Location.t } + +and class_type_desc = + Pcty_constr of Longident.t loc * core_type list + | Pcty_signature of class_signature + | Pcty_fun of label * core_type * class_type + +and class_signature = { + pcsig_self: core_type; + pcsig_fields: class_type_field list; + pcsig_loc: Location.t; + } + +and class_type_field = { + pctf_desc: class_type_field_desc; + pctf_loc: Location.t; + } + +and class_type_field_desc = + Pctf_inher of class_type + | Pctf_val of (string * mutable_flag * virtual_flag * core_type) + | Pctf_virt of (string * private_flag * core_type) + | Pctf_meth of (string * private_flag * core_type) + | Pctf_cstr of (core_type * core_type) + +and class_description = class_type class_infos + +and class_type_declaration = class_type class_infos + +(* Value expressions for the class language *) + +and class_expr = + { pcl_desc: class_expr_desc; + pcl_loc: Location.t } + +and class_expr_desc = + Pcl_constr of Longident.t loc * core_type list + | Pcl_structure of class_structure + | Pcl_fun of label * expression option * pattern * class_expr + | Pcl_apply of class_expr * (label * expression) list + | Pcl_let of rec_flag * (pattern * expression) list * class_expr + | Pcl_constraint of class_expr * class_type + +and class_structure = { + pcstr_pat: pattern; + pcstr_fields: class_field list; + } + +and class_field = { + pcf_desc: class_field_desc; + pcf_loc: Location.t; + } + +and class_field_desc = + Pcf_inher of override_flag * class_expr * string option + | Pcf_valvirt of (string loc * mutable_flag * core_type) + | Pcf_val of (string loc * mutable_flag * override_flag * expression) + | Pcf_virt of (string loc * private_flag * core_type) + | Pcf_meth of (string loc * private_flag * override_flag * expression) + | Pcf_constr of (core_type * core_type) + | Pcf_init of expression + +and class_declaration = class_expr class_infos + +(* Type expressions for the module language *) + +and module_type = + { pmty_desc: module_type_desc; + pmty_loc: Location.t } + +and module_type_desc = + Pmty_ident of Longident.t loc + | Pmty_signature of signature + | Pmty_functor of string loc * module_type * module_type + | Pmty_with of module_type * (Longident.t loc * with_constraint) list + | Pmty_typeof of module_expr + +and signature = signature_item list + +and signature_item = + { psig_desc: signature_item_desc; + psig_loc: Location.t } + +and signature_item_desc = + Psig_value of string loc * value_description + | Psig_type of (string loc * type_declaration) list + | Psig_exception of string loc * exception_declaration + | Psig_module of string loc * module_type + | Psig_recmodule of (string loc * module_type) list + | Psig_modtype of string loc * modtype_declaration + | Psig_open of override_flag * Longident.t loc + | Psig_include of module_type + | Psig_class of class_description list + | Psig_class_type of class_type_declaration list + +and modtype_declaration = + Pmodtype_abstract + | Pmodtype_manifest of module_type + +and with_constraint = + Pwith_type of type_declaration + | Pwith_module of Longident.t loc + | Pwith_typesubst of type_declaration + | Pwith_modsubst of Longident.t loc + +(* Value expressions for the module language *) + +and module_expr = + { pmod_desc: module_expr_desc; + pmod_loc: Location.t } + +and module_expr_desc = + Pmod_ident of Longident.t loc + | Pmod_structure of structure + | Pmod_functor of string loc * module_type * module_expr + | Pmod_apply of module_expr * module_expr + | Pmod_constraint of module_expr * module_type + | Pmod_unpack of expression + +and structure = structure_item list + +and structure_item = + { pstr_desc: structure_item_desc; + pstr_loc: Location.t } + +and structure_item_desc = + Pstr_eval of expression + | Pstr_value of rec_flag * (pattern * expression) list + | Pstr_primitive of string loc * value_description + | Pstr_type of (string loc * type_declaration) list + | Pstr_exception of string loc * exception_declaration + | Pstr_exn_rebind of string loc * Longident.t loc + | Pstr_module of string loc * module_expr + | Pstr_recmodule of (string loc * module_type * module_expr) list + | Pstr_modtype of string loc * module_type + | Pstr_open of override_flag * Longident.t loc + | Pstr_class of class_declaration list + | Pstr_class_type of class_type_declaration list + | Pstr_include of module_expr + +(* Toplevel phrases *) + +type toplevel_phrase = + Ptop_def of structure + | Ptop_dir of string * directive_argument + +and directive_argument = + Pdir_none + | Pdir_string of string + | Pdir_int of int + | Pdir_ident of Longident.t + | Pdir_bool of bool diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.depend --- camlp5-6.11/ocaml_stuff/4.01.1/utils/.depend 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.depend 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,2 @@ +pconfig.cmo: pconfig.cmi +pconfig.cmx: pconfig.cmi diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.gitignore --- camlp5-6.11/ocaml_stuff/4.01.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/.gitignore 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/Makefile --- camlp5-6.11/ocaml_stuff/4.01.1/utils/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/Makefile 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,27 @@ +# Id + +FILES=warnings.cmi pconfig.cmo +INCL= + +all: $(FILES) + +opt: pconfig.cmx + +clean: + rm -f *.cm[oix] *.o + +depend: + ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend + +.SUFFIXES: .mli .cmi .ml .cmo .cmx + +.mli.cmi: + $(OCAMLN)c $(INCL) -c $< + +.ml.cmo: + $(OCAMLN)c $(INCL) -c $< + +.ml.cmx: + $(OCAMLN)opt $(INCL) -c $< + +include .depend diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.ml camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.ml --- camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.ml 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.ml 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,4 @@ +let ocaml_version = "4.01.1" +let ocaml_name = "ocaml" +let ast_impl_magic_number = "Caml1999M016" +let ast_intf_magic_number = "Caml1999N015" diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.mli --- camlp5-6.11/ocaml_stuff/4.01.1/utils/pconfig.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/pconfig.mli 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,4 @@ +val ocaml_version : string +val ocaml_name : string +val ast_impl_magic_number : string +val ast_intf_magic_number : string diff -urN camlp5-6.11/ocaml_stuff/4.01.1/utils/warnings.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/warnings.mli --- camlp5-6.11/ocaml_stuff/4.01.1/utils/warnings.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.01.1/utils/warnings.mli 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,80 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *) +(* *) +(* Copyright 1998 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +open Format + +type t = + | Comment_start (* 1 *) + | Comment_not_end (* 2 *) + | Deprecated of string (* 3 *) + | Fragile_match of string (* 4 *) + | Partial_application (* 5 *) + | Labels_omitted (* 6 *) + | Method_override of string list (* 7 *) + | Partial_match of string (* 8 *) + | Non_closed_record_pattern of string (* 9 *) + | Statement_type (* 10 *) + | Unused_match (* 11 *) + | Unused_pat (* 12 *) + | Instance_variable_override of string list (* 13 *) + | Illegal_backslash (* 14 *) + | Implicit_public_methods of string list (* 15 *) + | Unerasable_optional_argument (* 16 *) + | Undeclared_virtual_method of string (* 17 *) + | Not_principal of string (* 18 *) + | Without_principality of string (* 19 *) + | Unused_argument (* 20 *) + | Nonreturning_statement (* 21 *) + | Camlp4 of string (* 22 *) + | Useless_record_with (* 23 *) + | Bad_module_name of string (* 24 *) + | All_clauses_guarded (* 25 *) + | Unused_var of string (* 26 *) + | Unused_var_strict of string (* 27 *) + | Wildcard_arg_to_constant_constr (* 28 *) + | Eol_in_string (* 29 *) + | Duplicate_definitions of string * string * string * string (* 30 *) + | Multiple_definition of string * string * string (* 31 *) + | Unused_value_declaration of string (* 32 *) + | Unused_open of string (* 33 *) + | Unused_type_declaration of string (* 34 *) + | Unused_for_index of string (* 35 *) + | Unused_ancestor of string (* 36 *) + | Unused_constructor of string * bool * bool (* 37 *) + | Unused_exception of string * bool (* 38 *) + | Unused_rec_flag (* 39 *) + | Name_out_of_scope of string * string list * bool (* 40 *) + | Ambiguous_name of string list * string list * bool (* 41 *) + | Disambiguated_name of string (* 42 *) + | Nonoptional_label of string (* 43 *) + | Open_shadow_identifier of string * string (* 44 *) + | Open_shadow_label_constructor of string * string (* 45 *) + | Bad_env_variable of string * string +;; + +val parse_options : bool -> string -> unit;; + +val is_active : t -> bool;; +val is_error : t -> bool;; + +val defaults_w : string;; +val defaults_warn_error : string;; + +val print : formatter -> t -> int;; + (* returns the number of newlines in the printed string *) + + +exception Errors of int;; + +val check_fatal : unit -> unit;; + +val help_warnings: unit -> unit diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/asttypes.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/asttypes.mli --- camlp5-6.11/ocaml_stuff/4.02.0/parsing/asttypes.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/asttypes.mli 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,49 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* Auxiliary a.s.t. types used by parsetree and typedtree. *) + +type constant = + Const_int of int + | Const_char of char + | Const_string of string * string option + | Const_float of string + | Const_int32 of int32 + | Const_int64 of int64 + | Const_nativeint of nativeint + +type rec_flag = Nonrecursive | Recursive + +type direction_flag = Upto | Downto + +type private_flag = Private | Public + +type mutable_flag = Immutable | Mutable + +type virtual_flag = Virtual | Concrete + +type override_flag = Override | Fresh + +type closed_flag = Closed | Open + +type label = string + +type 'a loc = 'a Location.loc = { + txt : 'a; + loc : Location.t; +} + + +type variance = + | Covariant + | Contravariant + | Invariant diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.depend --- camlp5-6.11/ocaml_stuff/4.02.0/parsing/.depend 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.depend 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,4 @@ +asttypes.cmi : location.cmi +location.cmi : ../utils/warnings.cmi +longident.cmi : +parsetree.cmi : longident.cmi location.cmi asttypes.cmi diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/4.02.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/.gitignore 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/location.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/location.mli --- camlp5-6.11/ocaml_stuff/4.02.0/parsing/location.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/location.mli 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,116 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* Source code locations (ranges of positions), used in parsetree. *) + +open Format + +type t = { + loc_start: Lexing.position; + loc_end: Lexing.position; + loc_ghost: bool; +} + +(* Note on the use of Lexing.position in this module. + If [pos_fname = ""], then use [!input_name] instead. + If [pos_lnum = -1], then [pos_bol = 0]. Use [pos_cnum] and + re-parse the file to get the line and character numbers. + Else all fields are correct. +*) + +val none : t +(** An arbitrary value of type [t]; describes an empty ghost range. *) +val in_file : string -> t;; +(** Return an empty ghost range located in a given file. *) +val init : Lexing.lexbuf -> string -> unit +(** Set the file name and line number of the [lexbuf] to be the start + of the named file. *) +val curr : Lexing.lexbuf -> t +(** Get the location of the current token from the [lexbuf]. *) + +val symbol_rloc: unit -> t +val symbol_gloc: unit -> t + +(** [rhs_loc n] returns the location of the symbol at position [n], starting + at 1, in the current parser rule. *) +val rhs_loc: int -> t + +val input_name: string ref +val input_lexbuf: Lexing.lexbuf option ref + +val get_pos_info: Lexing.position -> string * int * int (* file, line, char *) +val print_loc: formatter -> t -> unit +val print_error: formatter -> t -> unit +val print_error_cur_file: formatter -> unit +val print_warning: t -> formatter -> Warnings.t -> unit +val prerr_warning: t -> Warnings.t -> unit +val echo_eof: unit -> unit +val reset: unit -> unit + +val highlight_locations: formatter -> t list -> bool + +type 'a loc = { + txt : 'a; + loc : t; +} + +val mknoloc : 'a -> 'a loc +val mkloc : 'a -> t -> 'a loc + +val print: formatter -> t -> unit +val print_filename: formatter -> string -> unit + +val absolute_path: string -> string + +val show_filename: string -> string + (** In -absname mode, return the absolute path for this filename. + Otherwise, returns the filename unchanged. *) + + +val absname: bool ref + + +(* Support for located errors *) + +type error = + { + loc: t; + msg: string; + sub: error list; + if_highlight: string; (* alternative message if locations are highlighted *) + } + +exception Error of error + +val error: ?loc:t -> ?sub:error list -> ?if_highlight:string -> string -> error + +val errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string + -> ('a, unit, string, error) format4 -> 'a + +val error_of_printer: t -> (formatter -> 'a -> unit) -> 'a -> error + +val error_of_printer_file: (formatter -> 'a -> unit) -> 'a -> error + +val error_of_exn: exn -> error option + +val register_error_of_exn: (exn -> error option) -> unit + (* Each compiler module which defines a custom type of exception + which can surface as a user-visible error should register + a "printer" for this exception using [register_error_of_exn]. + The result of the printer is an [error] value containing + a location, a message, and optionally sub-messages (each of them + being located as well). *) + +val report_error: formatter -> error -> unit + +val report_exception: formatter -> exn -> unit + (* Reraise the exception if it is unknown. *) diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/longident.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/longident.mli --- camlp5-6.11/ocaml_stuff/4.02.0/parsing/longident.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/longident.mli 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,22 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* Long identifiers, used in parsetree. *) + +type t = + Lident of string + | Ldot of t * string + | Lapply of t * t + +val flatten: t -> string list +val last: t -> string +val parse: string -> t diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/Makefile --- camlp5-6.11/ocaml_stuff/4.02.0/parsing/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/Makefile 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,19 @@ +# Makefile,v + +FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi +INCL=-I ../utils + +all: $(FILES) + +clean: + rm -f *.cmi + +depend: + ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend + +.SUFFIXES: .mli .cmi + +.mli.cmi: + $(OCAMLN)c $(INCL) -c $< + +include .depend diff -urN camlp5-6.11/ocaml_stuff/4.02.0/parsing/parsetree.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/parsetree.mli --- camlp5-6.11/ocaml_stuff/4.02.0/parsing/parsetree.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/parsing/parsetree.mli 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,829 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(** Abstract syntax tree produced by parsing *) + +open Asttypes + +(** {2 Extension points} *) + +type attribute = string loc * payload + (* [@id ARG] + [@@id ARG] + + Metadata containers passed around within the AST. + The compiler ignores unknown attributes. + *) + +and extension = string loc * payload + (* [%id ARG] + [%%id ARG] + + Sub-language placeholder -- rejected by the typechecker. + *) + +and attributes = attribute list + +and payload = + | PStr of structure + | PTyp of core_type (* : T *) + | PPat of pattern * expression option (* : P or : P when E *) + +(** {2 Core language} *) + +(* Type expressions *) + +and core_type = + { + ptyp_desc: core_type_desc; + ptyp_loc: Location.t; + ptyp_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and core_type_desc = + | Ptyp_any + (* _ *) + | Ptyp_var of string + (* 'a *) + | Ptyp_arrow of label * core_type * core_type + (* T1 -> T2 (label = "") + ~l:T1 -> T2 (label = "l") + ?l:T1 -> T2 (label = "?l") + *) + | Ptyp_tuple of core_type list + (* T1 * ... * Tn + + Invariant: n >= 2 + *) + | Ptyp_constr of Longident.t loc * core_type list + (* tconstr + T tconstr + (T1, ..., Tn) tconstr + *) + | Ptyp_object of (string * attributes * core_type) list * closed_flag + (* < l1:T1; ...; ln:Tn > (flag = Closed) + < l1:T1; ...; ln:Tn; .. > (flag = Open) + *) + | Ptyp_class of Longident.t loc * core_type list + (* #tconstr + T #tconstr + (T1, ..., Tn) #tconstr + *) + | Ptyp_alias of core_type * string + (* T as 'a *) + | Ptyp_variant of row_field list * closed_flag * label list option + (* [ `A|`B ] (flag = Closed; labels = None) + [> `A|`B ] (flag = Open; labels = None) + [< `A|`B ] (flag = Closed; labels = Some []) + [< `A|`B > `X `Y ](flag = Closed; labels = Some ["X";"Y"]) + *) + | Ptyp_poly of string list * core_type + (* 'a1 ... 'an. T + + Can only appear in the following context: + + - As the core_type of a Ppat_constraint node corresponding + to a constraint on a let-binding: let x : 'a1 ... 'an. T + = e ... + + - Under Cfk_virtual for methods (not values). + + - As the core_type of a Pctf_method node. + + - As the core_type of a Pexp_poly node. + + - As the pld_type field of a label_declaration. + + - As a core_type of a Ptyp_object node. + *) + + | Ptyp_package of package_type + (* (module S) *) + | Ptyp_extension of extension + (* [%id] *) + +and package_type = Longident.t loc * (Longident.t loc * core_type) list + (* + (module S) + (module S with type t1 = T1 and ... and tn = Tn) + *) + +and row_field = + | Rtag of label * attributes * bool * core_type list + (* [`A] ( true, [] ) + [`A of T] ( false, [T] ) + [`A of T1 & .. & Tn] ( false, [T1;...Tn] ) + [`A of & T1 & .. & Tn] ( true, [T1;...Tn] ) + + - The 2nd field is true if the tag contains a + constant (empty) constructor. + - '&' occurs when several types are used for the same constructor + (see 4.2 in the manual) + + - TODO: switch to a record representation, and keep location + *) + | Rinherit of core_type + (* [ T ] *) + +(* Patterns *) + +and pattern = + { + ppat_desc: pattern_desc; + ppat_loc: Location.t; + ppat_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and pattern_desc = + | Ppat_any + (* _ *) + | Ppat_var of string loc + (* x *) + | Ppat_alias of pattern * string loc + (* P as 'a *) + | Ppat_constant of constant + (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) + | Ppat_interval of constant * constant + (* 'a'..'z' + + Other forms of interval are recognized by the parser + but rejected by the type-checker. *) + | Ppat_tuple of pattern list + (* (P1, ..., Pn) + + Invariant: n >= 2 + *) + | Ppat_construct of Longident.t loc * pattern option + (* C None + C P Some P + C (P1, ..., Pn) Some (Ppat_tuple [P1; ...; Pn]) + *) + | Ppat_variant of label * pattern option + (* `A (None) + `A P (Some P) + *) + | Ppat_record of (Longident.t loc * pattern) list * closed_flag + (* { l1=P1; ...; ln=Pn } (flag = Closed) + { l1=P1; ...; ln=Pn; _} (flag = Open) + + Invariant: n > 0 + *) + | Ppat_array of pattern list + (* [| P1; ...; Pn |] *) + | Ppat_or of pattern * pattern + (* P1 | P2 *) + | Ppat_constraint of pattern * core_type + (* (P : T) *) + | Ppat_type of Longident.t loc + (* #tconst *) + | Ppat_lazy of pattern + (* lazy P *) + | Ppat_unpack of string loc + (* (module P) + Note: (module P : S) is represented as + Ppat_constraint(Ppat_unpack, Ptyp_package) + *) + | Ppat_exception of pattern + (* exception P *) + | Ppat_extension of extension + (* [%id] *) + +(* Value expressions *) + +and expression = + { + pexp_desc: expression_desc; + pexp_loc: Location.t; + pexp_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and expression_desc = + | Pexp_ident of Longident.t loc + (* x + M.x + *) + | Pexp_constant of constant + (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) + | Pexp_let of rec_flag * value_binding list * expression + (* let P1 = E1 and ... and Pn = EN in E (flag = Nonrecursive) + let rec P1 = E1 and ... and Pn = EN in E (flag = Recursive) + *) + | Pexp_function of case list + (* function P1 -> E1 | ... | Pn -> En *) + | Pexp_fun of label * expression option * pattern * expression + (* fun P -> E1 (lab = "", None) + fun ~l:P -> E1 (lab = "l", None) + fun ?l:P -> E1 (lab = "?l", None) + fun ?l:(P = E0) -> E1 (lab = "?l", Some E0) + + Notes: + - If E0 is provided, lab must start with '?'. + - "fun P1 P2 .. Pn -> E1" is represented as nested Pexp_fun. + - "let f P = E" is represented using Pexp_fun. + *) + | Pexp_apply of expression * (label * expression) list + (* E0 ~l1:E1 ... ~ln:En + li can be empty (non labeled argument) or start with '?' + (optional argument). + + Invariant: n > 0 + *) + | Pexp_match of expression * case list + (* match E0 with P1 -> E1 | ... | Pn -> En *) + | Pexp_try of expression * case list + (* try E0 with P1 -> E1 | ... | Pn -> En *) + | Pexp_tuple of expression list + (* (E1, ..., En) + + Invariant: n >= 2 + *) + | Pexp_construct of Longident.t loc * expression option + (* C None + C E Some E + C (E1, ..., En) Some (Pexp_tuple[E1;...;En]) + *) + | Pexp_variant of label * expression option + (* `A (None) + `A E (Some E) + *) + | Pexp_record of (Longident.t loc * expression) list * expression option + (* { l1=P1; ...; ln=Pn } (None) + { E0 with l1=P1; ...; ln=Pn } (Some E0) + + Invariant: n > 0 + *) + | Pexp_field of expression * Longident.t loc + (* E.l *) + | Pexp_setfield of expression * Longident.t loc * expression + (* E1.l <- E2 *) + | Pexp_array of expression list + (* [| E1; ...; En |] *) + | Pexp_ifthenelse of expression * expression * expression option + (* if E1 then E2 else E3 *) + | Pexp_sequence of expression * expression + (* E1; E2 *) + | Pexp_while of expression * expression + (* while E1 do E2 done *) + | Pexp_for of + pattern * expression * expression * direction_flag * expression + (* for i = E1 to E2 do E3 done (flag = Upto) + for i = E1 downto E2 do E3 done (flag = Downto) + *) + | Pexp_constraint of expression * core_type + (* (E : T) *) + | Pexp_coerce of expression * core_type option * core_type + (* (E :> T) (None, T) + (E : T0 :> T) (Some T0, T) + *) + | Pexp_send of expression * string + (* E # m *) + | Pexp_new of Longident.t loc + (* new M.c *) + | Pexp_setinstvar of string loc * expression + (* x <- 2 *) + | Pexp_override of (string loc * expression) list + (* {< x1 = E1; ...; Xn = En >} *) + | Pexp_letmodule of string loc * module_expr * expression + (* let module M = ME in E *) + | Pexp_assert of expression + (* assert E + Note: "assert false" is treated in a special way by the + type-checker. *) + | Pexp_lazy of expression + (* lazy E *) + | Pexp_poly of expression * core_type option + (* Used for method bodies. + + Can only be used as the expression under Cfk_concrete + for methods (not values). *) + | Pexp_object of class_structure + (* object ... end *) + | Pexp_newtype of string * expression + (* fun (type t) -> E *) + | Pexp_pack of module_expr + (* (module ME) + + (module ME : S) is represented as + Pexp_constraint(Pexp_pack, Ptyp_package S) *) + | Pexp_open of override_flag * Longident.t loc * expression + (* let open M in E + let! open M in E + *) + | Pexp_extension of extension + (* [%id] *) + +and case = (* (P -> E) or (P when E0 -> E) *) + { + pc_lhs: pattern; + pc_guard: expression option; + pc_rhs: expression; + } + +(* Value descriptions *) + +and value_description = + { + pval_name: string loc; + pval_type: core_type; + pval_prim: string list; + pval_attributes: attributes; (* ... [@@id1] [@@id2] *) + pval_loc: Location.t; + } + +(* + val x: T (prim = []) + external x: T = "s1" ... "sn" (prim = ["s1";..."sn"]) + + Note: when used under Pstr_primitive, prim cannot be empty +*) + +(* Type declarations *) + +and type_declaration = + { + ptype_name: string loc; + ptype_params: (core_type * variance) list; + (* ('a1,...'an) t; None represents _*) + ptype_cstrs: (core_type * core_type * Location.t) list; + (* ... constraint T1=T1' ... constraint Tn=Tn' *) + ptype_kind: type_kind; + ptype_private: private_flag; (* = private ... *) + ptype_manifest: core_type option; (* = T *) + ptype_attributes: attributes; (* ... [@@id1] [@@id2] *) + ptype_loc: Location.t; + } + +(* + type t (abstract, no manifest) + type t = T0 (abstract, manifest=T0) + type t = C of T | ... (variant, no manifest) + type t = T0 = C of T | ... (variant, manifest=T0) + type t = {l: T; ...} (record, no manifest) + type t = T0 = {l : T; ...} (record, manifest=T0) + type t = .. (open, no manifest) +*) + +and type_kind = + | Ptype_abstract + | Ptype_variant of constructor_declaration list + (* Invariant: non-empty list *) + | Ptype_record of label_declaration list + (* Invariant: non-empty list *) + | Ptype_open + +and label_declaration = + { + pld_name: string loc; + pld_mutable: mutable_flag; + pld_type: core_type; + pld_loc: Location.t; + pld_attributes: attributes; (* l [@id1] [@id2] : T *) + } + +(* { ...; l: T; ... } (mutable=Immutable) + { ...; mutable l: T; ... } (mutable=Mutable) + + Note: T can be a Pexp_poly. +*) + +and constructor_declaration = + { + pcd_name: string loc; + pcd_args: core_type list; + pcd_res: core_type option; + pcd_loc: Location.t; + pcd_attributes: attributes; (* C [@id1] [@id2] of ... *) + } +(* + | C of T1 * ... * Tn (res = None) + | C: T0 (args = [], res = Some T0) + | C: T1 * ... * Tn -> T0 (res = Some T0) +*) + +and type_extension = + { + ptyext_path: Longident.t loc; + ptyext_params: (core_type * variance) list; + ptyext_constructors: extension_constructor list; + ptyext_private: private_flag; + ptyext_attributes: attributes; (* ... [@@id1] [@@id2] *) + } +(* + type t += ... +*) + +and extension_constructor = + { + pext_name: string loc; + pext_kind : extension_constructor_kind; + pext_loc : Location.t; + pext_attributes: attributes; (* C [@id1] [@id2] of ... *) + } + +and extension_constructor_kind = + Pext_decl of core_type list * core_type option + (* + | C of T1 * ... * Tn ([T1; ...; Tn], None) + | C: T0 ([], Some T0) + | C: T1 * ... * Tn -> T0 ([T1; ...; Tn], Some T0) + *) + | Pext_rebind of Longident.t loc + (* + | C = D + *) + +(** {2 Class language} *) + +(* Type expressions for the class language *) + +and class_type = + { + pcty_desc: class_type_desc; + pcty_loc: Location.t; + pcty_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and class_type_desc = + | Pcty_constr of Longident.t loc * core_type list + (* c + ['a1, ..., 'an] c *) + | Pcty_signature of class_signature + (* object ... end *) + | Pcty_arrow of label * core_type * class_type + (* T -> CT (label = "") + ~l:T -> CT (label = "l") + ?l:T -> CT (label = "?l") + *) + | Pcty_extension of extension + (* [%id] *) + +and class_signature = + { + pcsig_self: core_type; + pcsig_fields: class_type_field list; + } +(* object('selfpat) ... end + object ... end (self = Ptyp_any) + *) + +and class_type_field = + { + pctf_desc: class_type_field_desc; + pctf_loc: Location.t; + pctf_attributes: attributes; (* ... [@@id1] [@@id2] *) + } + +and class_type_field_desc = + | Pctf_inherit of class_type + (* inherit CT *) + | Pctf_val of (string * mutable_flag * virtual_flag * core_type) + (* val x: T *) + | Pctf_method of (string * private_flag * virtual_flag * core_type) + (* method x: T + + Note: T can be a Pexp_poly. + *) + | Pctf_constraint of (core_type * core_type) + (* constraint T1 = T2 *) + | Pctf_attribute of attribute + (* [@@@id] *) + | Pctf_extension of extension + (* [%%id] *) + +and 'a class_infos = + { + pci_virt: virtual_flag; + pci_params: (core_type * variance) list; + pci_name: string loc; + pci_expr: 'a; + pci_loc: Location.t; + pci_attributes: attributes; (* ... [@@id1] [@@id2] *) + } +(* class c = ... + class ['a1,...,'an] c = ... + class virtual c = ... + + Also used for "class type" declaration. +*) + +and class_description = class_type class_infos + +and class_type_declaration = class_type class_infos + +(* Value expressions for the class language *) + +and class_expr = + { + pcl_desc: class_expr_desc; + pcl_loc: Location.t; + pcl_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and class_expr_desc = + | Pcl_constr of Longident.t loc * core_type list + (* c + ['a1, ..., 'an] c *) + | Pcl_structure of class_structure + (* object ... end *) + | Pcl_fun of label * expression option * pattern * class_expr + (* fun P -> CE (lab = "", None) + fun ~l:P -> CE (lab = "l", None) + fun ?l:P -> CE (lab = "?l", None) + fun ?l:(P = E0) -> CE (lab = "?l", Some E0) + *) + | Pcl_apply of class_expr * (label * expression) list + (* CE ~l1:E1 ... ~ln:En + li can be empty (non labeled argument) or start with '?' + (optional argument). + + Invariant: n > 0 + *) + | Pcl_let of rec_flag * value_binding list * class_expr + (* let P1 = E1 and ... and Pn = EN in CE (flag = Nonrecursive) + let rec P1 = E1 and ... and Pn = EN in CE (flag = Recursive) + *) + | Pcl_constraint of class_expr * class_type + (* (CE : CT) *) + | Pcl_extension of extension + (* [%id] *) + +and class_structure = + { + pcstr_self: pattern; + pcstr_fields: class_field list; + } +(* object(selfpat) ... end + object ... end (self = Ppat_any) + *) + +and class_field = + { + pcf_desc: class_field_desc; + pcf_loc: Location.t; + pcf_attributes: attributes; (* ... [@@id1] [@@id2] *) + } + +and class_field_desc = + | Pcf_inherit of override_flag * class_expr * string option + (* inherit CE + inherit CE as x + inherit! CE + inherit! CE as x + *) + | Pcf_val of (string loc * mutable_flag * class_field_kind) + (* val x = E + val virtual x: T + *) + | Pcf_method of (string loc * private_flag * class_field_kind) + (* method x = E (E can be a Pexp_poly) + method virtual x: T (T can be a Ptyp_poly) + *) + | Pcf_constraint of (core_type * core_type) + (* constraint T1 = T2 *) + | Pcf_initializer of expression + (* initializer E *) + | Pcf_attribute of attribute + (* [@@@id] *) + | Pcf_extension of extension + (* [%%id] *) + +and class_field_kind = + | Cfk_virtual of core_type + | Cfk_concrete of override_flag * expression + +and class_declaration = class_expr class_infos + +(** {2 Module language} *) + +(* Type expressions for the module language *) + +and module_type = + { + pmty_desc: module_type_desc; + pmty_loc: Location.t; + pmty_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and module_type_desc = + | Pmty_ident of Longident.t loc + (* S *) + | Pmty_signature of signature + (* sig ... end *) + | Pmty_functor of string loc * module_type option * module_type + (* functor(X : MT1) -> MT2 *) + | Pmty_with of module_type * with_constraint list + (* MT with ... *) + | Pmty_typeof of module_expr + (* module type of ME *) + | Pmty_extension of extension + (* [%id] *) + | Pmty_alias of Longident.t loc + (* (module M) *) + +and signature = signature_item list + +and signature_item = + { + psig_desc: signature_item_desc; + psig_loc: Location.t; + } + +and signature_item_desc = + | Psig_value of value_description + (* + val x: T + external x: T = "s1" ... "sn" + *) + | Psig_type of type_declaration list + (* type t1 = ... and ... and tn = ... *) + | Psig_typext of type_extension + (* type t1 += ... *) + | Psig_exception of extension_constructor + (* exception C of T *) + | Psig_module of module_declaration + (* module X : MT *) + | Psig_recmodule of module_declaration list + (* module rec X1 : MT1 and ... and Xn : MTn *) + | Psig_modtype of module_type_declaration + (* module type S = MT + module type S *) + | Psig_open of open_description + (* open X *) + | Psig_include of include_description + (* include MT *) + | Psig_class of class_description list + (* class c1 : ... and ... and cn : ... *) + | Psig_class_type of class_type_declaration list + (* class type ct1 = ... and ... and ctn = ... *) + | Psig_attribute of attribute + (* [@@@id] *) + | Psig_extension of extension * attributes + (* [%%id] *) + +and module_declaration = + { + pmd_name: string loc; + pmd_type: module_type; + pmd_attributes: attributes; (* ... [@@id1] [@@id2] *) + pmd_loc: Location.t; + } +(* S : MT *) + +and module_type_declaration = + { + pmtd_name: string loc; + pmtd_type: module_type option; + pmtd_attributes: attributes; (* ... [@@id1] [@@id2] *) + pmtd_loc: Location.t; + } +(* S = MT + S (abstract module type declaration, pmtd_type = None) +*) + +and open_description = + { + popen_lid: Longident.t loc; + popen_override: override_flag; + popen_loc: Location.t; + popen_attributes: attributes; + } +(* open! X - popen_override = Override (silences the 'used identifier + shadowing' warning) + open X - popen_override = Fresh + *) + +and 'a include_infos = + { + pincl_mod: 'a; + pincl_loc: Location.t; + pincl_attributes: attributes; + } + +and include_description = module_type include_infos +(* include MT *) + +and include_declaration = module_expr include_infos +(* include ME *) + +and with_constraint = + | Pwith_type of Longident.t loc * type_declaration + (* with type X.t = ... + + Note: the last component of the longident must match + the name of the type_declaration. *) + | Pwith_module of Longident.t loc * Longident.t loc + (* with module X.Y = Z *) + | Pwith_typesubst of type_declaration + (* with type t := ... *) + | Pwith_modsubst of string loc * Longident.t loc + (* with module X := Z *) + +(* Value expressions for the module language *) + +and module_expr = + { + pmod_desc: module_expr_desc; + pmod_loc: Location.t; + pmod_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and module_expr_desc = + | Pmod_ident of Longident.t loc + (* X *) + | Pmod_structure of structure + (* struct ... end *) + | Pmod_functor of string loc * module_type option * module_expr + (* functor(X : MT1) -> ME *) + | Pmod_apply of module_expr * module_expr + (* ME1(ME2) *) + | Pmod_constraint of module_expr * module_type + (* (ME : MT) *) + | Pmod_unpack of expression + (* (val E) *) + | Pmod_extension of extension + (* [%id] *) + +and structure = structure_item list + +and structure_item = + { + pstr_desc: structure_item_desc; + pstr_loc: Location.t; + } + +and structure_item_desc = + | Pstr_eval of expression * attributes + (* E *) + | Pstr_value of rec_flag * value_binding list + (* let P1 = E1 and ... and Pn = EN (flag = Nonrecursive) + let rec P1 = E1 and ... and Pn = EN (flag = Recursive) + *) + | Pstr_primitive of value_description + (* external x: T = "s1" ... "sn" *) + | Pstr_type of type_declaration list + (* type t1 = ... and ... and tn = ... *) + | Pstr_typext of type_extension + (* type t1 += ... *) + | Pstr_exception of extension_constructor + (* exception C of T + exception C = M.X *) + | Pstr_module of module_binding + (* module X = ME *) + | Pstr_recmodule of module_binding list + (* module rec X1 = ME1 and ... and Xn = MEn *) + | Pstr_modtype of module_type_declaration + (* module type S = MT *) + | Pstr_open of open_description + (* open X *) + | Pstr_class of class_declaration list + (* class c1 = ... and ... and cn = ... *) + | Pstr_class_type of class_type_declaration list + (* class type ct1 = ... and ... and ctn = ... *) + | Pstr_include of include_declaration + (* include ME *) + | Pstr_attribute of attribute + (* [@@@id] *) + | Pstr_extension of extension * attributes + (* [%%id] *) + +and value_binding = + { + pvb_pat: pattern; + pvb_expr: expression; + pvb_attributes: attributes; + pvb_loc: Location.t; + } + +and module_binding = + { + pmb_name: string loc; + pmb_expr: module_expr; + pmb_attributes: attributes; + pmb_loc: Location.t; + } +(* X = ME *) + +(** {2 Toplevel} *) + +(* Toplevel phrases *) + +type toplevel_phrase = + | Ptop_def of structure + | Ptop_dir of string * directive_argument + (* #use, #load ... *) + +and directive_argument = + | Pdir_none + | Pdir_string of string + | Pdir_int of int + | Pdir_ident of Longident.t + | Pdir_bool of bool diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.depend --- camlp5-6.11/ocaml_stuff/4.02.0/utils/.depend 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.depend 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1,2 @@ +pconfig.cmo: pconfig.cmi +pconfig.cmx: pconfig.cmi diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.gitignore --- camlp5-6.11/ocaml_stuff/4.02.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/.gitignore 2014-08-01 10:14:54.343065456 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/Makefile --- camlp5-6.11/ocaml_stuff/4.02.0/utils/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/Makefile 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,27 @@ +# Makefile,v + +FILES=warnings.cmi pconfig.cmo +INCL= + +all: $(FILES) + +opt: pconfig.cmx + +clean: + rm -f *.cm[oix] *.o + +depend: + ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend + +.SUFFIXES: .mli .cmi .ml .cmo .cmx + +.mli.cmi: + $(OCAMLN)c $(INCL) -c $< + +.ml.cmo: + $(OCAMLN)c $(INCL) -c $< + +.ml.cmx: + $(OCAMLN)opt $(INCL) -c $< + +include .depend diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.ml camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.ml --- camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.ml 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.ml 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,4 @@ +let ocaml_version = "4.02.0" +let ocaml_name = "ocaml" +let ast_impl_magic_number = "Caml1999M016" +let ast_intf_magic_number = "Caml1999N015" diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.mli --- camlp5-6.11/ocaml_stuff/4.02.0/utils/pconfig.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/pconfig.mli 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,4 @@ +val ocaml_version : string +val ocaml_name : string +val ast_impl_magic_number : string +val ast_intf_magic_number : string diff -urN camlp5-6.11/ocaml_stuff/4.02.0/utils/warnings.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/warnings.mli --- camlp5-6.11/ocaml_stuff/4.02.0/utils/warnings.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.02.0/utils/warnings.mli 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,87 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *) +(* *) +(* Copyright 1998 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +open Format + +type t = + | Comment_start (* 1 *) + | Comment_not_end (* 2 *) + | Deprecated of string (* 3 *) + | Fragile_match of string (* 4 *) + | Partial_application (* 5 *) + | Labels_omitted (* 6 *) + | Method_override of string list (* 7 *) + | Partial_match of string (* 8 *) + | Non_closed_record_pattern of string (* 9 *) + | Statement_type (* 10 *) + | Unused_match (* 11 *) + | Unused_pat (* 12 *) + | Instance_variable_override of string list (* 13 *) + | Illegal_backslash (* 14 *) + | Implicit_public_methods of string list (* 15 *) + | Unerasable_optional_argument (* 16 *) + | Undeclared_virtual_method of string (* 17 *) + | Not_principal of string (* 18 *) + | Without_principality of string (* 19 *) + | Unused_argument (* 20 *) + | Nonreturning_statement (* 21 *) + | Preprocessor of string (* 22 *) + | Useless_record_with (* 23 *) + | Bad_module_name of string (* 24 *) + | All_clauses_guarded (* 25 *) + | Unused_var of string (* 26 *) + | Unused_var_strict of string (* 27 *) + | Wildcard_arg_to_constant_constr (* 28 *) + | Eol_in_string (* 29 *) + | Duplicate_definitions of string * string * string * string (* 30 *) + | Multiple_definition of string * string * string (* 31 *) + | Unused_value_declaration of string (* 32 *) + | Unused_open of string (* 33 *) + | Unused_type_declaration of string (* 34 *) + | Unused_for_index of string (* 35 *) + | Unused_ancestor of string (* 36 *) + | Unused_constructor of string * bool * bool (* 37 *) + | Unused_extension of string * bool * bool (* 38 *) + | Unused_rec_flag (* 39 *) + | Name_out_of_scope of string * string list * bool (* 40 *) + | Ambiguous_name of string list * string list * bool (* 41 *) + | Disambiguated_name of string (* 42 *) + | Nonoptional_label of string (* 43 *) + | Open_shadow_identifier of string * string (* 44 *) + | Open_shadow_label_constructor of string * string (* 45 *) + | Bad_env_variable of string * string (* 46 *) + | Attribute_payload of string * string (* 47 *) + | Eliminated_optional_arguments of string list (* 48 *) + | No_cmi_file of string (* 49 *) +;; + +val parse_options : bool -> string -> unit;; + +val is_active : t -> bool;; +val is_error : t -> bool;; + +val defaults_w : string;; +val defaults_warn_error : string;; + +val print : formatter -> t -> int;; + (* returns the number of newlines in the printed string *) + + +exception Errors of int;; + +val check_fatal : unit -> unit;; + +val help_warnings: unit -> unit + +type state +val backup: unit -> state +val restore: state -> unit diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/asttypes.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/asttypes.mli --- camlp5-6.11/ocaml_stuff/4.03.0/parsing/asttypes.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/asttypes.mli 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,49 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* Auxiliary a.s.t. types used by parsetree and typedtree. *) + +type constant = + Const_int of int + | Const_char of char + | Const_string of string * string option + | Const_float of string + | Const_int32 of int32 + | Const_int64 of int64 + | Const_nativeint of nativeint + +type rec_flag = Nonrecursive | Recursive + +type direction_flag = Upto | Downto + +type private_flag = Private | Public + +type mutable_flag = Immutable | Mutable + +type virtual_flag = Virtual | Concrete + +type override_flag = Override | Fresh + +type closed_flag = Closed | Open + +type label = string + +type 'a loc = 'a Location.loc = { + txt : 'a; + loc : Location.t; +} + + +type variance = + | Covariant + | Contravariant + | Invariant diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.depend --- camlp5-6.11/ocaml_stuff/4.03.0/parsing/.depend 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.depend 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,4 @@ +asttypes.cmi : location.cmi +location.cmi : ../utils/warnings.cmi +longident.cmi : +parsetree.cmi : longident.cmi location.cmi asttypes.cmi diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/4.03.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/.gitignore 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/location.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/location.mli --- camlp5-6.11/ocaml_stuff/4.03.0/parsing/location.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/location.mli 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,116 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* Source code locations (ranges of positions), used in parsetree. *) + +open Format + +type t = { + loc_start: Lexing.position; + loc_end: Lexing.position; + loc_ghost: bool; +} + +(* Note on the use of Lexing.position in this module. + If [pos_fname = ""], then use [!input_name] instead. + If [pos_lnum = -1], then [pos_bol = 0]. Use [pos_cnum] and + re-parse the file to get the line and character numbers. + Else all fields are correct. +*) + +val none : t +(** An arbitrary value of type [t]; describes an empty ghost range. *) +val in_file : string -> t;; +(** Return an empty ghost range located in a given file. *) +val init : Lexing.lexbuf -> string -> unit +(** Set the file name and line number of the [lexbuf] to be the start + of the named file. *) +val curr : Lexing.lexbuf -> t +(** Get the location of the current token from the [lexbuf]. *) + +val symbol_rloc: unit -> t +val symbol_gloc: unit -> t + +(** [rhs_loc n] returns the location of the symbol at position [n], starting + at 1, in the current parser rule. *) +val rhs_loc: int -> t + +val input_name: string ref +val input_lexbuf: Lexing.lexbuf option ref + +val get_pos_info: Lexing.position -> string * int * int (* file, line, char *) +val print_loc: formatter -> t -> unit +val print_error: formatter -> t -> unit +val print_error_cur_file: formatter -> unit +val print_warning: t -> formatter -> Warnings.t -> unit +val prerr_warning: t -> Warnings.t -> unit +val echo_eof: unit -> unit +val reset: unit -> unit + +val highlight_locations: formatter -> t list -> bool + +type 'a loc = { + txt : 'a; + loc : t; +} + +val mknoloc : 'a -> 'a loc +val mkloc : 'a -> t -> 'a loc + +val print: formatter -> t -> unit +val print_filename: formatter -> string -> unit + +val absolute_path: string -> string + +val show_filename: string -> string + (** In -absname mode, return the absolute path for this filename. + Otherwise, returns the filename unchanged. *) + + +val absname: bool ref + + +(* Support for located errors *) + +type error = + { + loc: t; + msg: string; + sub: error list; + if_highlight: string; (* alternative message if locations are highlighted *) + } + +exception Error of error + +val error: ?loc:t -> ?sub:error list -> ?if_highlight:string -> string -> error + +val errorf: ?loc:t -> ?sub:error list -> ?if_highlight:string + -> ('a, unit, string, error) format4 -> 'a + +val error_of_printer: t -> (formatter -> 'a -> unit) -> 'a -> error + +val error_of_printer_file: (formatter -> 'a -> unit) -> 'a -> error + +val error_of_exn: exn -> error option + +val register_error_of_exn: (exn -> error option) -> unit + (* Each compiler module which defines a custom type of exception + which can surface as a user-visible error should register + a "printer" for this exception using [register_error_of_exn]. + The result of the printer is an [error] value containing + a location, a message, and optionally sub-messages (each of them + being located as well). *) + +val report_error: formatter -> error -> unit + +val report_exception: formatter -> exn -> unit + (* Reraise the exception if it is unknown. *) diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/longident.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/longident.mli --- camlp5-6.11/ocaml_stuff/4.03.0/parsing/longident.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/longident.mli 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,22 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* Long identifiers, used in parsetree. *) + +type t = + Lident of string + | Ldot of t * string + | Lapply of t * t + +val flatten: t -> string list +val last: t -> string +val parse: string -> t diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/Makefile --- camlp5-6.11/ocaml_stuff/4.03.0/parsing/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/Makefile 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,19 @@ +# Makefile,v + +FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi +INCL=-I ../utils + +all: $(FILES) + +clean: + rm -f *.cmi + +depend: + ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend + +.SUFFIXES: .mli .cmi + +.mli.cmi: + $(OCAMLN)c $(INCL) -c $< + +include .depend diff -urN camlp5-6.11/ocaml_stuff/4.03.0/parsing/parsetree.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/parsetree.mli --- camlp5-6.11/ocaml_stuff/4.03.0/parsing/parsetree.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/parsing/parsetree.mli 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,810 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(** Abstract syntax tree produced by parsing *) + +open Asttypes + +(** {2 Extension points} *) + +type attribute = string loc * payload + (* [@id ARG] + [@@id ARG] + + Metadata containers passed around within the AST. + The compiler ignores unknown attributes. + *) + +and extension = string loc * payload + (* [%id ARG] + [%%id ARG] + + Sub-language placeholder -- rejected by the typechecker. + *) + +and attributes = attribute list + +and payload = + | PStr of structure + | PTyp of core_type (* : T *) + | PPat of pattern * expression option (* : P or : P when E *) + +(** {2 Core language} *) + +(* Type expressions *) + +and core_type = + { + ptyp_desc: core_type_desc; + ptyp_loc: Location.t; + ptyp_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and core_type_desc = + | Ptyp_any + (* _ *) + | Ptyp_var of string + (* 'a *) + | Ptyp_arrow of label * core_type * core_type + (* T1 -> T2 (label = "") + ~l:T1 -> T2 (label = "l") + ?l:T1 -> T2 (label = "?l") + *) + | Ptyp_tuple of core_type list + (* T1 * ... * Tn (n >= 2) *) + | Ptyp_constr of Longident.t loc * core_type list + (* tconstr + T tconstr + (T1, ..., Tn) tconstr + *) + | Ptyp_object of (string * attributes * core_type) list * closed_flag + (* < l1:T1; ...; ln:Tn > (flag = Closed) + < l1:T1; ...; ln:Tn; .. > (flag = Open) + *) + | Ptyp_class of Longident.t loc * core_type list + (* #tconstr + T #tconstr + (T1, ..., Tn) #tconstr + *) + | Ptyp_alias of core_type * string + (* T as 'a *) + | Ptyp_variant of row_field list * closed_flag * label list option + (* [ `A|`B ] (flag = Closed; labels = None) + [> `A|`B ] (flag = Open; labels = None) + [< `A|`B ] (flag = Closed; labels = Some []) + [< `A|`B > `X `Y ](flag = Closed; labels = Some ["X";"Y"]) + *) + | Ptyp_poly of string list * core_type + (* 'a1 ... 'an. T + + Can only appear in the following context: + + - As the core_type of a Ppat_constraint node corresponding + to a constraint on a let-binding: let x : 'a1 ... 'an. T + = e ... + + - Under Cfk_virtual for methods (not values). + + - As the core_type of a Pctf_method node. + + - As the core_type of a Pexp_poly node. + + - As the pld_type field of a label_declaration. + + - As a core_type of a Ptyp_object node. + *) + + | Ptyp_package of package_type + (* (module S) *) + | Ptyp_extension of extension + (* [%id] *) + +and package_type = Longident.t loc * (Longident.t loc * core_type) list + (* + (module S) + (module S with type t1 = T1 and ... and tn = Tn) + *) + +and row_field = + | Rtag of label * attributes * bool * core_type list + (* [`A] ( true, [] ) + [`A of T] ( false, [T] ) + [`A of T1 & .. & Tn] ( false, [T1;...Tn] ) + [`A of & T1 & .. & Tn] ( true, [T1;...Tn] ) + + - The 2nd field is true if the tag contains a + constant (empty) constructor. + - '&' occurs when several types are used for the same constructor + (see 4.2 in the manual) + + - TODO: switch to a record representation, and keep location + *) + | Rinherit of core_type + (* [ T ] *) + +(* Patterns *) + +and pattern = + { + ppat_desc: pattern_desc; + ppat_loc: Location.t; + ppat_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and pattern_desc = + | Ppat_any + (* _ *) + | Ppat_var of string loc + (* x *) + | Ppat_alias of pattern * string loc + (* P as 'a *) + | Ppat_constant of constant + (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) + | Ppat_interval of constant * constant + (* 'a'..'z' + + Other forms of interval are recognized by the parser + but rejected by the type-checker. *) + | Ppat_tuple of pattern list + (* (P1, ..., Pn) (n >= 2) *) + | Ppat_construct of Longident.t loc * pattern option + (* C None + C P Some P + C (P1, ..., Pn) Some (Ppat_tuple [P1; ...; Pn]) + *) + | Ppat_variant of label * pattern option + (* `A (None) + `A P (Some P) + *) + | Ppat_record of (Longident.t loc * pattern) list * closed_flag + (* { l1=P1; ...; ln=Pn } (flag = Closed) + { l1=P1; ...; ln=Pn; _} (flag = Open) + *) + | Ppat_array of pattern list + (* [| P1; ...; Pn |] *) + | Ppat_or of pattern * pattern + (* P1 | P2 *) + | Ppat_constraint of pattern * core_type + (* (P : T) *) + | Ppat_type of Longident.t loc + (* #tconst *) + | Ppat_lazy of pattern + (* lazy P *) + | Ppat_unpack of string loc + (* (module P) + Note: (module P : S) is represented as + Ppat_constraint(Ppat_unpack, Ptyp_package) + *) + | Ppat_exception of pattern + (* exception P *) + | Ppat_extension of extension + (* [%id] *) + +(* Value expressions *) + +and expression = + { + pexp_desc: expression_desc; + pexp_loc: Location.t; + pexp_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and expression_desc = + | Pexp_ident of Longident.t loc + (* x + M.x + *) + | Pexp_constant of constant + (* 1, 'a', "true", 1.0, 1l, 1L, 1n *) + | Pexp_let of rec_flag * value_binding list * expression + (* let P1 = E1 and ... and Pn = EN in E (flag = Nonrecursive) + let rec P1 = E1 and ... and Pn = EN in E (flag = Recursive) + *) + | Pexp_function of case list + (* function P1 -> E1 | ... | Pn -> En *) + | Pexp_fun of label * expression option * pattern * expression + (* fun P -> E1 (lab = "", None) + fun ~l:P -> E1 (lab = "l", None) + fun ?l:P -> E1 (lab = "?l", None) + fun ?l:(P = E0) -> E1 (lab = "?l", Some E0) + + Notes: + - If E0 is provided, lab must start with '?'. + - "fun P1 P2 .. Pn -> E1" is represented as nested Pexp_fun. + - "let f P = E" is represented using Pexp_fun. + *) + | Pexp_apply of expression * (label * expression) list + (* E0 ~l1:E1 ... ~ln:En + li can be empty (non labeled argument) or start with '?' + (optional argument). + *) + | Pexp_match of expression * case list + (* match E0 with P1 -> E1 | ... | Pn -> En *) + | Pexp_try of expression * case list + (* try E0 with P1 -> E1 | ... | Pn -> En *) + | Pexp_tuple of expression list + (* (E1, ..., En) (n >= 2) *) + | Pexp_construct of Longident.t loc * expression option + (* C None + C E Some E + C (E1, ..., En) Some (Pexp_tuple[E1;...;En]) + *) + | Pexp_variant of label * expression option + (* `A (None) + `A E (Some E) + *) + | Pexp_record of (Longident.t loc * expression) list * expression option + (* { l1=P1; ...; ln=Pn } (None) + { E0 with l1=P1; ...; ln=Pn } (Some E0) + *) + | Pexp_field of expression * Longident.t loc + (* E.l *) + | Pexp_setfield of expression * Longident.t loc * expression + (* E1.l <- E2 *) + | Pexp_array of expression list + (* [| E1; ...; En |] *) + | Pexp_ifthenelse of expression * expression * expression option + (* if E1 then E2 else E3 *) + | Pexp_sequence of expression * expression + (* E1; E2 *) + | Pexp_while of expression * expression + (* while E1 do E2 done *) + | Pexp_for of + pattern * expression * expression * direction_flag * expression + (* for i = E1 to E2 do E3 done (flag = Upto) + for i = E1 downto E2 do E3 done (flag = Downto) + *) + | Pexp_constraint of expression * core_type + (* (E : T) *) + | Pexp_coerce of expression * core_type option * core_type + (* (E :> T) (None, T) + (E : T0 :> T) (Some T0, T) + *) + | Pexp_send of expression * string + (* E # m *) + | Pexp_new of Longident.t loc + (* new M.c *) + | Pexp_setinstvar of string loc * expression + (* x <- 2 *) + | Pexp_override of (string loc * expression) list + (* {< x1 = E1; ...; Xn = En >} *) + | Pexp_letmodule of string loc * module_expr * expression + (* let module M = ME in E *) + | Pexp_assert of expression + (* assert E + Note: "assert false" is treated in a special way by the + type-checker. *) + | Pexp_lazy of expression + (* lazy E *) + | Pexp_poly of expression * core_type option + (* Used for method bodies. + + Can only be used as the expression under Cfk_concrete + for methods (not values). *) + | Pexp_object of class_structure + (* object ... end *) + | Pexp_newtype of string * expression + (* fun (type t) -> E *) + | Pexp_pack of module_expr + (* (module ME) + + (module ME : S) is represented as + Pexp_constraint(Pexp_pack, Ptyp_package S) *) + | Pexp_open of override_flag * Longident.t loc * expression + (* let open M in E + let! open M in E + *) + | Pexp_extension of extension + (* [%id] *) + +and case = (* (P -> E) or (P when E0 -> E) *) + { + pc_lhs: pattern; + pc_guard: expression option; + pc_rhs: expression; + } + +(* Value descriptions *) + +and value_description = + { + pval_name: string loc; + pval_type: core_type; + pval_prim: string list; + pval_attributes: attributes; (* ... [@@id1] [@@id2] *) + pval_loc: Location.t; + } + +(* + val x: T (prim = []) + external x: T = "s1" ... "sn" (prim = ["s1";..."sn"]) + + Note: when used under Pstr_primitive, prim cannot be empty +*) + +(* Type declarations *) + +and type_declaration = + { + ptype_name: string loc; + ptype_params: (core_type * variance) list; + (* ('a1,...'an) t; None represents _*) + ptype_cstrs: (core_type * core_type * Location.t) list; + (* ... constraint T1=T1' ... constraint Tn=Tn' *) + ptype_kind: type_kind; + ptype_private: private_flag; (* = private ... *) + ptype_manifest: core_type option; (* = T *) + ptype_attributes: attributes; (* ... [@@id1] [@@id2] *) + ptype_loc: Location.t; + } + +(* + type t (abstract, no manifest) + type t = T0 (abstract, manifest=T0) + type t = C of T | ... (variant, no manifest) + type t = T0 = C of T | ... (variant, manifest=T0) + type t = {l: T; ...} (record, no manifest) + type t = T0 = {l : T; ...} (record, manifest=T0) + type t = .. (open, no manifest) +*) + +and type_kind = + | Ptype_abstract + | Ptype_variant of constructor_declaration list + | Ptype_record of label_declaration list + | Ptype_open + +and label_declaration = + { + pld_name: string loc; + pld_mutable: mutable_flag; + pld_type: core_type; + pld_loc: Location.t; + pld_attributes: attributes; (* l [@id1] [@id2] : T *) + } + +(* { ...; l: T; ... } (mutable=Immutable) + { ...; mutable l: T; ... } (mutable=Mutable) + + Note: T can be a Pexp_poly. +*) + +and constructor_declaration = + { + pcd_name: string loc; + pcd_args: core_type list; + pcd_res: core_type option; + pcd_loc: Location.t; + pcd_attributes: attributes; (* C [@id1] [@id2] of ... *) + } +(* + | C of T1 * ... * Tn (res = None) + | C: T0 (args = [], res = Some T0) + | C: T1 * ... * Tn -> T0 (res = Some T0) +*) + +and type_extension = + { + ptyext_path: Longident.t loc; + ptyext_params: (core_type * variance) list; + ptyext_constructors: extension_constructor list; + ptyext_private: private_flag; + ptyext_attributes: attributes; (* ... [@@id1] [@@id2] *) + } +(* + type t += ... +*) + +and extension_constructor = + { + pext_name: string loc; + pext_kind : extension_constructor_kind; + pext_loc : Location.t; + pext_attributes: attributes; (* C [@id1] [@id2] of ... *) + } + +and extension_constructor_kind = + Pext_decl of core_type list * core_type option + (* + | C of T1 * ... * Tn ([T1; ...; Tn], None) + | C: T0 ([], Some T0) + | C: T1 * ... * Tn -> T0 ([T1; ...; Tn], Some T0) + *) + | Pext_rebind of Longident.t loc + (* + | C = D + *) + +(** {2 Class language} *) + +(* Type expressions for the class language *) + +and class_type = + { + pcty_desc: class_type_desc; + pcty_loc: Location.t; + pcty_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and class_type_desc = + | Pcty_constr of Longident.t loc * core_type list + (* c + ['a1, ..., 'an] c *) + | Pcty_signature of class_signature + (* object ... end *) + | Pcty_arrow of label * core_type * class_type + (* T -> CT (label = "") + ~l:T -> CT (label = "l") + ?l:T -> CT (label = "?l") + *) + | Pcty_extension of extension + (* [%id] *) + +and class_signature = + { + pcsig_self: core_type; + pcsig_fields: class_type_field list; + } +(* object('selfpat) ... end + object ... end (self = Ptyp_any) + *) + +and class_type_field = + { + pctf_desc: class_type_field_desc; + pctf_loc: Location.t; + pctf_attributes: attributes; (* ... [@@id1] [@@id2] *) + } + +and class_type_field_desc = + | Pctf_inherit of class_type + (* inherit CT *) + | Pctf_val of (string * mutable_flag * virtual_flag * core_type) + (* val x: T *) + | Pctf_method of (string * private_flag * virtual_flag * core_type) + (* method x: T + + Note: T can be a Pexp_poly. + *) + | Pctf_constraint of (core_type * core_type) + (* constraint T1 = T2 *) + | Pctf_attribute of attribute + (* [@@@id] *) + | Pctf_extension of extension + (* [%%id] *) + +and 'a class_infos = + { + pci_virt: virtual_flag; + pci_params: (core_type * variance) list; + pci_name: string loc; + pci_expr: 'a; + pci_loc: Location.t; + pci_attributes: attributes; (* ... [@@id1] [@@id2] *) + } +(* class c = ... + class ['a1,...,'an] c = ... + class virtual c = ... + + Also used for "class type" declaration. +*) + +and class_description = class_type class_infos + +and class_type_declaration = class_type class_infos + +(* Value expressions for the class language *) + +and class_expr = + { + pcl_desc: class_expr_desc; + pcl_loc: Location.t; + pcl_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and class_expr_desc = + | Pcl_constr of Longident.t loc * core_type list + (* c + ['a1, ..., 'an] c *) + | Pcl_structure of class_structure + (* object ... end *) + | Pcl_fun of label * expression option * pattern * class_expr + (* fun P -> CE (lab = "", None) + fun ~l:P -> CE (lab = "l", None) + fun ?l:P -> CE (lab = "?l", None) + fun ?l:(P = E0) -> CE (lab = "?l", Some E0) + *) + | Pcl_apply of class_expr * (label * expression) list + (* CE ~l1:E1 ... ~ln:En + li can be empty (non labeled argument) or start with '?' + (optional argument). + *) + | Pcl_let of rec_flag * value_binding list * class_expr + (* let P1 = E1 and ... and Pn = EN in CE (flag = Nonrecursive) + let rec P1 = E1 and ... and Pn = EN in CE (flag = Recursive) + *) + | Pcl_constraint of class_expr * class_type + (* (CE : CT) *) + | Pcl_extension of extension + (* [%id] *) + +and class_structure = + { + pcstr_self: pattern; + pcstr_fields: class_field list; + } +(* object(selfpat) ... end + object ... end (self = Ppat_any) + *) + +and class_field = + { + pcf_desc: class_field_desc; + pcf_loc: Location.t; + pcf_attributes: attributes; (* ... [@@id1] [@@id2] *) + } + +and class_field_desc = + | Pcf_inherit of override_flag * class_expr * string option + (* inherit CE + inherit CE as x + inherit! CE + inherit! CE as x + *) + | Pcf_val of (string loc * mutable_flag * class_field_kind) + (* val x = E + val virtual x: T + *) + | Pcf_method of (string loc * private_flag * class_field_kind) + (* method x = E (E can be a Pexp_poly) + method virtual x: T (T can be a Ptyp_poly) + *) + | Pcf_constraint of (core_type * core_type) + (* constraint T1 = T2 *) + | Pcf_initializer of expression + (* initializer E *) + | Pcf_attribute of attribute + (* [@@@id] *) + | Pcf_extension of extension + (* [%%id] *) + +and class_field_kind = + | Cfk_virtual of core_type + | Cfk_concrete of override_flag * expression + +and class_declaration = class_expr class_infos + +(** {2 Module language} *) + +(* Type expressions for the module language *) + +and module_type = + { + pmty_desc: module_type_desc; + pmty_loc: Location.t; + pmty_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and module_type_desc = + | Pmty_ident of Longident.t loc + (* S *) + | Pmty_signature of signature + (* sig ... end *) + | Pmty_functor of string loc * module_type option * module_type + (* functor(X : MT1) -> MT2 *) + | Pmty_with of module_type * with_constraint list + (* MT with ... *) + | Pmty_typeof of module_expr + (* module type of ME *) + | Pmty_extension of extension + (* [%id] *) + | Pmty_alias of Longident.t loc + (* (module M) *) + +and signature = signature_item list + +and signature_item = + { + psig_desc: signature_item_desc; + psig_loc: Location.t; + } + +and signature_item_desc = + | Psig_value of value_description + (* + val x: T + external x: T = "s1" ... "sn" + *) + | Psig_type of type_declaration list + (* type t1 = ... and ... and tn = ... *) + | Psig_typext of type_extension + (* type t1 += ... *) + | Psig_exception of extension_constructor + (* exception C of T *) + | Psig_module of module_declaration + (* module X : MT *) + | Psig_recmodule of module_declaration list + (* module rec X1 : MT1 and ... and Xn : MTn *) + | Psig_modtype of module_type_declaration + (* module type S = MT + module type S *) + | Psig_open of open_description + (* open X *) + | Psig_include of include_description + (* include MT *) + | Psig_class of class_description list + (* class c1 : ... and ... and cn : ... *) + | Psig_class_type of class_type_declaration list + (* class type ct1 = ... and ... and ctn = ... *) + | Psig_attribute of attribute + (* [@@@id] *) + | Psig_extension of extension * attributes + (* [%%id] *) + +and module_declaration = + { + pmd_name: string loc; + pmd_type: module_type; + pmd_attributes: attributes; (* ... [@@id1] [@@id2] *) + pmd_loc: Location.t; + } +(* S : MT *) + +and module_type_declaration = + { + pmtd_name: string loc; + pmtd_type: module_type option; + pmtd_attributes: attributes; (* ... [@@id1] [@@id2] *) + pmtd_loc: Location.t; + } +(* S = MT + S (abstract module type declaration, pmtd_type = None) +*) + +and open_description = + { + popen_lid: Longident.t loc; + popen_override: override_flag; + popen_loc: Location.t; + popen_attributes: attributes; + } +(* open! X - popen_override = Override (silences the 'used identifier + shadowing' warning) + open X - popen_override = Fresh + *) + +and 'a include_infos = + { + pincl_mod: 'a; + pincl_loc: Location.t; + pincl_attributes: attributes; + } + +and include_description = module_type include_infos +(* include MT *) + +and include_declaration = module_expr include_infos +(* include ME *) + +and with_constraint = + | Pwith_type of Longident.t loc * type_declaration + (* with type X.t = ... + + Note: the last component of the longident must match + the name of the type_declaration. *) + | Pwith_module of Longident.t loc * Longident.t loc + (* with module X.Y = Z *) + | Pwith_typesubst of type_declaration + (* with type t := ... *) + | Pwith_modsubst of string loc * Longident.t loc + (* with module X := Z *) + +(* Value expressions for the module language *) + +and module_expr = + { + pmod_desc: module_expr_desc; + pmod_loc: Location.t; + pmod_attributes: attributes; (* ... [@id1] [@id2] *) + } + +and module_expr_desc = + | Pmod_ident of Longident.t loc + (* X *) + | Pmod_structure of structure + (* struct ... end *) + | Pmod_functor of string loc * module_type option * module_expr + (* functor(X : MT1) -> ME *) + | Pmod_apply of module_expr * module_expr + (* ME1(ME2) *) + | Pmod_constraint of module_expr * module_type + (* (ME : MT) *) + | Pmod_unpack of expression + (* (val E) *) + | Pmod_extension of extension + (* [%id] *) + +and structure = structure_item list + +and structure_item = + { + pstr_desc: structure_item_desc; + pstr_loc: Location.t; + } + +and structure_item_desc = + | Pstr_eval of expression * attributes + (* E *) + | Pstr_value of rec_flag * value_binding list + (* let P1 = E1 and ... and Pn = EN (flag = Nonrecursive) + let rec P1 = E1 and ... and Pn = EN (flag = Recursive) + *) + | Pstr_primitive of value_description + (* external x: T = "s1" ... "sn" *) + | Pstr_type of type_declaration list + (* type t1 = ... and ... and tn = ... *) + | Pstr_typext of type_extension + (* type t1 += ... *) + | Pstr_exception of extension_constructor + (* exception C of T + exception C = M.X *) + | Pstr_module of module_binding + (* module X = ME *) + | Pstr_recmodule of module_binding list + (* module rec X1 = ME1 and ... and Xn = MEn *) + | Pstr_modtype of module_type_declaration + (* module type S = MT *) + | Pstr_open of open_description + (* open X *) + | Pstr_class of class_declaration list + (* class c1 = ... and ... and cn = ... *) + | Pstr_class_type of class_type_declaration list + (* class type ct1 = ... and ... and ctn = ... *) + | Pstr_include of include_declaration + (* include ME *) + | Pstr_attribute of attribute + (* [@@@id] *) + | Pstr_extension of extension * attributes + (* [%%id] *) + +and value_binding = + { + pvb_pat: pattern; + pvb_expr: expression; + pvb_attributes: attributes; + pvb_loc: Location.t; + } + +and module_binding = + { + pmb_name: string loc; + pmb_expr: module_expr; + pmb_attributes: attributes; + pmb_loc: Location.t; + } +(* X = ME *) + +(** {2 Toplevel} *) + +(* Toplevel phrases *) + +type toplevel_phrase = + | Ptop_def of structure + | Ptop_dir of string * directive_argument + (* #use, #load ... *) + +and directive_argument = + | Pdir_none + | Pdir_string of string + | Pdir_int of int + | Pdir_ident of Longident.t + | Pdir_bool of bool diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/.depend camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.depend --- camlp5-6.11/ocaml_stuff/4.03.0/utils/.depend 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.depend 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,2 @@ +pconfig.cmo: pconfig.cmi +pconfig.cmx: pconfig.cmi diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.gitignore --- camlp5-6.11/ocaml_stuff/4.03.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/.gitignore 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/Makefile --- camlp5-6.11/ocaml_stuff/4.03.0/utils/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/Makefile 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,27 @@ +# Makefile,v + +FILES=warnings.cmi pconfig.cmo +INCL= + +all: $(FILES) + +opt: pconfig.cmx + +clean: + rm -f *.cm[oix] *.o + +depend: + ocamldep $(INCL) *.ml* | sed -e 's/ *$$//' > .depend + +.SUFFIXES: .mli .cmi .ml .cmo .cmx + +.mli.cmi: + $(OCAMLN)c $(INCL) -c $< + +.ml.cmo: + $(OCAMLN)c $(INCL) -c $< + +.ml.cmx: + $(OCAMLN)opt $(INCL) -c $< + +include .depend diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.ml camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.ml --- camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.ml 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.ml 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,4 @@ +let ocaml_version = "4.03.0" +let ocaml_name = "ocaml" +let ast_impl_magic_number = "Caml1999M016" +let ast_intf_magic_number = "Caml1999N015" diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.mli --- camlp5-6.11/ocaml_stuff/4.03.0/utils/pconfig.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/pconfig.mli 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,4 @@ +val ocaml_version : string +val ocaml_name : string +val ast_impl_magic_number : string +val ast_intf_magic_number : string diff -urN camlp5-6.11/ocaml_stuff/4.03.0/utils/warnings.mli camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/warnings.mli --- camlp5-6.11/ocaml_stuff/4.03.0/utils/warnings.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/4.03.0/utils/warnings.mli 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1,87 @@ +(***********************************************************************) +(* *) +(* OCaml *) +(* *) +(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *) +(* *) +(* Copyright 1998 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +open Format + +type t = + | Comment_start (* 1 *) + | Comment_not_end (* 2 *) + | Deprecated of string (* 3 *) + | Fragile_match of string (* 4 *) + | Partial_application (* 5 *) + | Labels_omitted (* 6 *) + | Method_override of string list (* 7 *) + | Partial_match of string (* 8 *) + | Non_closed_record_pattern of string (* 9 *) + | Statement_type (* 10 *) + | Unused_match (* 11 *) + | Unused_pat (* 12 *) + | Instance_variable_override of string list (* 13 *) + | Illegal_backslash (* 14 *) + | Implicit_public_methods of string list (* 15 *) + | Unerasable_optional_argument (* 16 *) + | Undeclared_virtual_method of string (* 17 *) + | Not_principal of string (* 18 *) + | Without_principality of string (* 19 *) + | Unused_argument (* 20 *) + | Nonreturning_statement (* 21 *) + | Preprocessor of string (* 22 *) + | Useless_record_with (* 23 *) + | Bad_module_name of string (* 24 *) + | All_clauses_guarded (* 25 *) + | Unused_var of string (* 26 *) + | Unused_var_strict of string (* 27 *) + | Wildcard_arg_to_constant_constr (* 28 *) + | Eol_in_string (* 29 *) + | Duplicate_definitions of string * string * string * string (* 30 *) + | Multiple_definition of string * string * string (* 31 *) + | Unused_value_declaration of string (* 32 *) + | Unused_open of string (* 33 *) + | Unused_type_declaration of string (* 34 *) + | Unused_for_index of string (* 35 *) + | Unused_ancestor of string (* 36 *) + | Unused_constructor of string * bool * bool (* 37 *) + | Unused_extension of string * bool * bool (* 38 *) + | Unused_rec_flag (* 39 *) + | Name_out_of_scope of string * string list * bool (* 40 *) + | Ambiguous_name of string list * string list * bool (* 41 *) + | Disambiguated_name of string (* 42 *) + | Nonoptional_label of string (* 43 *) + | Open_shadow_identifier of string * string (* 44 *) + | Open_shadow_label_constructor of string * string (* 45 *) + | Bad_env_variable of string * string (* 46 *) + | Attribute_payload of string * string (* 47 *) + | Eliminated_optional_arguments of string list (* 48 *) + | No_cmi_file of string (* 49 *) +;; + +val parse_options : bool -> string -> unit;; + +val is_active : t -> bool;; +val is_error : t -> bool;; + +val defaults_w : string;; +val defaults_warn_error : string;; + +val print : formatter -> t -> int;; + (* returns the number of newlines in the printed string *) + + +exception Errors of int;; + +val check_fatal : unit -> unit;; + +val help_warnings: unit -> unit + +type state +val backup: unit -> state +val restore: state -> unit diff -urN camlp5-6.11/ocaml_stuff/common/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/common/parsing/.cvsignore 2010-09-15 17:00:47.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/common/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/common/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/.gitignore 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/common/parsing/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/Makefile --- camlp5-6.11/ocaml_stuff/common/parsing/Makefile 2012-03-02 18:49:57.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/common/parsing/Makefile 2014-08-01 10:14:54.344065456 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.3 2012-03-02 18:49:57 deraugla Exp $ +# Makefile,v FILES=asttypes.cmi location.cmi longident.cmi parsetree.cmi INCL=-I ../utils diff -urN camlp5-6.11/ocaml_stuff/common/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/common/utils/.cvsignore 2010-09-15 17:00:48.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/common/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.gitignore --- camlp5-6.11/ocaml_stuff/common/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/.gitignore 2014-08-01 10:14:54.344065456 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/common/utils/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/Makefile --- camlp5-6.11/ocaml_stuff/common/utils/Makefile 2012-03-02 18:49:57.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/common/utils/Makefile 2014-08-01 10:14:54.344065456 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.3 2012-03-02 18:49:57 deraugla Exp $ +# Makefile,v FILES=warnings.cmi pconfig.cmo INCL= diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore 2012-03-06 10:09:10.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/parsing/.gitignore 2014-08-01 10:14:54.345065457 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore 2012-03-06 10:09:10.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.gitignore --- camlp5-6.11/ocaml_stuff/jocaml/3.12.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.0/utils/.gitignore 2014-08-01 10:14:54.345065457 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore 2012-03-06 09:57:07.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/parsing/.gitignore 2014-08-01 10:14:54.345065457 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore 2012-03-06 09:57:07.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.gitignore --- camlp5-6.11/ocaml_stuff/jocaml/3.12.1/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.12.1/utils/.gitignore 2014-08-01 10:14:54.346065458 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore --- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore 2012-03-02 18:49:57.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore --- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/parsing/.gitignore 2014-08-01 10:14:54.346065458 +0100 @@ -0,0 +1 @@ +*.cm[oi] diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore --- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore 2012-03-02 18:49:57.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.gitignore camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.gitignore --- camlp5-6.11/ocaml_stuff/jocaml/3.13.0/utils/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/jocaml/3.13.0/utils/.gitignore 2014-08-01 10:14:54.346065458 +0100 @@ -0,0 +1 @@ +*.cm[oix] diff -urN camlp5-6.11/ocaml_stuff/Makefile camlp5-6.12-63a8c30f/ocaml_stuff/Makefile --- camlp5-6.11/ocaml_stuff/Makefile 2013-06-10 16:41:26.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocaml_stuff/Makefile 2014-08-01 10:14:54.344065456 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.8 2013-06-10 15:41:26 deraugla Exp $ +# Makefile,v TOP=.. include ../config/Makefile @@ -38,11 +38,11 @@ cp common/utils/pconfig.mli $(VERSSDIR)/utils/. sed 's/\$$Id.*\$$/Id/' common/utils/Makefile > \ $(VERSSDIR)/utils/Makefile - cp common/utils/.cvsignore $(VERSSDIR)/utils/. + cp common/utils/.gitignore $(VERSSDIR)/utils/. cp common/utils/.depend $(VERSSDIR)/utils/. sed 's/\$$Id.*\$$/Id/' common/parsing/Makefile > \ $(VERSSDIR)/parsing/Makefile - cp common/parsing/.cvsignore $(VERSSDIR)/parsing/. + cp common/parsing/.gitignore $(VERSSDIR)/parsing/. cp common/parsing/.depend $(VERSSDIR)/parsing/. (echo "let ocaml_version = \"$(OVERSION)\""; \ echo "let ocaml_name = \"$(OCAMLN)\""; \ diff -urN camlp5-6.11/ocpp/.cvsignore camlp5-6.12-63a8c30f/ocpp/.cvsignore --- camlp5-6.11/ocpp/.cvsignore 2010-09-15 17:00:48.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocpp/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -*.cm[oia] -ocpp -crc.ml diff -urN camlp5-6.11/ocpp/.gitignore camlp5-6.12-63a8c30f/ocpp/.gitignore --- camlp5-6.11/ocpp/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/ocpp/.gitignore 2014-08-01 10:14:54.346065458 +0100 @@ -0,0 +1,3 @@ +*.cm[oia] +ocpp +crc.ml diff -urN camlp5-6.11/ocpp/Makefile camlp5-6.12-63a8c30f/ocpp/Makefile --- camlp5-6.11/ocpp/Makefile 2012-03-01 03:33:19.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocpp/Makefile 2014-08-01 10:14:54.346065458 +0100 @@ -1,10 +1,10 @@ -# $Id: Makefile,v 6.2 2012-03-01 03:33:19 deraugla Exp $ +# Makefile,v include ../config/Makefile SHELL=/bin/sh -INCLUDES=-I ../main -I ../boot -I ../odyl +INCLUDES=-I ../main -I ../boot -I ../odyl -I ../lib OCAMLCFLAGS=$(WARNERR) $(INCLUDES) LINKFLAGS=$(INCLUDES) OBJS=ocpp.cmo @@ -12,7 +12,7 @@ all: ocpp$(EXE) ocpp$(EXE): $(OBJS) - $(OCAMLC) $(LINKFLAGS) ../boot/ploc.cmo ../boot/stdpp.cmo ../main/quotation.cmo ../odyl/odyl.cma $(OBJS) ../odyl/odyl.cmo -linkall -o ocpp$(EXE) + $(OCAMLC) $(LINKFLAGS) ../boot/versdep.cmo ../boot/ploc.cmo ../boot/stdpp.cmo ../main/quotation.cmo ../odyl/odyl.cma $(OBJS) ../odyl/odyl.cmo -linkall -o ocpp$(EXE) clean:: rm -f *.cm[ioa] *.pp[io] *.[ao] *.obj *.lib *.out *.bak .*.bak diff -urN camlp5-6.11/ocpp/ocpp.ml camlp5-6.12-63a8c30f/ocpp/ocpp.ml --- camlp5-6.11/ocpp/ocpp.ml 2012-01-09 14:22:25.000000000 +0000 +++ camlp5-6.12-63a8c30f/ocpp/ocpp.ml 2014-08-01 10:14:54.346065458 +0100 @@ -1,14 +1,16 @@ (* camlp5r *) -(* $Id: ocpp.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) +(* ocpp.ml,v *) (* Copyright (c) INRIA 2007-2012 *) -value buff = ref (String.create 80); +open Versdep; + +value buff = ref (string_create 80); value store len x = do { if len >= String.length buff.val then - buff.val := buff.val ^ String.create (String.length buff.val) + buff.val := buff.val ^ string_create (String.length buff.val) else (); - buff.val.[len] := x; + string_set buff.val len x; succ len } ; diff -urN camlp5-6.11/odyl/.cvsignore camlp5-6.12-63a8c30f/odyl/.cvsignore --- camlp5-6.11/odyl/.cvsignore 2010-09-15 17:00:48.000000000 +0100 +++ camlp5-6.12-63a8c30f/odyl/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -*.a -*.cm[oiax] -*.cmxa -*.lib -odyl -odyl_config.ml diff -urN camlp5-6.11/odyl/.gitignore camlp5-6.12-63a8c30f/odyl/.gitignore --- camlp5-6.11/odyl/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/odyl/.gitignore 2014-08-01 10:14:54.347065458 +0100 @@ -0,0 +1,6 @@ +*.a +*.cm[oiax] +*.cmxa +*.lib +odyl +odyl_config.ml diff -urN camlp5-6.11/odyl/Makefile camlp5-6.12-63a8c30f/odyl/Makefile --- camlp5-6.11/odyl/Makefile 2012-03-01 03:33:19.000000000 +0000 +++ camlp5-6.12-63a8c30f/odyl/Makefile 2014-08-01 10:14:54.347065458 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.2 2012-03-01 03:33:19 deraugla Exp $ +# Makefile,v TOP=.. include $(TOP)/config/Makefile diff -urN camlp5-6.11/odyl/odyl_main.ml camlp5-6.12-63a8c30f/odyl/odyl_main.ml --- camlp5-6.11/odyl/odyl_main.ml 2012-01-09 14:22:25.000000000 +0000 +++ camlp5-6.12-63a8c30f/odyl/odyl_main.ml 2014-08-01 10:14:54.347065458 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* $Id: odyl_main.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) +(* odyl_main.ml,v *) (* Copyright (c) INRIA 2007-2012 *) value go = ref (fun () -> ()); diff -urN camlp5-6.11/odyl/odyl_main.mli camlp5-6.12-63a8c30f/odyl/odyl_main.mli --- camlp5-6.11/odyl/odyl_main.mli 2010-09-15 17:00:48.000000000 +0100 +++ camlp5-6.12-63a8c30f/odyl/odyl_main.mli 2014-08-01 10:14:54.347065458 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: odyl_main.mli,v 6.1 2010-09-15 16:00:48 deraugla Exp $ *) +(* odyl_main.mli,v *) exception Error of string and string; diff -urN camlp5-6.11/odyl/odyl.ml camlp5-6.12-63a8c30f/odyl/odyl.ml --- camlp5-6.11/odyl/odyl.ml 2012-01-09 14:22:25.000000000 +0000 +++ camlp5-6.12-63a8c30f/odyl/odyl.ml 2014-08-01 10:14:54.347065458 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: odyl.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) +(* odyl.ml,v *) (* Copyright (c) INRIA 2007-2012 *) value apply_load () = diff -urN camlp5-6.11/README camlp5-6.12-63a8c30f/README --- camlp5-6.11/README 2013-08-15 23:08:21.000000000 +0100 +++ camlp5-6.12-63a8c30f/README 2014-08-01 10:14:54.283065418 +0100 @@ -5,7 +5,7 @@ It is compatible with all versions of ocaml from 1.07 to 4.01.0 and jocaml 3.12.0 to 3.12.1. - This Camlp5 version is 6.11. + This Camlp5 version is 6.12-exp. Camlp5 must be compiled either in "transitional mode" or in "strict mode". See the file MODE for information. diff -urN camlp5-6.11/test/check_ocaml_sources.sh camlp5-6.12-63a8c30f/test/check_ocaml_sources.sh --- camlp5-6.11/test/check_ocaml_sources.sh 2010-09-24 12:04:54.000000000 +0100 +++ camlp5-6.12-63a8c30f/test/check_ocaml_sources.sh 2014-08-01 10:14:54.347065458 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: check_ocaml_sources.sh,v 6.18 2010-09-24 11:04:54 deraugla Exp $ +# check_ocaml_sources.sh,v dir='../ocaml/trunk' suff=ml diff -urN camlp5-6.11/test/check_ocaml_versions.sh camlp5-6.12-63a8c30f/test/check_ocaml_versions.sh --- camlp5-6.11/test/check_ocaml_versions.sh 2012-06-18 10:53:42.000000000 +0100 +++ camlp5-6.12-63a8c30f/test/check_ocaml_versions.sh 2014-08-01 10:14:54.347065458 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -e -# $Id: check_ocaml_versions.sh,v 6.11 2012-06-18 09:53:42 deraugla Exp $ +# check_ocaml_versions.sh,v TOP=$HOME/work DEST=$TOP/usr diff -urN camlp5-6.11/test/.cvsignore camlp5-6.12-63a8c30f/test/.cvsignore --- camlp5-6.11/test/.cvsignore 2010-09-30 08:33:58.000000000 +0100 +++ camlp5-6.12-63a8c30f/test/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.ml[tu] diff -urN camlp5-6.11/test/.gitignore camlp5-6.12-63a8c30f/test/.gitignore --- camlp5-6.11/test/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/test/.gitignore 2014-08-01 10:14:54.347065458 +0100 @@ -0,0 +1 @@ +*.ml[tu] diff -urN camlp5-6.11/test/Makefile camlp5-6.12-63a8c30f/test/Makefile --- camlp5-6.11/test/Makefile 2012-03-01 03:33:19.000000000 +0000 +++ camlp5-6.12-63a8c30f/test/Makefile 2014-08-01 10:14:54.347065458 +0100 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 6.6 2012-03-01 03:33:19 deraugla Exp $ +# Makefile,v # Copyright (c) INRIA 2007-2012 DEP=../etc/pr_r.cmo quot_r.out.ml diff -urN camlp5-6.11/test/mkquot_o.sh camlp5-6.12-63a8c30f/test/mkquot_o.sh --- camlp5-6.11/test/mkquot_o.sh 2010-09-16 09:32:02.000000000 +0100 +++ camlp5-6.12-63a8c30f/test/mkquot_o.sh 2014-08-01 10:14:54.347065458 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: mkquot_o.sh,v 6.2 2010-09-16 08:32:02 deraugla Exp $ +# mkquot_o.sh,v head -n2 quot_o.ml ../meta/camlp5r -nolib -I ../meta ../etc/pa_mktest.cmo ../etc/pr_o.cmo -flag M -impl ../main/mLast.mli | diff -urN camlp5-6.11/test/mkquot.sh camlp5-6.12-63a8c30f/test/mkquot.sh --- camlp5-6.11/test/mkquot.sh 2010-09-15 17:00:48.000000000 +0100 +++ camlp5-6.12-63a8c30f/test/mkquot.sh 2014-08-01 10:14:54.347065458 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: mkquot.sh,v 6.1 2010-09-15 16:00:48 deraugla Exp $ +# mkquot.sh,v echo '(* file generated by mkquot.sh: do not edit! *)' echo diff -urN camlp5-6.11/test/quot_o.ml camlp5-6.12-63a8c30f/test/quot_o.ml --- camlp5-6.11/test/quot_o.ml 2010-11-14 17:09:00.000000000 +0000 +++ camlp5-6.12-63a8c30f/test/quot_o.ml 2014-08-01 10:14:54.347065458 +0100 @@ -1,4 +1,4 @@ -(* $Id: quot_o.ml,v 6.22 2010-11-14 17:09:00 deraugla Exp $ *) +(* quot_o.ml,v *) <:ctyp< $t1$ . $t2$ >>;; MLast.TyAli (loc, t1, t2);; diff -urN camlp5-6.11/test/quot_r.ml camlp5-6.12-63a8c30f/test/quot_r.ml --- camlp5-6.11/test/quot_r.ml 2010-11-14 17:09:00.000000000 +0000 +++ camlp5-6.12-63a8c30f/test/quot_r.ml 2014-08-01 10:14:54.347065458 +0100 @@ -1,4 +1,4 @@ -(* $Id: quot_r.ml,v 6.37 2010-11-14 17:09:00 deraugla Exp $ *) +(* quot_r.ml,v *) (* ctyp: Type expressions of the language. *) diff -urN camlp5-6.11/tools/apply.sh camlp5-6.12-63a8c30f/tools/apply.sh --- camlp5-6.11/tools/apply.sh 2010-09-15 17:00:48.000000000 +0100 +++ camlp5-6.12-63a8c30f/tools/apply.sh 2014-08-01 10:14:54.348065459 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: apply.sh,v 6.1 2010-09-15 16:00:48 deraugla Exp $ +# apply.sh,v ARGS1= ARGS2= diff -urN camlp5-6.11/tools/camlp5_comm.sh camlp5-6.12-63a8c30f/tools/camlp5_comm.sh --- camlp5-6.11/tools/camlp5_comm.sh 2012-03-03 01:38:08.000000000 +0000 +++ camlp5-6.12-63a8c30f/tools/camlp5_comm.sh 2014-08-01 10:14:54.348065459 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: camlp5_comm.sh,v 6.5 2012-03-03 01:38:08 deraugla Exp $ +# camlp5_comm.sh,v ARGS1="-mode $MODE" FILE= diff -urN camlp5-6.11/tools/depend.sh camlp5-6.12-63a8c30f/tools/depend.sh --- camlp5-6.11/tools/depend.sh 2012-03-01 03:33:19.000000000 +0000 +++ camlp5-6.12-63a8c30f/tools/depend.sh 2014-08-01 10:14:54.348065459 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: depend.sh,v 6.3 2012-03-01 03:33:19 deraugla Exp $ +# depend.sh,v ARGS1="pr_depend.cmo --" FILE= diff -urN camlp5-6.11/tools/mkcrc.sh camlp5-6.12-63a8c30f/tools/mkcrc.sh --- camlp5-6.11/tools/mkcrc.sh 2010-09-15 17:00:49.000000000 +0100 +++ camlp5-6.12-63a8c30f/tools/mkcrc.sh 2014-08-01 10:14:54.348065459 +0100 @@ -1,5 +1,5 @@ #!/bin/sh -e -# $Id: mkcrc.sh,v 6.1 2010-09-15 16:00:49 deraugla Exp $ +# mkcrc.sh,v V=$OVERSION diff -urN camlp5-6.11/top/camlp5_top.ml camlp5-6.12-63a8c30f/top/camlp5_top.ml --- camlp5-6.11/top/camlp5_top.ml 2013-03-13 07:52:28.000000000 +0000 +++ camlp5-6.12-63a8c30f/top/camlp5_top.ml 2014-08-01 10:14:54.348065459 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: camlp5_top.ml,v 6.5 2013-03-13 07:52:28 deraugla Exp $ *) +(* camlp5_top.ml,v *) (* Copyright (c) INRIA 2007-2012 *) #load "pa_macro.cmo"; @@ -190,5 +190,6 @@ ELSE Toploop.print_warning (Ast2pt.mkloc loc) Format.err_formatter (IFDEF OCAML_VERSION <= OCAML_3_08_4 THEN Warnings.Other txt - ELSE Warnings.Camlp4 txt END) + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN Warnings.Camlp4 txt + ELSE Warnings.Preprocessor txt END) END; diff -urN camlp5-6.11/top/.cvsignore camlp5-6.12-63a8c30f/top/.cvsignore --- camlp5-6.11/top/.cvsignore 2010-09-15 17:00:49.000000000 +0100 +++ camlp5-6.12-63a8c30f/top/.cvsignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.cm[oia] diff -urN camlp5-6.11/top/.gitignore camlp5-6.12-63a8c30f/top/.gitignore --- camlp5-6.11/top/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ camlp5-6.12-63a8c30f/top/.gitignore 2014-08-01 10:14:54.348065459 +0100 @@ -0,0 +1 @@ +*.cm[oia] diff -urN camlp5-6.11/top/Makefile camlp5-6.12-63a8c30f/top/Makefile --- camlp5-6.11/top/Makefile 2013-03-15 18:30:46.000000000 +0000 +++ camlp5-6.12-63a8c30f/top/Makefile 2014-08-01 10:14:54.348065459 +0100 @@ -1,9 +1,9 @@ -# $Id: Makefile,v 6.6 2013-03-15 18:30:46 deraugla Exp $ +# Makefile,v TOP=.. include ../config/Makefile -INCLUDES=-I ../main -I ../boot -I $(OTOP)/utils -I $(OTOP)/parsing -I $(OCLIBDIR) +INCLUDES=-I ../main -I ../boot -I $(OTOP)/utils -I $(OTOP)/parsing -I "$(OCLIBDIR)" OCAMLCFLAGS=$(WARNERR) $(INCLUDES) CAMLP5_OBJS=$(OTOP)/utils/pconfig.cmo ../boot/versdep.cmo ../boot/ploc.cmo ../boot/plexing.cmo ../boot/plexer.cmo ../boot/fstream.cmo ../boot/gramext.cmo ../boot/grammar.cmo ../boot/diff.cmo ../boot/extfold.cmo ../boot/extfun.cmo ../boot/pretty.cmo ../boot/pprintf.cmo ../boot/eprinter.cmo ../main/quotation.cmo ../main/reloc.cmo ../main/prtools.cmo ../main/ast2pt.cmo ../main/pcaml.cmo ../main/exparser.cmo ../boot/stdpp.cmo ../boot/token.cmo diff -urN camlp5-6.11/top/oprint.ml camlp5-6.12-63a8c30f/top/oprint.ml --- camlp5-6.11/top/oprint.ml 2012-01-09 14:22:25.000000000 +0000 +++ camlp5-6.12-63a8c30f/top/oprint.ml 2014-08-01 10:14:54.349065460 +0100 @@ -1,5 +1,5 @@ (* camlp5r *) -(* $Id: oprint.ml,v 6.3 2012-01-09 14:22:25 deraugla Exp $ *) +(* oprint.ml,v *) (* Copyright (c) INRIA 2007-2012 *) open Format; diff -urN camlp5-6.11/top/rprint.ml camlp5-6.12-63a8c30f/top/rprint.ml --- camlp5-6.11/top/rprint.ml 2013-07-02 17:27:48.000000000 +0100 +++ camlp5-6.12-63a8c30f/top/rprint.ml 2014-08-01 10:14:54.349065460 +0100 @@ -1,5 +1,5 @@ (* camlp5r pa_macro.cmo *) -(* $Id: rprint.ml,v 6.17 2013-07-02 16:27:48 deraugla Exp $ *) +(* rprint.ml,v *) (* Copyright (c) INRIA 2007-2012 *) IFDEF OCAML_VERSION >= OCAML_3_03 THEN @@ -212,6 +212,9 @@ | Otyp_manifest ty1 ty2 -> fprintf ppf "@[<2>%a ==@ %a@]" print_out_type ty1 print_out_type ty2 | Otyp_abstract -> fprintf ppf "'abstract" + | IFDEF OCAML_VERSION >= OCAML_4_02_0 THEN + Otyp_open -> fprintf ppf "open" + END | Otyp_alias _ _ | Otyp_arrow _ _ _ | Otyp_constr _ [_ :: _] as ty -> fprintf ppf "@[<1>(%a)@]" print_out_type ty | IFDEF OCAML_VERSION >= OCAML_3_05 THEN @@ -339,9 +342,15 @@ (print_typlist print_out_type ",") tyl ] in fprintf ppf "@[%a%a@]" pr_tyl tyl print_ident id - | Octy_fun lab ty cty -> + | IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Octy_fun lab ty cty -> + fprintf ppf "@[%s[ %a ] ->@ %a@]" (if lab <> "" then lab ^ ":" else "") + print_out_type ty print_out_class_type cty + ELSE + Octy_arrow lab ty cty -> fprintf ppf "@[%s[ %a ] ->@ %a@]" (if lab <> "" then lab ^ ":" else "") print_out_type ty print_out_class_type cty + END | Octy_signature self_ty csil -> let pr_param ppf = fun @@ -379,9 +388,22 @@ | Omty_signature sg -> fprintf ppf "@[sig@ %a@;<1 -2>end@]" print_out_signature sg | Omty_functor name mty_arg mty_res -> - fprintf ppf "@[<2>functor@ (%s : %a) ->@ %a@]" name - print_out_module_type mty_arg print_out_module_type mty_res - | Omty_abstract -> () ] + IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + fprintf ppf "@[<2>functor@ (%s : %a) ->@ %a@]" name + print_out_module_type mty_arg print_out_module_type mty_res + ELSE + match mty_arg with + [ Some mty_arg -> + fprintf ppf "@[<2>functor@ (%s : %a) ->@ %a@]" name + print_out_module_type mty_arg print_out_module_type mty_res + | None -> + fprintf ppf "@[<2>functor@ (%s) ->@ %a@]" name + print_out_module_type mty_res ] + END + | Omty_abstract -> () + | IFDEF OCAML_VERSION >= OCAML_4_02_0 THEN + Omty_alias oi -> fprintf ppf "" + END ] and print_out_signature ppf = fun [ [] -> () @@ -391,8 +413,10 @@ print_out_signature items ] and print_out_sig_item ppf = fun - [ Osig_exception id tyl -> + [ IFDEF OCAML_VERSION < OCAML_4_02_0 THEN + Osig_exception id tyl -> fprintf ppf "@[<2>exception %a@]" print_out_constr (id, tyl) + END | Osig_modtype name Omty_abstract -> fprintf ppf "@[<2>module type %s = 'a@]" name | Osig_modtype name mty -> @@ -448,8 +472,11 @@ IFDEF OCAML_VERSION <= OCAML_3_08_4 THEN let (name, args, ty, priv) = x in (name, args, ty, priv, []) - ELSE + ELSIFDEF OCAML_VERSION < OCAML_4_02_0 THEN x + ELSE + (x.otype_name, x.otype_params, x.otype_type, x.otype_private, + x.otype_cstrs) END in let constrain ppf (ty, ty') =