summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.depend18
-rw-r--r--Changes11
-rw-r--r--INSTALL5
-rw-r--r--Makefile4
-rw-r--r--Makefile.nt12
-rw-r--r--README.win32169
-rw-r--r--VERSION2
-rw-r--r--_tags1
-rw-r--r--asmrun/.depend1236
-rwxr-xr-xboot/ocamlcbin1094083 -> 1095723 bytes
-rwxr-xr-xboot/ocamldepbin306689 -> 306726 bytes
-rwxr-xr-xboot/ocamllexbin169501 -> 169512 bytes
-rw-r--r--build/camlp4-bootstrap-recipe.txt19
-rwxr-xr-xbuild/camlp4-bootstrap.sh3
-rwxr-xr-xbuild/camlp4-mkCamlp4Ast.sh24
-rw-r--r--byterun/.depend547
-rw-r--r--byterun/Makefile2
-rw-r--r--byterun/unix.c5
-rw-r--r--camlp4/Camlp4/Camlp4Ast.partial.ml68
-rw-r--r--camlp4/Camlp4/OCamlInitSyntax.ml8
-rw-r--r--camlp4/Camlp4/Printers/OCaml.ml111
-rw-r--r--camlp4/Camlp4/Printers/OCaml.mli17
-rw-r--r--camlp4/Camlp4/Printers/OCamlr.ml23
-rw-r--r--camlp4/Camlp4/Sig.ml114
-rw-r--r--camlp4/Camlp4/Struct/Camlp4Ast2OCamlAst.ml70
-rw-r--r--camlp4/Camlp4/Struct/FreeVars.ml6
-rw-r--r--camlp4/Camlp4/Struct/Grammar.mlpack1
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Context.ml90
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Delete.ml12
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Dynamic.ml5
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Entry.ml41
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Failed.ml10
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Fold.ml7
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Insert.ml29
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Parser.ml299
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Parser.mli35
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Print.ml6
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Search.ml6
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Static.ml3
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Structure.ml28
-rw-r--r--camlp4/Camlp4/Struct/Grammar/Tools.ml123
-rw-r--r--camlp4/Camlp4/Struct/Lexer.mll2
-rw-r--r--camlp4/Camlp4Filters/Camlp4FoldGenerator.ml2
-rw-r--r--camlp4/Camlp4Filters/Camlp4MetaGenerator.ml3
-rw-r--r--camlp4/Camlp4Parsers/Camlp4GrammarParser.ml7
-rw-r--r--camlp4/Camlp4Parsers/Camlp4ListComprehension.ml5
-rw-r--r--camlp4/Camlp4Parsers/Camlp4OCamlParser.ml119
-rw-r--r--camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.ml256
-rw-r--r--camlp4/Camlp4Parsers/Camlp4OCamlRevisedParserParser.ml4
-rw-r--r--camlp4/Camlp4Parsers/Camlp4QuotationCommon.ml7
-rw-r--r--camlp4/boot/Camlp4.ml9072
-rw-r--r--camlp4/boot/Camlp4.ml41
-rw-r--r--camlp4/boot/Camlp4Ast.ml479
-rw-r--r--camlp4/boot/camlp4boot.ml4000
-rw-r--r--config/Makefile.msvc2
-rw-r--r--config/Makefile.msvc642
-rwxr-xr-xconfigure24
-rw-r--r--driver/main_args.ml1
-rw-r--r--myocamlbuild.ml2
-rw-r--r--ocamlbuild/discard_printf.ml3
-rw-r--r--ocamlbuild/ocamlbuild_unix_plugin.ml2
-rw-r--r--ocamldoc/.depend2
-rw-r--r--ocamldoc/Makefile2
-rw-r--r--ocamldoc/odoc_cross.ml1
-rw-r--r--ocamldoc/odoc_name.ml45
-rw-r--r--ocamldoc/odoc_name.mli4
-rw-r--r--ocamldoc/odoc_text_lexer.mll4
-rw-r--r--otherlibs/bigarray/.depend30
-rw-r--r--otherlibs/graph/.depend160
-rw-r--r--otherlibs/labltk/lib/Makefile13
-rwxr-xr-xotherlibs/labltk/lib/labltk.bat1
-rw-r--r--otherlibs/num/.depend20
-rw-r--r--otherlibs/str/.depend10
-rw-r--r--otherlibs/systhreads/.depend20
-rw-r--r--otherlibs/threads/.depend43
-rw-r--r--otherlibs/unix/.depend706
-rw-r--r--stdlib/map.mli2
-rw-r--r--stdlib/pervasives.ml1
-rw-r--r--testsuite/tests/typing-objects-bugs/pr4824_ok.ml10
-rw-r--r--testsuite/tests/typing-objects-bugs/pr4824a_bad.ml6
-rw-r--r--testsuite/tests/typing-poly/poly.ml10
-rw-r--r--testsuite/tests/typing-poly/poly.ml.principal.reference9
-rw-r--r--testsuite/tests/typing-poly/poly.ml.reference9
-rw-r--r--tools/.cvsignore1
-rw-r--r--tools/.depend18
-rw-r--r--tools/Makefile.shared2
-rw-r--r--typing/ctype.ml58
-rw-r--r--typing/ctype.mli2
-rw-r--r--typing/includeclass.ml6
-rw-r--r--typing/typecore.ml109
-rw-r--r--typing/typemod.ml60
-rw-r--r--typing/typetexp.ml3
92 files changed, 10262 insertions, 8268 deletions
diff --git a/.depend b/.depend
index f3b896447d..9c00f119bb 100644
--- a/.depend
+++ b/.depend
@@ -216,17 +216,19 @@ typing/typeclass.cmx: utils/warnings.cmx typing/typetexp.cmx typing/types.cmx \
typing/typecore.cmo: utils/warnings.cmi typing/typetexp.cmi typing/types.cmi \
typing/typedtree.cmi typing/subst.cmi typing/stypes.cmi \
typing/printtyp.cmi typing/primitive.cmi typing/predef.cmi \
- typing/path.cmi parsing/parsetree.cmi typing/parmatch.cmi utils/misc.cmi \
- parsing/longident.cmi parsing/location.cmi typing/ident.cmi \
- typing/env.cmi typing/ctype.cmi utils/clflags.cmi typing/btype.cmi \
- parsing/asttypes.cmi typing/annot.cmi typing/typecore.cmi
+ typing/path.cmi parsing/parsetree.cmi typing/parmatch.cmi \
+ typing/oprint.cmi utils/misc.cmi parsing/longident.cmi \
+ parsing/location.cmi typing/ident.cmi typing/env.cmi typing/ctype.cmi \
+ utils/clflags.cmi typing/btype.cmi parsing/asttypes.cmi typing/annot.cmi \
+ typing/typecore.cmi
typing/typecore.cmx: utils/warnings.cmx typing/typetexp.cmx typing/types.cmx \
typing/typedtree.cmx typing/subst.cmx typing/stypes.cmx \
typing/printtyp.cmx typing/primitive.cmx typing/predef.cmx \
- typing/path.cmx parsing/parsetree.cmi typing/parmatch.cmx utils/misc.cmx \
- parsing/longident.cmx parsing/location.cmx typing/ident.cmx \
- typing/env.cmx typing/ctype.cmx utils/clflags.cmx typing/btype.cmx \
- parsing/asttypes.cmi typing/annot.cmi typing/typecore.cmi
+ typing/path.cmx parsing/parsetree.cmi typing/parmatch.cmx \
+ typing/oprint.cmx utils/misc.cmx parsing/longident.cmx \
+ parsing/location.cmx typing/ident.cmx typing/env.cmx typing/ctype.cmx \
+ utils/clflags.cmx typing/btype.cmx parsing/asttypes.cmi typing/annot.cmi \
+ typing/typecore.cmi
typing/typedecl.cmo: utils/warnings.cmi typing/typetexp.cmi typing/types.cmi \
typing/typedtree.cmi typing/subst.cmi typing/printtyp.cmi \
typing/primitive.cmi typing/predef.cmi typing/path.cmi \
diff --git a/Changes b/Changes
index 1cbffdf97b..7c35b12741 100644
--- a/Changes
+++ b/Changes
@@ -44,6 +44,12 @@ Language features:
inside the signature, removing their respective fields. Among other
uses, this allows to merge two signatures containing identically
named fields.
+* While fixing PR#4824, also corrected a gaping hole in the type checker,
+ which allowed instantiating separately object parameters and instance
+ variables in an interface. This hole was here since the beginning of
+ ocaml, and as a result many programs using object inheritance in a non
+ trivial way will need to be corrected. You can look at lablgtk2 for an
+ example.
Compilers and toplevel:
- Warnings are now numbered and can be switched on and off individually.
@@ -105,8 +111,12 @@ All tools:
Bug Fixes:
- PR#4012: Map.map and Map.mapi do not conform to specification
- PR#4478: better error messages for type definition mismatches
+- PR#4683: labltk script uses fixed path on windows
- PR#4742: finalisation function raising an exception blocks other finalisations
- PR#4775: compiler crash on crazy types (temporary fix)
+- PR#4824: narrowing the type of class parameters with a module specification
+- PR#4862: relaxed value restriction and records
+- PR#4884: optional arguments do not work when Some is redefined
- PR#4964: parenthesized names for infix functions in annot files
- PR#4970: better error message for instance variables
- PR#4975: spelling mistakes
@@ -117,6 +127,7 @@ Bug Fixes:
- PR#5057: fatal typing error with local module + functor + polymorphic variant
- Wrong type for Obj.add_offset.
- Small problem with the representation of Int32, Int64, and Nativeint constants.
+- Use RTLD_LOCAL for native dynlink in private mode.
Objective Caml 3.11.2:
----------------------
diff --git a/INSTALL b/INSTALL
index cc88e26b37..dd479b41e2 100644
--- a/INSTALL
+++ b/INSTALL
@@ -222,11 +222,6 @@ An alternative, and faster approach to steps 2 to 5 is
The result is equivalent to "make world opt opt.opt", but this may
fail if anything goes wrong in native-code generation.
-Another alternative, is to use the experimental build system that use
-ocamlbuild instead of make (it replaces steps 2 to 5):
-
- ./build/fastworld.sh
-
6- You can now install the Objective Caml system. This will create the
following commands (in the binary directory selected during
autoconfiguration):
diff --git a/Makefile b/Makefile
index 7c7607f3ab..912259b7ba 100644
--- a/Makefile
+++ b/Makefile
@@ -267,6 +267,10 @@ opt.opt: checkstack runtime core ocaml opt-core ocamlc.opt otherlibraries \
otherlibrariesopt \
ocamllex.opt ocamltoolsopt.opt ocamlbuild.native camlp4opt ocamldoc.opt
+base.opt: checkstack runtime core ocaml opt-core ocamlc.opt otherlibraries \
+ ocamlbuild.byte camlp4out $(DEBUGGER) ocamldoc ocamlopt.opt \
+ otherlibrariesopt
+
# Installation
install:
if test -d $(BINDIR); then : ; else $(MKDIR) $(BINDIR); fi
diff --git a/Makefile.nt b/Makefile.nt
index c1be1220b3..a7e34f5993 100644
--- a/Makefile.nt
+++ b/Makefile.nt
@@ -606,23 +606,23 @@ alldepend::
# Camlp4
camlp4out: ocamlc otherlibraries ocamlbuild-mixed-boot ocamlbuild.byte
- OCAMLBUILD_FIND=/usr/bin/find ./build/camlp4-byte-only.sh
+ ./build/camlp4-byte-only.sh
camlp4opt: ocamlopt otherlibrariesopt ocamlbuild-mixed-boot ocamlbuild.native
- OCAMLBUILD_FIND=/usr/bin/find ./build/camlp4-native-only.sh
+ ./build/camlp4-native-only.sh
# Ocamlbuild
ocamlbuild.byte: ocamlc otherlibraries ocamlbuild-mixed-boot
- OCAMLBUILD_FIND=/usr/bin/find ./build/ocamlbuild-byte-only.sh
+ ./build/ocamlbuild-byte-only.sh
ocamlbuild.native: ocamlopt otherlibrariesopt ocamlbuild-mixed-boot
- OCAMLBUILD_FIND=/usr/bin/find ./build/ocamlbuild-native-only.sh
+ ./build/ocamlbuild-native-only.sh
ocamlbuildlib.native: ocamlopt otherlibrariesopt ocamlbuild-mixed-boot
- OCAMLBUILD_FIND=/usr/bin/find ./build/ocamlbuildlib-native-only.sh
+ ./build/ocamlbuildlib-native-only.sh
.PHONY: ocamlbuild-mixed-boot
ocamlbuild-mixed-boot:
- OCAMLBUILD_FIND=/usr/bin/find ./build/mixed-boot.sh
+ ./build/mixed-boot.sh
partialclean::
rm -rf _build
diff --git a/README.win32 b/README.win32
index 46fec15790..82b4cba5e9 100644
--- a/README.win32
+++ b/README.win32
@@ -44,27 +44,23 @@ The remainder of this document gives more information on each port.
------------------------------------------------------------------------------
- The native Win32 port built with Microsoft Visual C
- ---------------------------------------------------
+ The native Win32 port built with Microsoft Windows SDK
+ ------------------------------------------------------
REQUIREMENTS:
-This port runs under MS Windows Vista, XP, and 2000.
+This port runs under MS Windows 7 (32 and 64 bits), Vista, XP, and 2000.
The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...)
runs without any additional tools.
-Statically linking Caml bytecode with C code (ocamlc -custom) requires the
-Microsoft Visual C++ compiler (items [1] and [2] in the section
-"third-party software" below) and the flexdll tool (item [5]).
-
-The native-code compiler (ocamlopt) requires Visual C++ (items [1], [2]),
-the Microsoft assembler MASM (item [3]) and the flexdll tool (item [5]).
+The native-code compiler (ocamlopt) requires the Microsoft Windows SDK
+(item [1]) and the flexdll tool (item [2]).
-Instead of items [1], [2] and [3], it is possible to use item [6] which contains
-everything needed.
+Statically linking Caml bytecode with C code (ocamlc -custom) also requires
+items [1] and [2].
-The LablTk GUI requires Tcl/Tk 8.5 (item [4]).
+The LablTk GUI requires Tcl/Tk 8.5 (item [3]).
INSTALLATION:
@@ -79,53 +75,69 @@ installer) must be added to the PATH environment variable.
To compile programs that use the LablTK GUI, the directory where the
libraries tk85.lib and tcl85.lib were installed (by the Tcl/Tk
installer) must be added to the library search path in the LIB
-environment variable. E.g. if Tcl/Tk was installed in C:\tcl, add
-"C:\tcl\lib" to the LIB environment variable.
+environment variable. E.g. if Tcl/Tk was installed in C:\Tcl, add
+"C:\Tcl\lib" to the LIB environment variable.
THIRD-PARTY SOFTWARE:
-[1] Visual C++ version 2008, 2005, 2003, or 6.
- We use Visual C++ 2008 Express Edition, which can be downloaded for free
- from http://www.microsoft.com.
+[1] Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1.
+ Can be downloaded for free from
+ http://www.microsoft.com/downloads/en/default.aspx
+ under the name "Microsoft Windows 7 SDK".
-[2] Windows header files and development libraries. They are included
- in the Visual C++ 2008 Express Edition distribution.
- Otherwise, you can find them in the Windows Platform SDK,
- which can be downloaded for free from http://www.microsoft.com/.
-
-[3] MASM version 6.11 or later. The full distribution of Visual C++ 2005
- or 2008 contains MASM version 8. Users of the Express Edition of Visual C++
- 2005 can download MASM version 8 from
-http://www.microsoft.com/downloads/details.aspx?FamilyID=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=en
- To obtain MASM version 6.11, see
- http://users.easystreet.com/jkirwan/new/pctools.html.
-
-[4] TCL/TK version 8.5. Windows binaries are available as part of the
- ActiveTCL distribution at http://www.activestate.com/products/ActiveTcl/
-
-[5] flexdll.
+[2] flexdll version 0.23 or later.
Can be downloaded from http://alain.frisch.fr/flexdll.html
-[6] Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1
+[3] TCL/TK version 8.5. Windows binaries are available as part of the
+ ActiveTCL distribution at http://www.activestate.com/products/ActiveTcl/
RECOMPILATION FROM THE SOURCES:
The command-line tools can be recompiled from the Unix source
-distribution (ocaml-X.YZ.tar.gz), which also contains the files modified
+distribution (ocaml-X.YY.Z.tar.gz), which also contains the files modified
for Windows.
You will need the following software components to perform the recompilation:
-- Windows NT, 2000, XP, or Vista.
-- Items [1], [2], [3], [4] and [5] from the list of recommended software above.
+- Windows NT, 2000, XP, Vista, or 7 (32 or 64 bits).
+- Items [1], [2] and [3] from the list of recommended software above.
+ Make sure to install the 32-bit version of TCL/TK, even if you are
+ compiling on a 64-bit Windows.
- The Cygwin port of GNU tools, available from http://www.cygwin.com/
Install at least the following packages: diffutils, make, ncurses.
-Remember to add the directory where the libraries tk84.lib and
-tcl84.lib were installed (by the Tcl/Tk installer) to the LIB variable
-(library search path).
-
-To recompile, start a Cygwin shell and change to the top-level
+First, you need to set up your cygwin environment for using the MS
+tools. The following assumes that you have installed [1], [2], and [3]
+in their default directories. If this is not the case, you will need
+to adjust the paths accordingly.
+
+ Open a Windows Command Prompt and enter the following command:
+ set PFPATH=C:\Program Files
+ If you are compiling on the 64-bit version of Windows 7, enter the
+ following instead:
+ set PFPATH=C:\Program Files (x86)
+
+ Then enter the following commands:
+ cd "%PFPATH%\Microsoft Visual Studio 9.0\VC\bin"
+ vcvars32
+ echo VCPATH="`cygpath -p '%Path%'`" >C:\cygwin\tmp\msenv
+ echo LIB="%LIB%;C:\Tcl\lib" >>C:\cygwin\tmp\msenv
+ echo LIBPATH="%LIBPATH%" >>C:\cygwin\tmp\msenv
+ echo INCLUDE="%INCLUDE%;C:\Tcl\include" >>C:\cygwin\tmp\msenv
+ echo FLPATH="`cygpath '%PFPATH%\flexdll'`" >>C:\cygwin\tmp\msenv
+ echo PATH="${VCPATH}:$PATH:${FLPATH}" >>C:\cygwin\tmp\msenv
+ echo export PATH LIB LIBPATH INCLUDE >>C:\cygwin\tmp\msenv
+ echo export OCAMLBUILD_FIND=/usr/bin/find >>C:\cygwin\tmp\msenv
+
+ Open a Cygwin shell and enter the following commands:
+ tr -d '\r' </tmp/msenv >.msenv32
+ echo '. $HOME/.msenv32' >>.bashrc
+
+Now, close the Command Prompt and the shell and you're set up for
+using the MS tools under Cygwin.
+
+
+To recompile OCaml, start a new Cygwin shell and change to the top-level
directory of the OCaml distribution. Then, do
cp config/m-nt.h config/m.h
@@ -145,11 +157,6 @@ Finally, use "make -f Makefile.nt" to build the system, e.g.
make -f Makefile.nt opt.opt
make -f Makefile.nt install
-Alternatively you can use the experimental build procedure using ocamlbuild:
-
- ./build/fastworld.sh
- ./build/install.sh
-
NOTES:
* The VC++ compiler does not implement "computed gotos", and therefore
@@ -191,7 +198,7 @@ and the flexdll tool, available at
http://alain.frisch.fr/flexdll.html
You will need to install at least the following Cygwin packages (use
the Setup tool from Cygwin):
-binutils, gcc-core, gcc-mingw-core, mingw-runtime, w32-api.
+binutils, gcc-core, gcc-mingw-core, mingw-runtime, w32api.
Do *not* install the Mingw/MSYS development tools from www.mingw.org:
these are not compatible with this Caml port (@responsefile not
@@ -200,6 +207,8 @@ recognized on the command line).
The LablTk GUI requires Tcl/Tk 8.5. Windows binaries are available
as part of the ActiveTCL distribution at
http://www.activestate.com/products/ActiveTcl/
+Note that you will need to install the 32-bit version of ActiveTCL,
+even if you are on a 64-bit version of Windows.
INSTALLATION:
@@ -232,7 +241,7 @@ companion MSYS tools: these have problems with long command lines.
Instead, use the version of MinGW provided by Cygwin.
Start a Cygwin shell and unpack the source distribution
-(ocaml-X.YZ.tar.gz) with "tar xzf". Change to the top-level
+(ocaml-X.YY.Z.tar.gz) with "tar xzf". Change to the top-level
directory of the OCaml distribution. Then, do
cp config/m-nt.h config/m.h
@@ -297,12 +306,13 @@ The replay debugger is supported.
------------------------------------------------------------------------------
- The native Win64 port built with the Microsoft Platform SDK compilers
- ---------------------------------------------------------------------
+ The native Win64 port built with Microsoft Windows SDK
+ ------------------------------------------------------
REQUIREMENTS:
-This port runs under MS Windows XP 64 and Server 64 on Intel64/AMD64 machines.
+This port runs under MS Windows XP 64, Windows Server 64, and
+Windows 7 64 on Intel64/AMD64 machines.
The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...)
runs without any additional tools.
@@ -314,6 +324,7 @@ Microsoft Platform SDK compiler (item [1] in the section
The native-code compiler (ocamlopt) requires the Microsoft compiler
and the Microsoft assembler MASM64 (item [1]) and the flexdll tool (item [2]).
+The LablTk GUI is not available in this version.
INSTALLATION:
@@ -323,20 +334,15 @@ described below.
THIRD-PARTY SOFTWARE:
-[1] Microsoft Windows Server 2003 R2 Platform SDK for AMD64 (PSDK-amd64.exe).
- Can be downloaded for free from http://www.microsoft.com/.
- Includes all we need, namely a C compiler, the masm64 assembler,
- Windows libraries and include files.
+[1] Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1.
+ Can be downloaded for free from
+ http://www.microsoft.com/downloads/en/default.aspx
+ under the name "Microsoft Windows 7 SDK".
- Alternatively, the more recent SDK:
- Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1
- can be used.
-
-[2] flexdll.
+[2] flexdll version 0.23 or later.
Can be downloaded from http://alain.frisch.fr/flexdll.html
-
RECOMPILATION FROM THE SOURCES:
The command-line tools can be recompiled from the Unix source
@@ -344,13 +350,38 @@ distribution (ocaml-X.YZ.tar.gz), which also contains the files modified
for Windows.
You will need the following software components to perform the recompilation:
-- Windows XP 64 or Server 64.
-- The Platform SDK (item [1] from the list of recommended software above).
+- Windows XP 64, Windows Server 64, or Windows 7 64.
+- Items [1] and [2] from the list of recommended software above.
- The Cygwin port of GNU tools, available from http://www.cygwin.com/
Install at least the following packages: diffutils, make, ncurses.
-- The flexdll tool (see above).
-To recompile, start a Cygwin shell and change to the top-level
+First, you need to set up your cygwin environment for using the MS
+tools. The following assumes that you have installed [1] and [2]
+in their default directories. If this is not the case, you will need
+to adjust the paths accordingly.
+
+ Open a Windows Command Prompt and enter the following commands:
+ set PFPATH=C:\Program Files (x86)
+ cd "%PFPATH%\Microsoft Visual Studio 9.0\VC\bin"
+ vcvars64
+ echo VCPATH="`cygpath -p '%Path%'`" >C:\cygwin\tmp\msenv
+ echo LIB="%LIB%;C:\Tcl\lib" >>C:\cygwin\tmp\msenv
+ echo LIBPATH="%LIBPATH%" >>C:\cygwin\tmp\msenv
+ echo INCLUDE="%INCLUDE%;C:\Tcl\include" >>C:\cygwin\tmp\msenv
+ echo FLPATH="`cygpath '%PFPATH%\flexdll'`" >>C:\cygwin\tmp\msenv
+ echo PATH="${VCPATH}:$PATH:${FLPATH}" >>C:\cygwin\tmp\msenv
+ echo export PATH LIB LIBPATH INCLUDE >>C:\cygwin\tmp\msenv
+ echo export OCAMLBUILD_FIND=/usr/bin/find >>C:\cygwin\tmp\msenv
+
+ Open a Cygwin shell and enter the following commands:
+ tr -d '\r' </tmp/msenv >.msenv64
+ echo '. $HOME/.msenv64' >>.bashrc
+
+Now, close the Command Prompt and the shell and you're set up for
+using the MS tools under Cygwin.
+
+
+To recompile OCaml, start a new Cygwin shell and change to the top-level
directory of the OCaml distribution. Then, do
cp config/m-nt.h config/m.h
@@ -361,12 +392,6 @@ Then, edit config/Makefile as needed, following the comments in this file.
Normally, the only variable that need to be changed is
PREFIX where to install everything
-If, for whatever reason, you want to use the Microsoft Visual C++ 2005
-compiler for AMD64 instead of the Platform SDK compiler, replace the line
- EXTRALIBS=bufferoverflowu.lib
-by
- EXTRALIBS=
-
Finally, use "make -f Makefile.nt" to build the system, e.g.
make -f Makefile.nt world
diff --git a/VERSION b/VERSION
index ea53c11928..8b31fa07b7 100644
--- a/VERSION
+++ b/VERSION
@@ -1,4 +1,4 @@
-3.13.0+dev0 (2010-06-07)
+3.13.0+dev1 (2010-08-02)
# The version string is the first line of this file.
# It must be in the format described in stdlib/sys.mli
diff --git a/_tags b/_tags
index cceb3ab942..052d8aee19 100644
--- a/_tags
+++ b/_tags
@@ -35,7 +35,6 @@ true: use_stdlib
"camlp4/Camlp4_import.ml": -warn_Z
<camlp4/build/*> or <camlp4/boot/*> or "camlp4/Camlp4/Struct/Lexer.ml": -camlp4boot, -warn_Z, warn_a
<camlp4/Camlp4Bin.{byte,native}> or <camlp4/{mkcamlp4,boot/camlp4boot}.byte>: use_dynlink
-"camlp4/Camlp4/Printers/OCaml.ml" or "camlp4/Camlp4/Printers/OCamlr.ml": -warn_Z, warn_v
<camlp4/Camlp4Printers/**.ml>: include_unix
"camlp4/Camlp4/Struct/DynLoader.ml" or "camlp4/boot/Camlp4.ml": include_dynlink
<camlp4/Camlp4Top/**>: include_toplevel
diff --git a/asmrun/.depend b/asmrun/.depend
index ab5bde8560..aa0e69e1a3 100644
--- a/asmrun/.depend
+++ b/asmrun/.depend
@@ -1,741 +1,741 @@
alloc.o: alloc.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/custom.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/stacks.h \
- ../byterun/memory.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/custom.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/stacks.h \
+ ../byterun/memory.h
array.o: array.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h
backtrace.o: backtrace.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/backtrace.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h stack.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/backtrace.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h stack.h
callback.o: callback.c ../byterun/callback.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/mlvalues.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/mlvalues.h
compact.o: compact.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/finalise.h ../byterun/roots.h \
- ../byterun/misc.h ../byterun/config.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/mlvalues.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
- ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
- ../byterun/memory.h ../byterun/mlvalues.h ../byterun/roots.h \
- ../byterun/weak.h
+ ../byterun/../config/s.h ../byterun/finalise.h ../byterun/roots.h \
+ ../byterun/misc.h ../byterun/config.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/mlvalues.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/memory.h ../byterun/mlvalues.h ../byterun/roots.h \
+ ../byterun/weak.h
compare.o: compare.c ../byterun/custom.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h
custom.o: custom.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h
debugger.o: debugger.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/debugger.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/misc.h
+ ../byterun/../config/s.h ../byterun/debugger.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/misc.h
dynlink.o: dynlink.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/dynlink.h \
- ../byterun/fail.h ../byterun/mlvalues.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/osdeps.h \
- ../byterun/prims.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/dynlink.h \
+ ../byterun/fail.h ../byterun/mlvalues.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/osdeps.h \
+ ../byterun/prims.h
extern.o: extern.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
- ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/reverse.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
+ ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/reverse.h
fail.o: fail.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/io.h ../byterun/gc.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/printexc.h \
- ../byterun/signals.h stack.h ../byterun/roots.h ../byterun/memory.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/io.h ../byterun/gc.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/printexc.h \
+ ../byterun/signals.h stack.h ../byterun/roots.h ../byterun/memory.h
finalise.o: finalise.c ../byterun/callback.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/fail.h ../byterun/mlvalues.h \
- ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/signals.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/fail.h ../byterun/mlvalues.h \
+ ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/signals.h
floats.o: floats.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/misc.h \
- ../byterun/reverse.h ../byterun/stacks.h ../byterun/memory.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/misc.h \
+ ../byterun/reverse.h ../byterun/stacks.h ../byterun/memory.h
freelist.o: freelist.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/major_gc.h ../byterun/misc.h ../byterun/mlvalues.h
+ ../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/major_gc.h ../byterun/misc.h ../byterun/mlvalues.h
gc_ctrl.o: gc_ctrl.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/compact.h ../byterun/custom.h \
- ../byterun/finalise.h ../byterun/roots.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/freelist.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h stack.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/compact.h ../byterun/custom.h \
+ ../byterun/finalise.h ../byterun/roots.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/freelist.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h stack.h
globroots.o: globroots.c ../byterun/memory.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/misc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/roots.h ../byterun/memory.h \
- ../byterun/globroots.h ../byterun/roots.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/misc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/roots.h ../byterun/memory.h \
+ ../byterun/globroots.h ../byterun/roots.h
hash.o: hash.c ../byterun/mlvalues.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
- ../byterun/custom.h ../byterun/mlvalues.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
+ ../byterun/custom.h ../byterun/mlvalues.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
intern.o: intern.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
- ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/reverse.h ../byterun/md5.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
+ ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/reverse.h ../byterun/md5.h
ints.o: ints.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/custom.h ../byterun/fail.h ../byterun/intext.h \
- ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/int64_native.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/custom.h ../byterun/fail.h ../byterun/intext.h \
+ ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/int64_native.h
io.o: io.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/custom.h \
- ../byterun/fail.h ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/signals.h \
- ../byterun/sys.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/custom.h \
+ ../byterun/fail.h ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/signals.h \
+ ../byterun/sys.h
lexing.o: lexing.c ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/mlvalues.h ../byterun/stacks.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/mlvalues.h ../byterun/stacks.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h
main.o: main.c ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/sys.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/sys.h
major_gc.o: major_gc.c ../byterun/compact.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
- ../byterun/custom.h ../byterun/mlvalues.h ../byterun/config.h \
- ../byterun/fail.h ../byterun/finalise.h ../byterun/roots.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
- ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
- ../byterun/weak.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
+ ../byterun/custom.h ../byterun/mlvalues.h ../byterun/config.h \
+ ../byterun/fail.h ../byterun/finalise.h ../byterun/roots.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
+ ../byterun/weak.h
md5.o: md5.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/md5.h ../byterun/io.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/io.h \
- ../byterun/reverse.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/md5.h ../byterun/io.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/io.h \
+ ../byterun/reverse.h
memory.o: memory.c ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/minor_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/signals.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/minor_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/signals.h
meta.o: meta.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/fail.h ../byterun/fix_code.h \
- ../byterun/interp.h ../byterun/intext.h ../byterun/io.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
- ../byterun/prims.h ../byterun/stacks.h ../byterun/memory.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/config.h ../byterun/fail.h ../byterun/fix_code.h \
+ ../byterun/interp.h ../byterun/intext.h ../byterun/io.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
+ ../byterun/prims.h ../byterun/stacks.h ../byterun/memory.h
minor_gc.o: minor_gc.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/finalise.h \
- ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
- ../byterun/memory.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/roots.h ../byterun/signals.h \
- ../byterun/weak.h
+ ../byterun/../config/s.h ../byterun/fail.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/finalise.h \
+ ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/memory.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/roots.h ../byterun/signals.h \
+ ../byterun/weak.h
misc.o: misc.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h
+ ../byterun/../config/s.h ../byterun/misc.h ../byterun/config.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
natdynlink.o: natdynlink.c ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h stack.h ../byterun/callback.h ../byterun/alloc.h \
- natdynlink.h ../byterun/osdeps.h ../byterun/fail.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h stack.h ../byterun/callback.h ../byterun/alloc.h \
+ natdynlink.h ../byterun/osdeps.h ../byterun/fail.h
obj.o: obj.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/gc.h ../byterun/interp.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
- ../byterun/prims.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/gc.h ../byterun/interp.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
+ ../byterun/prims.h
parsing.o: parsing.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/mlvalues.h ../byterun/config.h \
- ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/alloc.h
+ ../byterun/../config/s.h ../byterun/mlvalues.h ../byterun/config.h \
+ ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/alloc.h
printexc.o: printexc.c ../byterun/backtrace.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/callback.h ../byterun/debugger.h \
- ../byterun/fail.h ../byterun/misc.h ../byterun/mlvalues.h \
- ../byterun/printexc.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/callback.h ../byterun/debugger.h \
+ ../byterun/fail.h ../byterun/misc.h ../byterun/mlvalues.h \
+ ../byterun/printexc.h
roots.o: roots.c ../byterun/finalise.h ../byterun/roots.h \
- ../byterun/misc.h ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/globroots.h ../byterun/memory.h \
- ../byterun/major_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h stack.h ../byterun/roots.h
+ ../byterun/misc.h ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/globroots.h ../byterun/memory.h \
+ ../byterun/major_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h stack.h ../byterun/roots.h
signals.o: signals.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/callback.h ../byterun/config.h \
- ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
- ../byterun/memory.h ../byterun/signals.h ../byterun/signals_machdep.h \
- ../byterun/sys.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/callback.h ../byterun/config.h \
+ ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
+ ../byterun/memory.h ../byterun/signals.h ../byterun/signals_machdep.h \
+ ../byterun/sys.h
signals_asm.o: signals_asm.c ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/osdeps.h ../byterun/signals.h ../byterun/signals_machdep.h \
- signals_osdep.h stack.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/osdeps.h ../byterun/signals.h ../byterun/signals_machdep.h \
+ signals_osdep.h stack.h
startup.o: startup.c ../byterun/callback.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/backtrace.h ../byterun/custom.h \
- ../byterun/fail.h ../byterun/freelist.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/osdeps.h \
- ../byterun/printexc.h stack.h ../byterun/sys.h natdynlink.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/backtrace.h ../byterun/custom.h \
+ ../byterun/fail.h ../byterun/freelist.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/osdeps.h \
+ ../byterun/printexc.h stack.h ../byterun/sys.h natdynlink.h
str.o: str.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/mlvalues.h ../byterun/misc.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/mlvalues.h ../byterun/misc.h
sys.o: sys.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/debugger.h \
- ../byterun/fail.h ../byterun/instruct.h ../byterun/mlvalues.h \
- ../byterun/osdeps.h ../byterun/signals.h ../byterun/stacks.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/sys.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/debugger.h \
+ ../byterun/fail.h ../byterun/instruct.h ../byterun/mlvalues.h \
+ ../byterun/osdeps.h ../byterun/signals.h ../byterun/stacks.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/sys.h
terminfo.o: terminfo.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/fail.h \
- ../byterun/io.h ../byterun/mlvalues.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/fail.h \
+ ../byterun/io.h ../byterun/mlvalues.h
unix.o: unix.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/memory.h ../byterun/config.h \
- ../byterun/gc.h ../byterun/mlvalues.h ../byterun/misc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/osdeps.h
+ ../byterun/../config/s.h ../byterun/memory.h ../byterun/config.h \
+ ../byterun/gc.h ../byterun/mlvalues.h ../byterun/misc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/osdeps.h
weak.o: weak.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h
alloc.d.o: alloc.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/custom.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/stacks.h \
- ../byterun/memory.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/custom.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/stacks.h \
+ ../byterun/memory.h
array.d.o: array.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h
backtrace.d.o: backtrace.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/backtrace.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h stack.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/backtrace.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h stack.h
callback.d.o: callback.c ../byterun/callback.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/mlvalues.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/mlvalues.h
compact.d.o: compact.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/finalise.h ../byterun/roots.h \
- ../byterun/misc.h ../byterun/config.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/mlvalues.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
- ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
- ../byterun/memory.h ../byterun/mlvalues.h ../byterun/roots.h \
- ../byterun/weak.h
+ ../byterun/../config/s.h ../byterun/finalise.h ../byterun/roots.h \
+ ../byterun/misc.h ../byterun/config.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/mlvalues.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/memory.h ../byterun/mlvalues.h ../byterun/roots.h \
+ ../byterun/weak.h
compare.d.o: compare.c ../byterun/custom.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h
custom.d.o: custom.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h
debugger.d.o: debugger.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/debugger.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/misc.h
+ ../byterun/../config/s.h ../byterun/debugger.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/misc.h
dynlink.d.o: dynlink.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/dynlink.h \
- ../byterun/fail.h ../byterun/mlvalues.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/osdeps.h \
- ../byterun/prims.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/dynlink.h \
+ ../byterun/fail.h ../byterun/mlvalues.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/osdeps.h \
+ ../byterun/prims.h
extern.d.o: extern.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
- ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/reverse.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
+ ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/reverse.h
fail.d.o: fail.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/io.h ../byterun/gc.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/printexc.h \
- ../byterun/signals.h stack.h ../byterun/roots.h ../byterun/memory.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/io.h ../byterun/gc.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/printexc.h \
+ ../byterun/signals.h stack.h ../byterun/roots.h ../byterun/memory.h
finalise.d.o: finalise.c ../byterun/callback.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/fail.h ../byterun/mlvalues.h \
- ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/signals.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/fail.h ../byterun/mlvalues.h \
+ ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/signals.h
floats.d.o: floats.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/misc.h \
- ../byterun/reverse.h ../byterun/stacks.h ../byterun/memory.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/misc.h \
+ ../byterun/reverse.h ../byterun/stacks.h ../byterun/memory.h
freelist.d.o: freelist.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/major_gc.h ../byterun/misc.h ../byterun/mlvalues.h
+ ../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/major_gc.h ../byterun/misc.h ../byterun/mlvalues.h
gc_ctrl.d.o: gc_ctrl.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/compact.h ../byterun/custom.h \
- ../byterun/finalise.h ../byterun/roots.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/freelist.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h stack.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/compact.h ../byterun/custom.h \
+ ../byterun/finalise.h ../byterun/roots.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/freelist.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h stack.h
globroots.d.o: globroots.c ../byterun/memory.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/misc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/roots.h ../byterun/memory.h \
- ../byterun/globroots.h ../byterun/roots.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/misc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/roots.h ../byterun/memory.h \
+ ../byterun/globroots.h ../byterun/roots.h
hash.d.o: hash.c ../byterun/mlvalues.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
- ../byterun/custom.h ../byterun/mlvalues.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
+ ../byterun/custom.h ../byterun/mlvalues.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
intern.d.o: intern.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
- ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/reverse.h ../byterun/md5.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
+ ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/reverse.h ../byterun/md5.h
ints.d.o: ints.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/custom.h ../byterun/fail.h ../byterun/intext.h \
- ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/int64_native.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/custom.h ../byterun/fail.h ../byterun/intext.h \
+ ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/int64_native.h
io.d.o: io.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/custom.h \
- ../byterun/fail.h ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/signals.h \
- ../byterun/sys.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/custom.h \
+ ../byterun/fail.h ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/signals.h \
+ ../byterun/sys.h
lexing.d.o: lexing.c ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/mlvalues.h ../byterun/stacks.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/mlvalues.h ../byterun/stacks.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h
main.d.o: main.c ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/sys.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/sys.h
major_gc.d.o: major_gc.c ../byterun/compact.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
- ../byterun/custom.h ../byterun/mlvalues.h ../byterun/config.h \
- ../byterun/fail.h ../byterun/finalise.h ../byterun/roots.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
- ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
- ../byterun/weak.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
+ ../byterun/custom.h ../byterun/mlvalues.h ../byterun/config.h \
+ ../byterun/fail.h ../byterun/finalise.h ../byterun/roots.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
+ ../byterun/weak.h
md5.d.o: md5.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/md5.h ../byterun/io.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/io.h \
- ../byterun/reverse.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/md5.h ../byterun/io.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/io.h \
+ ../byterun/reverse.h
memory.d.o: memory.c ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/minor_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/signals.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/minor_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/signals.h
meta.d.o: meta.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/fail.h ../byterun/fix_code.h \
- ../byterun/interp.h ../byterun/intext.h ../byterun/io.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
- ../byterun/prims.h ../byterun/stacks.h ../byterun/memory.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/config.h ../byterun/fail.h ../byterun/fix_code.h \
+ ../byterun/interp.h ../byterun/intext.h ../byterun/io.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
+ ../byterun/prims.h ../byterun/stacks.h ../byterun/memory.h
minor_gc.d.o: minor_gc.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/finalise.h \
- ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
- ../byterun/memory.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/roots.h ../byterun/signals.h \
- ../byterun/weak.h
+ ../byterun/../config/s.h ../byterun/fail.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/finalise.h \
+ ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/memory.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/roots.h ../byterun/signals.h \
+ ../byterun/weak.h
misc.d.o: misc.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h
+ ../byterun/../config/s.h ../byterun/misc.h ../byterun/config.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
natdynlink.d.o: natdynlink.c ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h stack.h ../byterun/callback.h ../byterun/alloc.h \
- natdynlink.h ../byterun/osdeps.h ../byterun/fail.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h stack.h ../byterun/callback.h ../byterun/alloc.h \
+ natdynlink.h ../byterun/osdeps.h ../byterun/fail.h
obj.d.o: obj.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/gc.h ../byterun/interp.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
- ../byterun/prims.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/gc.h ../byterun/interp.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
+ ../byterun/prims.h
parsing.d.o: parsing.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/mlvalues.h ../byterun/config.h \
- ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/alloc.h
+ ../byterun/../config/s.h ../byterun/mlvalues.h ../byterun/config.h \
+ ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/alloc.h
printexc.d.o: printexc.c ../byterun/backtrace.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/callback.h ../byterun/debugger.h \
- ../byterun/fail.h ../byterun/misc.h ../byterun/mlvalues.h \
- ../byterun/printexc.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/callback.h ../byterun/debugger.h \
+ ../byterun/fail.h ../byterun/misc.h ../byterun/mlvalues.h \
+ ../byterun/printexc.h
roots.d.o: roots.c ../byterun/finalise.h ../byterun/roots.h \
- ../byterun/misc.h ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/globroots.h ../byterun/memory.h \
- ../byterun/major_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h stack.h ../byterun/roots.h
+ ../byterun/misc.h ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/globroots.h ../byterun/memory.h \
+ ../byterun/major_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h stack.h ../byterun/roots.h
signals.d.o: signals.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/callback.h ../byterun/config.h \
- ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
- ../byterun/memory.h ../byterun/signals.h ../byterun/signals_machdep.h \
- ../byterun/sys.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/callback.h ../byterun/config.h \
+ ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
+ ../byterun/memory.h ../byterun/signals.h ../byterun/signals_machdep.h \
+ ../byterun/sys.h
signals_asm.d.o: signals_asm.c ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/osdeps.h ../byterun/signals.h ../byterun/signals_machdep.h \
- signals_osdep.h stack.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/osdeps.h ../byterun/signals.h ../byterun/signals_machdep.h \
+ signals_osdep.h stack.h
startup.d.o: startup.c ../byterun/callback.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/backtrace.h ../byterun/custom.h \
- ../byterun/fail.h ../byterun/freelist.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/osdeps.h \
- ../byterun/printexc.h stack.h ../byterun/sys.h natdynlink.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/backtrace.h ../byterun/custom.h \
+ ../byterun/fail.h ../byterun/freelist.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/osdeps.h \
+ ../byterun/printexc.h stack.h ../byterun/sys.h natdynlink.h
str.d.o: str.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/mlvalues.h ../byterun/misc.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/mlvalues.h ../byterun/misc.h
sys.d.o: sys.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/debugger.h \
- ../byterun/fail.h ../byterun/instruct.h ../byterun/mlvalues.h \
- ../byterun/osdeps.h ../byterun/signals.h ../byterun/stacks.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/sys.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/debugger.h \
+ ../byterun/fail.h ../byterun/instruct.h ../byterun/mlvalues.h \
+ ../byterun/osdeps.h ../byterun/signals.h ../byterun/stacks.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/sys.h
terminfo.d.o: terminfo.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/fail.h \
- ../byterun/io.h ../byterun/mlvalues.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/fail.h \
+ ../byterun/io.h ../byterun/mlvalues.h
unix.d.o: unix.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/memory.h ../byterun/config.h \
- ../byterun/gc.h ../byterun/mlvalues.h ../byterun/misc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/osdeps.h
+ ../byterun/../config/s.h ../byterun/memory.h ../byterun/config.h \
+ ../byterun/gc.h ../byterun/mlvalues.h ../byterun/misc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/osdeps.h
weak.d.o: weak.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h
alloc.p.o: alloc.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/custom.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/stacks.h \
- ../byterun/memory.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/custom.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/stacks.h \
+ ../byterun/memory.h
array.p.o: array.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h
backtrace.p.o: backtrace.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/backtrace.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h stack.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/backtrace.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h stack.h
callback.p.o: callback.c ../byterun/callback.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/mlvalues.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/mlvalues.h
compact.p.o: compact.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/finalise.h ../byterun/roots.h \
- ../byterun/misc.h ../byterun/config.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/mlvalues.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
- ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
- ../byterun/memory.h ../byterun/mlvalues.h ../byterun/roots.h \
- ../byterun/weak.h
+ ../byterun/../config/s.h ../byterun/finalise.h ../byterun/roots.h \
+ ../byterun/misc.h ../byterun/config.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/mlvalues.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/memory.h ../byterun/mlvalues.h ../byterun/roots.h \
+ ../byterun/weak.h
compare.p.o: compare.c ../byterun/custom.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h
custom.p.o: custom.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h
debugger.p.o: debugger.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/debugger.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/misc.h
+ ../byterun/../config/s.h ../byterun/debugger.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/misc.h
dynlink.p.o: dynlink.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/dynlink.h \
- ../byterun/fail.h ../byterun/mlvalues.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/osdeps.h \
- ../byterun/prims.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/dynlink.h \
+ ../byterun/fail.h ../byterun/mlvalues.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/osdeps.h \
+ ../byterun/prims.h
extern.p.o: extern.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
- ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/reverse.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
+ ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/reverse.h
fail.p.o: fail.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/io.h ../byterun/gc.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/printexc.h \
- ../byterun/signals.h stack.h ../byterun/roots.h ../byterun/memory.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/io.h ../byterun/gc.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/printexc.h \
+ ../byterun/signals.h stack.h ../byterun/roots.h ../byterun/memory.h
finalise.p.o: finalise.c ../byterun/callback.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/fail.h ../byterun/mlvalues.h \
- ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/signals.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/fail.h ../byterun/mlvalues.h \
+ ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/signals.h
floats.p.o: floats.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/misc.h \
- ../byterun/reverse.h ../byterun/stacks.h ../byterun/memory.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/misc.h \
+ ../byterun/reverse.h ../byterun/stacks.h ../byterun/memory.h
freelist.p.o: freelist.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/major_gc.h ../byterun/misc.h ../byterun/mlvalues.h
+ ../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/major_gc.h ../byterun/misc.h ../byterun/mlvalues.h
gc_ctrl.p.o: gc_ctrl.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/compact.h ../byterun/custom.h \
- ../byterun/finalise.h ../byterun/roots.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/freelist.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h stack.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/compact.h ../byterun/custom.h \
+ ../byterun/finalise.h ../byterun/roots.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/freelist.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h stack.h
globroots.p.o: globroots.c ../byterun/memory.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/misc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/roots.h ../byterun/memory.h \
- ../byterun/globroots.h ../byterun/roots.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/misc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/roots.h ../byterun/memory.h \
+ ../byterun/globroots.h ../byterun/roots.h
hash.p.o: hash.c ../byterun/mlvalues.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
- ../byterun/custom.h ../byterun/mlvalues.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
+ ../byterun/custom.h ../byterun/mlvalues.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
intern.p.o: intern.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
- ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/reverse.h ../byterun/md5.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/custom.h ../byterun/fail.h \
+ ../byterun/gc.h ../byterun/intext.h ../byterun/io.h ../byterun/io.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/reverse.h ../byterun/md5.h
ints.p.o: ints.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/custom.h ../byterun/fail.h ../byterun/intext.h \
- ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/int64_native.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/custom.h ../byterun/fail.h ../byterun/intext.h \
+ ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/int64_native.h
io.p.o: io.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/custom.h \
- ../byterun/fail.h ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/signals.h \
- ../byterun/sys.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/custom.h \
+ ../byterun/fail.h ../byterun/io.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/signals.h \
+ ../byterun/sys.h
lexing.p.o: lexing.c ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/mlvalues.h ../byterun/stacks.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/mlvalues.h ../byterun/stacks.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h
main.p.o: main.c ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/sys.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/sys.h
major_gc.p.o: major_gc.c ../byterun/compact.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
- ../byterun/custom.h ../byterun/mlvalues.h ../byterun/config.h \
- ../byterun/fail.h ../byterun/finalise.h ../byterun/roots.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
- ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
- ../byterun/weak.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
+ ../byterun/custom.h ../byterun/mlvalues.h ../byterun/config.h \
+ ../byterun/fail.h ../byterun/finalise.h ../byterun/roots.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/freelist.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
+ ../byterun/weak.h
md5.p.o: md5.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/md5.h ../byterun/io.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/io.h \
- ../byterun/reverse.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/md5.h ../byterun/io.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h ../byterun/io.h \
+ ../byterun/reverse.h
memory.p.o: memory.c ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/minor_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/signals.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/minor_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/signals.h
meta.p.o: meta.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/fail.h ../byterun/fix_code.h \
- ../byterun/interp.h ../byterun/intext.h ../byterun/io.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
- ../byterun/prims.h ../byterun/stacks.h ../byterun/memory.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/config.h ../byterun/fail.h ../byterun/fix_code.h \
+ ../byterun/interp.h ../byterun/intext.h ../byterun/io.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
+ ../byterun/prims.h ../byterun/stacks.h ../byterun/memory.h
minor_gc.p.o: minor_gc.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/finalise.h \
- ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
- ../byterun/memory.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/roots.h ../byterun/signals.h \
- ../byterun/weak.h
+ ../byterun/../config/s.h ../byterun/fail.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/finalise.h \
+ ../byterun/roots.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/memory.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/roots.h ../byterun/signals.h \
+ ../byterun/weak.h
misc.p.o: misc.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h
+ ../byterun/../config/s.h ../byterun/misc.h ../byterun/config.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
natdynlink.p.o: natdynlink.c ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h stack.h ../byterun/callback.h ../byterun/alloc.h \
- natdynlink.h ../byterun/osdeps.h ../byterun/fail.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h stack.h ../byterun/callback.h ../byterun/alloc.h \
+ natdynlink.h ../byterun/osdeps.h ../byterun/fail.h
obj.p.o: obj.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/gc.h ../byterun/interp.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
- ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
- ../byterun/prims.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/gc.h ../byterun/interp.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/minor_gc.h \
+ ../byterun/minor_gc.h ../byterun/misc.h ../byterun/mlvalues.h \
+ ../byterun/prims.h
parsing.p.o: parsing.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/mlvalues.h ../byterun/config.h \
- ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/alloc.h
+ ../byterun/../config/s.h ../byterun/mlvalues.h ../byterun/config.h \
+ ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/alloc.h
printexc.p.o: printexc.c ../byterun/backtrace.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/callback.h ../byterun/debugger.h \
- ../byterun/fail.h ../byterun/misc.h ../byterun/mlvalues.h \
- ../byterun/printexc.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/callback.h ../byterun/debugger.h \
+ ../byterun/fail.h ../byterun/misc.h ../byterun/mlvalues.h \
+ ../byterun/printexc.h
roots.p.o: roots.c ../byterun/finalise.h ../byterun/roots.h \
- ../byterun/misc.h ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/globroots.h ../byterun/memory.h \
- ../byterun/major_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
- ../byterun/mlvalues.h stack.h ../byterun/roots.h
+ ../byterun/misc.h ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/globroots.h ../byterun/memory.h \
+ ../byterun/major_gc.h ../byterun/minor_gc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h stack.h ../byterun/roots.h
signals.p.o: signals.c ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/callback.h ../byterun/config.h \
- ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
- ../byterun/memory.h ../byterun/signals.h ../byterun/signals_machdep.h \
- ../byterun/sys.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/callback.h ../byterun/config.h \
+ ../byterun/fail.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/roots.h \
+ ../byterun/memory.h ../byterun/signals.h ../byterun/signals_machdep.h \
+ ../byterun/sys.h
signals_asm.p.o: signals_asm.c ../byterun/fail.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/osdeps.h ../byterun/signals.h ../byterun/signals_machdep.h \
- signals_osdep.h stack.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/osdeps.h ../byterun/signals.h ../byterun/signals_machdep.h \
+ signals_osdep.h stack.h
startup.p.o: startup.c ../byterun/callback.h ../byterun/mlvalues.h \
- ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/misc.h ../byterun/backtrace.h ../byterun/custom.h \
- ../byterun/fail.h ../byterun/freelist.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/mlvalues.h ../byterun/osdeps.h \
- ../byterun/printexc.h stack.h ../byterun/sys.h natdynlink.h
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/backtrace.h ../byterun/custom.h \
+ ../byterun/fail.h ../byterun/freelist.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/mlvalues.h ../byterun/osdeps.h \
+ ../byterun/printexc.h stack.h ../byterun/sys.h natdynlink.h
str.p.o: str.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/mlvalues.h ../byterun/misc.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/mlvalues.h ../byterun/misc.h
sys.p.o: sys.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/debugger.h \
- ../byterun/fail.h ../byterun/instruct.h ../byterun/mlvalues.h \
- ../byterun/osdeps.h ../byterun/signals.h ../byterun/stacks.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/sys.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/debugger.h \
+ ../byterun/fail.h ../byterun/instruct.h ../byterun/mlvalues.h \
+ ../byterun/osdeps.h ../byterun/signals.h ../byterun/stacks.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/sys.h
terminfo.p.o: terminfo.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/config.h ../byterun/mlvalues.h ../byterun/fail.h \
- ../byterun/io.h ../byterun/mlvalues.h
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/mlvalues.h ../byterun/fail.h \
+ ../byterun/io.h ../byterun/mlvalues.h
unix.p.o: unix.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/memory.h ../byterun/config.h \
- ../byterun/gc.h ../byterun/mlvalues.h ../byterun/misc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/misc.h ../byterun/osdeps.h
+ ../byterun/../config/s.h ../byterun/memory.h ../byterun/config.h \
+ ../byterun/gc.h ../byterun/mlvalues.h ../byterun/misc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/misc.h ../byterun/osdeps.h
weak.p.o: weak.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
- ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
- ../byterun/fail.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/minor_gc.h ../byterun/mlvalues.h
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/mlvalues.h \
+ ../byterun/fail.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/minor_gc.h ../byterun/mlvalues.h
diff --git a/boot/ocamlc b/boot/ocamlc
index e2a7ed90b8..edcc2bb8fc 100755
--- a/boot/ocamlc
+++ b/boot/ocamlc
Binary files differ
diff --git a/boot/ocamldep b/boot/ocamldep
index ec792d3946..f9b29d6068 100755
--- a/boot/ocamldep
+++ b/boot/ocamldep
Binary files differ
diff --git a/boot/ocamllex b/boot/ocamllex
index 7cc08b38f4..d94e54c099 100755
--- a/boot/ocamllex
+++ b/boot/ocamllex
Binary files differ
diff --git a/build/camlp4-bootstrap-recipe.txt b/build/camlp4-bootstrap-recipe.txt
index 5fa5092c63..9f1417a2fa 100644
--- a/build/camlp4-bootstrap-recipe.txt
+++ b/build/camlp4-bootstrap-recipe.txt
@@ -2,16 +2,11 @@
make clean
./build/distclean.sh
./configure -prefix `pwd`/_install
- ./build/world.sh byte
+ ./build/fastworld.sh
# Go to "Bootstrap camlp4"
=== Install the bootstrapping camlp4 processor ===
./build/install.sh
- # Either extend your PATH with _install
- export PATH=`pwd`/_install:$PATH
- # Or copy just the needed files (for better understanding)
- cp _build/camlp4/camlp4boot.byte <somewhereinPATH>/bin/camlp4boot
- cp _build/camlp4/camlp4o.byte <somewhereinPATH>/bin/camlp4o
=== Build camlp4 ===
# This step is not needed right after a "./build/world.sh byte"
@@ -20,6 +15,8 @@
=== Bootstrap camlp4 ===
# First "Build camlp4"
# Then "Install the bootstrapping camlp4 processor"
+ # Indeed the following bootstrapping script
+ # does use the installed version!
./build/camlp4-bootstrap.sh
# If the fixpoint not is reached yet
# Go to "Bootstrap camlp4"
@@ -27,6 +24,12 @@
# Have a look at the changes in
# camlp4/boot it may be a good idea to commit them
+=== Generate Camlp4Ast.ml ===
+ # First "Install the bootstrapping camlp4 processor"
+ # Indeed the following bootstrapping script
+ # does use the installed version!
+ ./build/camlp4-mkCamlp4Ast.sh
+
=== Case study "let open M in e" ===
Open the revised parser
@@ -89,7 +92,7 @@
(* let open i in e *)
| ExOpI of loc and ident and expr
- Then build. Bootstrap once and build again.
+ Then "Generate Camlp4Ast.ml" and build.
We get a single warning in Camlp4/Struct/Camlp4Ast2OCamlAst.ml but
don't fix it now.
@@ -135,7 +138,7 @@ Add new parsing rules for := but keep the old actions for now.
(* module i := i *)
| WcMoS of loc and ident and ident
-3/ Build and bootstrap once.
+3/ "Generate Camlp4Ast.ml" and build.
4/ Change the generated camlp4/boot/camlp4boot.ml:
Look for ":=" and change occurences of
diff --git a/build/camlp4-bootstrap.sh b/build/camlp4-bootstrap.sh
index c594c80e26..ef9a93c01b 100755
--- a/build/camlp4-bootstrap.sh
+++ b/build/camlp4-bootstrap.sh
@@ -5,6 +5,9 @@
set -e
cd `dirname $0`/..
+. config/config.sh
+export PATH=$BINDIR:$PATH
+
TMPTARGETS="\
camlp4/boot/Lexer.ml"
diff --git a/build/camlp4-mkCamlp4Ast.sh b/build/camlp4-mkCamlp4Ast.sh
new file mode 100755
index 0000000000..2a30b9ab22
--- /dev/null
+++ b/build/camlp4-mkCamlp4Ast.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+# $Id$
+set -e
+cd `dirname $0`/..
+
+. config/config.sh
+export PATH=$BINDIR:$PATH
+
+CAMLP4AST=camlp4/Camlp4/Struct/Camlp4Ast.ml
+BOOTP4AST=camlp4/boot/Camlp4Ast.ml
+
+[ -f "$BOOTP4AST" ] && mv "$BOOTP4AST" "$BOOTP4AST.old"
+rm -f "_build/$BOOTP4AST"
+rm -f "_build/$CAMLP4AST"
+
+if [ -x ./boot/myocamlbuild.native ]; then
+ OCAMLBUILD=./boot/myocamlbuild.native
+else
+ OCAMLBUILD="./boot/ocamlrun boot/myocamlbuild"
+fi
+$OCAMLBUILD $CAMLP4AST
+
+echo promote $CAMLP4AST
+cp _build/$CAMLP4AST camlp4/boot/`basename $CAMLP4AST`
diff --git a/byterun/.depend b/byterun/.depend
index 2044d56cec..b92cc6de2a 100644
--- a/byterun/.depend
+++ b/byterun/.depend
@@ -1,407 +1,410 @@
alloc.o: alloc.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h major_gc.h freelist.h memory.h gc.h \
- minor_gc.h stacks.h
+ ../config/s.h mlvalues.h custom.h major_gc.h freelist.h memory.h gc.h \
+ minor_gc.h stacks.h
array.o: array.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
backtrace.o: backtrace.c config.h ../config/m.h ../config/s.h \
- compatibility.h mlvalues.h misc.h alloc.h io.h instruct.h intext.h \
- fix_code.h exec.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
- startup.h stacks.h sys.h backtrace.h
+ compatibility.h mlvalues.h misc.h alloc.h io.h instruct.h intext.h \
+ fix_code.h exec.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ startup.h stacks.h sys.h backtrace.h
callback.o: callback.c callback.h compatibility.h mlvalues.h config.h \
- ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h interp.h instruct.h fix_code.h stacks.h
+ ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h interp.h instruct.h fix_code.h stacks.h
compact.o: compact.c config.h ../config/m.h ../config/s.h compatibility.h \
- finalise.h roots.h misc.h memory.h gc.h mlvalues.h major_gc.h freelist.h \
- minor_gc.h gc_ctrl.h weak.h
+ finalise.h roots.h misc.h memory.h gc.h mlvalues.h major_gc.h \
+ freelist.h minor_gc.h gc_ctrl.h weak.h
compare.o: compare.c custom.h compatibility.h mlvalues.h config.h \
- ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h
+ ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h
custom.o: custom.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h
+ ../config/s.h mlvalues.h custom.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h
debugger.o: debugger.c config.h ../config/m.h ../config/s.h \
- compatibility.h debugger.h misc.h mlvalues.h fail.h fix_code.h \
- instruct.h intext.h io.h stacks.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h sys.h
+ compatibility.h debugger.h misc.h mlvalues.h fail.h fix_code.h \
+ instruct.h intext.h io.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h sys.h
dynlink.o: dynlink.c config.h ../config/m.h ../config/s.h compatibility.h \
- alloc.h misc.h mlvalues.h dynlink.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h osdeps.h prims.h
+ alloc.h misc.h mlvalues.h dynlink.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h osdeps.h prims.h
extern.o: extern.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
- memory.h major_gc.h freelist.h minor_gc.h reverse.h
+ ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
+ memory.h major_gc.h freelist.h minor_gc.h reverse.h
fail.o: fail.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h io.h gc.h memory.h major_gc.h freelist.h \
- minor_gc.h printexc.h signals.h stacks.h
+ ../config/s.h mlvalues.h fail.h io.h gc.h memory.h major_gc.h \
+ freelist.h minor_gc.h printexc.h signals.h stacks.h
finalise.o: finalise.c callback.h compatibility.h mlvalues.h config.h \
- ../config/m.h ../config/s.h misc.h fail.h roots.h memory.h gc.h \
- major_gc.h freelist.h minor_gc.h signals.h
+ ../config/m.h ../config/s.h misc.h fail.h roots.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h signals.h
fix_code.o: fix_code.c config.h ../config/m.h ../config/s.h \
- compatibility.h debugger.h misc.h mlvalues.h fix_code.h instruct.h md5.h \
- io.h memory.h gc.h major_gc.h freelist.h minor_gc.h reverse.h
+ compatibility.h debugger.h misc.h mlvalues.h fix_code.h instruct.h \
+ md5.h io.h memory.h gc.h major_gc.h freelist.h minor_gc.h reverse.h
floats.o: floats.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h reverse.h stacks.h
+ ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h reverse.h stacks.h
freelist.o: freelist.c config.h ../config/m.h ../config/s.h \
- compatibility.h freelist.h misc.h mlvalues.h gc.h gc_ctrl.h memory.h \
- major_gc.h minor_gc.h
+ compatibility.h freelist.h misc.h mlvalues.h gc.h gc_ctrl.h memory.h \
+ major_gc.h minor_gc.h
gc_ctrl.o: gc_ctrl.c alloc.h compatibility.h misc.h config.h \
- ../config/m.h ../config/s.h mlvalues.h compact.h custom.h finalise.h \
- roots.h memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h \
- stacks.h
+ ../config/m.h ../config/s.h mlvalues.h compact.h custom.h finalise.h \
+ roots.h memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h \
+ stacks.h
globroots.o: globroots.c memory.h compatibility.h config.h ../config/m.h \
- ../config/s.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
- roots.h globroots.h
+ ../config/s.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
+ roots.h globroots.h
hash.o: hash.c mlvalues.h compatibility.h config.h ../config/m.h \
- ../config/s.h misc.h custom.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ ../config/s.h misc.h custom.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
instrtrace.o: instrtrace.c
intern.o: intern.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
- memory.h major_gc.h freelist.h minor_gc.h reverse.h
+ ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
+ memory.h major_gc.h freelist.h minor_gc.h reverse.h
interp.o: interp.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h backtrace.h callback.h debugger.h fail.h \
- fix_code.h instrtrace.h instruct.h interp.h major_gc.h freelist.h \
- memory.h gc.h minor_gc.h prims.h signals.h stacks.h jumptbl.h
+ ../config/s.h mlvalues.h backtrace.h callback.h debugger.h fail.h \
+ fix_code.h instrtrace.h instruct.h interp.h major_gc.h freelist.h \
+ memory.h gc.h minor_gc.h prims.h signals.h stacks.h jumptbl.h
ints.o: ints.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h intext.h io.h fix_code.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h int64_native.h
+ ../config/s.h mlvalues.h custom.h fail.h intext.h io.h fix_code.h \
+ memory.h gc.h major_gc.h freelist.h minor_gc.h int64_native.h
io.o: io.c config.h ../config/m.h ../config/s.h compatibility.h alloc.h \
- misc.h mlvalues.h custom.h fail.h io.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h signals.h sys.h
+ misc.h mlvalues.h custom.h fail.h io.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h signals.h sys.h
lexing.o: lexing.c fail.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ ../config/s.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
main.o: main.c misc.h compatibility.h config.h ../config/m.h \
- ../config/s.h mlvalues.h sys.h
+ ../config/s.h mlvalues.h sys.h
major_gc.o: major_gc.c compact.h config.h ../config/m.h ../config/s.h \
- compatibility.h misc.h custom.h mlvalues.h fail.h finalise.h roots.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h weak.h
+ compatibility.h misc.h custom.h mlvalues.h fail.h finalise.h roots.h \
+ memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h weak.h
md5.o: md5.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h md5.h io.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h reverse.h
+ ../config/s.h mlvalues.h fail.h md5.h io.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h reverse.h
memory.o: memory.c fail.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h memory.h \
- minor_gc.h signals.h
+ ../config/s.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h memory.h \
+ minor_gc.h signals.h
meta.o: meta.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h fix_code.h interp.h intext.h io.h \
- major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h stacks.h
+ ../config/s.h mlvalues.h fail.h fix_code.h interp.h intext.h io.h \
+ major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h stacks.h
minor_gc.o: minor_gc.c config.h ../config/m.h ../config/s.h \
- compatibility.h fail.h misc.h mlvalues.h finalise.h roots.h memory.h \
- gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h signals.h weak.h
+ compatibility.h fail.h misc.h mlvalues.h finalise.h roots.h memory.h \
+ gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h signals.h weak.h
misc.o: misc.c config.h ../config/m.h ../config/s.h compatibility.h \
- misc.h memory.h gc.h mlvalues.h major_gc.h freelist.h minor_gc.h
+ misc.h memory.h gc.h mlvalues.h major_gc.h freelist.h minor_gc.h
obj.o: obj.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h gc.h interp.h major_gc.h freelist.h \
- memory.h minor_gc.h prims.h
+ ../config/s.h mlvalues.h fail.h gc.h interp.h major_gc.h freelist.h \
+ memory.h minor_gc.h prims.h
parsing.o: parsing.c config.h ../config/m.h ../config/s.h compatibility.h \
- mlvalues.h misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h alloc.h
+ mlvalues.h misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ alloc.h
prims.o: prims.c mlvalues.h compatibility.h config.h ../config/m.h \
- ../config/s.h misc.h prims.h
+ ../config/s.h misc.h prims.h
printexc.o: printexc.c backtrace.h mlvalues.h compatibility.h config.h \
- ../config/m.h ../config/s.h misc.h callback.h debugger.h fail.h \
- printexc.h
+ ../config/m.h ../config/s.h misc.h callback.h debugger.h fail.h \
+ printexc.h
roots.o: roots.c finalise.h roots.h misc.h compatibility.h config.h \
- ../config/m.h ../config/s.h memory.h gc.h mlvalues.h major_gc.h \
- freelist.h minor_gc.h globroots.h stacks.h
+ ../config/m.h ../config/s.h memory.h gc.h mlvalues.h major_gc.h \
+ freelist.h minor_gc.h globroots.h stacks.h
signals.o: signals.c alloc.h compatibility.h misc.h config.h \
- ../config/m.h ../config/s.h mlvalues.h callback.h fail.h memory.h gc.h \
- major_gc.h freelist.h minor_gc.h roots.h signals.h signals_machdep.h \
- sys.h
+ ../config/m.h ../config/s.h mlvalues.h callback.h fail.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h roots.h signals.h signals_machdep.h \
+ sys.h
signals_byt.o: signals_byt.c config.h ../config/m.h ../config/s.h \
- compatibility.h memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h \
- minor_gc.h osdeps.h signals.h signals_machdep.h
+ compatibility.h memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h \
+ minor_gc.h osdeps.h signals.h signals_machdep.h
stacks.o: stacks.c config.h ../config/m.h ../config/s.h compatibility.h \
- fail.h misc.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ fail.h misc.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
startup.o: startup.c config.h ../config/m.h ../config/s.h compatibility.h \
- alloc.h misc.h mlvalues.h backtrace.h callback.h custom.h debugger.h \
- dynlink.h exec.h fail.h fix_code.h freelist.h gc_ctrl.h instrtrace.h \
- interp.h intext.h io.h memory.h gc.h major_gc.h minor_gc.h osdeps.h \
- prims.h printexc.h reverse.h signals.h stacks.h sys.h startup.h \
- version.h
+ alloc.h misc.h mlvalues.h backtrace.h callback.h custom.h debugger.h \
+ dynlink.h exec.h fail.h fix_code.h freelist.h gc_ctrl.h instrtrace.h \
+ interp.h intext.h io.h memory.h gc.h major_gc.h minor_gc.h osdeps.h \
+ prims.h printexc.h reverse.h signals.h stacks.h sys.h startup.h \
+ version.h
str.o: str.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h
+ ../config/s.h mlvalues.h fail.h
sys.o: sys.c config.h ../config/m.h ../config/s.h compatibility.h alloc.h \
- misc.h mlvalues.h debugger.h fail.h instruct.h osdeps.h signals.h \
- stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h sys.h
+ misc.h mlvalues.h debugger.h fail.h instruct.h osdeps.h signals.h \
+ stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h sys.h
terminfo.o: terminfo.c config.h ../config/m.h ../config/s.h \
- compatibility.h alloc.h misc.h mlvalues.h fail.h io.h
+ compatibility.h alloc.h misc.h mlvalues.h fail.h io.h
unix.o: unix.c config.h ../config/m.h ../config/s.h compatibility.h \
- memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
- osdeps.h
+ memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
+ osdeps.h
weak.o: weak.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h major_gc.h freelist.h memory.h gc.h \
- minor_gc.h
+ ../config/s.h mlvalues.h fail.h major_gc.h freelist.h memory.h gc.h \
+ minor_gc.h
alloc.d.o: alloc.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h major_gc.h freelist.h memory.h gc.h \
- minor_gc.h stacks.h
+ ../config/s.h mlvalues.h custom.h major_gc.h freelist.h memory.h gc.h \
+ minor_gc.h stacks.h
array.d.o: array.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
backtrace.d.o: backtrace.c config.h ../config/m.h ../config/s.h \
- compatibility.h mlvalues.h misc.h alloc.h io.h instruct.h intext.h \
- fix_code.h exec.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
- startup.h stacks.h sys.h backtrace.h
+ compatibility.h mlvalues.h misc.h alloc.h io.h instruct.h intext.h \
+ fix_code.h exec.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ startup.h stacks.h sys.h backtrace.h
callback.d.o: callback.c callback.h compatibility.h mlvalues.h config.h \
- ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h interp.h instruct.h fix_code.h stacks.h
+ ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h interp.h instruct.h fix_code.h stacks.h
compact.d.o: compact.c config.h ../config/m.h ../config/s.h compatibility.h \
- finalise.h roots.h misc.h memory.h gc.h mlvalues.h major_gc.h freelist.h \
- minor_gc.h gc_ctrl.h weak.h
+ finalise.h roots.h misc.h memory.h gc.h mlvalues.h major_gc.h \
+ freelist.h minor_gc.h gc_ctrl.h weak.h
compare.d.o: compare.c custom.h compatibility.h mlvalues.h config.h \
- ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h
+ ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h
custom.d.o: custom.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h
+ ../config/s.h mlvalues.h custom.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h
debugger.d.o: debugger.c config.h ../config/m.h ../config/s.h \
- compatibility.h debugger.h misc.h mlvalues.h fail.h fix_code.h \
- instruct.h intext.h io.h stacks.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h sys.h
+ compatibility.h debugger.h misc.h mlvalues.h fail.h fix_code.h \
+ instruct.h intext.h io.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h sys.h
dynlink.d.o: dynlink.c config.h ../config/m.h ../config/s.h compatibility.h \
- alloc.h misc.h mlvalues.h dynlink.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h osdeps.h prims.h
+ alloc.h misc.h mlvalues.h dynlink.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h osdeps.h prims.h
extern.d.o: extern.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
- memory.h major_gc.h freelist.h minor_gc.h reverse.h
+ ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
+ memory.h major_gc.h freelist.h minor_gc.h reverse.h
fail.d.o: fail.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h io.h gc.h memory.h major_gc.h freelist.h \
- minor_gc.h printexc.h signals.h stacks.h
+ ../config/s.h mlvalues.h fail.h io.h gc.h memory.h major_gc.h \
+ freelist.h minor_gc.h printexc.h signals.h stacks.h
finalise.d.o: finalise.c callback.h compatibility.h mlvalues.h config.h \
- ../config/m.h ../config/s.h misc.h fail.h roots.h memory.h gc.h \
- major_gc.h freelist.h minor_gc.h signals.h
+ ../config/m.h ../config/s.h misc.h fail.h roots.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h signals.h
fix_code.d.o: fix_code.c config.h ../config/m.h ../config/s.h \
- compatibility.h debugger.h misc.h mlvalues.h fix_code.h instruct.h md5.h \
- io.h memory.h gc.h major_gc.h freelist.h minor_gc.h reverse.h
+ compatibility.h debugger.h misc.h mlvalues.h fix_code.h instruct.h \
+ md5.h io.h memory.h gc.h major_gc.h freelist.h minor_gc.h reverse.h
floats.d.o: floats.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h reverse.h stacks.h
+ ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h reverse.h stacks.h
freelist.d.o: freelist.c config.h ../config/m.h ../config/s.h \
- compatibility.h freelist.h misc.h mlvalues.h gc.h gc_ctrl.h memory.h \
- major_gc.h minor_gc.h
+ compatibility.h freelist.h misc.h mlvalues.h gc.h gc_ctrl.h memory.h \
+ major_gc.h minor_gc.h
gc_ctrl.d.o: gc_ctrl.c alloc.h compatibility.h misc.h config.h \
- ../config/m.h ../config/s.h mlvalues.h compact.h custom.h finalise.h \
- roots.h memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h \
- stacks.h
+ ../config/m.h ../config/s.h mlvalues.h compact.h custom.h finalise.h \
+ roots.h memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h \
+ stacks.h
globroots.d.o: globroots.c memory.h compatibility.h config.h ../config/m.h \
- ../config/s.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
- roots.h globroots.h
+ ../config/s.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
+ roots.h globroots.h
hash.d.o: hash.c mlvalues.h compatibility.h config.h ../config/m.h \
- ../config/s.h misc.h custom.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ ../config/s.h misc.h custom.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
instrtrace.d.o: instrtrace.c instruct.h misc.h compatibility.h config.h \
- ../config/m.h ../config/s.h mlvalues.h opnames.h prims.h stacks.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h
+ ../config/m.h ../config/s.h mlvalues.h opnames.h prims.h stacks.h \
+ memory.h gc.h major_gc.h freelist.h minor_gc.h
intern.d.o: intern.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
- memory.h major_gc.h freelist.h minor_gc.h reverse.h
+ ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
+ memory.h major_gc.h freelist.h minor_gc.h reverse.h
interp.d.o: interp.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h backtrace.h callback.h debugger.h fail.h \
- fix_code.h instrtrace.h instruct.h interp.h major_gc.h freelist.h \
- memory.h gc.h minor_gc.h prims.h signals.h stacks.h
+ ../config/s.h mlvalues.h backtrace.h callback.h debugger.h fail.h \
+ fix_code.h instrtrace.h instruct.h interp.h major_gc.h freelist.h \
+ memory.h gc.h minor_gc.h prims.h signals.h stacks.h
ints.d.o: ints.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h intext.h io.h fix_code.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h int64_native.h
+ ../config/s.h mlvalues.h custom.h fail.h intext.h io.h fix_code.h \
+ memory.h gc.h major_gc.h freelist.h minor_gc.h int64_native.h
io.d.o: io.c config.h ../config/m.h ../config/s.h compatibility.h alloc.h \
- misc.h mlvalues.h custom.h fail.h io.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h signals.h sys.h
+ misc.h mlvalues.h custom.h fail.h io.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h signals.h sys.h
lexing.d.o: lexing.c fail.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ ../config/s.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
main.d.o: main.c misc.h compatibility.h config.h ../config/m.h \
- ../config/s.h mlvalues.h sys.h
+ ../config/s.h mlvalues.h sys.h
major_gc.d.o: major_gc.c compact.h config.h ../config/m.h ../config/s.h \
- compatibility.h misc.h custom.h mlvalues.h fail.h finalise.h roots.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h weak.h
+ compatibility.h misc.h custom.h mlvalues.h fail.h finalise.h roots.h \
+ memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h weak.h
md5.d.o: md5.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h md5.h io.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h reverse.h
+ ../config/s.h mlvalues.h fail.h md5.h io.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h reverse.h
memory.d.o: memory.c fail.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h memory.h \
- minor_gc.h signals.h
+ ../config/s.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h memory.h \
+ minor_gc.h signals.h
meta.d.o: meta.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h fix_code.h interp.h intext.h io.h \
- major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h stacks.h
+ ../config/s.h mlvalues.h fail.h fix_code.h interp.h intext.h io.h \
+ major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h stacks.h
minor_gc.d.o: minor_gc.c config.h ../config/m.h ../config/s.h \
- compatibility.h fail.h misc.h mlvalues.h finalise.h roots.h memory.h \
- gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h signals.h weak.h
+ compatibility.h fail.h misc.h mlvalues.h finalise.h roots.h memory.h \
+ gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h signals.h weak.h
misc.d.o: misc.c config.h ../config/m.h ../config/s.h compatibility.h \
- misc.h memory.h gc.h mlvalues.h major_gc.h freelist.h minor_gc.h
+ misc.h memory.h gc.h mlvalues.h major_gc.h freelist.h minor_gc.h
obj.d.o: obj.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h gc.h interp.h major_gc.h freelist.h \
- memory.h minor_gc.h prims.h
+ ../config/s.h mlvalues.h fail.h gc.h interp.h major_gc.h freelist.h \
+ memory.h minor_gc.h prims.h
parsing.d.o: parsing.c config.h ../config/m.h ../config/s.h compatibility.h \
- mlvalues.h misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h alloc.h
+ mlvalues.h misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ alloc.h
prims.d.o: prims.c mlvalues.h compatibility.h config.h ../config/m.h \
- ../config/s.h misc.h prims.h
+ ../config/s.h misc.h prims.h
printexc.d.o: printexc.c backtrace.h mlvalues.h compatibility.h config.h \
- ../config/m.h ../config/s.h misc.h callback.h debugger.h fail.h \
- printexc.h
+ ../config/m.h ../config/s.h misc.h callback.h debugger.h fail.h \
+ printexc.h
roots.d.o: roots.c finalise.h roots.h misc.h compatibility.h config.h \
- ../config/m.h ../config/s.h memory.h gc.h mlvalues.h major_gc.h \
- freelist.h minor_gc.h globroots.h stacks.h
+ ../config/m.h ../config/s.h memory.h gc.h mlvalues.h major_gc.h \
+ freelist.h minor_gc.h globroots.h stacks.h
signals.d.o: signals.c alloc.h compatibility.h misc.h config.h \
- ../config/m.h ../config/s.h mlvalues.h callback.h fail.h memory.h gc.h \
- major_gc.h freelist.h minor_gc.h roots.h signals.h signals_machdep.h \
- sys.h
+ ../config/m.h ../config/s.h mlvalues.h callback.h fail.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h roots.h signals.h signals_machdep.h \
+ sys.h
signals_byt.d.o: signals_byt.c config.h ../config/m.h ../config/s.h \
- compatibility.h memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h \
- minor_gc.h osdeps.h signals.h signals_machdep.h
+ compatibility.h memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h \
+ minor_gc.h osdeps.h signals.h signals_machdep.h
stacks.d.o: stacks.c config.h ../config/m.h ../config/s.h compatibility.h \
- fail.h misc.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ fail.h misc.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
startup.d.o: startup.c config.h ../config/m.h ../config/s.h compatibility.h \
- alloc.h misc.h mlvalues.h backtrace.h callback.h custom.h debugger.h \
- dynlink.h exec.h fail.h fix_code.h freelist.h gc_ctrl.h instrtrace.h \
- interp.h intext.h io.h memory.h gc.h major_gc.h minor_gc.h osdeps.h \
- prims.h printexc.h reverse.h signals.h stacks.h sys.h startup.h \
- version.h
+ alloc.h misc.h mlvalues.h backtrace.h callback.h custom.h debugger.h \
+ dynlink.h exec.h fail.h fix_code.h freelist.h gc_ctrl.h instrtrace.h \
+ interp.h intext.h io.h memory.h gc.h major_gc.h minor_gc.h osdeps.h \
+ prims.h printexc.h reverse.h signals.h stacks.h sys.h startup.h \
+ version.h
str.d.o: str.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h
+ ../config/s.h mlvalues.h fail.h
sys.d.o: sys.c config.h ../config/m.h ../config/s.h compatibility.h alloc.h \
- misc.h mlvalues.h debugger.h fail.h instruct.h osdeps.h signals.h \
- stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h sys.h
+ misc.h mlvalues.h debugger.h fail.h instruct.h osdeps.h signals.h \
+ stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h sys.h
terminfo.d.o: terminfo.c config.h ../config/m.h ../config/s.h \
- compatibility.h alloc.h misc.h mlvalues.h fail.h io.h
+ compatibility.h alloc.h misc.h mlvalues.h fail.h io.h
unix.d.o: unix.c config.h ../config/m.h ../config/s.h compatibility.h \
- memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
- osdeps.h
+ memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
+ osdeps.h
weak.d.o: weak.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h major_gc.h freelist.h memory.h gc.h \
- minor_gc.h
+ ../config/s.h mlvalues.h fail.h major_gc.h freelist.h memory.h gc.h \
+ minor_gc.h
alloc.pic.o: alloc.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h major_gc.h freelist.h memory.h gc.h \
- minor_gc.h stacks.h
+ ../config/s.h mlvalues.h custom.h major_gc.h freelist.h memory.h gc.h \
+ minor_gc.h stacks.h
array.pic.o: array.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
backtrace.pic.o: backtrace.c config.h ../config/m.h ../config/s.h \
- compatibility.h mlvalues.h misc.h alloc.h io.h instruct.h intext.h \
- fix_code.h exec.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
- startup.h stacks.h sys.h backtrace.h
+ compatibility.h mlvalues.h misc.h alloc.h io.h instruct.h intext.h \
+ fix_code.h exec.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ startup.h stacks.h sys.h backtrace.h
callback.pic.o: callback.c callback.h compatibility.h mlvalues.h config.h \
- ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h interp.h instruct.h fix_code.h stacks.h
+ ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h interp.h instruct.h fix_code.h stacks.h
compact.pic.o: compact.c config.h ../config/m.h ../config/s.h compatibility.h \
- finalise.h roots.h misc.h memory.h gc.h mlvalues.h major_gc.h freelist.h \
- minor_gc.h gc_ctrl.h weak.h
+ finalise.h roots.h misc.h memory.h gc.h mlvalues.h major_gc.h \
+ freelist.h minor_gc.h gc_ctrl.h weak.h
compare.pic.o: compare.c custom.h compatibility.h mlvalues.h config.h \
- ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h
+ ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h
custom.pic.o: custom.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h
+ ../config/s.h mlvalues.h custom.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h
debugger.pic.o: debugger.c config.h ../config/m.h ../config/s.h \
- compatibility.h debugger.h misc.h mlvalues.h fail.h fix_code.h \
- instruct.h intext.h io.h stacks.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h sys.h
+ compatibility.h debugger.h misc.h mlvalues.h fail.h fix_code.h \
+ instruct.h intext.h io.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h sys.h
dynlink.pic.o: dynlink.c config.h ../config/m.h ../config/s.h compatibility.h \
- alloc.h misc.h mlvalues.h dynlink.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h osdeps.h prims.h
+ alloc.h misc.h mlvalues.h dynlink.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h osdeps.h prims.h
extern.pic.o: extern.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
- memory.h major_gc.h freelist.h minor_gc.h reverse.h
+ ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
+ memory.h major_gc.h freelist.h minor_gc.h reverse.h
fail.pic.o: fail.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h io.h gc.h memory.h major_gc.h freelist.h \
- minor_gc.h printexc.h signals.h stacks.h
+ ../config/s.h mlvalues.h fail.h io.h gc.h memory.h major_gc.h \
+ freelist.h minor_gc.h printexc.h signals.h stacks.h
finalise.pic.o: finalise.c callback.h compatibility.h mlvalues.h config.h \
- ../config/m.h ../config/s.h misc.h fail.h roots.h memory.h gc.h \
- major_gc.h freelist.h minor_gc.h signals.h
+ ../config/m.h ../config/s.h misc.h fail.h roots.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h signals.h
fix_code.pic.o: fix_code.c config.h ../config/m.h ../config/s.h \
- compatibility.h debugger.h misc.h mlvalues.h fix_code.h instruct.h md5.h \
- io.h memory.h gc.h major_gc.h freelist.h minor_gc.h reverse.h
+ compatibility.h debugger.h misc.h mlvalues.h fix_code.h instruct.h \
+ md5.h io.h memory.h gc.h major_gc.h freelist.h minor_gc.h reverse.h
floats.pic.o: floats.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h reverse.h stacks.h
+ ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h reverse.h stacks.h
freelist.pic.o: freelist.c config.h ../config/m.h ../config/s.h \
- compatibility.h freelist.h misc.h mlvalues.h gc.h gc_ctrl.h memory.h \
- major_gc.h minor_gc.h
+ compatibility.h freelist.h misc.h mlvalues.h gc.h gc_ctrl.h memory.h \
+ major_gc.h minor_gc.h
gc_ctrl.pic.o: gc_ctrl.c alloc.h compatibility.h misc.h config.h \
- ../config/m.h ../config/s.h mlvalues.h compact.h custom.h finalise.h \
- roots.h memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h \
- stacks.h
+ ../config/m.h ../config/s.h mlvalues.h compact.h custom.h finalise.h \
+ roots.h memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h \
+ stacks.h
globroots.pic.o: globroots.c memory.h compatibility.h config.h ../config/m.h \
- ../config/s.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
- roots.h globroots.h
+ ../config/s.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
+ roots.h globroots.h
hash.pic.o: hash.c mlvalues.h compatibility.h config.h ../config/m.h \
- ../config/s.h misc.h custom.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ ../config/s.h misc.h custom.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
instrtrace.pic.o: instrtrace.c
intern.pic.o: intern.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
- memory.h major_gc.h freelist.h minor_gc.h reverse.h
+ ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
+ memory.h major_gc.h freelist.h minor_gc.h reverse.h
interp.pic.o: interp.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h backtrace.h callback.h debugger.h fail.h \
- fix_code.h instrtrace.h instruct.h interp.h major_gc.h freelist.h \
- memory.h gc.h minor_gc.h prims.h signals.h stacks.h jumptbl.h
+ ../config/s.h mlvalues.h backtrace.h callback.h debugger.h fail.h \
+ fix_code.h instrtrace.h instruct.h interp.h major_gc.h freelist.h \
+ memory.h gc.h minor_gc.h prims.h signals.h stacks.h jumptbl.h
ints.pic.o: ints.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h custom.h fail.h intext.h io.h fix_code.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h int64_native.h
+ ../config/s.h mlvalues.h custom.h fail.h intext.h io.h fix_code.h \
+ memory.h gc.h major_gc.h freelist.h minor_gc.h int64_native.h
io.pic.o: io.c config.h ../config/m.h ../config/s.h compatibility.h alloc.h \
- misc.h mlvalues.h custom.h fail.h io.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h signals.h sys.h
+ misc.h mlvalues.h custom.h fail.h io.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h signals.h sys.h
lexing.pic.o: lexing.c fail.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ ../config/s.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
main.pic.o: main.c misc.h compatibility.h config.h ../config/m.h \
- ../config/s.h mlvalues.h sys.h
+ ../config/s.h mlvalues.h sys.h
major_gc.pic.o: major_gc.c compact.h config.h ../config/m.h ../config/s.h \
- compatibility.h misc.h custom.h mlvalues.h fail.h finalise.h roots.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h weak.h
+ compatibility.h misc.h custom.h mlvalues.h fail.h finalise.h roots.h \
+ memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h weak.h
md5.pic.o: md5.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h md5.h io.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h reverse.h
+ ../config/s.h mlvalues.h fail.h md5.h io.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h reverse.h
memory.pic.o: memory.c fail.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h memory.h \
- minor_gc.h signals.h
+ ../config/s.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h memory.h \
+ minor_gc.h signals.h
meta.pic.o: meta.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h fix_code.h interp.h intext.h io.h \
- major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h stacks.h
+ ../config/s.h mlvalues.h fail.h fix_code.h interp.h intext.h io.h \
+ major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h stacks.h
minor_gc.pic.o: minor_gc.c config.h ../config/m.h ../config/s.h \
- compatibility.h fail.h misc.h mlvalues.h finalise.h roots.h memory.h \
- gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h signals.h weak.h
+ compatibility.h fail.h misc.h mlvalues.h finalise.h roots.h memory.h \
+ gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h signals.h weak.h
misc.pic.o: misc.c config.h ../config/m.h ../config/s.h compatibility.h \
- misc.h memory.h gc.h mlvalues.h major_gc.h freelist.h minor_gc.h
+ misc.h memory.h gc.h mlvalues.h major_gc.h freelist.h minor_gc.h
obj.pic.o: obj.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h gc.h interp.h major_gc.h freelist.h \
- memory.h minor_gc.h prims.h
+ ../config/s.h mlvalues.h fail.h gc.h interp.h major_gc.h freelist.h \
+ memory.h minor_gc.h prims.h
parsing.pic.o: parsing.c config.h ../config/m.h ../config/s.h compatibility.h \
- mlvalues.h misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h alloc.h
+ mlvalues.h misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ alloc.h
prims.pic.o: prims.c mlvalues.h compatibility.h config.h ../config/m.h \
- ../config/s.h misc.h prims.h
+ ../config/s.h misc.h prims.h
printexc.pic.o: printexc.c backtrace.h mlvalues.h compatibility.h config.h \
- ../config/m.h ../config/s.h misc.h callback.h debugger.h fail.h \
- printexc.h
+ ../config/m.h ../config/s.h misc.h callback.h debugger.h fail.h \
+ printexc.h
roots.pic.o: roots.c finalise.h roots.h misc.h compatibility.h config.h \
- ../config/m.h ../config/s.h memory.h gc.h mlvalues.h major_gc.h \
- freelist.h minor_gc.h globroots.h stacks.h
+ ../config/m.h ../config/s.h memory.h gc.h mlvalues.h major_gc.h \
+ freelist.h minor_gc.h globroots.h stacks.h
signals.pic.o: signals.c alloc.h compatibility.h misc.h config.h \
- ../config/m.h ../config/s.h mlvalues.h callback.h fail.h memory.h gc.h \
- major_gc.h freelist.h minor_gc.h roots.h signals.h signals_machdep.h \
- sys.h
+ ../config/m.h ../config/s.h mlvalues.h callback.h fail.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h roots.h signals.h signals_machdep.h \
+ sys.h
signals_byt.pic.o: signals_byt.c config.h ../config/m.h ../config/s.h \
- compatibility.h memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h \
- minor_gc.h osdeps.h signals.h signals_machdep.h
+ compatibility.h memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h \
+ minor_gc.h osdeps.h signals.h signals_machdep.h
stacks.pic.o: stacks.c config.h ../config/m.h ../config/s.h compatibility.h \
- fail.h misc.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h
+ fail.h misc.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
startup.pic.o: startup.c config.h ../config/m.h ../config/s.h compatibility.h \
- alloc.h misc.h mlvalues.h backtrace.h callback.h custom.h debugger.h \
- dynlink.h exec.h fail.h fix_code.h freelist.h gc_ctrl.h instrtrace.h \
- interp.h intext.h io.h memory.h gc.h major_gc.h minor_gc.h osdeps.h \
- prims.h printexc.h reverse.h signals.h stacks.h sys.h startup.h \
- version.h
+ alloc.h misc.h mlvalues.h backtrace.h callback.h custom.h debugger.h \
+ dynlink.h exec.h fail.h fix_code.h freelist.h gc_ctrl.h instrtrace.h \
+ interp.h intext.h io.h memory.h gc.h major_gc.h minor_gc.h osdeps.h \
+ prims.h printexc.h reverse.h signals.h stacks.h sys.h startup.h \
+ version.h
str.pic.o: str.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h
+ ../config/s.h mlvalues.h fail.h
sys.pic.o: sys.c config.h ../config/m.h ../config/s.h compatibility.h alloc.h \
- misc.h mlvalues.h debugger.h fail.h instruct.h osdeps.h signals.h \
- stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h sys.h
+ misc.h mlvalues.h debugger.h fail.h instruct.h osdeps.h signals.h \
+ stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h sys.h
terminfo.pic.o: terminfo.c config.h ../config/m.h ../config/s.h \
- compatibility.h alloc.h misc.h mlvalues.h fail.h io.h
+ compatibility.h alloc.h misc.h mlvalues.h fail.h io.h
unix.pic.o: unix.c config.h ../config/m.h ../config/s.h compatibility.h \
- memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
- osdeps.h
+ memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
+ osdeps.h
weak.pic.o: weak.c alloc.h compatibility.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h fail.h major_gc.h freelist.h memory.h gc.h \
- minor_gc.h
+ ../config/s.h mlvalues.h fail.h major_gc.h freelist.h memory.h gc.h \
+ minor_gc.h
diff --git a/byterun/Makefile b/byterun/Makefile
index 1515294519..8ee62aee92 100644
--- a/byterun/Makefile
+++ b/byterun/Makefile
@@ -16,7 +16,7 @@
include Makefile.common
CFLAGS=-DCAML_NAME_SPACE -O $(BYTECCCOMPOPTS) $(IFLEXDIR)
-DFLAGS=-DCAML_NAME_SPACE -g -DDEBUG $(BYTECCCOMPOPTS)
+DFLAGS=-DCAML_NAME_SPACE -g -DDEBUG $(BYTECCCOMPOPTS) $(IFLEXDIR)
OBJS=$(COMMONOBJS) unix.o main.o
DOBJS=$(OBJS:.o=.d.o) instrtrace.d.o
diff --git a/byterun/unix.c b/byterun/unix.c
index 89e0706e24..cdc1f2a018 100644
--- a/byterun/unix.c
+++ b/byterun/unix.c
@@ -204,13 +204,16 @@ char * caml_dlerror(void)
#ifndef RTLD_GLOBAL
#define RTLD_GLOBAL 0
#endif
+#ifndef RTLD_LOCAL
+#define RTLD_LOCAL 0
+#endif
#ifndef RTLD_NODELETE
#define RTLD_NODELETE 0
#endif
void * caml_dlopen(char * libname, int for_execution, int global)
{
- return dlopen(libname, RTLD_NOW | (global ? RTLD_GLOBAL : 0) | RTLD_NODELETE);
+ return dlopen(libname, RTLD_NOW | (global ? RTLD_GLOBAL : RTLD_LOCAL) | RTLD_NODELETE);
/* Could use RTLD_LAZY if for_execution == 0, but needs testing */
}
diff --git a/camlp4/Camlp4/Camlp4Ast.partial.ml b/camlp4/Camlp4/Camlp4Ast.partial.ml
index c13f687e74..b6725989de 100644
--- a/camlp4/Camlp4/Camlp4Ast.partial.ml
+++ b/camlp4/Camlp4/Camlp4Ast.partial.ml
@@ -3,6 +3,34 @@
[ BTrue
| BFalse
| BAnt of string ]
+ and rec_flag =
+ [ ReRecursive
+ | ReNil
+ | ReAnt of string ]
+ and direction_flag =
+ [ DiTo
+ | DiDownto
+ | DiAnt of string ]
+ and mutable_flag =
+ [ MuMutable
+ | MuNil
+ | MuAnt of string ]
+ and private_flag =
+ [ PrPrivate
+ | PrNil
+ | PrAnt of string ]
+ and virtual_flag =
+ [ ViVirtual
+ | ViNil
+ | ViAnt of string ]
+ and override_flag =
+ [ OvOverride
+ | OvNil
+ | OvAnt of string ]
+ and row_var_flag =
+ [ RvRowVar
+ | RvNil
+ | RvAnt of string ]
and meta_option 'a =
[ ONone
| OSome of 'a
@@ -30,7 +58,7 @@
(* type t 'a 'b 'c = t constraint t = t constraint t = t *)
| TyDcl of loc and string and list ctyp and ctyp and list (ctyp * ctyp)
(* < (t)? (..)? > *) (* < move : int -> 'a .. > as 'a *)
- | TyObj of loc and ctyp and meta_bool
+ | TyObj of loc and ctyp and row_var_flag
| TyOlb of loc and string and ctyp (* ?s:t *)
| TyPol of loc and ctyp and ctyp (* ! t . t *) (* ! 'a . list 'a -> 'a *)
| TyQuo of loc and string (* 's *)
@@ -105,7 +133,7 @@
| ExCoe of loc and expr and ctyp and ctyp (* (e : t) or (e : t :> t) *)
| ExFlo of loc and string (* 3.14 *)
(* for s = e to/downto e do { e } *)
- | ExFor of loc and string and expr and expr and meta_bool and expr
+ | ExFor of loc and string and expr and expr and direction_flag and expr
| ExFun of loc and match_case (* fun [ mc ] *)
| ExIfe of loc and expr and expr and expr (* if e then e else e *)
| ExInt of loc and string (* 42 *)
@@ -115,7 +143,7 @@
| ExLab of loc and string and expr (* ~s or ~s:e *)
| ExLaz of loc and expr (* lazy e *)
(* let b in e or let rec b in e *)
- | ExLet of loc and meta_bool and binding and expr
+ | ExLet of loc and rec_flag and binding and expr
(* let module s = me in e *)
| ExLmd of loc and string and module_expr and expr
(* match e with [ mc ] *)
@@ -287,12 +315,12 @@
(* type t *)
| StTyp of loc and ctyp
(* value (rec)? bi *)
- | StVal of loc and meta_bool and binding
+ | StVal of loc and rec_flag and binding
| StAnt of loc and string (* $s$ *) ]
and class_type =
[ CtNil of loc
(* (virtual)? i ([ t ])? *)
- | CtCon of loc and meta_bool and ident and ctyp
+ | CtCon of loc and virtual_flag and ident and ctyp
(* [t] -> ct *)
| CtFun of loc and ctyp and class_type
(* object ((t))? (csg)? end *)
@@ -314,22 +342,22 @@
(* inherit ct *)
| CgInh of loc and class_type
(* method s : t or method private s : t *)
- | CgMth of loc and string and meta_bool and ctyp
+ | CgMth of loc and string and private_flag and ctyp
(* value (virtual)? (mutable)? s : t *)
- | CgVal of loc and string and meta_bool and meta_bool and ctyp
- (* method virtual (mutable)? s : t *)
- | CgVir of loc and string and meta_bool and ctyp
+ | CgVal of loc and string and mutable_flag and virtual_flag and ctyp
+ (* method virtual (private)? s : t *)
+ | CgVir of loc and string and private_flag and ctyp
| CgAnt of loc and string (* $s$ *) ]
and class_expr =
[ CeNil of loc
(* ce e *)
| CeApp of loc and class_expr and expr
(* (virtual)? i ([ t ])? *)
- | CeCon of loc and meta_bool and ident and ctyp
+ | CeCon of loc and virtual_flag and ident and ctyp
(* fun p -> ce *)
| CeFun of loc and patt and class_expr
(* let (rec)? bi in ce *)
- | CeLet of loc and meta_bool and binding and class_expr
+ | CeLet of loc and rec_flag and binding and class_expr
(* object ((p))? (cst)? end *)
| CeStr of loc and patt and class_str_item
(* ce : ct *)
@@ -346,16 +374,16 @@
| CrSem of loc and class_str_item and class_str_item
(* type t = t *)
| CrCtr of loc and ctyp and ctyp
- (* inherit ce or inherit ce as s *)
- | CrInh of loc and class_expr and string
+ (* inherit(!)? ce (as s)? *)
+ | CrInh of loc and override_flag and class_expr and string
(* initializer e *)
| CrIni of loc and expr
- (* method (private)? s : t = e or method (private)? s = e *)
- | CrMth of loc and string and meta_bool and expr and ctyp
- (* value (mutable)? s = e *)
- | CrVal of loc and string and meta_bool and expr
+ (* method(!)? (private)? s : t = e or method(!)? (private)? s = e *)
+ | CrMth of loc and string and override_flag and private_flag and expr and ctyp
+ (* value(!)? (mutable)? s = e *)
+ | CrVal of loc and string and override_flag and mutable_flag and expr
(* method virtual (private)? s : t *)
- | CrVir of loc and string and meta_bool and ctyp
- (* value virtual (private)? s : t *)
- | CrVvr of loc and string and meta_bool and ctyp
+ | CrVir of loc and string and private_flag and ctyp
+ (* value virtual (mutable)? s : t *)
+ | CrVvr of loc and string and mutable_flag and ctyp
| CrAnt of loc and string (* $s$ *) ];
diff --git a/camlp4/Camlp4/OCamlInitSyntax.ml b/camlp4/Camlp4/OCamlInitSyntax.ml
index 9d715ea08d..85f8915f29 100644
--- a/camlp4/Camlp4/OCamlInitSyntax.ml
+++ b/camlp4/Camlp4/OCamlInitSyntax.ml
@@ -87,6 +87,7 @@ module Make (Ast : Sig.Camlp4Ast)
value ctyp = Gram.Entry.mk "ctyp";
value cvalue_binding = Gram.Entry.mk "cvalue_binding";
value direction_flag = Gram.Entry.mk "direction_flag";
+ value direction_flag_quot = Gram.Entry.mk "direction_flag_quot";
value dummy = Gram.Entry.mk "dummy";
value entry_eoi = Gram.Entry.mk "entry_eoi";
value eq_expr = Gram.Entry.mk "eq_expr";
@@ -133,16 +134,23 @@ module Make (Ast : Sig.Camlp4Ast)
value opt_class_structure = Gram.Entry.mk "opt_class_structure";
value opt_comma_ctyp = Gram.Entry.mk "opt_comma_ctyp";
value opt_dot_dot = Gram.Entry.mk "opt_dot_dot";
+ value row_var_flag_quot = Gram.Entry.mk "row_var_flag_quot";
value opt_eq_ctyp = Gram.Entry.mk "opt_eq_ctyp";
value opt_expr = Gram.Entry.mk "opt_expr";
value opt_meth_list = Gram.Entry.mk "opt_meth_list";
value opt_mutable = Gram.Entry.mk "opt_mutable";
+ value mutable_flag_quot = Gram.Entry.mk "mutable_flag_quot";
value opt_polyt = Gram.Entry.mk "opt_polyt";
value opt_private = Gram.Entry.mk "opt_private";
+ value private_flag_quot = Gram.Entry.mk "private_flag_quot";
value opt_rec = Gram.Entry.mk "opt_rec";
+ value rec_flag_quot = Gram.Entry.mk "rec_flag_quot";
value opt_sig_items = Gram.Entry.mk "opt_sig_items";
value opt_str_items = Gram.Entry.mk "opt_str_items";
value opt_virtual = Gram.Entry.mk "opt_virtual";
+ value virtual_flag_quot = Gram.Entry.mk "virtual_flag_quot";
+ value opt_override = Gram.Entry.mk "opt_override";
+ value override_flag_quot = Gram.Entry.mk "override_flag_quot";
value opt_when_expr = Gram.Entry.mk "opt_when_expr";
value patt = Gram.Entry.mk "patt";
value patt_as_patt_opt = Gram.Entry.mk "patt_as_patt_opt";
diff --git a/camlp4/Camlp4/Printers/OCaml.ml b/camlp4/Camlp4/Printers/OCaml.ml
index ce4ee772d9..dc48882e49 100644
--- a/camlp4/Camlp4/Printers/OCaml.ml
+++ b/camlp4/Camlp4/Printers/OCaml.ml
@@ -56,7 +56,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
fun
[ Ast.LNil -> []
| Ast.LCons x xs -> [x :: list_of_meta_list xs]
- | Ast.LAnt x -> assert False ];
+ | Ast.LAnt _ -> assert False ];
value meta_list elt sep f mxs =
let xs = list_of_meta_list mxs in
@@ -135,7 +135,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
let (pl, e) = expr_fun_args e in
([`patt p :: pl], e)
else ([], ge)
- | Ast.ExFUN _ i e ->
+ | <:expr< fun (type $i$) -> $e$ >> ->
let (pl, e) = expr_fun_args e in
([`newtype i :: pl], e)
| ge -> ([], ge) ];
@@ -169,13 +169,14 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
method reset = {< pipe = False; semi = False >};
value semisep : sep = ";;";
- value andsep : sep = "@]@ @[<2>and@ ";
- value value_val = "val";
- value value_let = "let";
value mode = if comments then `comments else `no_comments;
value curry_constr = init_curry_constr;
value var_conversion = False;
+ method andsep : sep = "@]@ @[<2>and@ ";
+ method value_val = "val";
+ method value_let = "let";
+
method semisep = semisep;
method set_semisep s = {< semisep = s >};
method set_comments b = {< mode = if b then `comments else `no_comments >};
@@ -232,15 +233,31 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
pp f "@[<1>%a,@ %a@]" o#class_params t1 o#class_params t2
| x -> o#ctyp f x ];
- method mutable_flag f b = o#flag f b "mutable";
- method rec_flag f b = o#flag f b "rec";
- method virtual_flag f b = o#flag f b "virtual";
- method private_flag f b = o#flag f b "private";
- method flag f b n =
- match b with
- [ Ast.BTrue -> do { pp_print_string f n; pp f "@ " }
- | Ast.BFalse -> ()
- | Ast.BAnt s -> o#anti f s ];
+ method override_flag f =
+ fun
+ [ Ast.OvOverride -> pp f "!"
+ | Ast.OvNil -> ()
+ | Ast.OvAnt s -> o#anti f s ];
+
+ method mutable_flag f = fun
+ [ Ast.MuMutable -> pp f "mutable@ "
+ | Ast.MuNil -> ()
+ | Ast.MuAnt s -> o#anti f s ];
+
+ method rec_flag f = fun
+ [ Ast.ReRecursive -> pp f "rec@ "
+ | Ast.ReNil -> ()
+ | Ast.ReAnt s -> o#anti f s ];
+
+ method virtual_flag f = fun
+ [ Ast.ViVirtual -> pp f "virtual@ "
+ | Ast.ViNil -> ()
+ | Ast.ViAnt s -> o#anti f s ];
+
+ method private_flag f = fun
+ [ Ast.PrPrivate -> pp f "private@ "
+ | Ast.PrNil -> ()
+ | Ast.PrAnt s -> o#anti f s ];
method anti f s = pp f "$%s$" s;
@@ -283,7 +300,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
match bi with
[ <:binding<>> -> ()
| <:binding< $b1$ and $b2$ >> ->
- do { o#binding f b1; pp f andsep; o#binding f b2 }
+ do { o#binding f b1; pp f o#andsep; o#binding f b2 }
| <:binding< $p$ = $e$ >> ->
let (pl, e) =
match p with
@@ -383,7 +400,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
pp f "@[<2>%a :@ %a@]" o#var s o#module_type mt
| <:module_binding< $mb1$ and $mb2$ >> ->
do { o#module_rec_binding f mb1;
- pp f andsep;
+ pp f o#andsep;
o#module_rec_binding f mb2 }
| <:module_binding< $anti:s$ >> -> o#anti f s ];
@@ -441,7 +458,9 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
| [_] -> pp f "@[<2>%a@ %a@]" o#apply_expr x o#apply_expr y
| al ->
pp f "@[<2>%a@ (%a)@]" o#apply_expr a
- (list o#under_pipe#expr ",@ ") al ]
+ (* The #apply_expr below may put too much parens.
+ However using #expr would be wrong: PR#5056. *)
+ (list o#under_pipe#apply_expr ",@ ") al ]
else pp f "@[<2>%a@]" (list o#apply_expr "@ ") [a::al]
| <:expr< $e1$.val := $e2$ >> ->
pp f "@[<2>%a :=@ %a@]" o#dot_expr e1 o#expr e2
@@ -451,7 +470,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
pp f "@[<2>fun@ _@ ->@ %a@]" o#raise_match_failure loc
| <:expr< fun $p$ -> $e$ >> when is_irrefut_patt p ->
pp f "@[<2>fun@ %a@]" o#patt_expr_fun_args (`patt p, e)
- | Ast.ExFUN _ i e ->
+ | <:expr< fun (type $i$) -> $e$ >> ->
pp f "@[<2>fun@ %a@]" o#patt_expr_fun_args (`newtype i, e)
| <:expr< fun [ $a$ ] >> ->
pp f "@[<hv0>function%a@]" o#match_case a
@@ -563,7 +582,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
| <:expr< $_$ $_$ >> | <:expr< $_$ . $_$ >> | <:expr< $_$ . ( $_$ ) >> |
<:expr< $_$ . [ $_$ ] >> | <:expr< $_$ := $_$ >> |
<:expr< $_$ # $_$ >> |
- <:expr< fun [ $_$ ] >> | Ast.ExFUN _ _ _ | <:expr< match $_$ with [ $_$ ] >> |
+ <:expr< fun [ $_$ ] >> | <:expr< fun (type $_$) -> $_$ >> | <:expr< match $_$ with [ $_$ ] >> |
<:expr< try $_$ with [ $_$ ] >> |
<:expr< if $_$ then $_$ else $_$ >> |
<:expr< let $rec:_$ $_$ in $_$ >> |
@@ -576,9 +595,9 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
method direction_flag f b =
match b with
- [ Ast.BTrue -> pp_print_string f "to"
- | Ast.BFalse -> pp_print_string f "downto"
- | Ast.BAnt s -> o#anti f s ];
+ [ Ast.DiTo -> pp_print_string f "to"
+ | Ast.DiDownto -> pp_print_string f "downto"
+ | Ast.DiAnt s -> o#anti f s ];
method patt f p =
let () = o#node f p Ast.loc_of_patt in match p with
@@ -694,8 +713,6 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
(list o#simple_ctyp "@ ") [a::al]
| <:ctyp< [ > $t$ ] >> -> pp f "@[<2>[>@ %a@]@,]" o#sum_type t
| <:ctyp< # $i$ >> -> pp f "@[<2>#%a@]" o#ident i
- | <:ctyp< $t1$ == $t2$ >> ->
- pp f "@[<2>%a =@ %a@]" o#simple_ctyp t1 o#simple_ctyp t2
| <:ctyp< `$s$ >> -> pp f "`%a" o#var s
| <:ctyp< $t1$ * $t2$ >> -> pp f "%a *@ %a" o#simple_ctyp t1 o#simple_ctyp t2
| <:ctyp<>> -> assert False
@@ -721,6 +738,8 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
| <:ctyp< $t1$ and $t2$ >> -> pp f "%a@ and %a" o#ctyp t1 o#ctyp t2
| <:ctyp< mutable $t$ >> -> pp f "@[<2>mutable@ %a@]" o#ctyp t
| <:ctyp< $t1$ & $t2$ >> -> pp f "%a@ &@ %a" o#ctyp t1 o#ctyp t2
+ | <:ctyp< $t1$ == $t2$ >> ->
+ pp f "@[<2>%a =@ %a@]" o#simple_ctyp t1 o#ctyp t2
| Ast.TyDcl _ tn tp te cl -> do {
pp f "@[<2>%a%a@]" o#type_params tp o#var tn;
match te with
@@ -787,7 +806,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
pp f "@[<hv0>@[<hv2>type %a@]%(%)@]" o#ctyp t semisep
| <:sig_item< value $s$ : $t$ >> ->
pp f "@[<2>%s %a :@ %a%(%)@]"
- value_val o#var s o#ctyp t semisep
+ o#value_val o#var s o#ctyp t semisep
| <:sig_item< include $mt$ >> ->
pp f "@[<2>include@ %a%(%)@]" o#module_type mt semisep
| <:sig_item< class type $ct$ >> ->
@@ -839,7 +858,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
| <:str_item< type $t$ >> ->
pp f "@[<hv0>@[<hv2>type %a@]%(%)@]" o#ctyp t semisep
| <:str_item< value $rec:r$ $bi$ >> ->
- pp f "@[<2>%s %a%a%(%)@]" value_let o#rec_flag r o#binding bi semisep
+ pp f "@[<2>%s %a%a%(%)@]" o#value_let o#rec_flag r o#binding bi semisep
| <:str_item< $exp:e$ >> ->
pp f "@[<2>let _ =@ %a%(%)@]" o#expr e semisep
| <:str_item< include $me$ >> ->
@@ -882,7 +901,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
| <:with_constr< module $i1$ := $i2$ >> ->
pp f "@[<2>module@ %a :=@ %a@]" o#ident i1 o#ident i2
| <:with_constr< $wc1$ and $wc2$ >> ->
- do { o#with_constraint f wc1; pp f andsep; o#with_constraint f wc2 }
+ do { o#with_constraint f wc1; pp f o#andsep; o#with_constraint f wc2 }
| <:with_constr< $anti:s$ >> -> o#anti f s ];
method module_expr f me =
@@ -909,9 +928,9 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
| <:module_expr< ( $me$ : $mt$ ) >> ->
pp f "@[<1>(%a :@ %a)@]" o#module_expr me o#module_type mt
| <:module_expr< (value $e$ : $mt$ ) >> ->
- pp f "@[<1>(%s %a :@ %a)@]" value_val o#expr e o#module_type mt
+ pp f "@[<1>(%s %a :@ %a)@]" o#value_val o#expr e o#module_type mt
| <:module_expr< (value $e$ ) >> ->
- pp f "@[<1>(%s %a)@]" value_val o#expr e
+ pp f "@[<1>(%s %a)@]" o#value_val o#expr e
];
method class_expr f ce =
@@ -941,7 +960,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
pp f "@[<1>(%a :@ %a)@]" o#class_expr ce o#class_type ct
| <:class_expr< $anti:s$ >> -> o#anti f s
| <:class_expr< $ce1$ and $ce2$ >> ->
- do { o#class_expr f ce1; pp f andsep; o#class_expr f ce2 }
+ do { o#class_expr f ce1; pp f o#andsep; o#class_expr f ce2 }
| <:class_expr< $ce1$ = fun $p$ -> $ce2$ >> when is_irrefut_patt p ->
pp f "@[<2>%a@ %a" o#class_expr ce1
o#patt_class_expr_fun_args (p, ce2)
@@ -969,7 +988,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
o#ctyp t o#class_sig_item csg
| <:class_type< $anti:s$ >> -> o#anti f s
| <:class_type< $ct1$ and $ct2$ >> ->
- do { o#class_type f ct1; pp f andsep; o#class_type f ct2 }
+ do { o#class_type f ct1; pp f o#andsep; o#class_type f ct2 }
| <:class_type< $ct1$ : $ct2$ >> ->
pp f "%a :@ %a" o#class_type ct1 o#class_type ct2
| <:class_type< $ct1$ = $ct2$ >> ->
@@ -997,7 +1016,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
o#private_flag pr o#var s o#ctyp t semisep
| <:class_sig_item< value $mutable:mu$ $virtual:vi$ $s$ : $t$ >> ->
pp f "@[<2>%s %a%a%a :@ %a%(%)@]"
- value_val o#mutable_flag mu o#virtual_flag vi o#var s o#ctyp t
+ o#value_val o#mutable_flag mu o#virtual_flag vi o#var s o#ctyp t
semisep
| <:class_sig_item< $anti:s$ >> ->
pp f "%a%(%)" o#anti s semisep ];
@@ -1013,27 +1032,27 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
do { o#class_str_item f cst1; cut f; o#class_str_item f cst2 }
| <:class_str_item< constraint $t1$ = $t2$ >> ->
pp f "@[<2>constraint %a =@ %a%(%)@]" o#ctyp t1 o#ctyp t2 semisep
- | <:class_str_item< inherit $ce$ >> ->
- pp f "@[<2>inherit@ %a%(%)@]" o#class_expr ce semisep
- | <:class_str_item< inherit $ce$ as $lid:s$ >> ->
- pp f "@[<2>inherit@ %a as@ %a%(%)@]" o#class_expr ce o#var s semisep
+ | <:class_str_item< inherit $override:ov$ $ce$ >> ->
+ pp f "@[<2>inherit%a@ %a%(%)@]" o#override_flag ov o#class_expr ce semisep
+ | <:class_str_item< inherit $override:ov$ $ce$ as $lid:s$ >> ->
+ pp f "@[<2>inherit%a@ %a as@ %a%(%)@]" o#override_flag ov o#class_expr ce o#var s semisep
| <:class_str_item< initializer $e$ >> ->
pp f "@[<2>initializer@ %a%(%)@]" o#expr e semisep
- | <:class_str_item< method $private:pr$ $s$ = $e$ >> ->
- pp f "@[<2>method %a%a =@ %a%(%)@]"
- o#private_flag pr o#var s o#expr e semisep
- | <:class_str_item< method $private:pr$ $s$ : $t$ = $e$ >> ->
- pp f "@[<2>method %a%a :@ %a =@ %a%(%)@]"
- o#private_flag pr o#var s o#ctyp t o#expr e semisep
+ | <:class_str_item< method $override:ov$ $private:pr$ $s$ = $e$ >> ->
+ pp f "@[<2>method%a %a%a =@ %a%(%)@]"
+ o#override_flag ov o#private_flag pr o#var s o#expr e semisep
+ | <:class_str_item< method $override:ov$ $private:pr$ $s$ : $t$ = $e$ >> ->
+ pp f "@[<2>method%a %a%a :@ %a =@ %a%(%)@]"
+ o#override_flag ov o#private_flag pr o#var s o#ctyp t o#expr e semisep
| <:class_str_item< method virtual $private:pr$ $s$ : $t$ >> ->
pp f "@[<2>method virtual@ %a%a :@ %a%(%)@]"
o#private_flag pr o#var s o#ctyp t semisep
| <:class_str_item< value virtual $mutable:mu$ $s$ : $t$ >> ->
pp f "@[<2>%s virtual %a%a :@ %a%(%)@]"
- value_val o#mutable_flag mu o#var s o#ctyp t semisep
- | <:class_str_item< value $mutable:mu$ $s$ = $e$ >> ->
- pp f "@[<2>%s %a%a =@ %a%(%)@]"
- value_val o#mutable_flag mu o#var s o#expr e semisep
+ o#value_val o#mutable_flag mu o#var s o#ctyp t semisep
+ | <:class_str_item< value $override:ov$ $mutable:mu$ $s$ = $e$ >> ->
+ pp f "@[<2>%s%a %a%a =@ %a%(%)@]"
+ o#value_val o#override_flag ov o#mutable_flag mu o#var s o#expr e semisep
| <:class_str_item< $anti:s$ >> ->
pp f "%a%(%)" o#anti s semisep ];
diff --git a/camlp4/Camlp4/Printers/OCaml.mli b/camlp4/Camlp4/Printers/OCaml.mli
index 07cb27d995..c09261b96f 100644
--- a/camlp4/Camlp4/Printers/OCaml.mli
+++ b/camlp4/Camlp4/Printers/OCaml.mli
@@ -68,8 +68,9 @@ module Make (Syntax : Sig.Camlp4Syntax) : sig
value pipe : bool;
value semi : bool;
value semisep : sep;
- value value_val : string;
- value value_let : string;
+ method value_val : string;
+ method value_let : string;
+ method andsep : sep;
method anti : formatter -> string -> unit;
method class_declaration :
formatter -> Ast.class_expr -> unit;
@@ -113,10 +114,10 @@ module Make (Syntax : Sig.Camlp4Syntax) : sig
option Ast.module_type);
method module_rec_binding : formatter -> Ast.module_binding -> unit;
method module_type : formatter -> Ast.module_type -> unit;
- method mutable_flag : formatter -> Ast.meta_bool -> unit;
- method direction_flag : formatter -> Ast.meta_bool -> unit;
- method rec_flag : formatter -> Ast.meta_bool -> unit;
- method flag : formatter -> Ast.meta_bool -> string -> unit;
+ method override_flag : formatter -> Ast.override_flag -> unit;
+ method mutable_flag : formatter -> Ast.mutable_flag -> unit;
+ method direction_flag : formatter -> Ast.direction_flag -> unit;
+ method rec_flag : formatter -> Ast.rec_flag -> unit;
method node : formatter -> 'b -> ('b -> Loc.t) -> unit;
method patt : formatter -> Ast.patt -> unit;
method patt1 : formatter -> Ast.patt -> unit;
@@ -130,8 +131,8 @@ module Make (Syntax : Sig.Camlp4Syntax) : sig
method patt_class_expr_fun_args :
formatter -> (Ast.patt * Ast.class_expr) -> unit;
method print_comments_before : Loc.t -> formatter -> unit;
- method private_flag : formatter -> Ast.meta_bool -> unit;
- method virtual_flag : formatter -> Ast.meta_bool -> unit;
+ method private_flag : formatter -> Ast.private_flag -> unit;
+ method virtual_flag : formatter -> Ast.virtual_flag -> unit;
method quoted_string : formatter -> string -> unit;
method raise_match_failure : formatter -> Loc.t -> unit;
method reset : 'a;
diff --git a/camlp4/Camlp4/Printers/OCamlr.ml b/camlp4/Camlp4/Printers/OCamlr.ml
index 307f77c41a..52590ae7b7 100644
--- a/camlp4/Camlp4/Printers/OCamlr.ml
+++ b/camlp4/Camlp4/Printers/OCamlr.ml
@@ -43,14 +43,14 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
object (o)
inherit PP_o.printer ~curry_constr:init_curry_constr ~comments () as super;
- value semisep : sep = ";";
- value andsep : sep = "@]@ @[<2>and@ ";
- value value_val = "value";
- value value_let = "value";
+ value! semisep : sep = ";";
value mode = if comments then `comments else `no_comments;
value curry_constr = init_curry_constr;
value first_match_case = True;
+ method andsep : sep = "@]@ @[<2>and@ ";
+ method value_val = "value";
+ method value_let = "value";
method under_pipe = o;
method under_semi = o;
method reset_semi = o;
@@ -164,7 +164,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
pp f "@[<2>%a@ :=@ %a@]" o#dot_expr e1 o#expr e2
| <:expr< fun $p$ -> $e$ >> when Ast.is_irrefut_patt p ->
pp f "@[<2>fun@ %a@]" o#patt_expr_fun_args (`patt p, e)
- | Ast.ExFUN _ i e ->
+ | <:expr< fun (type $i$) -> $e$ >> ->
pp f "@[<2>fun@ %a@]" o#patt_expr_fun_args (`newtype i, e)
| <:expr< fun [ $a$ ] >> ->
pp f "@[<hv0>fun%a@]" o#match_case a
@@ -272,9 +272,16 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
end;
value with_outfile = with_outfile;
- value print = print;
- value print_interf = print_interf;
- value print_implem = print_implem;
+
+ value print output_file fct =
+ let o = new printer () in
+ with_outfile output_file (fct o);
+
+ value print_interf ?input_file:(_) ?output_file sg =
+ print output_file (fun o -> o#interf) sg;
+
+ value print_implem ?input_file:(_) ?output_file st =
+ print output_file (fun o -> o#implem) st;
end;
diff --git a/camlp4/Camlp4/Sig.ml b/camlp4/Camlp4/Sig.ml
index 503f05fb33..1664be75b0 100644
--- a/camlp4/Camlp4/Sig.ml
+++ b/camlp4/Camlp4/Sig.ml
@@ -222,6 +222,13 @@ module type Ast = sig
type binding;
type rec_binding;
type module_binding;
+ type rec_flag;
+ type direction_flag;
+ type mutable_flag;
+ type private_flag;
+ type virtual_flag;
+ type row_var_flag;
+ type override_flag;
(** {6 Location accessors} *)
@@ -286,6 +293,13 @@ module type Ast = sig
method module_binding : module_binding -> module_binding;
method match_case : match_case -> match_case;
method ident : ident -> ident;
+ method override_flag : override_flag -> override_flag;
+ method mutable_flag : mutable_flag -> mutable_flag;
+ method private_flag : private_flag -> private_flag;
+ method virtual_flag : virtual_flag -> virtual_flag;
+ method direction_flag : direction_flag -> direction_flag;
+ method rec_flag : rec_flag -> rec_flag;
+ method row_var_flag : row_var_flag -> row_var_flag;
method unknown : ! 'a. 'a -> 'a;
end;
@@ -315,6 +329,13 @@ module type Ast = sig
method module_binding : module_binding -> 'self_type;
method match_case : match_case -> 'self_type;
method ident : ident -> 'self_type;
+ method rec_flag : rec_flag -> 'self_type;
+ method direction_flag : direction_flag -> 'self_type;
+ method mutable_flag : mutable_flag -> 'self_type;
+ method private_flag : private_flag -> 'self_type;
+ method virtual_flag : virtual_flag -> 'self_type;
+ method row_var_flag : row_var_flag -> 'self_type;
+ method override_flag : override_flag -> 'self_type;
method unknown : ! 'a. 'a -> 'self_type;
end;
@@ -425,6 +446,13 @@ module type Camlp4Ast = sig
value meta_sig_item : loc -> sig_item -> expr;
value meta_str_item : loc -> str_item -> expr;
value meta_with_constr : loc -> with_constr -> expr;
+ value meta_rec_flag : loc -> rec_flag -> expr;
+ value meta_mutable_flag : loc -> mutable_flag -> expr;
+ value meta_virtual_flag : loc -> virtual_flag -> expr;
+ value meta_private_flag : loc -> private_flag -> expr;
+ value meta_row_var_flag : loc -> row_var_flag -> expr;
+ value meta_override_flag : loc -> override_flag -> expr;
+ value meta_direction_flag : loc -> direction_flag -> expr;
end;
module Patt : sig
value meta_string : loc -> string -> patt;
@@ -450,6 +478,13 @@ module type Camlp4Ast = sig
value meta_sig_item : loc -> sig_item -> patt;
value meta_str_item : loc -> str_item -> patt;
value meta_with_constr : loc -> with_constr -> patt;
+ value meta_rec_flag : loc -> rec_flag -> patt;
+ value meta_mutable_flag : loc -> mutable_flag -> patt;
+ value meta_virtual_flag : loc -> virtual_flag -> patt;
+ value meta_private_flag : loc -> private_flag -> patt;
+ value meta_row_var_flag : loc -> row_var_flag -> patt;
+ value meta_override_flag : loc -> override_flag -> patt;
+ value meta_direction_flag : loc -> direction_flag -> patt;
end;
end;
end;
@@ -480,6 +515,13 @@ module type Camlp4Ast = sig
method module_binding : module_binding -> module_binding;
method match_case : match_case -> match_case;
method ident : ident -> ident;
+ method mutable_flag : mutable_flag -> mutable_flag;
+ method private_flag : private_flag -> private_flag;
+ method virtual_flag : virtual_flag -> virtual_flag;
+ method direction_flag : direction_flag -> direction_flag;
+ method rec_flag : rec_flag -> rec_flag;
+ method row_var_flag : row_var_flag -> row_var_flag;
+ method override_flag : override_flag -> override_flag;
method unknown : ! 'a. 'a -> 'a;
end;
@@ -509,6 +551,13 @@ module type Camlp4Ast = sig
method module_binding : module_binding -> 'self_type;
method match_case : match_case -> 'self_type;
method ident : ident -> 'self_type;
+ method rec_flag : rec_flag -> 'self_type;
+ method direction_flag : direction_flag -> 'self_type;
+ method mutable_flag : mutable_flag -> 'self_type;
+ method private_flag : private_flag -> 'self_type;
+ method virtual_flag : virtual_flag -> 'self_type;
+ method row_var_flag : row_var_flag -> 'self_type;
+ method override_flag : override_flag -> 'self_type;
method unknown : ! 'a. 'a -> 'self_type;
end;
@@ -612,6 +661,13 @@ module Camlp4AstToAst (M : Camlp4Ast) : Ast
and type module_binding = M.module_binding
and type match_case = M.match_case
and type ident = M.ident
+ and type rec_flag = M.rec_flag
+ and type direction_flag = M.direction_flag
+ and type mutable_flag = M.mutable_flag
+ and type private_flag = M.private_flag
+ and type virtual_flag = M.virtual_flag
+ and type row_var_flag = M.row_var_flag
+ and type override_flag = M.override_flag
= M;
(** Concrete definition of Camlp4 ASTs abstracted from locations.
@@ -909,6 +965,10 @@ module Grammar = struct
type tree;
type token_pattern = ((Token.t -> bool) * string);
+ type token_info;
+ type token_stream = Stream.t (Token.t * token_info);
+
+ value token_location : token_info -> Loc.t;
type symbol =
[ Smeta of string and list symbol and Action.t
@@ -919,6 +979,7 @@ module Grammar = struct
| Slist1 of symbol
| Slist1sep of symbol and symbol
| Sopt of symbol
+ | Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
@@ -961,11 +1022,11 @@ module Grammar = struct
(** Make a new entry from a name and an hand made token parser. *)
value of_parser :
- gram -> string -> (Stream.t (Token.t * Loc.t) -> 'a) -> t 'a;
+ gram -> string -> (token_stream -> 'a) -> t 'a;
(** Clear the entry and setup this parser instead. *)
value setup_parser :
- t 'a -> (Stream.t (Token.t * Loc.t) -> 'a) -> unit;
+ t 'a -> (token_stream -> 'a) -> unit;
(** Get the entry name. *)
value name : t 'a -> string;
@@ -1000,16 +1061,13 @@ module Grammar = struct
(* value sfold1sep : ('a -> 'b -> 'b) -> 'b -> foldsep _ 'a 'b; *)
(** Use the lexer to produce a non filtered token stream from a char stream. *)
- value lex : gram -> Loc.t -> Stream.t char
- -> not_filtered (Stream.t (Token.t * Loc.t));
+ value lex : gram -> Loc.t -> Stream.t char -> not_filtered (Stream.t (Token.t * Loc.t));
(** Token stream from string. *)
- value lex_string : gram -> Loc.t -> string
- -> not_filtered (Stream.t (Token.t * Loc.t));
+ value lex_string : gram -> Loc.t -> string -> not_filtered (Stream.t (Token.t * Loc.t));
(** Filter a token stream using the {!Token.Filter} module *)
- value filter : gram -> not_filtered (Stream.t (Token.t * Loc.t))
- -> Stream.t (Token.t * Loc.t);
+ value filter : gram -> not_filtered (Stream.t (Token.t * Loc.t)) -> token_stream;
(** Lex, filter and parse a stream of character. *)
value parse : Entry.t 'a -> Loc.t -> Stream.t char -> 'a;
@@ -1023,7 +1081,7 @@ module Grammar = struct
(** Parse a token stream that is already filtered. *)
value parse_tokens_after_filter :
- Entry.t 'a -> Stream.t (Token.t * Loc.t) -> 'a;
+ Entry.t 'a -> token_stream -> 'a;
end;
@@ -1043,11 +1101,11 @@ module Grammar = struct
(** Make a new entry from a name and an hand made token parser. *)
value of_parser :
- string -> (Stream.t (Token.t * Loc.t) -> 'a) -> t 'a;
+ string -> (token_stream -> 'a) -> t 'a;
(** Clear the entry and setup this parser instead. *)
value setup_parser :
- t 'a -> (Stream.t (Token.t * Loc.t) -> 'a) -> unit;
+ t 'a -> (token_stream -> 'a) -> unit;
(** Get the entry name. *)
value name : t 'a -> string;
@@ -1081,15 +1139,13 @@ module Grammar = struct
(* value sfold1sep : ('a -> 'b -> 'b) -> 'b -> foldsep _ 'a 'b; *)
(** Use the lexer to produce a non filtered token stream from a char stream. *)
- value lex : Loc.t -> Stream.t char
- -> not_filtered (Stream.t (Token.t * Loc.t));
+ value lex : Loc.t -> Stream.t char -> not_filtered (Stream.t (Token.t * Loc.t));
+
(** Token stream from string. *)
- value lex_string : Loc.t -> string
- -> not_filtered (Stream.t (Token.t * Loc.t));
+ value lex_string : Loc.t -> string -> not_filtered (Stream.t (Token.t * Loc.t));
(** Filter a token stream using the {!Token.Filter} module *)
- value filter : not_filtered (Stream.t (Token.t * Loc.t))
- -> Stream.t (Token.t * Loc.t);
+ value filter : not_filtered (Stream.t (Token.t * Loc.t)) -> token_stream;
(** Lex, filter and parse a stream of character. *)
value parse : Entry.t 'a -> Loc.t -> Stream.t char -> 'a;
@@ -1103,7 +1159,7 @@ module Grammar = struct
(** Parse a token stream that is already filtered. *)
value parse_tokens_after_filter :
- Entry.t 'a -> Stream.t (Token.t * Loc.t) -> 'a;
+ Entry.t 'a -> token_stream -> 'a;
end;
@@ -1261,7 +1317,8 @@ module type Camlp4Syntax = sig
value ctyp : Gram.Entry.t Ast.ctyp;
value ctyp_quot : Gram.Entry.t Ast.ctyp;
value cvalue_binding : Gram.Entry.t Ast.expr;
- value direction_flag : Gram.Entry.t Ast.meta_bool;
+ value direction_flag : Gram.Entry.t Ast.direction_flag;
+ value direction_flag_quot : Gram.Entry.t Ast.direction_flag;
value dummy : Gram.Entry.t unit;
value eq_expr : Gram.Entry.t (string -> Ast.patt -> Ast.patt);
value expr : Gram.Entry.t Ast.expr;
@@ -1287,7 +1344,7 @@ module type Camlp4Syntax = sig
value label_patt_list : Gram.Entry.t Ast.patt;
value labeled_ipatt : Gram.Entry.t Ast.patt;
value let_binding : Gram.Entry.t Ast.binding;
- value meth_list : Gram.Entry.t (Ast.ctyp * Ast.meta_bool);
+ value meth_list : Gram.Entry.t (Ast.ctyp * Ast.row_var_flag);
value meth_decl : Gram.Entry.t Ast.ctyp;
value module_binding : Gram.Entry.t Ast.module_binding;
value module_binding0 : Gram.Entry.t Ast.module_expr;
@@ -1307,15 +1364,22 @@ module type Camlp4Syntax = sig
value opt_class_self_patt : Gram.Entry.t Ast.patt;
value opt_class_self_type : Gram.Entry.t Ast.ctyp;
value opt_comma_ctyp : Gram.Entry.t Ast.ctyp;
- value opt_dot_dot : Gram.Entry.t Ast.meta_bool;
+ value opt_dot_dot : Gram.Entry.t Ast.row_var_flag;
+ value row_var_flag_quot : Gram.Entry.t Ast.row_var_flag;
value opt_eq_ctyp : Gram.Entry.t Ast.ctyp;
value opt_expr : Gram.Entry.t Ast.expr;
value opt_meth_list : Gram.Entry.t Ast.ctyp;
- value opt_mutable : Gram.Entry.t Ast.meta_bool;
+ value opt_mutable : Gram.Entry.t Ast.mutable_flag;
+ value mutable_flag_quot : Gram.Entry.t Ast.mutable_flag;
+ value opt_override : Gram.Entry.t Ast.override_flag;
+ value override_flag_quot : Gram.Entry.t Ast.override_flag;
value opt_polyt : Gram.Entry.t Ast.ctyp;
- value opt_private : Gram.Entry.t Ast.meta_bool;
- value opt_rec : Gram.Entry.t Ast.meta_bool;
- value opt_virtual : Gram.Entry.t Ast.meta_bool;
+ value opt_private : Gram.Entry.t Ast.private_flag;
+ value private_flag_quot : Gram.Entry.t Ast.private_flag;
+ value opt_rec : Gram.Entry.t Ast.rec_flag;
+ value rec_flag_quot : Gram.Entry.t Ast.rec_flag;
+ value opt_virtual : Gram.Entry.t Ast.virtual_flag;
+ value virtual_flag_quot : Gram.Entry.t Ast.virtual_flag;
value opt_when_expr : Gram.Entry.t Ast.expr;
value patt : Gram.Entry.t Ast.patt;
value patt_as_patt_opt : Gram.Entry.t Ast.patt;
diff --git a/camlp4/Camlp4/Struct/Camlp4Ast2OCamlAst.ml b/camlp4/Camlp4/Struct/Camlp4Ast2OCamlAst.ml
index 11ff3963aa..020a7e0c2e 100644
--- a/camlp4/Camlp4/Struct/Camlp4Ast2OCamlAst.ml
+++ b/camlp4/Camlp4/Struct/Camlp4Ast2OCamlAst.ml
@@ -74,13 +74,15 @@ module Make (Ast : Sig.Camlp4Ast) = struct
| _ -> { (t) with ptyp_desc = Ptyp_poly [] t } ]
;
- value mb2b =
- fun
- [ Ast.BTrue -> True
- | Ast.BFalse -> False
- | Ast.BAnt _ -> assert False ];
+ value mkvirtual = fun
+ [ <:virtual_flag< virtual >> -> Virtual
+ | <:virtual_flag<>> -> Concrete
+ | _ -> assert False ];
- value mkvirtual m = if mb2b m then Virtual else Concrete;
+ value mkdirection = fun
+ [ <:direction_flag< to >> -> Upto
+ | <:direction_flag< downto >> -> Downto
+ | _ -> assert False ];
value lident s = Lident s;
value ldot l s = Ldot l s;
@@ -110,9 +112,9 @@ module Make (Ast : Sig.Camlp4Ast) = struct
value mkrf =
fun
- [ Ast.BTrue -> Recursive
- | Ast.BFalse -> Nonrecursive
- | Ast.BAnt _ -> assert False ];
+ [ <:rec_flag< rec >> -> Recursive
+ | <:rec_flag<>> -> Nonrecursive
+ | _ -> assert False ];
value mkli s = loop lident
where rec loop f =
@@ -259,7 +261,7 @@ module Make (Ast : Sig.Camlp4Ast) = struct
| TyAnt loc _ -> error loc "antiquotation not allowed here"
| TyOfAmp _ _ _ |TyAmp _ _ _ |TySta _ _ _ |
TyCom _ _ _ |TyVrn _ _ |TyQuM _ _ |TyQuP _ _ |TyDcl _ _ _ _ _ |
- TyObj _ _ (BAnt _) | TyNil _ | TyTup _ _ ->
+ TyObj _ _ (RvAnt _) | TyNil _ | TyTup _ _ ->
assert False ]
and row_field = fun
[ <:ctyp<>> -> []
@@ -304,7 +306,10 @@ module Make (Ast : Sig.Camlp4Ast) = struct
ptype_variance = variance}
;
value mkprivate' m = if m then Private else Public;
- value mkprivate m = mkprivate' (mb2b m);
+ value mkprivate = fun
+ [ <:private_flag< private >> -> Private
+ | <:private_flag<>> -> Public
+ | _ -> assert False ];
value mktrecord =
fun
[ <:ctyp@loc< $lid:s$ : mutable $t$ >> ->
@@ -351,7 +356,10 @@ module Make (Ast : Sig.Camlp4Ast) = struct
| Ast.LCons x xs -> [x :: list_of_meta_list xs]
| Ast.LAnt _ -> assert False ];
- value mkmutable m = if mb2b m then Mutable else Immutable;
+ value mkmutable = fun
+ [ <:mutable_flag< mutable >> -> Mutable
+ | <:mutable_flag<>> -> Immutable
+ | _ -> assert False ];
value paolab lab p =
match (lab, p) with
@@ -570,6 +578,12 @@ module Make (Ast : Sig.Camlp4Ast) = struct
| e -> [(loc_of_expr e, [], e) :: l] ]
;
+ value override_flag loc =
+ fun [ <:override_flag< ! >> -> Override
+ | <:override_flag<>> -> Fresh
+ | _ -> error loc "antiquotation not allowed here"
+ ];
+
value list_of_opt_ctyp ot acc =
match ot with
[ <:ctyp<>> -> acc
@@ -668,8 +682,7 @@ module Make (Ast : Sig.Camlp4Ast) = struct
| ExFlo loc s -> mkexp loc (Pexp_constant (Const_float (remove_underscores s)))
| ExFor loc i e1 e2 df el ->
let e3 = ExSeq loc el in
- let df = if mb2b df then Upto else Downto in
- mkexp loc (Pexp_for i (expr e1) (expr e2) df (expr e3))
+ mkexp loc (Pexp_for i (expr e1) (expr e2) (mkdirection df) (expr e3))
| <:expr@loc< fun [ $PaLab _ lab po$ when $w$ -> $e$ ] >> ->
mkexp loc
(Pexp_function lab None
@@ -943,7 +956,7 @@ module Make (Ast : Sig.Camlp4Ast) = struct
| <:str_item@loc< $anti:_$ >> -> error loc "antiquotation in str_item" ]
and class_type =
fun
- [ CtCon loc Ast.BFalse id tl ->
+ [ CtCon loc ViNil id tl ->
mkcty loc
(Pcty_constr (long_class_ident id) (List.map ctyp (list_of_opt_ctyp tl [])))
| CtFun loc (TyLab _ lab t) ct ->
@@ -973,7 +986,7 @@ module Make (Ast : Sig.Camlp4Ast) = struct
[ <:ctyp<>> -> (loc, ([], []))
| t -> (loc_of_ctyp t, List.split (class_parameters t [])) ]
in
- {pci_virt = if mb2b vir then Virtual else Concrete;
+ {pci_virt = mkvirtual vir;
pci_params = (params, mkloc loc_params);
pci_name = name;
pci_expr = class_expr ce;
@@ -989,7 +1002,7 @@ module Make (Ast : Sig.Camlp4Ast) = struct
[ <:ctyp<>> -> (loc, ([], []))
| t -> (loc_of_ctyp t, List.split (class_parameters t [])) ]
in
- {pci_virt = if mb2b vir then Virtual else Concrete;
+ {pci_virt = mkvirtual vir;
pci_params = (params, mkloc loc_params);
pci_name = name;
pci_expr = class_type ct;
@@ -1017,7 +1030,7 @@ module Make (Ast : Sig.Camlp4Ast) = struct
let (ce, el) = class_expr_fa [] c in
let el = List.map label_expr el in
mkpcl loc (Pcl_apply (class_expr ce) el)
- | CeCon loc Ast.BFalse id tl ->
+ | CeCon loc ViNil id tl ->
mkpcl loc
(Pcl_constr (long_class_ident id) (List.map ctyp (list_of_opt_ctyp tl [])))
| CeFun loc (PaLab _ lab po) ce ->
@@ -1052,22 +1065,23 @@ module Make (Ast : Sig.Camlp4Ast) = struct
| CrCtr loc t1 t2 -> [Pcf_cstr (ctyp t1, ctyp t2, mkloc loc) :: l]
| <:class_str_item< $cst1$; $cst2$ >> ->
class_str_item cst1 (class_str_item cst2 l)
- | CrInh _ ce "" -> [Pcf_inher Fresh (class_expr ce) None :: l]
- | CrInh _ ce pb -> [Pcf_inher Fresh (class_expr ce) (Some pb) :: l]
+ | CrInh loc ov ce pb ->
+ let opb = if pb = "" then None else Some pb in
+ [Pcf_inher (override_flag loc ov) (class_expr ce) opb :: l]
| CrIni _ e -> [Pcf_init (expr e) :: l]
- | CrMth loc s b e t ->
+ | CrMth loc s ov pf e t ->
let t =
match t with
[ <:ctyp<>> -> None
| t -> Some (mkpolytype (ctyp t)) ] in
let e = mkexp loc (Pexp_poly (expr e) t) in
- [Pcf_meth (s, mkprivate b, Fresh, e, mkloc loc) :: l]
- | CrVal loc s b e ->
- [Pcf_val (s, mkmutable b, Fresh, expr e, mkloc loc) :: l]
- | CrVir loc s b t ->
- [Pcf_virt (s, mkprivate b, mkpolytype (ctyp t), mkloc loc) :: l]
- | CrVvr loc s b t ->
- [Pcf_valvirt (s, mkmutable b, ctyp t, mkloc loc) :: l]
+ [Pcf_meth (s, mkprivate pf, override_flag loc ov, e, mkloc loc) :: l]
+ | CrVal loc s ov mf e ->
+ [Pcf_val (s, mkmutable mf, override_flag loc ov, expr e, mkloc loc) :: l]
+ | CrVir loc s pf t ->
+ [Pcf_virt (s, mkprivate pf, mkpolytype (ctyp t), mkloc loc) :: l]
+ | CrVvr loc s mf t ->
+ [Pcf_valvirt (s, mkmutable mf, ctyp t, mkloc loc) :: l]
| CrAnt _ _ -> assert False ];
value sig_item ast = sig_item ast [];
diff --git a/camlp4/Camlp4/Struct/FreeVars.ml b/camlp4/Camlp4/Struct/FreeVars.ml
index 7ce12e24d9..69e9030367 100644
--- a/camlp4/Camlp4/Struct/FreeVars.ml
+++ b/camlp4/Camlp4/Struct/FreeVars.ml
@@ -106,10 +106,10 @@ module Make (Ast : Sig.Camlp4Ast) = struct
method class_str_item =
fun
- [ <:class_str_item< inherit $_$ >> as cst -> super#class_str_item cst
- | <:class_str_item< inherit $ce$ as $s$ >> ->
+ [ <:class_str_item< inherit $override:_$ $_$ >> as cst -> super#class_str_item cst
+ | <:class_str_item< inherit $override:_$ $ce$ as $s$ >> ->
(o#class_expr ce)#add_atom s
- | <:class_str_item< value $mutable:_$ $s$ = $e$ >> ->
+ | <:class_str_item< value $override:_$ $mutable:_$ $s$ = $e$ >> ->
(o#expr e)#add_atom s
| <:class_str_item< value virtual $mutable:_$ $s$ : $t$ >> ->
(o#ctyp t)#add_atom s
diff --git a/camlp4/Camlp4/Struct/Grammar.mlpack b/camlp4/Camlp4/Struct/Grammar.mlpack
index 23c342940c..46fb34f74b 100644
--- a/camlp4/Camlp4/Struct/Grammar.mlpack
+++ b/camlp4/Camlp4/Struct/Grammar.mlpack
@@ -1,4 +1,3 @@
-Context
Delete
Dynamic
Entry
diff --git a/camlp4/Camlp4/Struct/Grammar/Context.ml b/camlp4/Camlp4/Struct/Grammar/Context.ml
deleted file mode 100644
index b92c2915bc..0000000000
--- a/camlp4/Camlp4/Struct/Grammar/Context.ml
+++ /dev/null
@@ -1,90 +0,0 @@
-(****************************************************************************)
-(* *)
-(* Objective Caml *)
-(* *)
-(* INRIA Rocquencourt *)
-(* *)
-(* Copyright 2006 Institut National de Recherche en Informatique et *)
-(* en Automatique. All rights reserved. This file is distributed under *)
-(* the terms of the GNU Library General Public License, with the special *)
-(* exception on linking described in LICENSE at the top of the Objective *)
-(* Caml source tree. *)
-(* *)
-(****************************************************************************)
-
-(* Authors:
- * - Daniel de Rauglaudre: initial version
- * - Nicolas Pouillard: refactoring
- *)
-
-module type S = sig
- module Token : Sig.Token;
- open Token;
- type t;
- value call_with_ctx : Stream.t (Token.t * Loc.t) -> (t -> 'a) -> 'a;
- value loc_bp : t -> Loc.t;
- value loc_ep : t -> Loc.t;
- value stream : t -> Stream.t (Token.t * Loc.t);
- value peek_nth : t -> int -> option (Token.t * Loc.t);
- value njunk : t -> int -> unit;
- value junk : Stream.t (Token.t * Loc.t) -> unit;
- value bp : Stream.t (Token.t * Loc.t) -> Loc.t;
-end;
-
-module Make (Token : Sig.Token) : S with module Token = Token = struct
- module Token = Token;
- open Token;
-
- type t = { strm : mutable Stream.t (Token.t * Loc.t);
- loc : mutable Loc.t };
-
- value loc_bp c =
- match Stream.peek c.strm with
- [ None -> Loc.ghost
- | Some (_, loc) -> loc ];
-
- value loc_ep c = c.loc;
-
- value set_loc c =
- match Stream.peek c.strm with
- [ Some (_, loc) -> c.loc := loc
- | None -> () ];
-
- value mk strm =
- match Stream.peek strm with
- [ Some (_, loc) -> { strm = strm; loc = loc }
- | None -> { strm = strm ; loc = Loc.ghost } ];
-
- value stream c = c.strm;
-
- value peek_nth c n =
- let list = Stream.npeek n c.strm in
- let rec loop list n =
- match (list, n) with
- [ ([((_, loc) as x) :: _], 1) -> do { c.loc := loc; Some x }
- | ([_ :: l], n) -> loop l (n - 1)
- | ([], _) -> None ]
- in
- loop list n;
-
- value njunk c n =
- (for i = 1 to n do Stream.junk c.strm done;
- set_loc c);
-
- value streams = ref [];
- value mk strm =
- let c = mk strm in
- let () = streams.val := [(strm, c) :: streams.val] in c;
- value junk strm =
- do { set_loc (List.assq strm streams.val); Stream.junk strm };
- value bp strm = loc_bp (List.assq strm streams.val);
-
- value call_with_ctx strm f =
- let streams_v = streams.val in
- let r =
- try f (mk strm) with exc -> do { streams.val := streams_v; raise exc }
- in
- do { streams.val := streams_v; r }
- ;
-
-end;
diff --git a/camlp4/Camlp4/Struct/Grammar/Delete.ml b/camlp4/Camlp4/Struct/Grammar/Delete.ml
index 49a45002ec..929ac2b4ea 100644
--- a/camlp4/Camlp4/Struct/Grammar/Delete.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Delete.ml
@@ -68,11 +68,9 @@ value rec decr_keyw_use gram =
fun
[ Skeyword kwd -> removing gram kwd
| Smeta _ sl _ -> List.iter (decr_keyw_use gram) sl
- | Slist0 s -> decr_keyw_use gram s
- | Slist1 s -> decr_keyw_use gram s
+ | Slist0 s | Slist1 s | Sopt s | Stry s -> decr_keyw_use gram s
| Slist0sep s1 s2 -> do { decr_keyw_use gram s1; decr_keyw_use gram s2 }
| Slist1sep s1 s2 -> do { decr_keyw_use gram s1; decr_keyw_use gram s2 }
- | Sopt s -> decr_keyw_use gram s
| Stree t -> decr_keyw_use_in_tree gram t
| Sself | Snext | Snterm _ | Snterml _ _ | Stoken _ -> () ]
and decr_keyw_use_in_tree gram =
@@ -149,13 +147,13 @@ value delete_rule entry sl =
do {
entry.edesc := Dlevels levs;
entry.estart :=
- fun lev c strm ->
+ fun lev strm ->
let f = Parser.start_parser_of_entry entry in
- do { entry.estart := f; f lev c strm };
+ do { entry.estart := f; f lev strm };
entry.econtinue :=
- fun lev bp a c strm ->
+ fun lev bp a strm ->
let f = Parser.continue_parser_of_entry entry in
- do { entry.econtinue := f; f lev bp a c strm }
+ do { entry.econtinue := f; f lev bp a strm }
}
| Dparser _ -> () ]
;
diff --git a/camlp4/Camlp4/Struct/Grammar/Dynamic.ml b/camlp4/Camlp4/Struct/Grammar/Dynamic.ml
index 09b439706f..7889cf0712 100644
--- a/camlp4/Camlp4/Struct/Grammar/Dynamic.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Dynamic.ml
@@ -24,7 +24,8 @@ module Make (Lexer : Sig.Lexer)
module Delete = Delete.Make Structure;
module Insert = Insert.Make Structure;
module Entry = Entry.Make Structure;
- module Fold = Fold.Make Structure;
+ module Fold = Fold.Make Structure;
+ module Tools = Tools.Make Structure;
include Structure;
value mk () =
@@ -43,7 +44,7 @@ module Make (Lexer : Sig.Lexer)
value lex_string g loc str = lex g loc (Stream.of_string str);
- value filter g ts = Token.Filter.filter g.gfilter ts;
+ value filter g ts = Tools.keep_prev_loc (Token.Filter.filter g.gfilter ts);
value parse_tokens_after_filter entry ts = Entry.parse_tokens_after_filter entry ts;
diff --git a/camlp4/Camlp4/Struct/Grammar/Entry.ml b/camlp4/Camlp4/Struct/Grammar/Entry.ml
index 8402672b8e..0b39b7ca6c 100644
--- a/camlp4/Camlp4/Struct/Grammar/Entry.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Entry.ml
@@ -23,6 +23,7 @@ module Make (Structure : Structure.S) = struct
module Tools = Tools.Make Structure;
open Format;
open Structure;
+ open Tools;
type t 'a = internal_entry;
@@ -36,25 +37,24 @@ module Make (Structure : Structure.S) = struct
value mk g n =
{ egram = g;
ename = n;
- estart = Tools.empty_entry n;
- econtinue _ _ _ _ = parser [];
+ estart = empty_entry n;
+ econtinue _ _ _ = parser [];
edesc = Dlevels [] };
value action_parse entry ts : Action.t =
- Context.call_with_ctx ts
- (fun c ->
- try entry.estart 0 c (Context.stream c) with
- [ Stream.Failure ->
- Loc.raise (Context.loc_ep c)
- (Stream.Error ("illegal begin of " ^ entry.ename))
- | Loc.Exc_located _ _ as exc -> raise exc
- | exc -> Loc.raise (Context.loc_ep c) exc ]);
+ try entry.estart 0 ts with
+ [ Stream.Failure ->
+ Loc.raise (get_prev_loc ts)
+ (Stream.Error ("illegal begin of " ^ entry.ename))
+ | Loc.Exc_located _ _ as exc -> raise exc
+ | exc -> Loc.raise (get_prev_loc ts) exc ];
value lex entry loc cs = entry.egram.glexer loc cs;
value lex_string entry loc str = lex entry loc (Stream.of_string str);
- value filter entry ts = Token.Filter.filter (get_filter entry.egram) ts;
+ value filter entry ts =
+ keep_prev_loc (Token.Filter.filter (get_filter entry.egram) ts);
value parse_tokens_after_filter entry ts = Action.get (action_parse entry ts);
@@ -65,24 +65,25 @@ module Make (Structure : Structure.S) = struct
value parse_string entry loc str =
parse_tokens_before_filter entry (lex_string entry loc str);
- value of_parser g n (p : Stream.t (Token.t * Loc.t) -> 'a) : t 'a =
+ value of_parser g n (p : Stream.t (Token.t * token_info) -> 'a) : t 'a =
+ let f ts = Action.mk (p ts) in
{ egram = g;
ename = n;
- estart _ _ ts = Action.mk (p ts);
- econtinue _ _ _ _ = parser [];
- edesc = Dparser (fun ts -> Action.mk (p ts)) };
+ estart _ = f;
+ econtinue _ _ _ = parser [];
+ edesc = Dparser f };
- value setup_parser e (p : Stream.t (Token.t * Loc.t) -> 'a) =
+ value setup_parser e (p : Stream.t (Token.t * token_info) -> 'a) =
let f ts = Action.mk (p ts) in do {
- e.estart := fun _ _ -> f;
- e.econtinue := fun _ _ _ _ -> parser [];
+ e.estart := fun _ -> f;
+ e.econtinue := fun _ _ _ -> parser [];
e.edesc := Dparser f
};
value clear e =
do {
- e.estart := fun _ _ -> parser [];
- e.econtinue := fun _ _ _ _ -> parser [];
+ e.estart := fun _ -> parser [];
+ e.econtinue := fun _ _ _ -> parser [];
e.edesc := Dlevels []
};
diff --git a/camlp4/Camlp4/Struct/Grammar/Failed.ml b/camlp4/Camlp4/Struct/Grammar/Failed.ml
index ee3eff5af3..b22998bd48 100644
--- a/camlp4/Camlp4/Struct/Grammar/Failed.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Failed.ml
@@ -37,11 +37,9 @@ value rec name_of_symbol entry =
value rec name_of_symbol_failed entry =
fun
- [ Slist0 s -> name_of_symbol_failed entry s
- | Slist0sep s _ -> name_of_symbol_failed entry s
- | Slist1 s -> name_of_symbol_failed entry s
- | Slist1sep s _ -> name_of_symbol_failed entry s
- | Sopt s -> name_of_symbol_failed entry s
+ [ Slist0 s | Slist0sep s _ |
+ Slist1 s | Slist1sep s _ |
+ Sopt s | Stry s -> name_of_symbol_failed entry s
| Stree t -> name_of_tree_failed entry t
| s -> name_of_symbol entry s ]
and name_of_tree_failed entry =
@@ -104,7 +102,7 @@ value tree_failed entry prev_symb_result prev_symb tree =
| _ ->
let txt1 = name_of_symbol_failed entry sep in
txt1 ^ " or " ^ txt ^ " expected" ]
- | Sopt _ | Stree _ -> txt ^ " expected"
+ | Stry _(*NP: not sure about this*) | Sopt _ | Stree _ -> txt ^ " expected"
| _ -> txt ^ " expected after " ^ name_of_symbol entry prev_symb ]
in
do {
diff --git a/camlp4/Camlp4/Struct/Grammar/Fold.ml b/camlp4/Camlp4/Struct/Grammar/Fold.ml
index 6da366f705..caf8a7a0a3 100644
--- a/camlp4/Camlp4/Struct/Grammar/Fold.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Fold.ml
@@ -26,10 +26,11 @@ module Make (Structure : Structure.S) = struct
module Fail = Failed.Make Structure;
open Sig.Grammar;
+ (* Prevent from implict usage. *)
module Stream = struct
- include Stream;
- value junk strm = Context.junk strm;
- value count strm = Context.bp strm;
+ type t 'a = Stream.t 'a;
+ exception Failure = Stream.Failure;
+ exception Error = Stream.Error;
end;
value sfold0 f e _entry _symbl psymb =
diff --git a/camlp4/Camlp4/Struct/Grammar/Insert.ml b/camlp4/Camlp4/Struct/Grammar/Insert.ml
index be57d0e906..a6cbf0eeed 100644
--- a/camlp4/Camlp4/Struct/Grammar/Insert.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Insert.ml
@@ -33,12 +33,15 @@ module Make (Structure : Structure.S) = struct
;
value rec derive_eps =
fun
- [ Slist0 _ -> True
- | Slist0sep _ _ -> True
- | Sopt _ -> True
+ [ Slist0 _ | Slist0sep _ _ | Sopt _ -> True
+ | Stry s -> derive_eps s
| Stree t -> tree_derive_eps t
- | Smeta _ _ _ | Slist1 _ | Slist1sep _ _ | Snterm _ | Snterml _ _ | Snext |
- Sself | Stoken _ | Skeyword _ -> False ]
+ | Slist1 _ | Slist1sep _ _ | Stoken _ | Skeyword _ ->
+ (* For sure we cannot derive epsilon from these *)
+ False
+ | Smeta _ _ _ | Snterm _ | Snterml _ _ | Snext | Sself ->
+ (* Approximation *)
+ False ]
and tree_derive_eps =
fun
[ LocAct _ _ -> True
@@ -172,9 +175,7 @@ module Make (Structure : Structure.S) = struct
| Smeta _ sl _ -> List.iter (check_gram entry) sl
| Slist0sep s t -> do { check_gram entry t; check_gram entry s }
| Slist1sep s t -> do { check_gram entry t; check_gram entry s }
- | Slist0 s -> check_gram entry s
- | Slist1 s -> check_gram entry s
- | Sopt s -> check_gram entry s
+ | Slist0 s | Slist1 s | Sopt s | Stry s -> check_gram entry s
| Stree t -> tree_check_gram entry t
| Snext | Sself | Stoken _ | Skeyword _ -> () ]
and tree_check_gram entry =
@@ -198,11 +199,9 @@ module Make (Structure : Structure.S) = struct
let rec insert =
fun
[ Smeta _ sl _ -> List.iter insert sl
- | Slist0 s -> insert s
- | Slist1 s -> insert s
+ | Slist0 s | Slist1 s | Sopt s | Stry s -> insert s
| Slist0sep s t -> do { insert s; insert t }
| Slist1sep s t -> do { insert s; insert t }
- | Sopt s -> insert s
| Stree t -> tinsert t
| Skeyword kwd -> using gram kwd
| Snterm _ | Snterml _ _ | Snext | Sself | Stoken _ -> () ]
@@ -316,13 +315,13 @@ module Make (Structure : Structure.S) = struct
do {
entry.edesc := Dlevels elev;
entry.estart :=
- fun lev c strm ->
+ fun lev strm ->
let f = Parser.start_parser_of_entry entry in
- do { entry.estart := f; f lev c strm };
+ do { entry.estart := f; f lev strm };
entry.econtinue :=
- fun lev bp a c strm ->
+ fun lev bp a strm ->
let f = Parser.continue_parser_of_entry entry in
- do { entry.econtinue := f; f lev bp a c strm }
+ do { entry.econtinue := f; f lev bp a strm }
};
end;
diff --git a/camlp4/Camlp4/Struct/Grammar/Parser.ml b/camlp4/Camlp4/Struct/Grammar/Parser.ml
index 715c48f74e..89bbe884df 100644
--- a/camlp4/Camlp4/Struct/Grammar/Parser.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Parser.ml
@@ -24,18 +24,61 @@ module Make (Structure : Structure.S) = struct
open Structure;
open Sig.Grammar;
- module Stream = struct
- include Stream;
- value junk strm = Context.junk strm;
- value count strm = Context.bp strm;
- end;
+ module StreamOrig = Stream;
+
+ value njunk strm n =
+ for i = 1 to n do Stream.junk strm done;
- value add_loc c bp parse_fun strm =
- let x = parse_fun c strm in
- let ep = Context.loc_ep c in
+ value loc_bp = Tools.get_cur_loc;
+ value loc_ep = Tools.get_prev_loc;
+ value drop_prev_loc = Tools.drop_prev_loc;
+
+ value add_loc bp parse_fun strm =
+ let x = parse_fun strm in
+ let ep = loc_ep strm in
let loc = Loc.merge bp ep in
(x, loc);
+ value stream_peek_nth strm n =
+ let rec loop i = fun
+ [ [x :: xs] -> if i = 1 then Some x else loop (i - 1) xs
+ | [] -> None ]
+ in
+ loop n (Stream.npeek n strm);
+
+ (* We don't want Stream's functions to be used implictly. *)
+ module Stream = struct
+ type t 'a = StreamOrig.t 'a;
+ exception Failure = StreamOrig.Failure;
+ exception Error = StreamOrig.Error;
+ value peek = StreamOrig.peek;
+ value junk = StreamOrig.junk;
+
+ value dup strm =
+ (* This version of peek_nth is off-by-one from Stream.peek_nth *)
+ let peek_nth n =
+ loop n (Stream.npeek (n + 1) strm) where rec loop n =
+ fun
+ [ [] -> None
+ | [x] -> if n = 0 then Some x else None
+ | [_ :: l] -> loop (n - 1) l ]
+ in
+ Stream.from peek_nth;
+ end;
+
+ value try_parser ps strm =
+ let strm' = Stream.dup strm in
+ let r =
+ try ps strm'
+ with
+ [ Stream.Error _ | Loc.Exc_located _ (Stream.Error _) ->
+ raise Stream.Failure
+ | exc -> raise exc ]
+ in do {
+ njunk strm (StreamOrig.count strm');
+ r;
+ };
+
value level_number entry lab =
let rec lookup levn =
fun
@@ -73,60 +116,57 @@ module Make (Structure : Structure.S) = struct
| _ -> raise Stream.Failure ]
;
- value continue entry loc a s c son p1 =
+ value continue entry loc a s son p1 =
parser
- [: a = (entry_of_symb entry s).econtinue 0 loc a c;
+ [: a = (entry_of_symb entry s).econtinue 0 loc a;
act = p1 ?? Failed.tree_failed entry a s son :] ->
Action.mk (fun _ -> Action.getf act a)
;
(* PR#4603, PR#4330, PR#4551:
- Here Context.loc_bp replaced Context.loc_ep to fix all these bugs.
+ Here loc_bp replaced get_loc_ep to fix all these bugs.
If you do change it again look at these bugs. *)
- value skip_if_empty c bp _ =
- if Context.loc_bp c = bp then Action.mk (fun _ -> raise Stream.Failure)
+ value skip_if_empty bp strm =
+ if loc_bp strm = bp then Action.mk (fun _ -> raise Stream.Failure)
else
raise Stream.Failure
;
- value do_recover parser_of_tree entry nlevn alevn loc a s c son =
+ value do_recover parser_of_tree entry nlevn alevn loc a s son =
parser
- [ [: a = parser_of_tree entry nlevn alevn (top_tree entry son) c :] -> a
- | [: a = skip_if_empty c loc :] -> a
+ [ [: a = parser_of_tree entry nlevn alevn (top_tree entry son) :] -> a
+ | [: a = skip_if_empty loc :] -> a
| [: a =
- continue entry loc a s c son
- (parser_of_tree entry nlevn alevn son c) :] ->
+ continue entry loc a s son
+ (parser_of_tree entry nlevn alevn son) :] ->
a ]
;
- value recover parser_of_tree entry nlevn alevn loc a s c son strm =
+ value recover parser_of_tree entry nlevn alevn loc a s son strm =
if strict_parsing.val then raise (Stream.Error (Failed.tree_failed entry a s son))
else
let _ =
- if strict_parsing_warning.val then
- do {
+ if strict_parsing_warning.val then begin
let msg = Failed.tree_failed entry a s son;
Format.eprintf "Warning: trying to recover from syntax error";
if entry.ename <> "" then Format.eprintf " in [%s]" entry.ename else ();
Format.eprintf "\n%s%a@." msg Loc.print loc;
- } else () in
- do_recover parser_of_tree entry nlevn alevn loc a s c son strm
+ end else () in
+ do_recover parser_of_tree entry nlevn alevn loc a s son strm
;
value rec parser_of_tree entry nlevn alevn =
fun
- [ DeadEnd -> fun _ -> parser []
- | LocAct act _ -> fun _ -> parser [: :] -> act
+ [ DeadEnd -> parser []
+ | LocAct act _ -> parser [: :] -> act
| Node {node = Sself; son = LocAct act _; brother = DeadEnd} ->
- fun c ->
- parser [: a = entry.estart alevn c :] -> Action.getf act a
+ parser [: a = entry.estart alevn :] -> Action.getf act a
| Node {node = Sself; son = LocAct act _; brother = bro} ->
let p2 = parser_of_tree entry nlevn alevn bro in
- fun c ->
- parser
- [ [: a = entry.estart alevn c :] -> Action.getf act a
- | [: a = p2 c :] -> a ]
+ parser
+ [ [: a = entry.estart alevn :] -> Action.getf act a
+ | [: a = p2 :] -> a ]
| Node {node = s; son = son; brother = DeadEnd} ->
let tokl =
match s with
@@ -138,8 +178,10 @@ module Make (Structure : Structure.S) = struct
let ps = parser_of_symbol entry nlevn s in
let p1 = parser_of_tree entry nlevn alevn son in
let p1 = parser_cont p1 entry nlevn alevn s son in
- fun c ->
- parser bp [: a = ps c; act = p1 c bp a :] -> Action.getf act a
+ fun strm ->
+ let bp = loc_bp strm in
+ match strm with parser
+ [: a = ps; act = p1 bp a :] -> Action.getf act a
| Some (tokl, last_tok, son) ->
let p1 = parser_of_tree entry nlevn alevn son in
let p1 = parser_cont p1 entry nlevn alevn last_tok son in
@@ -156,23 +198,23 @@ module Make (Structure : Structure.S) = struct
let p1 = parser_of_tree entry nlevn alevn son in
let p1 = parser_cont p1 entry nlevn alevn s son in
let p2 = parser_of_tree entry nlevn alevn bro in
- fun c ->
- parser bp
- [ [: a = ps c; act = p1 c bp a :] -> Action.getf act a
- | [: a = p2 c :] -> a ]
+ fun strm ->
+ let bp = loc_bp strm in
+ match strm with parser
+ [ [: a = ps; act = p1 bp a :] -> Action.getf act a
+ | [: a = p2 :] -> a ]
| Some (tokl, last_tok, son) ->
let p1 = parser_of_tree entry nlevn alevn son in
let p1 = parser_cont p1 entry nlevn alevn last_tok son in
let p1 = parser_of_token_list p1 tokl in
let p2 = parser_of_tree entry nlevn alevn bro in
- fun c ->
- parser
- [ [: a = p1 c :] -> a
- | [: a = p2 c :] -> a ] ] ]
- and parser_cont p1 entry nlevn alevn s son c loc a =
+ parser
+ [ [: a = p1 :] -> a
+ | [: a = p2 :] -> a ] ] ]
+ and parser_cont p1 entry nlevn alevn s son loc a =
parser
- [ [: a = p1 c :] -> a
- | [: a = recover parser_of_tree entry nlevn alevn loc a s c son :] -> a
+ [ [: a = p1 :] -> a
+ | [: a = recover parser_of_tree entry nlevn alevn loc a s son :] -> a
| [: :] -> raise (Stream.Error (Failed.tree_failed entry a s son)) ]
and parser_of_token_list p1 tokl =
loop 1 tokl where rec loop n =
@@ -180,133 +222,132 @@ module Make (Structure : Structure.S) = struct
[ [Stoken (tematch, _) :: tokl] ->
match tokl with
[ [] ->
- let ps c _ =
- match Context.peek_nth c n with
- [ Some (tok, _) when tematch tok -> do { Context.njunk c n; Action.mk tok }
+ let ps strm =
+ match stream_peek_nth strm n with
+ [ Some (tok, _) when tematch tok -> (njunk strm n; Action.mk tok)
| _ -> raise Stream.Failure ]
in
- fun c ->
- parser bp [: a = ps c; act = p1 c bp a :] -> Action.getf act a
+ fun strm ->
+ let bp = loc_bp strm in
+ match strm with parser
+ [: a = ps; act = p1 bp a :] -> Action.getf act a
| _ ->
- let ps c _ =
- match Context.peek_nth c n with
+ let ps strm =
+ match stream_peek_nth strm n with
[ Some (tok, _) when tematch tok -> tok
| _ -> raise Stream.Failure ]
in
let p1 = loop (n + 1) tokl in
- fun c ->
- parser [: tok = ps c; s :] ->
- let act = p1 c s in Action.getf act tok ]
+ parser [: tok = ps; s :] ->
+ let act = p1 s in Action.getf act tok ]
| [Skeyword kwd :: tokl] ->
match tokl with
[ [] ->
- let ps c _ =
- match Context.peek_nth c n with
+ let ps strm =
+ match stream_peek_nth strm n with
[ Some (tok, _) when Token.match_keyword kwd tok ->
- do { Context.njunk c n; Action.mk tok }
+ (njunk strm n; Action.mk tok)
| _ -> raise Stream.Failure ]
in
- fun c ->
- parser bp [: a = ps c; act = p1 c bp a :] -> Action.getf act a
+ fun strm ->
+ let bp = loc_bp strm in
+ match strm with parser
+ [: a = ps; act = p1 bp a :] -> Action.getf act a
| _ ->
- let ps c _ =
- match Context.peek_nth c n with
+ let ps strm =
+ match stream_peek_nth strm n with
[ Some (tok, _) when Token.match_keyword kwd tok -> tok
| _ -> raise Stream.Failure ]
in
let p1 = loop (n + 1) tokl in
- fun c ->
- parser [: tok = ps c; s :] ->
- let act = p1 c s in Action.getf act tok ]
+ parser [: tok = ps; s :] ->
+ let act = p1 s in Action.getf act tok ]
| _ -> invalid_arg "parser_of_token_list" ]
and parser_of_symbol entry nlevn =
fun
[ Smeta _ symbl act ->
let act = Obj.magic act entry symbl in
let pl = List.map (parser_of_symbol entry nlevn) symbl in
- fun c ->
- Obj.magic (List.fold_left (fun act p -> Obj.magic act (p c)) act pl)
+ Obj.magic (List.fold_left (fun act p -> Obj.magic act p) act pl)
| Slist0 s ->
let ps = parser_of_symbol entry nlevn s in
- let rec loop c al =
+ let rec loop al =
parser
- [ [: a = ps c; s :] -> loop c [a :: al] s
+ [ [: a = ps; s :] -> loop [a :: al] s
| [: :] -> al ]
in
- fun c -> parser [: a = loop c [] :] -> Action.mk (List.rev a)
+ parser [: a = loop [] :] -> Action.mk (List.rev a)
| Slist0sep symb sep ->
let ps = parser_of_symbol entry nlevn symb in
let pt = parser_of_symbol entry nlevn sep in
- let rec kont c al =
+ let rec kont al =
parser
- [ [: v = pt c; a = ps c ?? Failed.symb_failed entry v sep symb;
+ [ [: v = pt; a = ps ?? Failed.symb_failed entry v sep symb;
s :] ->
- kont c [a :: al] s
+ kont [a :: al] s
| [: :] -> al ]
in
- fun c ->
- parser
- [ [: a = ps c; s :] -> Action.mk (List.rev (kont c [a] s))
- | [: :] -> Action.mk [] ]
+ parser
+ [ [: a = ps; s :] -> Action.mk (List.rev (kont [a] s))
+ | [: :] -> Action.mk [] ]
| Slist1 s ->
let ps = parser_of_symbol entry nlevn s in
- let rec loop c al =
+ let rec loop al =
parser
- [ [: a = ps c; s :] -> loop c [a :: al] s
+ [ [: a = ps; s :] -> loop [a :: al] s
| [: :] -> al ]
in
- fun c ->
- parser [: a = ps c; s :] -> Action.mk (List.rev (loop c [a] s))
+ parser [: a = ps; s :] -> Action.mk (List.rev (loop [a] s))
| Slist1sep symb sep ->
let ps = parser_of_symbol entry nlevn symb in
let pt = parser_of_symbol entry nlevn sep in
- let rec kont c al =
+ let rec kont al =
parser
- [ [: v = pt c;
+ [ [: v = pt;
a =
parser
- [ [: a = ps c :] -> a
- | [: a = parse_top_symb' entry symb c :] -> a
+ [ [: a = ps :] -> a
+ | [: a = parse_top_symb entry symb :] -> a
| [: :] ->
raise (Stream.Error (Failed.symb_failed entry v sep symb)) ];
s :] ->
- kont c [a :: al] s
+ kont [a :: al] s
| [: :] -> al ]
in
- fun c ->
- parser [: a = ps c; s :] -> Action.mk (List.rev (kont c [a] s))
+ parser [: a = ps; s :] -> Action.mk (List.rev (kont [a] s))
| Sopt s ->
let ps = parser_of_symbol entry nlevn s in
- fun c ->
- parser
- [ [: a = ps c :] -> Action.mk (Some a)
- | [: :] -> Action.mk None ]
+ parser
+ [ [: a = ps :] -> Action.mk (Some a)
+ | [: :] -> Action.mk None ]
+ | Stry s ->
+ let ps = parser_of_symbol entry nlevn s in
+ try_parser ps
| Stree t ->
let pt = parser_of_tree entry 1 0 t in
- fun c ->
- parser bp [: (act, loc) = add_loc c bp pt :] ->
+ fun strm ->
+ let bp = loc_bp strm in
+ match strm with parser
+ [: (act, loc) = add_loc bp pt :] ->
Action.getf act loc
- | Snterm e -> fun c -> parser [: a = e.estart 0 c :] -> a
+ | Snterm e -> parser [: a = e.estart 0 :] -> a
| Snterml e l ->
- fun c -> parser [: a = e.estart (level_number e l) c :] -> a
- | Sself -> fun c -> parser [: a = entry.estart 0 c :] -> a
- | Snext -> fun c -> parser [: a = entry.estart nlevn c :] -> a
+ parser [: a = e.estart (level_number e l) :] -> a
+ | Sself -> parser [: a = entry.estart 0 :] -> a
+ | Snext -> parser [: a = entry.estart nlevn :] -> a
| Skeyword kwd ->
- fun _ ->
- parser
- [: `(tok, _) when Token.match_keyword kwd tok :] -> Action.mk tok
+ parser
+ [: `(tok, _) when Token.match_keyword kwd tok :] ->
+ Action.mk tok
| Stoken (f, _) ->
- fun _ -> parser [: `(tok, _) when f tok :] -> Action.mk tok ]
- and parse_top_symb' entry symb c =
- parser_of_symbol entry 0 (top_symb entry symb) c
- and parse_top_symb entry symb =
- fun strm ->
- Context.call_with_ctx strm
- (fun c -> parse_top_symb' entry symb c (Context.stream c));
+ parser
+ [: `(tok,_) when f tok :] -> Action.mk tok ]
+ and parse_top_symb entry symb strm =
+ parser_of_symbol entry 0 (top_symb entry symb) strm;
value rec start_parser_of_levels entry clevn =
fun
- [ [] -> fun _ _ -> parser []
+ [ [] -> fun _ -> parser []
| [lev :: levs] ->
let p1 = start_parser_of_levels entry (succ clevn) levs in
match lev.lprefix with
@@ -320,20 +361,22 @@ module Make (Structure : Structure.S) = struct
let p2 = parser_of_tree entry (succ clevn) alevn tree in
match levs with
[ [] ->
- fun levn c ->
- parser bp
- [: (act, loc) = add_loc c bp p2; strm :] ->
+ fun levn strm ->
+ let bp = loc_bp strm in
+ match strm with parser
+ [: (act, loc) = add_loc bp p2; strm :] ->
let a = Action.getf act loc in
- entry.econtinue levn loc a c strm
+ entry.econtinue levn loc a strm
| _ ->
- fun levn c strm ->
- if levn > clevn then p1 levn c strm
+ fun levn strm ->
+ if levn > clevn then p1 levn strm
else
- match strm with parser bp
- [ [: (act, loc) = add_loc c bp p2 :] ->
+ let bp = loc_bp strm in
+ match strm with parser
+ [ [: (act, loc) = add_loc bp p2 :] ->
let a = Action.getf act loc in
- entry.econtinue levn loc a c strm
- | [: act = p1 levn c :] -> act ] ] ] ]
+ entry.econtinue levn loc a strm
+ | [: act = p1 levn :] -> act ] ] ] ]
;
value start_parser_of_entry entry =
@@ -341,11 +384,11 @@ module Make (Structure : Structure.S) = struct
match entry.edesc with
[ Dlevels [] -> Tools.empty_entry entry.ename
| Dlevels elev -> start_parser_of_levels entry 0 elev
- | Dparser p -> fun _ _ strm -> p strm ]
+ | Dparser p -> fun _ -> p ]
;
value rec continue_parser_of_levels entry clevn =
fun
- [ [] -> fun _ _ _ _ -> parser []
+ [ [] -> fun _ _ _ -> parser []
| [lev :: levs] ->
let p1 = continue_parser_of_levels entry (succ clevn) levs in
match lev.lsuffix with
@@ -357,14 +400,14 @@ module Make (Structure : Structure.S) = struct
| RightA -> clevn ]
in
let p2 = parser_of_tree entry (succ clevn) alevn tree in
- fun c levn bp a strm ->
- if levn > clevn then p1 c levn bp a strm
+ fun levn bp a strm ->
+ if levn > clevn then p1 levn bp a strm
else
match strm with parser
- [ [: act = p1 c levn bp a :] -> act
- | [: (act, loc) = add_loc c bp p2 :] ->
+ [ [: act = p1 levn bp a :] -> act
+ | [: (act, loc) = add_loc bp p2 :] ->
let a = Action.getf2 act a loc in
- entry.econtinue levn loc a c strm ] ] ]
+ entry.econtinue levn loc a strm ] ] ]
;
value continue_parser_of_entry entry =
@@ -372,11 +415,11 @@ module Make (Structure : Structure.S) = struct
match entry.edesc with
[ Dlevels elev ->
let p = continue_parser_of_levels entry 0 elev in
- fun levn bp a c ->
+ fun levn bp a ->
parser
- [ [: a = p c levn bp a :] -> a
+ [ [: a = p levn bp a :] -> a
| [: :] -> a ]
- | Dparser _ -> fun _ _ _ _ -> parser [] ]
+ | Dparser _ -> fun _ _ _ -> parser [] ]
;
end;
diff --git a/camlp4/Camlp4/Struct/Grammar/Parser.mli b/camlp4/Camlp4/Struct/Grammar/Parser.mli
index e5a3faaafc..7b7cbe5a2b 100644
--- a/camlp4/Camlp4/Struct/Grammar/Parser.mli
+++ b/camlp4/Camlp4/Struct/Grammar/Parser.mli
@@ -22,9 +22,8 @@
module Make (Structure : Structure.S) : sig
open Structure;
- open Context;
value add_loc :
- Context.t -> Loc.t -> (Context.t -> 'a -> 'b) -> 'a -> ('b * Loc.t);
+ Loc.t -> (token_stream -> 'b) -> token_stream -> ('b * Loc.t);
value level_number : internal_entry -> string -> int;
value strict_parsing : ref bool;
value strict_parsing_warning : ref bool;
@@ -35,33 +34,29 @@ module Make (Structure : Structure.S) : sig
value entry_of_symb :
internal_entry -> symbol -> internal_entry;
value continue :
- internal_entry -> Loc.t -> Action.t -> symbol -> Context.t -> tree ->
- (Stream.t (Token.t * Loc.t) -> Action.t) -> Stream.t (Token.t * Loc.t) -> Action.t;
+ internal_entry -> Loc.t -> Action.t -> symbol -> tree -> efun -> efun;
value do_recover :
- (internal_entry -> 'a -> 'b -> tree -> Context.t -> Stream.t (Token.t * Loc.t) -> Action.t) -> internal_entry ->
- 'a -> 'b -> Loc.t -> Action.t -> symbol -> Context.t -> tree -> Stream.t (Token.t * Loc.t) -> Action.t;
+ (internal_entry -> 'a -> 'b -> tree -> efun) -> internal_entry ->
+ 'a -> 'b -> Loc.t -> Action.t -> symbol -> tree -> efun;
value recover :
- (internal_entry -> 'a -> 'b -> tree -> Context.t -> Stream.t (Token.t * Loc.t) -> Action.t) -> internal_entry ->
- 'a -> 'b -> Loc.t -> Action.t -> symbol -> Context.t -> tree -> Stream.t (Token.t * Loc.t) -> Action.t;
+ (internal_entry -> 'a -> 'b -> tree -> efun) -> internal_entry ->
+ 'a -> 'b -> Loc.t -> Action.t -> symbol -> tree -> efun;
value parser_of_tree :
- internal_entry -> int -> int -> tree -> Context.t -> Stream.t (Token.t * Loc.t) -> Action.t;
+ internal_entry -> int -> int -> tree -> efun;
value parser_cont :
- (Context.t -> Stream.t (Token.t * Loc.t) -> Action.t) -> internal_entry -> int -> int -> symbol -> tree ->
- Context.t -> Loc.t -> Action.t -> Stream.t (Token.t * Loc.t) -> Action.t;
+ efun -> internal_entry -> int -> int -> symbol -> tree -> Loc.t -> Action.t -> efun;
value parser_of_token_list :
- (Context.t -> Loc.t -> Action.t -> Stream.t (Token.t * Loc.t) -> Action.t) -> list symbol -> Context.t -> Stream.t (Token.t * Loc.t) -> Action.t;
+ (Loc.t -> Action.t -> efun) -> list symbol -> efun;
value parser_of_symbol :
- internal_entry -> int -> symbol -> Context.t -> Stream.t (Token.t * Loc.t) -> Action.t;
- value parse_top_symb' :
- internal_entry -> symbol -> Context.t -> Stream.t (Token.t * Loc.t) -> Action.t;
+ internal_entry -> int -> symbol -> efun;
value parse_top_symb :
- internal_entry -> symbol -> Stream.t (Token.t * Loc.t) -> Action.t;
+ internal_entry -> symbol -> efun;
value start_parser_of_levels :
- internal_entry -> int -> list level -> int -> Context.t -> Stream.t (Token.t * Loc.t) -> Action.t;
+ internal_entry -> int -> list level -> int -> efun;
value start_parser_of_entry :
- internal_entry -> int -> Context.t -> Stream.t (Token.t * Loc.t) -> Action.t;
+ internal_entry -> int -> efun;
value continue_parser_of_levels :
- internal_entry -> int -> list level -> Context.t -> int -> Loc.t -> 'a -> Stream.t (Token.t * Loc.t) -> Action.t;
+ internal_entry -> int -> list level -> int -> Loc.t -> 'a -> efun;
value continue_parser_of_entry :
- internal_entry -> int -> Loc.t -> Action.t -> Context.t -> Stream.t (Token.t * Loc.t) -> Action.t;
+ internal_entry -> int -> Loc.t -> Action.t -> efun;
end;
diff --git a/camlp4/Camlp4/Struct/Grammar/Print.ml b/camlp4/Camlp4/Struct/Grammar/Print.ml
index f5a9723029..77000c88aa 100644
--- a/camlp4/Camlp4/Struct/Grammar/Print.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Print.ml
@@ -39,6 +39,7 @@ module Make (Structure : Structure.S) = struct
| Slist1sep s t ->
fprintf ppf "LIST1 %a SEP %a" print_symbol1 s print_symbol1 t
| Sopt s -> fprintf ppf "OPT %a" print_symbol1 s
+ | Stry s -> fprintf ppf "TRY %a" print_symbol1 s
| Snterml e l -> fprintf ppf "%s@ LEVEL@ %S" e.ename l
| Snterm _ | Snext | Sself | Stree _ | Stoken _ | Skeyword _ as s ->
print_symbol1 ppf s ]
@@ -64,7 +65,7 @@ module Make (Structure : Structure.S) = struct
| Skeyword s -> fprintf ppf "%S" s
| Stree t -> print_level ppf pp_print_space (flatten_tree t)
| Smeta _ _ _ | Snterml _ _ | Slist0 _ | Slist0sep _ _ | Slist1 _ |
- Slist1sep _ _ | Sopt _ as s ->
+ Slist1sep _ _ | Sopt _ | Stry _ as s ->
fprintf ppf "(%a)" print_symbol s ]
and print_rule ppf symbols =
do {
@@ -174,6 +175,7 @@ module MakeDump (Structure : Structure.S) = struct
| Slist1sep s t ->
fprintf ppf "LIST1 %a SEP %a" print_symbol1 s print_symbol1 t
| Sopt s -> fprintf ppf "OPT %a" print_symbol1 s
+ | Stry s -> fprintf ppf "TRY %a" print_symbol1 s
| Snterml e l -> fprintf ppf "%s@ LEVEL@ %S" e.ename l
| Snterm _ | Snext | Sself | Stree _ | Stoken _ | Skeyword _ as s ->
print_symbol1 ppf s ]
@@ -199,7 +201,7 @@ module MakeDump (Structure : Structure.S) = struct
| Skeyword s -> fprintf ppf "%S" s
| Stree t -> print_tree ppf t
| Smeta _ _ _ | Snterml _ _ | Slist0 _ | Slist0sep _ _ | Slist1 _ |
- Slist1sep _ _ | Sopt _ as s ->
+ Slist1sep _ _ | Sopt _ | Stry _ as s ->
fprintf ppf "(%a)" print_symbol s ]
and print_rule ppf symbols =
do {
diff --git a/camlp4/Camlp4/Struct/Grammar/Search.ml b/camlp4/Camlp4/Struct/Grammar/Search.ml
index 870a6f7fb8..bc4ed301ad 100644
--- a/camlp4/Camlp4/Struct/Grammar/Search.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Search.ml
@@ -49,7 +49,7 @@ value tree_in_entry prev_symb tree =
and search_symbol symb =
match symb with
[ Snterm _ | Snterml _ _ | Slist0 _ | Slist0sep _ _ | Slist1 _ |
- Slist1sep _ _ | Sopt _ | Stoken _ | Stree _ | Skeyword _
+ Slist1sep _ _ | Sopt _ | Stry _ | Stoken _ | Stree _ | Skeyword _
when symb == prev_symb ->
Some symb
| Slist0 symb ->
@@ -78,6 +78,10 @@ value tree_in_entry prev_symb tree =
match search_symbol symb with
[ Some symb -> Some (Sopt symb)
| None -> None ]
+ | Stry symb ->
+ match search_symbol symb with
+ [ Some symb -> Some (Stry symb)
+ | None -> None ]
| Stree t ->
match search_tree t with
[ Some t -> Some (Stree t)
diff --git a/camlp4/Camlp4/Struct/Grammar/Static.ml b/camlp4/Camlp4/Struct/Grammar/Static.ml
index 7d7b51effc..a94c9fa1c5 100644
--- a/camlp4/Camlp4/Struct/Grammar/Static.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Static.ml
@@ -28,6 +28,7 @@ module Make (Lexer : Sig.Lexer)
module Delete = Delete.Make Structure;
module Insert = Insert.Make Structure;
module Fold = Fold.Make Structure;
+ module Tools = Tools.Make Structure;
include Structure;
value gram =
@@ -59,7 +60,7 @@ module Make (Lexer : Sig.Lexer)
value lex_string loc str = lex loc (Stream.of_string str);
- value filter ts = Token.Filter.filter gram.gfilter ts;
+ value filter ts = Tools.keep_prev_loc (Token.Filter.filter gram.gfilter ts);
value parse_tokens_after_filter entry ts = Entry.E.parse_tokens_after_filter entry ts;
diff --git a/camlp4/Camlp4/Struct/Grammar/Structure.ml b/camlp4/Camlp4/Struct/Grammar/Structure.ml
index 12023b7d15..c2afdd6395 100644
--- a/camlp4/Camlp4/Struct/Grammar/Structure.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Structure.ml
@@ -25,7 +25,6 @@ module type S = sig
module Lexer : Sig.Lexer
with module Loc = Loc
and module Token = Token;
- module Context : Context.S with module Token = Token;
module Action : Sig.Grammar.Action;
type gram =
@@ -35,7 +34,13 @@ module type S = sig
warning_verbose : ref bool;
error_verbose : ref bool };
- type efun = Context.t -> Stream.t (Token.t * Loc.t) -> Action.t;
+ type token_info = { prev_loc : Loc.t
+ ; cur_loc : Loc.t
+ };
+
+ type token_stream = Stream.t (Token.t * token_info);
+
+ type efun = token_stream -> Action.t;
type token_pattern = ((Token.t -> bool) * string);
@@ -47,7 +52,7 @@ module type S = sig
edesc : mutable desc }
and desc =
[ Dlevels of list level
- | Dparser of Stream.t (Token.t * Loc.t) -> Action.t ]
+ | Dparser of token_stream -> Action.t ]
and level =
{ assoc : assoc ;
lname : option string ;
@@ -62,6 +67,7 @@ module type S = sig
| Slist1 of symbol
| Slist1sep of symbol and symbol
| Sopt of symbol
+ | Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
@@ -118,9 +124,13 @@ module Make (Lexer : Sig.Lexer) = struct
warning_verbose : ref bool;
error_verbose : ref bool };
- module Context = Context.Make Token;
+ type token_info = { prev_loc : Loc.t
+ ; cur_loc : Loc.t
+ };
+
+ type token_stream = Stream.t (Token.t * token_info);
- type efun = Context.t -> Stream.t (Token.t * Loc.t) -> Action.t;
+ type efun = token_stream -> Action.t;
type token_pattern = ((Token.t -> bool) * string);
@@ -132,7 +142,7 @@ module Make (Lexer : Sig.Lexer) = struct
edesc : mutable desc }
and desc =
[ Dlevels of list level
- | Dparser of Stream.t (Token.t * Loc.t) -> Action.t ]
+ | Dparser of token_stream -> Action.t ]
and level =
{ assoc : assoc ;
lname : option string ;
@@ -147,6 +157,7 @@ module Make (Lexer : Sig.Lexer) = struct
| Slist1 of symbol
| Slist1sep of symbol and symbol
| Sopt of symbol
+ | Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
@@ -177,6 +188,7 @@ module Make (Lexer : Sig.Lexer) = struct
(Stream.t 'a -> 'b) -> (Stream.t 'a -> unit) -> Stream.t 'a -> 'c;
value get_filter g = g.gfilter;
+ value token_location r = r.cur_loc;
type not_filtered 'a = 'a;
value using { gkeywords = table; gfilter = filter } kwd =
@@ -217,7 +229,7 @@ value iter_entry f e =
fun
[ Smeta _ sl _ -> List.iter do_symbol sl
| Snterm e | Snterml e _ -> do_entry e
- | Slist0 s | Slist1 s | Sopt s -> do_symbol s
+ | Slist0 s | Slist1 s | Sopt s | Stry s -> do_symbol s
| Slist0sep s1 s2 | Slist1sep s1 s2 -> do { do_symbol s1; do_symbol s2 }
| Stree t -> do_tree t
| Sself | Snext | Stoken _ | Stoken_fun _ -> () ]
@@ -251,7 +263,7 @@ value fold_entry f e init =
fun
[ Smeta _ sl _ -> List.fold_left do_symbol accu sl
| Snterm e | Snterml e _ -> do_entry accu e
- | Slist0 s | Slist1 s | Sopt s -> do_symbol accu s
+ | Slist0 s | Slist1 s | Sopt s | Stry s -> do_symbol accu s
| Slist0sep s1 s2 | Slist1sep s1 s2 ->
let accu = do_symbol accu s1 in
do_symbol accu s2
diff --git a/camlp4/Camlp4/Struct/Grammar/Tools.ml b/camlp4/Camlp4/Struct/Grammar/Tools.ml
index bcb933b8cb..4dae7e713f 100644
--- a/camlp4/Camlp4/Struct/Grammar/Tools.ml
+++ b/camlp4/Camlp4/Struct/Grammar/Tools.ml
@@ -16,12 +16,109 @@
* - Daniel de Rauglaudre: initial version
* - Nicolas Pouillard: refactoring
*)
+
+(* BEGIN ugly hack. See 15 lines down. FIXME *)
+
+type prev_locs = {
+ pl_strm : mutable Obj.t;
+ pl_locs : mutable list (int * Obj.t)
+};
+
+value prev_locs = ref ([] : list prev_locs);
+
+(* END ugly hack FIXME *)
+
module Make (Structure : Structure.S) = struct
open Structure;
- value empty_entry ename _ _ _ =
+ value empty_entry ename _ =
raise (Stream.Error ("entry [" ^ ename ^ "] is empty"));
+ value rec stream_map f = parser
+ [ [: ` x; strm :] -> [: ` (f x); stream_map f strm :]
+ | [: :] -> [: :] ];
+
+(* ******************************************************************* *)
+(* Ugly hack to prevent PR#5090. See how to do this properly after
+ the 3.12.0 release. FIXME.
+*)
+
+value keep_prev_loc strm =
+ match Stream.peek strm with
+ [ None -> [: :]
+ | Some (_, init_loc) ->
+ let myrecord = { pl_strm = Obj.repr [: :];
+ pl_locs = [(0, Obj.repr init_loc)] }
+ in
+ let rec go prev_loc = parser
+ [ [: `(tok, cur_loc); strm :] -> do {
+ myrecord.pl_locs := myrecord.pl_locs
+ @ [ (Stream.count strm, Obj.repr cur_loc) ];
+ [: `(tok, {prev_loc; cur_loc}); go cur_loc strm :] }
+ | [: :] -> do {
+ prev_locs.val := List.filter ((!=) myrecord) prev_locs.val;
+ [: :] } ]
+ in
+ let result = go init_loc strm in
+ do {
+ prev_locs.val := [myrecord :: prev_locs.val];
+ myrecord.pl_strm := Obj.repr result;
+ result } ];
+
+value drop_prev_loc strm = stream_map (fun (tok,r) -> (tok,r)) strm;
+
+value get_cur_loc strm =
+ match Stream.peek strm with
+ [ Some (_,r) -> r.cur_loc
+ | None -> Loc.ghost ];
+
+value get_prev_loc strm =
+ let c = Stream.count strm in
+ let rec drop l =
+ match l with
+ [ [] -> []
+ | [(i, _) :: ll] -> if i < c then drop ll else l ]
+ in
+ let rec find l =
+ match l with
+ [ [] -> None
+ | [h::t] -> if h.pl_strm == Obj.repr strm then Some h else find t ]
+ in
+ match find prev_locs.val with
+ [ None -> Loc.ghost
+ | Some r -> do {
+ r.pl_locs := drop r.pl_locs;
+ match r.pl_locs with
+ [ [] -> Loc.ghost
+ | [(i, loc) :: _] ->
+ if i = c then (Obj.obj loc : Loc.t) else Loc.ghost ] } ];
+
+(* ******************************************************************* *)
+(* END of ugly hack. This is the previous code.
+
+ value keep_prev_loc strm =
+ match Stream.peek strm with
+ [ None -> [: :]
+ | Some (_,init_loc) ->
+ let rec go prev_loc = parser
+ [ [: `(tok,cur_loc); strm :] -> [: `(tok,{prev_loc;cur_loc}); go cur_loc strm :]
+ | [: :] -> [: :] ]
+ in go init_loc strm ];
+
+ value drop_prev_loc strm = stream_map (fun (tok,r) -> (tok,r.cur_loc)) strm;
+
+ value get_cur_loc strm =
+ match Stream.peek strm with
+ [ Some (_,r) -> r.cur_loc
+ | None -> Loc.ghost ];
+
+ value get_prev_loc strm =
+ match Stream.peek strm with
+ [ Some (_,r) -> r.prev_loc
+ | None -> Loc.ghost ];
+*)
+
+
value is_level_labelled n lev =
match lev.lname with
[ Some n1 -> n = n1
@@ -51,13 +148,13 @@ module Make (Structure : Structure.S) = struct
| (Snterm e1, Sself) -> e1.ename = entry.ename
| (Sself, Snterm e2) -> entry.ename = e2.ename
| (Snterml e1 l1, Snterml e2 l2) -> e1.ename = e2.ename && l1 = l2
- | (Slist0 s1, Slist0 s2) -> eq_symbols s1 s2
- | (Slist0sep s1 sep1, Slist0sep s2 sep2) ->
+ | (Slist0 s1, Slist0 s2) |
+ (Slist1 s1, Slist1 s2) |
+ (Sopt s1, Sopt s2) |
+ (Stry s1, Stry s2) -> eq_symbols s1 s2
+ | (Slist0sep s1 sep1, Slist0sep s2 sep2) |
+ (Slist1sep s1 sep1, Slist1sep s2 sep2) ->
eq_symbols s1 s2 && eq_symbols sep1 sep2
- | (Slist1 s1, Slist1 s2) -> eq_symbols s1 s2
- | (Slist1sep s1 sep1, Slist1sep s2 sep2) ->
- eq_symbols s1 s2 && eq_symbols sep1 sep2
- | (Sopt s1, Sopt s2) -> eq_symbols s1 s2
| (Stree t1, Stree t2) -> eq_trees t1 t2
| (Stoken (_, s1), Stoken (_, s2)) -> eq_Stoken_ids s1 s2
| _ -> s1 = s2 ]
@@ -75,13 +172,13 @@ module Make (Structure : Structure.S) = struct
match (s1, s2) with
[ (Snterm e1, Snterm e2) -> e1 == e2
| (Snterml e1 l1, Snterml e2 l2) -> e1 == e2 && l1 = l2
- | (Slist0 s1, Slist0 s2) -> eq_symbol s1 s2
- | (Slist0sep s1 sep1, Slist0sep s2 sep2) ->
- eq_symbol s1 s2 && eq_symbol sep1 sep2
- | (Slist1 s1, Slist1 s2) -> eq_symbol s1 s2
- | (Slist1sep s1 sep1, Slist1sep s2 sep2) ->
+ | (Slist0 s1, Slist0 s2) |
+ (Slist1 s1, Slist1 s2) |
+ (Sopt s1, Sopt s2) |
+ (Stry s1, Stry s2) -> eq_symbol s1 s2
+ | (Slist0sep s1 sep1, Slist0sep s2 sep2) |
+ (Slist1sep s1 sep1, Slist1sep s2 sep2) ->
eq_symbol s1 s2 && eq_symbol sep1 sep2
- | (Sopt s1, Sopt s2) -> eq_symbol s1 s2
| (Stree _, Stree _) -> False
| (Stoken (_, s1), Stoken (_, s2)) -> eq_Stoken_ids s1 s2
| _ -> s1 = s2 ]
diff --git a/camlp4/Camlp4/Struct/Lexer.mll b/camlp4/Camlp4/Struct/Lexer.mll
index 40a0822337..b8e97efefb 100644
--- a/camlp4/Camlp4/Struct/Lexer.mll
+++ b/camlp4/Camlp4/Struct/Lexer.mll
@@ -420,7 +420,7 @@ module Make (Token : Sig.Camlp4Token)
and dollar c = parse
| '$' { set_start_p c; ANTIQUOT("", "") }
- | ('`'? (identchar*|'.'+) as name) ':'
+ | ('`'? (identchar*|['.' '!']+) as name) ':'
{ with_curr_loc (antiquot name) (shift (1 + String.length name) c) }
| _ { store_parse (antiquot "") c }
diff --git a/camlp4/Camlp4Filters/Camlp4FoldGenerator.ml b/camlp4/Camlp4Filters/Camlp4FoldGenerator.ml
index c0af8e53a7..66c48d7e54 100644
--- a/camlp4/Camlp4Filters/Camlp4FoldGenerator.ml
+++ b/camlp4/Camlp4Filters/Camlp4FoldGenerator.ml
@@ -427,7 +427,7 @@ module Make (AstFilters : Camlp4.Sig.AstFilters) = struct
let params' = List.map string_of_type_param params in
let funs = lambda (fun_of_ctyp id1 ctyp) params' in
let ty = method_type_of_type_decl type_decl in
- let priv = if priv then Ast.BTrue else Ast.BFalse in
+ let priv = if priv then <:private_flag< private >> else <:private_flag<>> in
<:class_str_item< method $private:priv$ $lid:id1$ : $ty$ = $funs$; $acc$ >>
and ctyp_name_of_name_params name params =
diff --git a/camlp4/Camlp4Filters/Camlp4MetaGenerator.ml b/camlp4/Camlp4Filters/Camlp4MetaGenerator.ml
index 6eb849995b..a49cbf32ff 100644
--- a/camlp4/Camlp4Filters/Camlp4MetaGenerator.ml
+++ b/camlp4/Camlp4Filters/Camlp4MetaGenerator.ml
@@ -91,7 +91,8 @@ value mk_meta m =
let init = m_id m (meta_ident m m_name_cons) in
let p = patt_of_data_ctor_decl m_name_cons tyargs in
let e =
- if cons = "BAnt" || cons = "OAnt" || cons = "LAnt" then
+ if List.mem cons ["BAnt"; "OAnt"; "LAnt"; "ReAnt"; "DiAnt";
+ "MuAnt"; "PrAnt"; "ViAnt"; "OvAnt"; "RvAnt"] then
<:expr< $id:m.ant$ _loc x0 >>
else if is_antiquot_data_ctor cons then
expr_of_data_ctor_decl m.ant tyargs
diff --git a/camlp4/Camlp4Parsers/Camlp4GrammarParser.ml b/camlp4/Camlp4Parsers/Camlp4GrammarParser.ml
index 2aa4334537..3d64b1ae38 100644
--- a/camlp4/Camlp4Parsers/Camlp4GrammarParser.ml
+++ b/camlp4/Camlp4Parsers/Camlp4GrammarParser.ml
@@ -61,6 +61,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
| TXnext of loc
| TXnterm of loc and name 'e and option string
| TXopt of loc and text 'e 'p
+ | TXtry of loc and text 'e 'p
| TXrules of loc and list (list (text 'e 'p) * 'e)
| TXself of loc
| TXkwd of loc and string
@@ -349,6 +350,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
$uid:gm$.Snterm
($uid:gm$.Entry.obj ($n.expr$ : $uid:gm$.Entry.t '$n.tvar$)) >> ]
| TXopt _loc t -> <:expr< $uid:gm$.Sopt $make_expr entry "" t$ >>
+ | TXtry _loc t -> <:expr< $uid:gm$.Stry $make_expr entry "" t$ >>
| TXrules _loc rl ->
<:expr< $uid:gm$.srules $entry.expr$ $make_expr_rules _loc entry rl ""$ >>
| TXself _loc -> <:expr< $uid:gm$.Sself >>
@@ -769,7 +771,10 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
let () = check_not_tok s in
let styp = STapp _loc (STlid _loc "option") s.styp in
let text = TXopt _loc s.text in
- {used = s.used; text = text; styp = styp; pattern = None} ]
+ {used = s.used; text = text; styp = styp; pattern = None}
+ | UIDENT "TRY"; s = SELF ->
+ let text = TXtry _loc s.text in
+ {used = s.used; text = text; styp = s.styp; pattern = None} ]
| [ UIDENT "SELF" ->
{used = []; text = TXself _loc; styp = STself _loc "SELF"; pattern = None}
| UIDENT "NEXT" ->
diff --git a/camlp4/Camlp4Parsers/Camlp4ListComprehension.ml b/camlp4/Camlp4Parsers/Camlp4ListComprehension.ml
index 23db86855c..874426b10d 100644
--- a/camlp4/Camlp4Parsers/Camlp4ListComprehension.ml
+++ b/camlp4/Camlp4Parsers/Camlp4ListComprehension.ml
@@ -123,8 +123,9 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
;
item:
- [ [ test_patt_lessminus;
- p = patt; "<-" ; e = expr LEVEL "top" -> `gen (p, e)
+ (* NP: These rules rely on being on this particular order. Which should
+ be improved. *)
+ [ [ p = TRY [p = patt; "<-" -> p] ; e = expr LEVEL "top" -> `gen (p, e)
| e = expr LEVEL "top" -> `cond e ] ]
;
diff --git a/camlp4/Camlp4Parsers/Camlp4OCamlParser.ml b/camlp4/Camlp4Parsers/Camlp4OCamlParser.ml
index 1892ab0ca2..c7a510a52a 100644
--- a/camlp4/Camlp4Parsers/Camlp4OCamlParser.ml
+++ b/camlp4/Camlp4Parsers/Camlp4OCamlParser.ml
@@ -59,20 +59,6 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
(Ast.loc_of_expr e2) in
<:expr< do { $e1$; $e2$ } >> ];
- value test_constr_decl =
- Gram.Entry.of_parser "test_constr_decl"
- (fun strm ->
- match Stream.npeek 1 strm with
- [ [(UIDENT _, _)] ->
- match Stream.npeek 2 strm with
- [ [_; (KEYWORD ".", _)] -> raise Stream.Failure
- | [_; (KEYWORD "(", _)] -> raise Stream.Failure
- | [_ :: _] -> ()
- | _ -> raise Stream.Failure ]
- | [(KEYWORD "|", _)] -> ()
- | _ -> raise Stream.Failure ])
- ;
-
value stream_peek_nth n strm =
loop n (Stream.npeek n strm) where rec loop n =
fun
@@ -81,75 +67,11 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
| [_ :: l] -> loop (n - 1) l ]
;
- (* horrible hacks to be able to parse class_types *)
-
- value test_ctyp_minusgreater =
- Gram.Entry.of_parser "test_ctyp_minusgreater"
- (fun strm ->
- let rec skip_simple_ctyp n =
- match stream_peek_nth n strm with
- [ Some (KEYWORD "->") -> n
- | Some (KEYWORD ("[" | "[<")) ->
- skip_simple_ctyp (ignore_upto "]" (n + 1) + 1)
- | Some (KEYWORD "(") -> skip_simple_ctyp (ignore_upto ")" (n + 1) + 1)
- | Some
- (KEYWORD
- ("as" | "'" | ":" | "*" | "." | "#" | "<" | ">" | ".." | ";" |
- "_" | "?")) ->
- skip_simple_ctyp (n + 1)
- | Some (LIDENT _ | UIDENT _) ->
- skip_simple_ctyp (n + 1)
- | Some _ | None -> raise Stream.Failure ]
- and ignore_upto end_kwd n =
- match stream_peek_nth n strm with
- [ Some (KEYWORD prm) when prm = end_kwd -> n
- | Some (KEYWORD ("[" | "[<")) ->
- ignore_upto end_kwd (ignore_upto "]" (n + 1) + 1)
- | Some (KEYWORD "(") -> ignore_upto end_kwd (ignore_upto ")" (n + 1) + 1)
- | Some _ -> ignore_upto end_kwd (n + 1)
- | None -> raise Stream.Failure ]
- in
- match Stream.peek strm with
- [ Some ((KEYWORD "[" | LIDENT _ | UIDENT _), _) -> skip_simple_ctyp 1
- | Some (KEYWORD "object", _) -> raise Stream.Failure
- | _ -> 1 ])
- ;
-
- value test_label_expr_list =
- Gram.Entry.of_parser "test_label_expr_list"
- (test 1 where rec test lev strm =
- match stream_peek_nth lev strm with
- [ Some (UIDENT _ | LIDENT _ | KEYWORD ".") ->
- test (lev + 1) strm
- | Some (KEYWORD ("="|";"|"}")) ->
- (* ";" and "}" occur due to record punning *)
- ()
- | _ -> raise Stream.Failure ])
- ;
-
- value test_typevar_list_dot =
- Gram.Entry.of_parser "test_typevar_list_dot"
- (let rec test lev strm =
- match stream_peek_nth lev strm with
- [ Some (KEYWORD "'") -> test2 (lev + 1) strm
- | Some (KEYWORD ".") -> ()
- | _ -> raise Stream.Failure ]
- and test2 lev strm =
- match stream_peek_nth lev strm with
- [ Some (UIDENT _ | LIDENT _) -> test (lev + 1) strm
- | _ -> raise Stream.Failure ]
- in
- test 1)
- ;
-
- value lident_colon =
- Gram.Entry.of_parser "lident_colon"
- (fun strm ->
- match Stream.npeek 2 strm with
- [ [(LIDENT i, _); (KEYWORD ":", _)] ->
- do { Stream.junk strm; Stream.junk strm; i }
- | _ -> raise Stream.Failure ])
- ;
+ value test_not_dot_nor_lparen =
+ Gram.Entry.of_parser "test_not_dot_nor_lparen" (fun strm ->
+ match Stream.peek strm with
+ [ Some (KEYWORD ("."|"("),_) -> raise Stream.Failure
+ | _ -> () ]);
value rec is_ident_constr_call =
fun
@@ -343,9 +265,9 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
expr: LEVEL "simple" (* LEFTA *)
[ [ "false" -> <:expr< False >>
| "true" -> <:expr< True >>
- | "{"; test_label_expr_list; lel = label_expr_list; "}" ->
+ | "{"; lel = TRY [lel = label_expr_list; "}" -> lel] ->
<:expr< { $lel$ } >>
- | "{"; e = expr LEVEL "."; "with"; lel = label_expr_list; "}" ->
+ | "{"; e = TRY [e = expr LEVEL "."; "with" -> e]; lel = label_expr_list; "}" ->
<:expr< { ($e$) with $lel$ } >>
| "new"; i = class_longident -> <:expr< new $i$ >>
] ]
@@ -477,15 +399,15 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
| t = ctyp -> t ] ]
;
class_type_plus:
- [ [ i = lident_colon; t = ctyp LEVEL "star"; "->"; ct = SELF ->
+ [ [ i = TRY [i = a_LIDENT; ":" -> i]; t = ctyp LEVEL "star"; "->"; ct = SELF ->
<:class_type< [ ~ $i$ : $t$ ] -> $ct$ >>
| "?"; i = a_LIDENT; ":"; t = ctyp LEVEL "star"; "->"; ct = SELF ->
<:class_type< [ ? $i$ : $t$ ] -> $ct$ >>
| i = OPTLABEL (* FIXME inline a_OPTLABEL *); t = ctyp LEVEL "star"; "->"; ct = SELF ->
<:class_type< [ ? $i$ : $t$ ] -> $ct$ >>
- | test_ctyp_minusgreater; t = ctyp LEVEL "star"; "->"; ct = SELF ->
+ | t = TRY [t = ctyp LEVEL "star"; "->" -> t]; ct = SELF ->
<:class_type< [ $t$ ] -> $ct$ >>
- | ct = class_type -> ct ] ]
+ | ct = TRY class_type -> ct ] ]
;
class_type_longident_and_param:
[ [ "["; t = comma_ctyp; "]"; i = class_type_longident ->
@@ -507,7 +429,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
[ [ t1 = SELF; "as"; "'"; i = a_ident -> <:ctyp< $t1$ as '$i$ >> ]
| "arrow" RIGHTA
[ t1 = SELF; "->"; t2 = SELF -> <:ctyp< $t1$ -> $t2$ >>
- | i = lident_colon; t1 = ctyp LEVEL "star"; "->"; t2 = SELF ->
+ | i = TRY [i = a_LIDENT; ":" -> i]; t1 = ctyp LEVEL "star"; "->"; t2 = SELF ->
<:ctyp< ( ~ $i$ : $t1$ ) -> $t2$ >>
| i = a_OPTLABEL; t1 = ctyp LEVEL "star"; "->"; t2 = SELF ->
<:ctyp< ( ? $i$ : $t1$ ) -> $t2$ >>
@@ -557,7 +479,7 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
] ]
;
meth_list:
- [ [ m = meth_decl -> (m, Ast.BFalse) ] ];
+ [ [ m = meth_decl -> (m, <:row_var_flag<>>) ] ];
comma_ctyp_app:
[ [ t1 = ctyp; ","; t2 = SELF -> fun acc -> t2 <:ctyp< $acc$ $t1$ >>
| t = ctyp -> fun acc -> <:ctyp< $acc$ $t$ >>
@@ -602,14 +524,15 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
;
type_kind:
[ [ "private"; tk = type_kind -> <:ctyp< private $tk$ >>
- | test_constr_decl; OPT "|";
- t = constructor_declarations -> <:ctyp< [ $t$ ] >>
- | t = ctyp -> <:ctyp< $t$ >>
- | t = ctyp; "="; "private"; tk = type_kind ->
+ | t = TRY [OPT "|"; t = constructor_declarations;
+ test_not_dot_nor_lparen -> t] ->
+ <:ctyp< [ $t$ ] >>
+ | t = TRY ctyp -> <:ctyp< $t$ >>
+ | t = TRY ctyp; "="; "private"; tk = type_kind ->
<:ctyp< $t$ == private $tk$ >>
- | t1 = ctyp; "="; "{"; t2 = label_declaration_list; "}" ->
+ | t1 = TRY ctyp; "="; "{"; t2 = label_declaration_list; "}" ->
<:ctyp< $t1$ == { $t2$ } >>
- | t1 = ctyp; "="; OPT "|"; t2 = constructor_declarations ->
+ | t1 = TRY ctyp; "="; OPT "|"; t2 = constructor_declarations ->
<:ctyp< $t1$ == [ $t2$ ] >>
| "{"; t = label_declaration_list; "}" ->
<:ctyp< { $t$ } >> ] ]
@@ -647,9 +570,9 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
] ]
;
poly_type:
- [ [ test_typevar_list_dot; t1 = typevars; "."; t2 = ctyp ->
+ [ [ t1 = TRY [t = typevars; "." -> t]; t2 = ctyp ->
<:ctyp< ! $t1$ . $t2$ >>
- | t = ctyp -> t ] ]
+ | t = TRY ctyp -> t ] ]
;
labeled_ipatt:
[ [ i = a_LABEL; p = patt LEVEL "simple" ->
diff --git a/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.ml b/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.ml
index 25f7bbb9db..11fd025041 100644
--- a/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.ml
+++ b/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.ml
@@ -300,20 +300,6 @@ Very old (no more supported) syntax:\n\
Some <:expr< Bigarray.Genarray.set $arr$ [| $coords$ |] $newval$ >>
| _ -> None ];
- value test_not_left_brace_nor_do =
- Gram.Entry.of_parser "test_not_left_brace_nor_do"
- (fun strm ->
- match Stream.peek strm with
- [ Some(KEYWORD "{" | KEYWORD "do", _) -> raise Stream.Failure
- | _ -> () ]);
-
- value test_lparen_type =
- Gram.Entry.of_parser "test_lparen_type"
- (fun strm ->
- match Stream.npeek 2 strm with
- [ [(KEYWORD "(", _); (KEYWORD "type", _)] -> ()
- | _ -> raise Stream.Failure ]);
-
value stopped_at _loc =
Some (Loc.move_line 1 _loc) (* FIXME be more precise *);
@@ -330,69 +316,46 @@ Very old (no more supported) syntax:\n\
loop
;
+ value setup_op_parser entry p =
+ Gram.Entry.setup_parser entry
+ (parser
+ [: `(KEYWORD x | SYMBOL x, ti) when p x :] ->
+ let _loc = Gram.token_location ti in
+ <:expr< $lid:x$ >>);
+
let list = ['!'; '?'; '~'] in
let excl = ["!="; "??"] in
- Gram.Entry.setup_parser prefixop
- (parser
- [: `(KEYWORD x | SYMBOL x, _loc)
- when
- not (List.mem x excl) && String.length x >= 2 &&
- List.mem x.[0] list && symbolchar x 1 :] ->
- <:expr< $lid:x$ >>)
- ;
+ setup_op_parser prefixop
+ (fun x -> not (List.mem x excl) && String.length x >= 2 &&
+ List.mem x.[0] list && symbolchar x 1);
let list_ok = ["<"; ">"; "<="; ">="; "="; "<>"; "=="; "!="; "$"] in
let list_first_char_ok = ['='; '<'; '>'; '|'; '&'; '$'; '!'] in
let excl = ["<-"; "||"; "&&"] in
- Gram.Entry.setup_parser infixop0
- (parser
- [: `(KEYWORD x | SYMBOL x, _loc)
- when
- (List.mem x list_ok) ||
- (not (List.mem x excl) && String.length x >= 2 &&
- List.mem x.[0] list_first_char_ok && symbolchar x 1) :] ->
- <:expr< $lid:x$ >>)
- ;
+ setup_op_parser infixop0
+ (fun x -> (List.mem x list_ok) ||
+ (not (List.mem x excl) && String.length x >= 2 &&
+ List.mem x.[0] list_first_char_ok && symbolchar x 1));
let list = ['@'; '^'] in
- Gram.Entry.setup_parser infixop1
- (parser
- [: `(KEYWORD x | SYMBOL x, _loc)
- when
- String.length x >= 1 && List.mem x.[0] list &&
- symbolchar x 1 :] ->
- <:expr< $lid:x$ >>)
- ;
+ setup_op_parser infixop1
+ (fun x -> String.length x >= 1 && List.mem x.[0] list &&
+ symbolchar x 1);
let list = ['+'; '-'] in
- Gram.Entry.setup_parser infixop2
- (parser
- [: `(KEYWORD x | SYMBOL x, _loc)
- when
- x <> "->" && String.length x >= 1 && List.mem x.[0] list &&
- symbolchar x 1 :] ->
- <:expr< $lid:x$ >>)
- ;
+ setup_op_parser infixop2
+ (fun x -> x <> "->" && String.length x >= 1 && List.mem x.[0] list &&
+ symbolchar x 1);
let list = ['*'; '/'; '%'; '\\'] in
- Gram.Entry.setup_parser infixop3
- (parser
- [: `(KEYWORD x | SYMBOL x, _loc)
- when
- String.length x >= 1 && List.mem x.[0] list &&
- (x.[0] <> '*' || String.length x < 2 || x.[1] <> '*') &&
- symbolchar x 1 :] ->
- <:expr< $lid:x$ >>)
- ;
+ setup_op_parser infixop3
+ (fun x -> String.length x >= 1 && List.mem x.[0] list &&
+ (x.[0] <> '*' || String.length x < 2 || x.[1] <> '*') &&
+ symbolchar x 1);
- Gram.Entry.setup_parser infixop4
- (parser
- [: `(KEYWORD x | SYMBOL x, _loc)
- when
- String.length x >= 2 && x.[0] == '*' && x.[1] == '*' &&
- symbolchar x 2 :] ->
- <:expr< $lid:x$ >>)
- ;
+ setup_op_parser infixop4
+ (fun x -> String.length x >= 2 && x.[0] == '*' && x.[1] == '*' &&
+ symbolchar x 2);
value rec infix_kwds_filter =
parser
@@ -408,17 +371,21 @@ Very old (no more supported) syntax:\n\
Token.Filter.define_filter (Gram.get_filter ())
(fun f strm -> infix_kwds_filter (f strm));
- (* transmit the context *)
Gram.Entry.setup_parser sem_expr begin
let symb1 = Gram.parse_tokens_after_filter expr in
let symb =
parser
- [ [: `(ANTIQUOT ("list" as n) s, _loc) :] -> <:expr< $anti:mk_anti ~c:"expr;" n s$ >>
+ [ [: `(ANTIQUOT ("list" as n) s, ti) :] ->
+ let _loc = Gram.token_location ti in
+ <:expr< $anti:mk_anti ~c:"expr;" n s$ >>
| [: a = symb1 :] -> a ]
in
let rec kont al =
parser
- [ [: `(KEYWORD ";", _loc); a = symb; s :] -> kont <:expr< $al$; $a$ >> s
+ [ [: `(KEYWORD ";", _); a = symb; s :] ->
+ let _loc = Loc.merge (Ast.loc_of_expr al)
+ (Ast.loc_of_expr a) in
+ kont <:expr< $al$; $a$ >> s
| [: :] -> al ]
in
parser [: a = symb; s :] -> kont a s
@@ -457,7 +424,9 @@ Very old (no more supported) syntax:\n\
type_ident_and_parameters type_kind type_longident
type_longident_and_parameters type_parameter type_parameters typevars
use_file val_longident value_let value_val with_constr with_constr_quot
- infixop0 infixop1 infixop2 infixop3 infixop4 do_sequence package_type;
+ infixop0 infixop1 infixop2 infixop3 infixop4 do_sequence package_type
+ rec_flag_quot direction_flag_quot mutable_flag_quot private_flag_quot
+ virtual_flag_quot row_var_flag_quot override_flag_quot;
module_expr:
[ "top"
[ "functor"; "("; i = a_UIDENT; ":"; t = module_type; ")"; "->";
@@ -715,7 +684,9 @@ Very old (no more supported) syntax:\n\
| s = a_FLOAT -> <:expr< $flo:s$ >>
| s = a_STRING -> <:expr< $str:s$ >>
| s = a_CHAR -> <:expr< $chr:s$ >>
- | i = val_longident -> <:expr< $id:i$ >>
+ | i = TRY module_longident_dot_lparen; e = sequence; ")" ->
+ <:expr< let open $i$ in $e$ >>
+ | i = TRY val_longident -> <:expr< $id:i$ >>
| "`"; s = a_ident -> <:expr< ` $s$ >>
| "["; "]" -> <:expr< [] >>
| "["; mk_list = sem_expr_for_list; "::"; last = expr; "]" ->
@@ -747,8 +718,10 @@ Very old (no more supported) syntax:\n\
] ]
;
do_sequence:
- [ [ "{"; seq = sequence; "}" -> seq
- | test_not_left_brace_nor_do; seq = sequence; "done" -> seq
+ [ [ seq = TRY ["{"; seq = sequence; "}" -> seq] -> seq
+ | TRY ["{"; "}"] -> <:expr< () >>
+ | seq = TRY [seq = sequence; "done" -> seq] -> seq
+ | "done" -> <:expr< () >>
] ]
;
infixop5:
@@ -759,6 +732,7 @@ Very old (no more supported) syntax:\n\
;
sem_expr_for_list:
[ [ e = expr; ";"; el = SELF -> fun acc -> <:expr< [ $e$ :: $el acc$ ] >>
+ | e = expr; ";" -> fun acc -> <:expr< [ $e$ :: $acc$ ] >>
| e = expr -> fun acc -> <:expr< [ $e$ :: $acc$ ] >>
] ]
;
@@ -805,9 +779,9 @@ Very old (no more supported) syntax:\n\
;
fun_binding:
[ RIGHTA
- [ test_lparen_type; "("; "type"; i = a_LIDENT; ")"; e = SELF ->
- Ast.ExFUN _loc i e
- | p = labeled_ipatt; e = SELF ->
+ [ TRY ["("; "type"]; i = a_LIDENT; ")"; e = SELF ->
+ <:expr< fun (type $i$) -> $e$ >>
+ | p = TRY labeled_ipatt; e = SELF ->
<:expr< fun $p$ -> $e$ >>
| bi = cvalue_binding -> bi
] ]
@@ -857,27 +831,27 @@ Very old (no more supported) syntax:\n\
<:rec_binding< $i$ = $lid:lid_of_ident i$ >> ] ]
;
fun_def:
- [ [ test_lparen_type; "("; "type"; i = a_LIDENT; ")";
+ [ [ TRY ["("; "type"]; i = a_LIDENT; ")";
e = fun_def_cont_no_when ->
- Ast.ExFUN _loc i e
- | p = labeled_ipatt; (w, e) = fun_def_cont ->
+ <:expr< fun (type $i$) -> $e$ >>
+ | p = TRY labeled_ipatt; (w, e) = fun_def_cont ->
<:expr< fun [ $p$ when $w$ -> $e$ ] >> ] ]
;
fun_def_cont:
[ RIGHTA
- [ test_lparen_type; "("; "type"; i = a_LIDENT; ")";
+ [ TRY ["("; "type"]; i = a_LIDENT; ")";
e = fun_def_cont_no_when ->
- (<:expr<>>, Ast.ExFUN _loc i e)
- | p = labeled_ipatt; (w,e) = SELF ->
+ (<:expr<>>, <:expr< fun (type $i$) -> $e$ >>)
+ | p = TRY labeled_ipatt; (w,e) = SELF ->
(<:expr<>>, <:expr< fun [ $p$ when $w$ -> $e$ ] >>)
| "when"; w = expr; "->"; e = expr -> (w, e)
| "->"; e = expr -> (<:expr<>>, e) ] ]
;
fun_def_cont_no_when:
[ RIGHTA
- [ test_lparen_type; "("; "type"; i = a_LIDENT; ")";
- e = fun_def_cont_no_when -> Ast.ExFUN _loc i e
- | p = labeled_ipatt; (w,e) = fun_def_cont ->
+ [ TRY ["("; "type"]; i = a_LIDENT; ")";
+ e = fun_def_cont_no_when -> <:expr< fun (type $i$) -> $e$ >>
+ | p = TRY labeled_ipatt; (w,e) = fun_def_cont ->
<:expr< fun [ $p$ when $w$ -> $e$ ] >>
| "->"; e = expr -> e ] ]
;
@@ -948,12 +922,14 @@ Very old (no more supported) syntax:\n\
;
sem_patt:
[ LEFTA
- [ p1 = SELF; ";"; p2 = SELF -> <:patt< $p1$; $p2$ >>
+ [ p1 = patt; ";"; p2 = SELF -> <:patt< $p1$; $p2$ >>
| `ANTIQUOT ("list" as n) s -> <:patt< $anti:mk_anti ~c:"patt;" n s$ >>
+ | p = patt; ";" -> p
| p = patt -> p ] ]
;
sem_patt_for_list:
[ [ p = patt; ";"; pl = SELF -> fun acc -> <:patt< [ $p$ :: $pl acc$ ] >>
+ | p = patt; ";" -> fun acc -> <:patt< [ $p$ :: $acc$ ] >>
| p = patt -> fun acc -> <:patt< [ $p$ :: $acc$ ] >>
] ]
;
@@ -1202,6 +1178,12 @@ Very old (no more supported) syntax:\n\
| i = a_UIDENT -> <:ident< $uid:i$ >>
| "("; i = SELF; ")" -> i ] ]
;
+ module_longident_dot_lparen:
+ [ [ `ANTIQUOT (""|"id"|"anti"|"list" as n) s; "."; "(" ->
+ <:ident< $anti:mk_anti ~c:"ident" n s$ >>
+ | m = a_UIDENT; "."; l = SELF -> <:ident< $uid:m$.$l$ >>
+ | i = a_UIDENT; "."; "(" -> <:ident< $uid:i$ >> ] ]
+ ;
type_longident:
[ "apply"
[ i = SELF; j = SELF -> <:ident< $i$ $j$ >> ]
@@ -1328,25 +1310,48 @@ Very old (no more supported) syntax:\n\
[ `ANTIQUOT (""|"cst"|"anti"|"list" as n) s ->
<:class_str_item< $anti:mk_anti ~c:"class_str_item" n s$ >>
| `QUOTATION x -> Quotation.expand _loc x Quotation.DynAst.class_str_item_tag
- | "inherit"; ce = class_expr; pb = opt_as_lident ->
- <:class_str_item< inherit $ce$ as $pb$ >>
- | value_val; mf = opt_mutable; lab = label; e = cvalue_binding ->
- <:class_str_item< value $mutable:mf$ $lab$ = $e$ >>
- | value_val; mf = opt_mutable; "virtual"; l = label; ":"; t = poly_type ->
- <:class_str_item< value virtual $mutable:mf$ $l$ : $t$ >>
- | value_val; "virtual"; mf = opt_mutable; l = label; ":"; t = poly_type ->
- <:class_str_item< value virtual $mutable:mf$ $l$ : $t$ >>
- | "method"; "virtual"; pf = opt_private; l = label; ":"; t = poly_type ->
- <:class_str_item< method virtual $private:pf$ $l$ : $t$ >>
- | "method"; pf = opt_private; "virtual"; l = label; ":"; t = poly_type ->
- <:class_str_item< method virtual $private:pf$ $l$ : $t$ >>
- | "method"; pf = opt_private; l = label; topt = opt_polyt;
- e = fun_binding ->
- <:class_str_item< method $private:pf$ $l$ : $topt$ = $e$ >>
+ | "inherit"; o = opt_override; ce = class_expr; pb = opt_as_lident ->
+ <:class_str_item< inherit $override:o$ $ce$ as $pb$ >>
+ | o = value_val_opt_override; mf = opt_mutable; lab = label; e = cvalue_binding ->
+ <:class_str_item< value $override:o$ $mutable:mf$ $lab$ = $e$ >>
+ | o = value_val_opt_override; mf = opt_mutable; "virtual"; l = label; ":"; t = poly_type ->
+ if o <> <:override_flag<>> then
+ raise (Stream.Error "override (!) is incompatible with virtual")
+ else
+ <:class_str_item< value virtual $mutable:mf$ $l$ : $t$ >>
+ | o = value_val_opt_override; "virtual"; mf = opt_mutable; l = label; ":"; t = poly_type ->
+ if o <> <:override_flag<>> then
+ raise (Stream.Error "override (!) is incompatible with virtual")
+ else
+ <:class_str_item< value virtual $mutable:mf$ $l$ : $t$ >>
+ | o = method_opt_override; "virtual"; pf = opt_private; l = label; ":"; t = poly_type ->
+ if o <> <:override_flag<>> then
+ raise (Stream.Error "override (!) is incompatible with virtual")
+ else
+ <:class_str_item< method virtual $private:pf$ $l$ : $t$ >>
+ | o = method_opt_override; pf = opt_private; l = label; topt = opt_polyt; e = fun_binding ->
+ <:class_str_item< method $override:o$ $private:pf$ $l$ : $topt$ = $e$ >>
+ | o = method_opt_override; pf = opt_private; "virtual"; l = label; ":"; t = poly_type ->
+ if o <> <:override_flag<>> then
+ raise (Stream.Error "override (!) is incompatible with virtual")
+ else
+ <:class_str_item< method virtual $private:pf$ $l$ : $t$ >>
| type_constraint; t1 = ctyp; "="; t2 = ctyp ->
<:class_str_item< type $t1$ = $t2$ >>
| "initializer"; se = expr -> <:class_str_item< initializer $se$ >> ] ]
;
+ method_opt_override:
+ [ [ "method"; "!" -> <:override_flag< ! >>
+ | "method"; `ANTIQUOT (("!"|"override"|"anti") as n) s -> Ast.OvAnt (mk_anti n s)
+ | "method" -> <:override_flag<>>
+ ] ]
+ ;
+ value_val_opt_override:
+ [ [ value_val; "!" -> <:override_flag< ! >>
+ | value_val; `ANTIQUOT (("!"|"override"|"anti") as n) s -> Ast.OvAnt (mk_anti n s)
+ | value_val -> <:override_flag<>>
+ ] ]
+ ;
opt_as_lident:
[ [ "as"; i = a_LIDENT -> i
| -> ""
@@ -1535,38 +1540,44 @@ Very old (no more supported) syntax:\n\
| p = ipatt -> p ] ]
;
direction_flag:
- [ [ "to" -> Ast.BTrue
- | "downto" -> Ast.BFalse
- | `ANTIQUOT ("to" as n) s -> Ast.BAnt (mk_anti n s) ] ]
+ [ [ "to" -> <:direction_flag< to >>
+ | "downto" -> <:direction_flag< downto >>
+ | `ANTIQUOT ("to"|"anti" as n) s -> Ast.DiAnt (mk_anti n s) ] ]
;
opt_private:
- [ [ "private" -> Ast.BTrue
- | `ANTIQUOT ("private" as n) s -> Ast.BAnt (mk_anti n s)
- | -> Ast.BFalse
+ [ [ "private" -> <:private_flag< private >>
+ | `ANTIQUOT ("private"|"anti" as n) s -> Ast.PrAnt (mk_anti n s)
+ | -> <:private_flag<>>
] ]
;
opt_mutable:
- [ [ "mutable" -> Ast.BTrue
- | `ANTIQUOT ("mutable" as n) s -> Ast.BAnt (mk_anti n s)
- | -> Ast.BFalse
+ [ [ "mutable" -> <:mutable_flag< mutable >>
+ | `ANTIQUOT ("mutable"|"anti" as n) s -> Ast.MuAnt (mk_anti n s)
+ | -> <:mutable_flag<>>
] ]
;
opt_virtual:
- [ [ "virtual" -> Ast.BTrue
- | `ANTIQUOT ("virtual" as n) s -> Ast.BAnt (mk_anti n s)
- | -> Ast.BFalse
+ [ [ "virtual" -> <:virtual_flag< virtual >>
+ | `ANTIQUOT ("virtual"|"anti" as n) s -> Ast.ViAnt (mk_anti n s)
+ | -> <:virtual_flag<>>
] ]
;
opt_dot_dot:
- [ [ ".." -> Ast.BTrue
- | `ANTIQUOT (".." as n) s -> Ast.BAnt (mk_anti n s)
- | -> Ast.BFalse
+ [ [ ".." -> <:row_var_flag< .. >>
+ | `ANTIQUOT (".."|"anti" as n) s -> Ast.RvAnt (mk_anti n s)
+ | -> <:row_var_flag<>>
] ]
;
opt_rec:
- [ [ "rec" -> Ast.BTrue
- | `ANTIQUOT ("rec" as n) s -> Ast.BAnt (mk_anti n s)
- | -> Ast.BFalse
+ [ [ "rec" -> <:rec_flag< rec >>
+ | `ANTIQUOT ("rec"|"anti" as n) s -> Ast.ReAnt (mk_anti n s)
+ | -> <:rec_flag<>>
+ ] ]
+ ;
+ opt_override:
+ [ [ "!" -> <:override_flag< ! >>
+ | `ANTIQUOT (("!"|"override"|"anti") as n) s -> Ast.OvAnt (mk_anti n s)
+ | -> <:override_flag<>>
] ]
;
opt_expr:
@@ -1799,7 +1810,7 @@ Very old (no more supported) syntax:\n\
| "virtual"; (i, ot) = class_name_and_param ->
<:class_expr< virtual $lid:i$ [ $ot$ ] >>
| `ANTIQUOT ("virtual" as n) s; i = ident; ot = opt_comma_ctyp ->
- let anti = Ast.BAnt (mk_anti ~c:"class_expr" n s) in
+ let anti = Ast.ViAnt (mk_anti ~c:"class_expr" n s) in
<:class_expr< $virtual:anti$ $id:i$ [ $ot$ ] >>
| x = class_expr -> x
| -> <:class_expr<>>
@@ -1812,7 +1823,7 @@ Very old (no more supported) syntax:\n\
| "virtual"; (i, ot) = class_name_and_param ->
<:class_type< virtual $lid:i$ [ $ot$ ] >>
| `ANTIQUOT ("virtual" as n) s; i = ident; ot = opt_comma_ctyp ->
- let anti = Ast.BAnt (mk_anti ~c:"class_type" n s) in
+ let anti = Ast.ViAnt (mk_anti ~c:"class_type" n s) in
<:class_type< $virtual:anti$ $id:i$ [ $ot$ ] >>
| x = class_type_plus -> x
| -> <:class_type<>>
@@ -1833,6 +1844,13 @@ Very old (no more supported) syntax:\n\
[ [ x = with_constr -> x
| -> <:with_constr<>> ] ]
;
+ rec_flag_quot: [ [ x = opt_rec -> x ] ];
+ direction_flag_quot: [ [ x = direction_flag -> x ] ];
+ mutable_flag_quot: [ [ x = opt_mutable -> x ] ];
+ private_flag_quot: [ [ x = opt_private -> x ] ];
+ virtual_flag_quot: [ [ x = opt_virtual -> x ] ];
+ row_var_flag_quot: [ [ x = opt_dot_dot -> x ] ];
+ override_flag_quot: [ [ x = opt_override -> x ] ];
patt_eoi:
[ [ x = patt; `EOI -> x ] ]
;
diff --git a/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParserParser.ml b/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParserParser.ml
index 4e4d35d856..97747d448e 100644
--- a/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParserParser.ml
+++ b/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParserParser.ml
@@ -320,10 +320,10 @@ module Make (Syntax : Sig.Camlp4Syntax) = struct
parser_case parser_case_list;
expr: LEVEL "top"
[ [ "parser"; po = OPT parser_ipatt; pcl = parser_case_list ->
- <:expr< $cparser _loc po pcl$ >>
+ cparser _loc po pcl
| "match"; e = sequence; "with"; "parser"; po = OPT parser_ipatt;
pcl = parser_case_list ->
- <:expr< $cparser_match _loc e po pcl$ >>
+ cparser_match _loc e po pcl
] ]
;
parser_case_list:
diff --git a/camlp4/Camlp4Parsers/Camlp4QuotationCommon.ml b/camlp4/Camlp4Parsers/Camlp4QuotationCommon.ml
index 50e57fa1f9..c8025d75de 100644
--- a/camlp4/Camlp4Parsers/Camlp4QuotationCommon.ml
+++ b/camlp4/Camlp4Parsers/Camlp4QuotationCommon.ml
@@ -201,5 +201,12 @@ module Make (Syntax : Sig.Camlp4Syntax)
add_quotation "module_binding"
module_binding_quot ME.meta_module_binding MP.meta_module_binding;
add_quotation "ident" ident_quot ME.meta_ident MP.meta_ident;
+ add_quotation "rec_flag" rec_flag_quot ME.meta_rec_flag MP.meta_rec_flag;
+ add_quotation "private_flag" private_flag_quot ME.meta_private_flag MP.meta_private_flag;
+ add_quotation "row_var_flag" row_var_flag_quot ME.meta_row_var_flag MP.meta_row_var_flag;
+ add_quotation "mutable_flag" mutable_flag_quot ME.meta_mutable_flag MP.meta_mutable_flag;
+ add_quotation "virtual_flag" virtual_flag_quot ME.meta_virtual_flag MP.meta_virtual_flag;
+ add_quotation "override_flag" override_flag_quot ME.meta_override_flag MP.meta_override_flag;
+ add_quotation "direction_flag" direction_flag_quot ME.meta_direction_flag MP.meta_direction_flag;
end;
diff --git a/camlp4/boot/Camlp4.ml b/camlp4/boot/Camlp4.ml
index bca9708f0d..92daa282d8 100644
--- a/camlp4/boot/Camlp4.ml
+++ b/camlp4/boot/Camlp4.ml
@@ -602,6 +602,20 @@ module Sig =
type module_binding
+ type rec_flag
+
+ type direction_flag
+
+ type mutable_flag
+
+ type private_flag
+
+ type virtual_flag
+
+ type row_var_flag
+
+ type override_flag
+
(** {6 Location accessors} *)
val loc_of_ctyp : ctyp -> loc
@@ -706,6 +720,20 @@ module Sig =
method ident : ident -> ident
+ method override_flag : override_flag -> override_flag
+
+ method mutable_flag : mutable_flag -> mutable_flag
+
+ method private_flag : private_flag -> private_flag
+
+ method virtual_flag : virtual_flag -> virtual_flag
+
+ method direction_flag : direction_flag -> direction_flag
+
+ method rec_flag : rec_flag -> rec_flag
+
+ method row_var_flag : row_var_flag -> row_var_flag
+
method unknown : 'a. 'a -> 'a
end
@@ -766,6 +794,20 @@ module Sig =
method ident : ident -> 'self_type
+ method rec_flag : rec_flag -> 'self_type
+
+ method direction_flag : direction_flag -> 'self_type
+
+ method mutable_flag : mutable_flag -> 'self_type
+
+ method private_flag : private_flag -> 'self_type
+
+ method virtual_flag : virtual_flag -> 'self_type
+
+ method row_var_flag : row_var_flag -> 'self_type
+
+ method override_flag : override_flag -> 'self_type
+
method unknown : 'a. 'a -> 'self_type
end
@@ -813,6 +855,20 @@ module Sig =
t
and meta_bool =
| BTrue | BFalse | BAnt of string
+ and rec_flag =
+ | ReRecursive | ReNil | ReAnt of string
+ and direction_flag =
+ | DiTo | DiDownto | DiAnt of string
+ and mutable_flag =
+ | MuMutable | MuNil | MuAnt of string
+ and private_flag =
+ | PrPrivate | PrNil | PrAnt of string
+ and virtual_flag =
+ | ViVirtual | ViNil | ViAnt of string
+ and override_flag =
+ | OvOverride | OvNil | OvAnt of string
+ and row_var_flag =
+ | RvRowVar | RvNil | RvAnt of string
and 'a meta_option =
| ONone | OSome of 'a | OAnt of string
and 'a meta_list =
@@ -856,7 +912,7 @@ module Sig =
TyDcl of loc * string * ctyp list * ctyp * (ctyp * ctyp) list
| (* < (t)? (..)? > *)
(* < move : int -> 'a .. > as 'a *)
- TyObj of loc * ctyp * meta_bool
+ TyObj of loc * ctyp * row_var_flag
| TyOlb of loc * string * ctyp
| (* ?s:t *)
TyPol of loc * ctyp * ctyp
@@ -997,7 +1053,7 @@ module Sig =
ExFlo of loc * string
| (* 3.14 *)
(* for s = e to/downto e do { e } *)
- ExFor of loc * string * expr * expr * meta_bool * expr
+ ExFor of loc * string * expr * expr * direction_flag * expr
| ExFun of loc * match_case
| (* fun [ mc ] *)
ExIfe of loc * expr * expr * expr
@@ -1012,7 +1068,7 @@ module Sig =
ExLaz of loc * expr
| (* lazy e *)
(* let b in e or let rec b in e *)
- ExLet of loc * meta_bool * binding * expr
+ ExLet of loc * rec_flag * binding * expr
| (* let module s = me in e *)
ExLmd of loc * string * module_expr * expr
| (* match e with [ mc ] *)
@@ -1197,13 +1253,13 @@ module Sig =
| (* type t *)
StTyp of loc * ctyp
| (* value (rec)? bi *)
- StVal of loc * meta_bool * binding
+ StVal of loc * rec_flag * binding
| StAnt of loc * string
and (* $s$ *)
class_type =
| CtNil of loc
| (* (virtual)? i ([ t ])? *)
- CtCon of loc * meta_bool * ident * ctyp
+ CtCon of loc * virtual_flag * ident * ctyp
| (* [t] -> ct *)
CtFun of loc * ctyp * class_type
| (* object ((t))? (csg)? end *)
@@ -1225,11 +1281,11 @@ module Sig =
| (* inherit ct *)
CgInh of loc * class_type
| (* method s : t or method private s : t *)
- CgMth of loc * string * meta_bool * ctyp
+ CgMth of loc * string * private_flag * ctyp
| (* value (virtual)? (mutable)? s : t *)
- CgVal of loc * string * meta_bool * meta_bool * ctyp
- | (* method virtual (mutable)? s : t *)
- CgVir of loc * string * meta_bool * ctyp
+ CgVal of loc * string * mutable_flag * virtual_flag * ctyp
+ | (* method virtual (private)? s : t *)
+ CgVir of loc * string * private_flag * ctyp
| CgAnt of loc * string
and (* $s$ *)
class_expr =
@@ -1237,11 +1293,11 @@ module Sig =
| (* ce e *)
CeApp of loc * class_expr * expr
| (* (virtual)? i ([ t ])? *)
- CeCon of loc * meta_bool * ident * ctyp
+ CeCon of loc * virtual_flag * ident * ctyp
| (* fun p -> ce *)
CeFun of loc * patt * class_expr
| (* let (rec)? bi in ce *)
- CeLet of loc * meta_bool * binding * class_expr
+ CeLet of loc * rec_flag * binding * class_expr
| (* object ((p))? (cst)? end *)
CeStr of loc * patt * class_str_item
| (* ce : ct *)
@@ -1258,18 +1314,18 @@ module Sig =
CrSem of loc * class_str_item * class_str_item
| (* type t = t *)
CrCtr of loc * ctyp * ctyp
- | (* inherit ce or inherit ce as s *)
- CrInh of loc * class_expr * string
+ | (* inherit(!)? ce (as s)? *)
+ CrInh of loc * override_flag * class_expr * string
| (* initializer e *)
CrIni of loc * expr
- | (* method (private)? s : t = e or method (private)? s = e *)
- CrMth of loc * string * meta_bool * expr * ctyp
- | (* value (mutable)? s = e *)
- CrVal of loc * string * meta_bool * expr
+ | (* method(!)? (private)? s : t = e or method(!)? (private)? s = e *)
+ CrMth of loc * string * override_flag * private_flag * expr * ctyp
+ | (* value(!)? (mutable)? s = e *)
+ CrVal of loc * string * override_flag * mutable_flag * expr
| (* method virtual (private)? s : t *)
- CrVir of loc * string * meta_bool * ctyp
- | (* value virtual (private)? s : t *)
- CrVvr of loc * string * meta_bool * ctyp
+ CrVir of loc * string * private_flag * ctyp
+ | (* value virtual (mutable)? s : t *)
+ CrVvr of loc * string * mutable_flag * ctyp
| CrAnt of loc * string
val loc_of_ctyp : ctyp -> loc
@@ -1391,6 +1447,20 @@ module Sig =
val meta_with_constr : loc -> with_constr -> expr
+ val meta_rec_flag : loc -> rec_flag -> expr
+
+ val meta_mutable_flag : loc -> mutable_flag -> expr
+
+ val meta_virtual_flag : loc -> virtual_flag -> expr
+
+ val meta_private_flag : loc -> private_flag -> expr
+
+ val meta_row_var_flag : loc -> row_var_flag -> expr
+
+ val meta_override_flag : loc -> override_flag -> expr
+
+ val meta_direction_flag : loc -> direction_flag -> expr
+
end
module Patt :
@@ -1442,6 +1512,20 @@ module Sig =
val meta_with_constr : loc -> with_constr -> patt
+ val meta_rec_flag : loc -> rec_flag -> patt
+
+ val meta_mutable_flag : loc -> mutable_flag -> patt
+
+ val meta_virtual_flag : loc -> virtual_flag -> patt
+
+ val meta_private_flag : loc -> private_flag -> patt
+
+ val meta_row_var_flag : loc -> row_var_flag -> patt
+
+ val meta_override_flag : loc -> override_flag -> patt
+
+ val meta_direction_flag : loc -> direction_flag -> patt
+
end
end
@@ -1500,6 +1584,20 @@ module Sig =
method ident : ident -> ident
+ method mutable_flag : mutable_flag -> mutable_flag
+
+ method private_flag : private_flag -> private_flag
+
+ method virtual_flag : virtual_flag -> virtual_flag
+
+ method direction_flag : direction_flag -> direction_flag
+
+ method rec_flag : rec_flag -> rec_flag
+
+ method row_var_flag : row_var_flag -> row_var_flag
+
+ method override_flag : override_flag -> override_flag
+
method unknown : 'a. 'a -> 'a
end
@@ -1559,6 +1657,20 @@ module Sig =
method ident : ident -> 'self_type
+ method rec_flag : rec_flag -> 'self_type
+
+ method direction_flag : direction_flag -> 'self_type
+
+ method mutable_flag : mutable_flag -> 'self_type
+
+ method private_flag : private_flag -> 'self_type
+
+ method virtual_flag : virtual_flag -> 'self_type
+
+ method row_var_flag : row_var_flag -> 'self_type
+
+ method override_flag : override_flag -> 'self_type
+
method unknown : 'a. 'a -> 'self_type
end
@@ -1710,7 +1822,14 @@ module Sig =
and type class_str_item = M.class_str_item and type binding = M.binding
and type rec_binding = M.rec_binding
and type module_binding = M.module_binding
- and type match_case = M.match_case and type ident = M.ident = M
+ and type match_case = M.match_case and type ident = M.ident
+ and type rec_flag = M.rec_flag
+ and type direction_flag = M.direction_flag
+ and type mutable_flag = M.mutable_flag
+ and type private_flag = M.private_flag
+ and type virtual_flag = M.virtual_flag
+ and type row_var_flag = M.row_var_flag
+ and type override_flag = M.override_flag = M
module MakeCamlp4Ast (Loc : Type) =
struct
@@ -1719,6 +1838,20 @@ module Sig =
t
and meta_bool =
| BTrue | BFalse | BAnt of string
+ and rec_flag =
+ | ReRecursive | ReNil | ReAnt of string
+ and direction_flag =
+ | DiTo | DiDownto | DiAnt of string
+ and mutable_flag =
+ | MuMutable | MuNil | MuAnt of string
+ and private_flag =
+ | PrPrivate | PrNil | PrAnt of string
+ and virtual_flag =
+ | ViVirtual | ViNil | ViAnt of string
+ and override_flag =
+ | OvOverride | OvNil | OvAnt of string
+ and row_var_flag =
+ | RvRowVar | RvNil | RvAnt of string
and 'a meta_option =
| ONone | OSome of 'a | OAnt of string
and 'a meta_list =
@@ -1740,7 +1873,7 @@ module Sig =
| TyId of loc * ident
| TyMan of loc * ctyp * ctyp
| TyDcl of loc * string * ctyp list * ctyp * (ctyp * ctyp) list
- | TyObj of loc * ctyp * meta_bool
+ | TyObj of loc * ctyp * row_var_flag
| TyOlb of loc * string * ctyp
| TyPol of loc * ctyp * ctyp
| TyQuo of loc * string
@@ -1811,7 +1944,7 @@ module Sig =
| ExChr of loc * string
| ExCoe of loc * expr * ctyp * ctyp
| ExFlo of loc * string
- | ExFor of loc * string * expr * expr * meta_bool * expr
+ | ExFor of loc * string * expr * expr * direction_flag * expr
| ExFun of loc * match_case
| ExIfe of loc * expr * expr * expr
| ExInt of loc * string
@@ -1820,7 +1953,7 @@ module Sig =
| ExNativeInt of loc * string
| ExLab of loc * string * expr
| ExLaz of loc * expr
- | ExLet of loc * meta_bool * binding * expr
+ | ExLet of loc * rec_flag * binding * expr
| ExLmd of loc * string * module_expr * expr
| ExMat of loc * expr * match_case
| ExNew of loc * ident
@@ -1918,11 +2051,11 @@ module Sig =
| StMty of loc * string * module_type
| StOpn of loc * ident
| StTyp of loc * ctyp
- | StVal of loc * meta_bool * binding
+ | StVal of loc * rec_flag * binding
| StAnt of loc * string
and class_type =
| CtNil of loc
- | CtCon of loc * meta_bool * ident * ctyp
+ | CtCon of loc * virtual_flag * ident * ctyp
| CtFun of loc * ctyp * class_type
| CtSig of loc * ctyp * class_sig_item
| CtAnd of loc * class_type * class_type
@@ -1934,16 +2067,16 @@ module Sig =
| CgCtr of loc * ctyp * ctyp
| CgSem of loc * class_sig_item * class_sig_item
| CgInh of loc * class_type
- | CgMth of loc * string * meta_bool * ctyp
- | CgVal of loc * string * meta_bool * meta_bool * ctyp
- | CgVir of loc * string * meta_bool * ctyp
+ | CgMth of loc * string * private_flag * ctyp
+ | CgVal of loc * string * mutable_flag * virtual_flag * ctyp
+ | CgVir of loc * string * private_flag * ctyp
| CgAnt of loc * string
and class_expr =
| CeNil of loc
| CeApp of loc * class_expr * expr
- | CeCon of loc * meta_bool * ident * ctyp
+ | CeCon of loc * virtual_flag * ident * ctyp
| CeFun of loc * patt * class_expr
- | CeLet of loc * meta_bool * binding * class_expr
+ | CeLet of loc * rec_flag * binding * class_expr
| CeStr of loc * patt * class_str_item
| CeTyc of loc * class_expr * class_type
| CeAnd of loc * class_expr * class_expr
@@ -1953,12 +2086,13 @@ module Sig =
| CrNil of loc
| CrSem of loc * class_str_item * class_str_item
| CrCtr of loc * ctyp * ctyp
- | CrInh of loc * class_expr * string
+ | CrInh of loc * override_flag * class_expr * string
| CrIni of loc * expr
- | CrMth of loc * string * meta_bool * expr * ctyp
- | CrVal of loc * string * meta_bool * expr
- | CrVir of loc * string * meta_bool * ctyp
- | CrVvr of loc * string * meta_bool * ctyp
+ | CrMth of loc * string * override_flag * private_flag * expr
+ * ctyp
+ | CrVal of loc * string * override_flag * mutable_flag * expr
+ | CrVir of loc * string * private_flag * ctyp
+ | CrVvr of loc * string * mutable_flag * ctyp
| CrAnt of loc * string
end
@@ -2201,6 +2335,12 @@ module Sig =
type token_pattern = ((Token.t -> bool) * string)
+ type token_info
+
+ type token_stream = (Token.t * token_info) Stream.t
+
+ val token_location : token_info -> Loc.t
+
type symbol =
| Smeta of string * symbol list * Action.t
| Snterm of internal_entry
@@ -2210,6 +2350,7 @@ module Sig =
| Slist1 of symbol
| Slist1sep of symbol * symbol
| Sopt of symbol
+ | Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
@@ -2251,11 +2392,9 @@ module Sig =
val mk : gram -> string -> 'a t
val of_parser :
- gram ->
- string -> ((Token.t * Loc.t) Stream.t -> 'a) -> 'a t
+ gram -> string -> (token_stream -> 'a) -> 'a t
- val setup_parser :
- 'a t -> ((Token.t * Loc.t) Stream.t -> 'a) -> unit
+ val setup_parser : 'a t -> (token_stream -> 'a) -> unit
val name : 'a t -> string
@@ -2297,8 +2436,7 @@ module Sig =
val filter :
gram ->
- ((Token.t * Loc.t) Stream.t) not_filtered ->
- (Token.t * Loc.t) Stream.t
+ ((Token.t * Loc.t) Stream.t) not_filtered -> token_stream
val parse : 'a Entry.t -> Loc.t -> char Stream.t -> 'a
@@ -2307,8 +2445,7 @@ module Sig =
val parse_tokens_before_filter :
'a Entry.t -> ((Token.t * Loc.t) Stream.t) not_filtered -> 'a
- val parse_tokens_after_filter :
- 'a Entry.t -> (Token.t * Loc.t) Stream.t -> 'a
+ val parse_tokens_after_filter : 'a Entry.t -> token_stream -> 'a
end
@@ -2322,11 +2459,9 @@ module Sig =
val mk : string -> 'a t
- val of_parser :
- string -> ((Token.t * Loc.t) Stream.t -> 'a) -> 'a t
+ val of_parser : string -> (token_stream -> 'a) -> 'a t
- val setup_parser :
- 'a t -> ((Token.t * Loc.t) Stream.t -> 'a) -> unit
+ val setup_parser : 'a t -> (token_stream -> 'a) -> unit
val name : 'a t -> string
@@ -2365,8 +2500,7 @@ module Sig =
Loc.t -> string -> ((Token.t * Loc.t) Stream.t) not_filtered
val filter :
- ((Token.t * Loc.t) Stream.t) not_filtered ->
- (Token.t * Loc.t) Stream.t
+ ((Token.t * Loc.t) Stream.t) not_filtered -> token_stream
val parse : 'a Entry.t -> Loc.t -> char Stream.t -> 'a
@@ -2375,8 +2509,7 @@ module Sig =
val parse_tokens_before_filter :
'a Entry.t -> ((Token.t * Loc.t) Stream.t) not_filtered -> 'a
- val parse_tokens_after_filter :
- 'a Entry.t -> (Token.t * Loc.t) Stream.t -> 'a
+ val parse_tokens_after_filter : 'a Entry.t -> token_stream -> 'a
end
@@ -2596,7 +2729,9 @@ module Sig =
val cvalue_binding : Ast.expr Gram.Entry.t
- val direction_flag : Ast.meta_bool Gram.Entry.t
+ val direction_flag : Ast.direction_flag Gram.Entry.t
+
+ val direction_flag_quot : Ast.direction_flag Gram.Entry.t
val dummy : unit Gram.Entry.t
@@ -2648,7 +2783,7 @@ module Sig =
val let_binding : Ast.binding Gram.Entry.t
- val meth_list : (Ast.ctyp * Ast.meta_bool) Gram.Entry.t
+ val meth_list : (Ast.ctyp * Ast.row_var_flag) Gram.Entry.t
val meth_decl : Ast.ctyp Gram.Entry.t
@@ -2688,7 +2823,9 @@ module Sig =
val opt_comma_ctyp : Ast.ctyp Gram.Entry.t
- val opt_dot_dot : Ast.meta_bool Gram.Entry.t
+ val opt_dot_dot : Ast.row_var_flag Gram.Entry.t
+
+ val row_var_flag_quot : Ast.row_var_flag Gram.Entry.t
val opt_eq_ctyp : Ast.ctyp Gram.Entry.t
@@ -2696,15 +2833,27 @@ module Sig =
val opt_meth_list : Ast.ctyp Gram.Entry.t
- val opt_mutable : Ast.meta_bool Gram.Entry.t
+ val opt_mutable : Ast.mutable_flag Gram.Entry.t
+
+ val mutable_flag_quot : Ast.mutable_flag Gram.Entry.t
+
+ val opt_override : Ast.override_flag Gram.Entry.t
+
+ val override_flag_quot : Ast.override_flag Gram.Entry.t
val opt_polyt : Ast.ctyp Gram.Entry.t
- val opt_private : Ast.meta_bool Gram.Entry.t
+ val opt_private : Ast.private_flag Gram.Entry.t
+
+ val private_flag_quot : Ast.private_flag Gram.Entry.t
+
+ val opt_rec : Ast.rec_flag Gram.Entry.t
+
+ val rec_flag_quot : Ast.rec_flag Gram.Entry.t
- val opt_rec : Ast.meta_bool Gram.Entry.t
+ val opt_virtual : Ast.virtual_flag Gram.Entry.t
- val opt_virtual : Ast.meta_bool Gram.Entry.t
+ val virtual_flag_quot : Ast.virtual_flag Gram.Entry.t
val opt_when_expr : Ast.expr Gram.Entry.t
@@ -3372,7 +3521,7 @@ module Struct =
}
let err error loc =
- raise (Loc.Exc_located (loc, Error.E error))
+ raise (Loc.Exc_located (loc, (Error.E error)))
let keyword_conversion tok is_kwd =
match tok with
@@ -3728,7 +3877,8 @@ module Struct =
pos_bol = pos.pos_cnum - chars;
}
- let err error loc = raise (Loc.Exc_located (loc, Error.E error))
+ let err error loc =
+ raise (Loc.Exc_located (loc, (Error.E error)))
let warn error loc =
Format.eprintf "Warning: %a: %a@." Loc.print loc Error.print
@@ -3762,9 +3912,9 @@ module Struct =
\240\018\051\019\018\020\048\020\255\255\015\021\238\021\015\022\
\079\022\255\255\031\023\254\255\164\001\251\255\010\000\252\255\
\253\255\128\000\079\001\255\255\095\023\030\024\238\024\190\025\
- \254\255\154\026\253\255\254\255\201\000\116\027\077\028\255\255\
- \028\001\029\029\206\001\251\255\080\001\013\000\253\255\254\255\
- \255\255\252\255\093\029\028\030\236\030\188\031";
+ \254\255\190\026\253\255\254\255\153\001\143\027\110\028\255\255\
+ \167\001\062\029\206\001\251\255\080\001\013\000\253\255\254\255\
+ \255\255\252\255\126\029\061\030\013\031\221\031";
Lexing.lex_backtrk =
"\255\255\255\255\255\255\030\000\255\255\028\000\030\000\030\000\
\030\000\030\000\028\000\028\000\028\000\028\000\028\000\255\255\
@@ -3820,7 +3970,7 @@ module Struct =
\255\255\255\255\255\255\255\255\000\000\255\255\255\255\255\255\
\255\255\000\000\255\255\000\000\189\000\000\000\255\255\000\000\
\000\000\255\255\255\255\000\000\255\255\255\255\255\255\255\255\
- \000\000\202\000\000\000\000\000\255\255\255\255\255\255\000\000\
+ \000\000\205\000\000\000\000\000\255\255\255\255\255\255\000\000\
\255\255\255\255\211\000\000\000\255\255\255\255\000\000\000\000\
\000\000\000\000\255\255\255\255\255\255\255\255";
Lexing.lex_trans =
@@ -3854,9 +4004,9 @@ module Struct =
\024\000\024\000\024\000\024\000\024\000\024\000\024\000\025\000\
\025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\
\025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\
- \025\000\025\000\025\000\025\000\025\000\025\000\025\000\208\000\
+ \025\000\025\000\025\000\025\000\025\000\025\000\025\000\000\000\
\025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\
- \002\000\003\000\000\000\203\000\003\000\003\000\003\000\051\000\
+ \002\000\003\000\000\000\000\000\003\000\003\000\003\000\051\000\
\255\255\255\255\003\000\003\000\048\000\003\000\003\000\003\000\
\039\000\039\000\039\000\039\000\039\000\039\000\039\000\039\000\
\039\000\039\000\003\000\144\000\003\000\003\000\003\000\003\000\
@@ -3865,8 +4015,8 @@ module Struct =
\046\000\046\000\046\000\046\000\046\000\046\000\046\000\084\000\
\147\000\084\000\084\000\084\000\003\000\096\000\003\000\039\000\
\102\000\000\000\171\000\101\000\003\000\038\000\000\000\003\000\
- \009\000\009\000\208\000\000\000\084\000\003\000\003\000\000\000\
- \003\000\006\000\009\000\000\000\068\000\000\000\203\000\068\000\
+ \009\000\009\000\000\000\000\000\084\000\003\000\003\000\000\000\
+ \003\000\006\000\009\000\000\000\068\000\000\000\000\000\068\000\
\106\000\171\000\084\000\096\000\003\000\085\000\003\000\006\000\
\006\000\006\000\003\000\009\000\171\000\171\000\000\000\000\000\
\000\000\003\000\000\000\068\000\003\000\121\000\121\000\000\000\
@@ -3879,12 +4029,12 @@ module Struct =
\084\000\003\000\000\000\000\000\003\000\005\000\121\000\085\000\
\000\000\006\000\006\000\006\000\003\000\009\000\191\000\000\000\
\255\255\190\000\000\000\003\000\000\000\000\000\003\000\009\000\
- \009\000\000\000\000\000\094\000\003\000\003\000\000\000\003\000\
- \009\000\009\000\000\000\000\000\120\000\005\000\003\000\000\000\
- \000\000\003\000\005\000\009\000\098\000\000\000\009\000\009\000\
- \009\000\003\000\009\000\000\000\000\000\000\000\000\000\000\000\
+ \009\000\000\000\208\000\094\000\003\000\003\000\000\000\003\000\
+ \009\000\009\000\000\000\000\000\120\000\005\000\003\000\208\000\
+ \208\000\003\000\005\000\009\000\098\000\000\000\009\000\009\000\
+ \009\000\003\000\009\000\203\000\000\000\208\000\000\000\000\000\
\214\000\000\000\000\000\213\000\117\000\117\000\000\000\000\000\
- \194\000\000\000\193\000\111\000\111\000\115\000\117\000\005\000\
+ \194\000\203\000\193\000\111\000\111\000\115\000\117\000\005\000\
\000\000\085\000\005\000\003\000\109\000\111\000\003\000\094\000\
\009\000\116\000\216\000\116\000\115\000\115\000\000\000\117\000\
\114\000\000\000\109\000\112\000\112\000\000\000\111\000\111\000\
@@ -4679,46 +4829,49 @@ module Struct =
\199\000\199\000\199\000\199\000\199\000\199\000\199\000\199\000\
\199\000\199\000\199\000\199\000\199\000\199\000\199\000\199\000\
\199\000\199\000\199\000\199\000\199\000\000\000\199\000\199\000\
- \199\000\199\000\199\000\199\000\199\000\199\000\207\000\000\000\
- \000\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\
- \204\000\000\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\203\000\000\000\000\000\000\000\
- \000\000\000\000\000\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\000\000\000\000\000\000\
- \000\000\205\000\206\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\000\000\000\000\000\000\
+ \199\000\199\000\199\000\199\000\199\000\199\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\202\000\204\000\
+ \202\000\202\000\207\000\202\000\202\000\000\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\204\000\202\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \203\000\202\000\202\000\202\000\202\000\202\000\202\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\202\000\202\000\202\000\202\000\000\000\206\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\202\000\202\000\202\000\202\000\202\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\202\000\202\000\
+ \202\000\202\000\202\000\202\000\202\000\202\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
- \000\000\000\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\000\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\000\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\255\255\209\000\000\000\000\000\000\000\000\000\
- \000\000\000\000\000\000\000\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\209\000\209\000\203\000\000\000\
- \000\000\000\000\000\000\000\000\000\000\209\000\209\000\209\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\202\000\209\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\255\255\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
+ \209\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\209\000\209\000\209\000\000\000\
- \000\000\000\000\000\000\209\000\000\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\209\000\209\000\209\000\000\000\
- \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \209\000\209\000\000\000\000\000\000\000\000\000\209\000\000\000\
+ \209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
+ \209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
+ \209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
+ \209\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
@@ -4726,25 +4879,27 @@ module Struct =
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
- \000\000\000\000\000\000\000\000\209\000\209\000\209\000\209\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\000\000\209\000\209\000\209\000\209\000\
+ \209\000\209\000\209\000\209\000\209\000\209\000\000\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\000\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\209\000\000\000\000\000\000\000\
- \000\000\000\000\000\000\208\000\000\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\209\000\209\000\209\000\203\000\
- \000\000\000\000\000\000\000\000\000\000\000\000\209\000\209\000\
+ \209\000\209\000\209\000\209\000\209\000\209\000\000\000\209\000\
+ \209\000\209\000\209\000\209\000\209\000\209\000\209\000\208\000\
+ \000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\208\000\000\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
+ \203\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \000\000\000\000\000\000\000\000\209\000\000\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
+ \209\000\000\000\000\000\000\000\000\000\209\000\000\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
+ \209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
+ \209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
@@ -4752,57 +4907,56 @@ module Struct =
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
- \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
- \000\000\000\000\000\000\000\000\000\000\209\000\209\000\209\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\000\000\209\000\209\000\209\000\
+ \209\000\209\000\209\000\209\000\209\000\000\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\209\000\209\000\209\000\203\000\
- \000\000\000\000\000\000\000\000\000\000\000\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
+ \203\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \000\000\000\000\000\000\000\000\209\000\000\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
+ \209\000\000\000\000\000\000\000\000\000\209\000\000\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \000\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\
+ \209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
+ \209\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \000\000\000\000\000\000\000\000\221\000\000\000\221\000\221\000\
+ \221\000\000\000\000\000\000\000\000\000\221\000\000\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \000\000\000\000\000\000\000\000\000\000\209\000\209\000\209\000\
+ \221\000\000\000\000\000\000\000\000\000\000\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\000\000\209\000\209\000\209\000\
+ \209\000\209\000\209\000\209\000\209\000\000\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\000\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\209\000\221\000\221\000\221\000\
+ \209\000\209\000\209\000\209\000\209\000\000\000\209\000\209\000\
+ \209\000\209\000\209\000\209\000\209\000\209\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\221\000\000\000\221\000\221\000\221\000\
+ \221\000\221\000\221\000\221\000\221\000\000\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\221\000\000\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\221\000\221\000\220\000\220\000\220\000\
+ \221\000\221\000\221\000\221\000\221\000\000\000\221\000\221\000\
+ \221\000\221\000\221\000\221\000\221\000\221\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\220\000\220\000\220\000\220\000\000\000\
- \000\000\000\000\000\000\220\000\000\000\220\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
+ \000\000\000\000\000\000\000\000\220\000\000\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\220\000\220\000\220\000\220\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
@@ -4811,24 +4965,24 @@ module Struct =
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
- \000\000\000\000\000\000\000\000\220\000\220\000\220\000\220\000\
+ \000\000\000\000\000\000\000\000\000\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\000\000\220\000\220\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\000\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\220\000\220\000\220\000\000\000\000\000\
- \217\000\000\000\000\000\000\000\218\000\220\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\220\000\220\000\220\000\000\000\
+ \000\000\217\000\000\000\000\000\000\000\218\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\220\000\220\000\220\000\220\000\000\000\
- \000\000\000\000\000\000\220\000\000\000\220\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
+ \000\000\000\000\000\000\000\000\220\000\000\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\220\000\220\000\220\000\220\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
@@ -4837,24 +4991,24 @@ module Struct =
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
- \000\000\000\000\000\000\000\000\220\000\220\000\220\000\220\000\
+ \000\000\000\000\000\000\000\000\000\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\000\000\220\000\220\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\000\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\221\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\220\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\221\000\221\000\221\000\000\000\000\000\
- \217\000\000\000\000\000\000\000\000\000\221\000\221\000\221\000\
+ \220\000\220\000\220\000\220\000\221\000\220\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\220\000\221\000\221\000\221\000\
+ \221\000\221\000\221\000\221\000\221\000\221\000\221\000\000\000\
+ \000\000\217\000\000\000\000\000\000\000\000\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\221\000\221\000\221\000\221\000\000\000\
- \000\000\000\000\000\000\221\000\000\000\221\000\221\000\221\000\
+ \221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
+ \000\000\000\000\000\000\000\000\221\000\000\000\221\000\221\000\
+ \221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\221\000\221\000\221\000\221\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
@@ -4863,15 +5017,15 @@ module Struct =
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
- \000\000\000\000\000\000\000\000\221\000\221\000\221\000\221\000\
+ \000\000\000\000\000\000\000\000\000\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\000\000\221\000\221\000\221\000\221\000\
+ \221\000\221\000\221\000\221\000\000\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\000\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\221\000\000\000";
+ \221\000\221\000\221\000\221\000\000\000\221\000\221\000\221\000\
+ \221\000\221\000\221\000\221\000\221\000\000\000";
Lexing.lex_check =
"\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\000\000\000\000\029\000\000\000\000\000\101\000\107\000\
@@ -4903,9 +5057,9 @@ module Struct =
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
- \000\000\000\000\000\000\000\000\000\000\000\000\000\000\204\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\255\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
- \000\000\003\000\255\255\204\000\003\000\003\000\003\000\050\000\
+ \000\000\003\000\255\255\255\255\003\000\003\000\003\000\050\000\
\103\000\106\000\003\000\003\000\020\000\003\000\003\000\003\000\
\039\000\039\000\039\000\039\000\039\000\039\000\039\000\039\000\
\039\000\039\000\003\000\143\000\003\000\003\000\003\000\003\000\
@@ -4914,8 +5068,8 @@ module Struct =
\038\000\038\000\038\000\038\000\038\000\038\000\038\000\005\000\
\143\000\005\000\005\000\005\000\003\000\005\000\003\000\039\000\
\104\000\255\255\171\000\104\000\006\000\039\000\255\255\006\000\
- \006\000\006\000\208\000\255\255\006\000\006\000\006\000\255\255\
- \006\000\006\000\006\000\255\255\068\000\255\255\208\000\068\000\
+ \006\000\006\000\255\255\255\255\006\000\006\000\006\000\255\255\
+ \006\000\006\000\006\000\255\255\068\000\255\255\255\255\068\000\
\104\000\171\000\005\000\005\000\003\000\006\000\003\000\006\000\
\006\000\006\000\006\000\006\000\170\000\170\000\255\255\255\255\
\255\255\007\000\255\255\068\000\007\000\007\000\007\000\255\255\
@@ -4928,12 +5082,12 @@ module Struct =
\006\000\006\000\255\255\255\255\007\000\007\000\007\000\008\000\
\255\255\008\000\008\000\008\000\008\000\008\000\188\000\255\255\
\020\000\188\000\255\255\009\000\255\255\255\255\009\000\009\000\
- \009\000\255\255\255\255\009\000\009\000\009\000\255\255\009\000\
- \009\000\009\000\255\255\255\255\007\000\007\000\007\000\255\255\
- \255\255\008\000\008\000\008\000\009\000\255\255\009\000\009\000\
- \009\000\009\000\009\000\255\255\255\255\255\255\255\255\255\255\
+ \009\000\255\255\204\000\009\000\009\000\009\000\255\255\009\000\
+ \009\000\009\000\255\255\255\255\007\000\007\000\007\000\204\000\
+ \208\000\008\000\008\000\008\000\009\000\255\255\009\000\009\000\
+ \009\000\009\000\009\000\204\000\255\255\208\000\255\255\255\255\
\210\000\255\255\255\255\210\000\011\000\011\000\255\255\255\255\
- \188\000\255\255\188\000\013\000\013\000\011\000\011\000\013\000\
+ \188\000\208\000\188\000\013\000\013\000\011\000\011\000\013\000\
\255\255\008\000\008\000\008\000\013\000\013\000\009\000\009\000\
\009\000\011\000\210\000\011\000\011\000\011\000\255\255\011\000\
\013\000\255\255\013\000\013\000\013\000\255\255\013\000\014\000\
@@ -5728,46 +5882,49 @@ module Struct =
\199\000\199\000\199\000\199\000\199\000\199\000\199\000\199\000\
\199\000\199\000\199\000\199\000\199\000\199\000\199\000\199\000\
\199\000\199\000\199\000\199\000\199\000\255\255\199\000\199\000\
- \199\000\199\000\199\000\199\000\199\000\199\000\201\000\255\255\
- \255\255\201\000\255\255\255\255\255\255\255\255\255\255\255\255\
- \201\000\255\255\201\000\201\000\201\000\201\000\201\000\201\000\
- \201\000\201\000\201\000\201\000\201\000\255\255\255\255\255\255\
- \255\255\255\255\255\255\201\000\201\000\201\000\201\000\201\000\
+ \199\000\199\000\199\000\199\000\199\000\199\000\201\000\201\000\
\201\000\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
\201\000\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
- \201\000\201\000\201\000\201\000\201\000\255\255\255\255\255\255\
- \255\255\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
\201\000\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
\201\000\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
- \201\000\201\000\201\000\201\000\201\000\255\255\255\255\255\255\
+ \201\000\201\000\201\000\201\000\201\000\255\255\201\000\201\000\
+ \201\000\201\000\201\000\201\000\201\000\201\000\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \201\000\201\000\201\000\201\000\201\000\201\000\201\000\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\201\000\201\000\201\000\201\000\255\255\201\000\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
- \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
- \255\255\255\255\201\000\201\000\201\000\201\000\201\000\201\000\
+ \255\255\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
+ \201\000\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
\201\000\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
\201\000\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
- \201\000\255\255\201\000\201\000\201\000\201\000\201\000\201\000\
\201\000\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
\201\000\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
\201\000\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
- \201\000\255\255\201\000\201\000\201\000\201\000\201\000\201\000\
- \201\000\201\000\201\000\205\000\255\255\255\255\255\255\255\255\
- \255\255\255\255\255\255\255\255\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\255\255\
- \255\255\255\255\255\255\255\255\255\255\205\000\205\000\205\000\
+ \201\000\201\000\201\000\201\000\201\000\201\000\201\000\201\000\
+ \201\000\201\000\201\000\201\000\201\000\201\000\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\201\000\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\201\000\205\000\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\201\000\205\000\
\205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
+ \205\000\205\000\255\255\255\255\255\255\255\255\255\255\255\255\
\205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\255\255\
- \255\255\255\255\255\255\205\000\255\255\205\000\205\000\205\000\
\205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
\205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\205\000\205\000\205\000\255\255\
- \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \205\000\205\000\255\255\255\255\255\255\255\255\205\000\255\255\
+ \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
+ \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
+ \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
+ \205\000\205\000\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
@@ -5775,25 +5932,27 @@ module Struct =
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
- \255\255\255\255\255\255\255\255\205\000\205\000\205\000\205\000\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\205\000\
\205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
\205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\255\255\205\000\205\000\205\000\205\000\
+ \205\000\205\000\205\000\205\000\205\000\205\000\255\255\205\000\
\205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
\205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
\205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\255\255\205\000\205\000\205\000\205\000\
- \205\000\205\000\205\000\205\000\206\000\255\255\255\255\255\255\
- \255\255\255\255\255\255\206\000\255\255\206\000\206\000\206\000\
+ \205\000\205\000\205\000\205\000\205\000\205\000\255\255\205\000\
+ \205\000\205\000\205\000\205\000\205\000\205\000\205\000\206\000\
+ \255\255\255\255\255\255\255\255\255\255\206\000\255\255\255\255\
+ \255\255\255\255\255\255\255\255\206\000\255\255\206\000\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
- \255\255\255\255\255\255\255\255\255\255\255\255\206\000\206\000\
+ \206\000\255\255\255\255\255\255\255\255\255\255\255\255\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
- \255\255\255\255\255\255\255\255\206\000\255\255\206\000\206\000\
+ \206\000\255\255\255\255\255\255\255\255\206\000\255\255\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
+ \206\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
@@ -5801,57 +5960,56 @@ module Struct =
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
- \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
- \255\255\255\255\255\255\255\255\255\255\206\000\206\000\206\000\
+ \255\255\255\255\255\255\255\255\255\255\255\255\206\000\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
- \206\000\206\000\206\000\206\000\255\255\206\000\206\000\206\000\
+ \206\000\206\000\206\000\206\000\206\000\255\255\206\000\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
\206\000\206\000\206\000\206\000\206\000\206\000\206\000\206\000\
- \206\000\206\000\206\000\206\000\209\000\206\000\206\000\206\000\
- \206\000\206\000\206\000\206\000\206\000\209\000\209\000\209\000\
+ \206\000\206\000\206\000\206\000\206\000\209\000\206\000\206\000\
+ \206\000\206\000\206\000\206\000\206\000\206\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \255\255\255\255\255\255\255\255\255\255\255\255\209\000\209\000\
+ \209\000\255\255\255\255\255\255\255\255\255\255\255\255\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \255\255\255\255\255\255\255\255\209\000\255\255\209\000\209\000\
+ \209\000\255\255\255\255\255\255\255\255\209\000\255\255\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \255\255\255\255\255\255\255\255\255\255\255\255\218\000\218\000\
+ \209\000\255\255\255\255\255\255\255\255\255\255\255\255\218\000\
\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\
\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\
\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\
- \255\255\255\255\255\255\255\255\218\000\255\255\218\000\218\000\
+ \218\000\255\255\255\255\255\255\255\255\218\000\255\255\218\000\
\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\
\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\
\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\
- \255\255\255\255\255\255\255\255\255\255\209\000\209\000\209\000\
+ \218\000\255\255\255\255\255\255\255\255\255\255\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\255\255\209\000\209\000\209\000\
+ \209\000\209\000\209\000\209\000\209\000\255\255\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\255\255\209\000\209\000\209\000\
- \209\000\209\000\209\000\209\000\209\000\218\000\218\000\218\000\
+ \209\000\209\000\209\000\209\000\209\000\255\255\209\000\209\000\
+ \209\000\209\000\209\000\209\000\209\000\209\000\218\000\218\000\
\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\
\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\
- \218\000\218\000\218\000\218\000\255\255\218\000\218\000\218\000\
+ \218\000\218\000\218\000\218\000\218\000\255\255\218\000\218\000\
\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\
\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\
\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\
- \218\000\218\000\218\000\218\000\255\255\218\000\218\000\218\000\
- \218\000\218\000\218\000\218\000\218\000\219\000\219\000\219\000\
+ \218\000\218\000\218\000\218\000\218\000\255\255\218\000\218\000\
+ \218\000\218\000\218\000\218\000\218\000\218\000\219\000\219\000\
+ \219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\
\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\
\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\
- \219\000\219\000\219\000\219\000\219\000\219\000\219\000\255\255\
- \255\255\255\255\255\255\219\000\255\255\219\000\219\000\219\000\
+ \255\255\255\255\255\255\255\255\219\000\255\255\219\000\219\000\
+ \219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\
\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\
\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\
- \219\000\219\000\219\000\219\000\219\000\219\000\219\000\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
@@ -5860,24 +6018,24 @@ module Struct =
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
- \255\255\255\255\255\255\255\255\219\000\219\000\219\000\219\000\
+ \255\255\255\255\255\255\255\255\255\255\219\000\219\000\219\000\
\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\
\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\
- \219\000\219\000\219\000\255\255\219\000\219\000\219\000\219\000\
+ \219\000\219\000\219\000\219\000\255\255\219\000\219\000\219\000\
\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\
\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\
\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\
- \219\000\219\000\219\000\220\000\219\000\219\000\219\000\219\000\
- \219\000\219\000\219\000\219\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\220\000\220\000\220\000\255\255\255\255\
- \220\000\255\255\255\255\255\255\220\000\220\000\220\000\220\000\
+ \219\000\219\000\219\000\219\000\220\000\219\000\219\000\219\000\
+ \219\000\219\000\219\000\219\000\219\000\220\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\220\000\220\000\220\000\255\255\
+ \255\255\220\000\255\255\255\255\255\255\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\220\000\220\000\220\000\220\000\255\255\
- \255\255\255\255\255\255\220\000\255\255\220\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
+ \255\255\255\255\255\255\255\255\220\000\255\255\220\000\220\000\
+ \220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\220\000\220\000\220\000\220\000\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
@@ -5886,24 +6044,24 @@ module Struct =
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
- \255\255\255\255\255\255\255\255\220\000\220\000\220\000\220\000\
+ \255\255\255\255\255\255\255\255\255\255\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\255\255\220\000\220\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\255\255\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\221\000\220\000\220\000\220\000\220\000\
- \220\000\220\000\220\000\220\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\221\000\221\000\221\000\255\255\255\255\
- \221\000\255\255\255\255\255\255\255\255\221\000\221\000\221\000\
+ \220\000\220\000\220\000\220\000\221\000\220\000\220\000\220\000\
+ \220\000\220\000\220\000\220\000\220\000\221\000\221\000\221\000\
+ \221\000\221\000\221\000\221\000\221\000\221\000\221\000\255\255\
+ \255\255\221\000\255\255\255\255\255\255\255\255\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\221\000\221\000\221\000\221\000\255\255\
- \255\255\255\255\255\255\221\000\255\255\221\000\221\000\221\000\
+ \221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
+ \255\255\255\255\255\255\255\255\221\000\255\255\221\000\221\000\
+ \221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\221\000\221\000\221\000\221\000\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
@@ -5912,15 +6070,15 @@ module Struct =
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
- \255\255\255\255\255\255\255\255\221\000\221\000\221\000\221\000\
+ \255\255\255\255\255\255\255\255\255\255\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\255\255\221\000\221\000\221\000\221\000\
+ \221\000\221\000\221\000\221\000\255\255\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
\221\000\221\000\221\000\221\000\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\255\255\221\000\221\000\221\000\221\000\
- \221\000\221\000\221\000\221\000\255\255";
+ \221\000\221\000\221\000\221\000\255\255\221\000\221\000\221\000\
+ \221\000\221\000\221\000\221\000\221\000\255\255";
Lexing.lex_base_code =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
@@ -6312,7 +6470,7 @@ module Struct =
Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos
lexbuf.Lexing.lex_curr_pos
in
- (try INT (int_of_string i, i)
+ (try INT ((int_of_string i), i)
with
| Failure _ ->
err (Literal_overflow "int") (Loc.of_lexbuf lexbuf))
@@ -6321,7 +6479,7 @@ module Struct =
Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos
lexbuf.Lexing.lex_curr_pos
in
- (try FLOAT (float_of_string f, f)
+ (try FLOAT ((float_of_string f), f)
with
| Failure _ ->
err (Literal_overflow "float")
@@ -6331,7 +6489,7 @@ module Struct =
Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos
(lexbuf.Lexing.lex_curr_pos + (-1))
in
- (try INT32 (Int32.of_string i, i)
+ (try INT32 ((Int32.of_string i), i)
with
| Failure _ ->
err (Literal_overflow "int32")
@@ -6341,7 +6499,7 @@ module Struct =
Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos
(lexbuf.Lexing.lex_curr_pos + (-1))
in
- (try INT64 (Int64.of_string i, i)
+ (try INT64 ((Int64.of_string i), i)
with
| Failure _ ->
err (Literal_overflow "int64")
@@ -6351,27 +6509,29 @@ module Struct =
Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos
(lexbuf.Lexing.lex_curr_pos + (-1))
in
- (try NATIVEINT (Nativeint.of_string i, i)
+ (try NATIVEINT ((Nativeint.of_string i), i)
with
| Failure _ ->
err (Literal_overflow "nativeint")
(Loc.of_lexbuf lexbuf))
| 11 ->
(with_curr_loc string c;
- let s = buff_contents c in STRING (TokenEval.string s, s))
+ let s = buff_contents c
+ in STRING ((TokenEval.string s), s))
| 12 ->
let x =
Lexing.sub_lexeme lexbuf
(lexbuf.Lexing.lex_start_pos + 1)
(lexbuf.Lexing.lex_curr_pos + (-1))
in
- (update_loc c None 1 false 1; CHAR (TokenEval.char x, x))
+ (update_loc c None 1 false 1;
+ CHAR ((TokenEval.char x), x))
| 13 ->
let x =
Lexing.sub_lexeme lexbuf
(lexbuf.Lexing.lex_start_pos + 1)
(lexbuf.Lexing.lex_curr_pos + (-1))
- in CHAR (TokenEval.char x, x)
+ in CHAR ((TokenEval.char x), x)
| 14 ->
let c =
Lexing.sub_lexeme_char lexbuf
@@ -6663,7 +6823,7 @@ module Struct =
and __ocaml_lex_antiquot_rec name c lexbuf __ocaml_lex_state =
match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf
with
- | 0 -> (set_start_p c; ANTIQUOT (name, buff_contents c))
+ | 0 -> (set_start_p c; ANTIQUOT (name, (buff_contents c)))
| 1 -> err Unterminated_antiquot (loc c)
| 2 ->
(update_loc c None 1 false 0;
@@ -6800,9 +6960,9 @@ module Struct =
let rec self =
function
| Ast.ExApp (_loc, e1, e2) ->
- Ast.IdApp (_loc, self e1, self e2)
+ Ast.IdApp (_loc, (self e1), (self e2))
| Ast.ExAcc (_loc, e1, e2) ->
- Ast.IdAcc (_loc, self e1, self e2)
+ Ast.IdAcc (_loc, (self e1), (self e2))
| Ast.ExId (_, (Ast.IdLid (_, _))) -> error ()
| Ast.ExId (_, i) ->
if is_module_longident i then i else error ()
@@ -6819,7 +6979,7 @@ module Struct =
let rec self =
function
| Ast.TyApp (_loc, t1, t2) ->
- Ast.IdApp (_loc, self t1, self t2)
+ Ast.IdApp (_loc, (self t1), (self t2))
| Ast.TyId (_, (Ast.IdLid (_, _))) -> error ()
| Ast.TyId (_, i) ->
if is_module_longident i then i else error ()
@@ -6833,7 +6993,7 @@ module Struct =
let rec self =
function
| Ast.PaApp (_loc, p1, p2) ->
- Ast.IdApp (_loc, self p1, self p2)
+ Ast.IdApp (_loc, (self p1), (self p2))
| Ast.PaId (_, (Ast.IdLid (_, _))) -> error ()
| Ast.PaId (_, i) ->
if is_module_longident i then i else error ()
@@ -6900,7 +7060,7 @@ module Struct =
| [ t ] -> t
| t :: ts ->
let _loc = loc_of_ctyp t
- in Ast.TyOr (_loc, t, tyOr_of_list ts)
+ in Ast.TyOr (_loc, t, (tyOr_of_list ts))
let rec tyAnd_of_list =
function
@@ -6908,7 +7068,7 @@ module Struct =
| [ t ] -> t
| t :: ts ->
let _loc = loc_of_ctyp t
- in Ast.TyAnd (_loc, t, tyAnd_of_list ts)
+ in Ast.TyAnd (_loc, t, (tyAnd_of_list ts))
let rec tySem_of_list =
function
@@ -6916,7 +7076,7 @@ module Struct =
| [ t ] -> t
| t :: ts ->
let _loc = loc_of_ctyp t
- in Ast.TySem (_loc, t, tySem_of_list ts)
+ in Ast.TySem (_loc, t, (tySem_of_list ts))
let rec tyCom_of_list =
function
@@ -6924,7 +7084,7 @@ module Struct =
| [ t ] -> t
| t :: ts ->
let _loc = loc_of_ctyp t
- in Ast.TyCom (_loc, t, tyCom_of_list ts)
+ in Ast.TyCom (_loc, t, (tyCom_of_list ts))
let rec tyAmp_of_list =
function
@@ -6932,7 +7092,7 @@ module Struct =
| [ t ] -> t
| t :: ts ->
let _loc = loc_of_ctyp t
- in Ast.TyAmp (_loc, t, tyAmp_of_list ts)
+ in Ast.TyAmp (_loc, t, (tyAmp_of_list ts))
let rec tySta_of_list =
function
@@ -6940,7 +7100,7 @@ module Struct =
| [ t ] -> t
| t :: ts ->
let _loc = loc_of_ctyp t
- in Ast.TySta (_loc, t, tySta_of_list ts)
+ in Ast.TySta (_loc, t, (tySta_of_list ts))
let rec stSem_of_list =
function
@@ -6948,7 +7108,7 @@ module Struct =
| [ t ] -> t
| t :: ts ->
let _loc = loc_of_str_item t
- in Ast.StSem (_loc, t, stSem_of_list ts)
+ in Ast.StSem (_loc, t, (stSem_of_list ts))
let rec sgSem_of_list =
function
@@ -6956,7 +7116,7 @@ module Struct =
| [ t ] -> t
| t :: ts ->
let _loc = loc_of_sig_item t
- in Ast.SgSem (_loc, t, sgSem_of_list ts)
+ in Ast.SgSem (_loc, t, (sgSem_of_list ts))
let rec biAnd_of_list =
function
@@ -6964,7 +7124,7 @@ module Struct =
| [ b ] -> b
| b :: bs ->
let _loc = loc_of_binding b
- in Ast.BiAnd (_loc, b, biAnd_of_list bs)
+ in Ast.BiAnd (_loc, b, (biAnd_of_list bs))
let rec rbSem_of_list =
function
@@ -6972,7 +7132,7 @@ module Struct =
| [ b ] -> b
| b :: bs ->
let _loc = loc_of_rec_binding b
- in Ast.RbSem (_loc, b, rbSem_of_list bs)
+ in Ast.RbSem (_loc, b, (rbSem_of_list bs))
let rec wcAnd_of_list =
function
@@ -6980,7 +7140,7 @@ module Struct =
| [ w ] -> w
| w :: ws ->
let _loc = loc_of_with_constr w
- in Ast.WcAnd (_loc, w, wcAnd_of_list ws)
+ in Ast.WcAnd (_loc, w, (wcAnd_of_list ws))
let rec idAcc_of_list =
function
@@ -6988,7 +7148,7 @@ module Struct =
| [ i ] -> i
| i :: is ->
let _loc = loc_of_ident i
- in Ast.IdAcc (_loc, i, idAcc_of_list is)
+ in Ast.IdAcc (_loc, i, (idAcc_of_list is))
let rec idApp_of_list =
function
@@ -6996,7 +7156,7 @@ module Struct =
| [ i ] -> i
| i :: is ->
let _loc = loc_of_ident i
- in Ast.IdApp (_loc, i, idApp_of_list is)
+ in Ast.IdApp (_loc, i, (idApp_of_list is))
let rec mcOr_of_list =
function
@@ -7004,7 +7164,7 @@ module Struct =
| [ x ] -> x
| x :: xs ->
let _loc = loc_of_match_case x
- in Ast.McOr (_loc, x, mcOr_of_list xs)
+ in Ast.McOr (_loc, x, (mcOr_of_list xs))
let rec mbAnd_of_list =
function
@@ -7012,7 +7172,7 @@ module Struct =
| [ x ] -> x
| x :: xs ->
let _loc = loc_of_module_binding x
- in Ast.MbAnd (_loc, x, mbAnd_of_list xs)
+ in Ast.MbAnd (_loc, x, (mbAnd_of_list xs))
let rec meApp_of_list =
function
@@ -7020,7 +7180,7 @@ module Struct =
| [ x ] -> x
| x :: xs ->
let _loc = loc_of_module_expr x
- in Ast.MeApp (_loc, x, meApp_of_list xs)
+ in Ast.MeApp (_loc, x, (meApp_of_list xs))
let rec ceAnd_of_list =
function
@@ -7028,7 +7188,7 @@ module Struct =
| [ x ] -> x
| x :: xs ->
let _loc = loc_of_class_expr x
- in Ast.CeAnd (_loc, x, ceAnd_of_list xs)
+ in Ast.CeAnd (_loc, x, (ceAnd_of_list xs))
let rec ctAnd_of_list =
function
@@ -7036,7 +7196,7 @@ module Struct =
| [ x ] -> x
| x :: xs ->
let _loc = loc_of_class_type x
- in Ast.CtAnd (_loc, x, ctAnd_of_list xs)
+ in Ast.CtAnd (_loc, x, (ctAnd_of_list xs))
let rec cgSem_of_list =
function
@@ -7044,7 +7204,7 @@ module Struct =
| [ x ] -> x
| x :: xs ->
let _loc = loc_of_class_sig_item x
- in Ast.CgSem (_loc, x, cgSem_of_list xs)
+ in Ast.CgSem (_loc, x, (cgSem_of_list xs))
let rec crSem_of_list =
function
@@ -7052,7 +7212,7 @@ module Struct =
| [ x ] -> x
| x :: xs ->
let _loc = loc_of_class_str_item x
- in Ast.CrSem (_loc, x, crSem_of_list xs)
+ in Ast.CrSem (_loc, x, (crSem_of_list xs))
let rec paSem_of_list =
function
@@ -7060,7 +7220,7 @@ module Struct =
| [ x ] -> x
| x :: xs ->
let _loc = loc_of_patt x
- in Ast.PaSem (_loc, x, paSem_of_list xs)
+ in Ast.PaSem (_loc, x, (paSem_of_list xs))
let rec paCom_of_list =
function
@@ -7068,7 +7228,7 @@ module Struct =
| [ x ] -> x
| x :: xs ->
let _loc = loc_of_patt x
- in Ast.PaCom (_loc, x, paCom_of_list xs)
+ in Ast.PaCom (_loc, x, (paCom_of_list xs))
let rec exSem_of_list =
function
@@ -7076,7 +7236,7 @@ module Struct =
| [ x ] -> x
| x :: xs ->
let _loc = loc_of_expr x
- in Ast.ExSem (_loc, x, exSem_of_list xs)
+ in Ast.ExSem (_loc, x, (exSem_of_list xs))
let rec exCom_of_list =
function
@@ -7084,22 +7244,23 @@ module Struct =
| [ x ] -> x
| x :: xs ->
let _loc = loc_of_expr x
- in Ast.ExCom (_loc, x, exCom_of_list xs)
+ in Ast.ExCom (_loc, x, (exCom_of_list xs))
let ty_of_stl =
function
- | (_loc, s, []) -> Ast.TyId (_loc, Ast.IdUid (_loc, s))
+ | (_loc, s, []) -> Ast.TyId (_loc, (Ast.IdUid (_loc, s)))
| (_loc, s, tl) ->
- Ast.TyOf (_loc, Ast.TyId (_loc, Ast.IdUid (_loc, s)),
- tyAnd_of_list tl)
+ Ast.TyOf (_loc, (Ast.TyId (_loc, (Ast.IdUid (_loc, s)))),
+ (tyAnd_of_list tl))
let ty_of_sbt =
function
| (_loc, s, true, t) ->
- Ast.TyCol (_loc, Ast.TyId (_loc, Ast.IdLid (_loc, s)),
- Ast.TyMut (_loc, t))
+ Ast.TyCol (_loc, (Ast.TyId (_loc, (Ast.IdLid (_loc, s)))),
+ (Ast.TyMut (_loc, t)))
| (_loc, s, false, t) ->
- Ast.TyCol (_loc, Ast.TyId (_loc, Ast.IdLid (_loc, s)), t)
+ Ast.TyCol (_loc, (Ast.TyId (_loc, (Ast.IdLid (_loc, s)))),
+ t)
let bi_of_pe (p, e) =
let _loc = loc_of_patt p in Ast.BiEq (_loc, p, e)
@@ -7239,57 +7400,71 @@ module Struct =
let (a, b, c, d, e, f, g, h) = Loc.to_tuple location
in
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Loc"),
- Ast.IdLid (_loc, "of_tuple"))),
- Ast.PaTup (_loc,
- Ast.PaCom (_loc,
- Ast.PaStr (_loc, Ast.safe_string_escaped a),
- Ast.PaCom (_loc,
- Ast.PaCom (_loc,
- Ast.PaCom (_loc,
- Ast.PaCom (_loc,
- Ast.PaCom (_loc,
- Ast.PaCom (_loc,
- Ast.PaInt (_loc, string_of_int b),
- Ast.PaInt (_loc, string_of_int c)),
- Ast.PaInt (_loc, string_of_int d)),
- Ast.PaInt (_loc, string_of_int e)),
- Ast.PaInt (_loc, string_of_int f)),
- Ast.PaInt (_loc, string_of_int g)),
- if h
- then
- Ast.PaId (_loc, Ast.IdUid (_loc, "True"))
- else
- Ast.PaId (_loc, Ast.IdUid (_loc, "False"))))))
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Loc")),
+ (Ast.IdLid (_loc, "of_tuple")))))),
+ (Ast.PaTup (_loc,
+ (Ast.PaCom (_loc,
+ (Ast.PaStr (_loc,
+ (Ast.safe_string_escaped a))),
+ (Ast.PaCom (_loc,
+ (Ast.PaCom (_loc,
+ (Ast.PaCom (_loc,
+ (Ast.PaCom (_loc,
+ (Ast.PaCom (_loc,
+ (Ast.PaCom (_loc,
+ (Ast.PaInt (_loc,
+ (string_of_int b))),
+ (Ast.PaInt (_loc,
+ (string_of_int c))))),
+ (Ast.PaInt (_loc,
+ (string_of_int d))))),
+ (Ast.PaInt (_loc,
+ (string_of_int e))))),
+ (Ast.PaInt (_loc, (string_of_int f))))),
+ (Ast.PaInt (_loc, (string_of_int g))))),
+ (if h
+ then
+ Ast.PaId (_loc,
+ (Ast.IdUid (_loc, "True")))
+ else
+ Ast.PaId (_loc,
+ (Ast.IdUid (_loc, "False")))))))))))
let meta_loc_expr _loc location =
let (a, b, c, d, e, f, g, h) = Loc.to_tuple location
in
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Loc"),
- Ast.IdLid (_loc, "of_tuple"))),
- Ast.ExTup (_loc,
- Ast.ExCom (_loc,
- Ast.ExStr (_loc, Ast.safe_string_escaped a),
- Ast.ExCom (_loc,
- Ast.ExCom (_loc,
- Ast.ExCom (_loc,
- Ast.ExCom (_loc,
- Ast.ExCom (_loc,
- Ast.ExCom (_loc,
- Ast.ExInt (_loc, string_of_int b),
- Ast.ExInt (_loc, string_of_int c)),
- Ast.ExInt (_loc, string_of_int d)),
- Ast.ExInt (_loc, string_of_int e)),
- Ast.ExInt (_loc, string_of_int f)),
- Ast.ExInt (_loc, string_of_int g)),
- if h
- then
- Ast.ExId (_loc, Ast.IdUid (_loc, "True"))
- else
- Ast.ExId (_loc, Ast.IdUid (_loc, "False"))))))
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Loc")),
+ (Ast.IdLid (_loc, "of_tuple")))))),
+ (Ast.ExTup (_loc,
+ (Ast.ExCom (_loc,
+ (Ast.ExStr (_loc,
+ (Ast.safe_string_escaped a))),
+ (Ast.ExCom (_loc,
+ (Ast.ExCom (_loc,
+ (Ast.ExCom (_loc,
+ (Ast.ExCom (_loc,
+ (Ast.ExCom (_loc,
+ (Ast.ExCom (_loc,
+ (Ast.ExInt (_loc,
+ (string_of_int b))),
+ (Ast.ExInt (_loc,
+ (string_of_int c))))),
+ (Ast.ExInt (_loc,
+ (string_of_int d))))),
+ (Ast.ExInt (_loc,
+ (string_of_int e))))),
+ (Ast.ExInt (_loc, (string_of_int f))))),
+ (Ast.ExInt (_loc, (string_of_int g))))),
+ (if h
+ then
+ Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "True")))
+ else
+ Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "False")))))))))))
end
@@ -7297,23 +7472,23 @@ module Struct =
struct
let meta_loc_patt _loc _ =
Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Loc"),
- Ast.IdLid (_loc, "ghost")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Loc")),
+ (Ast.IdLid (_loc, "ghost")))))
let meta_loc_expr _loc _ =
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Loc"),
- Ast.IdLid (_loc, "ghost")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Loc")),
+ (Ast.IdLid (_loc, "ghost")))))
end
module MetaLocVar =
struct
let meta_loc_patt _loc _ =
- Ast.PaId (_loc, Ast.IdLid (_loc, !Loc.name))
+ Ast.PaId (_loc, (Ast.IdLid (_loc, !Loc.name)))
let meta_loc_expr _loc _ =
- Ast.ExId (_loc, Ast.IdLid (_loc, !Loc.name))
+ Ast.ExId (_loc, (Ast.IdLid (_loc, !Loc.name)))
end
@@ -7336,2095 +7511,2274 @@ module Struct =
let meta_bool _loc =
function
| false ->
- Ast.ExId (_loc, Ast.IdUid (_loc, "False"))
- | true -> Ast.ExId (_loc, Ast.IdUid (_loc, "True"))
+ Ast.ExId (_loc, (Ast.IdUid (_loc, "False")))
+ | true ->
+ Ast.ExId (_loc, (Ast.IdUid (_loc, "True")))
let rec meta_list mf_a _loc =
function
- | [] -> Ast.ExId (_loc, Ast.IdUid (_loc, "[]"))
+ | [] -> Ast.ExId (_loc, (Ast.IdUid (_loc, "[]")))
| x :: xs ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "::")),
- mf_a _loc x),
- meta_list mf_a _loc xs)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "::")))),
+ (mf_a _loc x))),
+ (meta_list mf_a _loc xs))
let rec meta_binding _loc =
function
| Ast.BiAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.BiEq (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BiEq"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BiEq")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_expr _loc x2))
| Ast.BiAnd (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BiAnd"))),
- meta_loc _loc x0),
- meta_binding _loc x1),
- meta_binding _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BiAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_binding _loc x1))),
+ (meta_binding _loc x2))
| Ast.BiNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BiNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BiNil")))))),
+ (meta_loc _loc x0))
and meta_class_expr _loc =
function
| Ast.CeAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.CeEq (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeEq"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1),
- meta_class_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeEq")))))),
+ (meta_loc _loc x0))),
+ (meta_class_expr _loc x1))),
+ (meta_class_expr _loc x2))
| Ast.CeAnd (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeAnd"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1),
- meta_class_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_class_expr _loc x1))),
+ (meta_class_expr _loc x2))
| Ast.CeTyc (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeTyc"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1),
- meta_class_type _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeTyc")))))),
+ (meta_loc _loc x0))),
+ (meta_class_expr _loc x1))),
+ (meta_class_type _loc x2))
| Ast.CeStr (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeStr"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_class_str_item _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeStr")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_class_str_item _loc x2))
| Ast.CeLet (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeLet"))),
- meta_loc _loc x0),
- meta_meta_bool _loc x1),
- meta_binding _loc x2),
- meta_class_expr _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeLet")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_flag _loc x1))),
+ (meta_binding _loc x2))),
+ (meta_class_expr _loc x3))
| Ast.CeFun (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeFun"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_class_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeFun")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_class_expr _loc x2))
| Ast.CeCon (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeCon"))),
- meta_loc _loc x0),
- meta_meta_bool _loc x1),
- meta_ident _loc x2),
- meta_ctyp _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeCon")))))),
+ (meta_loc _loc x0))),
+ (meta_virtual_flag _loc x1))),
+ (meta_ident _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.CeApp (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeApp"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeApp")))))),
+ (meta_loc _loc x0))),
+ (meta_class_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.CeNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeNil")))))),
+ (meta_loc _loc x0))
and meta_class_sig_item _loc =
function
| Ast.CgAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.CgVir (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgVir"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_ctyp _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgVir")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_private_flag _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.CgVal (x0, x1, x2, x3, x4) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgVal"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_meta_bool _loc x3),
- meta_ctyp _loc x4)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgVal")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_mutable_flag _loc x2))),
+ (meta_virtual_flag _loc x3))),
+ (meta_ctyp _loc x4))
| Ast.CgMth (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgMth"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_ctyp _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgMth")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_private_flag _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.CgInh (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgInh"))),
- meta_loc _loc x0),
- meta_class_type _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgInh")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))
| Ast.CgSem (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgSem"))),
- meta_loc _loc x0),
- meta_class_sig_item _loc x1),
- meta_class_sig_item _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgSem")))))),
+ (meta_loc _loc x0))),
+ (meta_class_sig_item _loc x1))),
+ (meta_class_sig_item _loc x2))
| Ast.CgCtr (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgCtr"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgCtr")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.CgNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgNil")))))),
+ (meta_loc _loc x0))
and meta_class_str_item _loc =
function
| Ast.CrAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.CrVvr (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrVvr"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_ctyp _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrVvr")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_mutable_flag _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.CrVir (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrVir"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_ctyp _loc x3)
- | Ast.CrVal (x0, x1, x2, x3) ->
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrVir")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_private_flag _loc x2))),
+ (meta_ctyp _loc x3))
+ | Ast.CrVal (x0, x1, x2, x3, x4) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrVal"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_expr _loc x3)
- | Ast.CrMth (x0, x1, x2, x3, x4) ->
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrVal")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_override_flag _loc x2))),
+ (meta_mutable_flag _loc x3))),
+ (meta_expr _loc x4))
+ | Ast.CrMth (x0, x1, x2, x3, x4, x5) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrMth"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_expr _loc x3),
- meta_ctyp _loc x4)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc,
+ "CrMth")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_override_flag _loc x2))),
+ (meta_private_flag _loc x3))),
+ (meta_expr _loc x4))),
+ (meta_ctyp _loc x5))
| Ast.CrIni (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrIni"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
- | Ast.CrInh (x0, x1, x2) ->
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrIni")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
+ | Ast.CrInh (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrInh"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1),
- meta_string _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrInh")))))),
+ (meta_loc _loc x0))),
+ (meta_override_flag _loc x1))),
+ (meta_class_expr _loc x2))),
+ (meta_string _loc x3))
| Ast.CrCtr (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrCtr"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrCtr")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.CrSem (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrSem"))),
- meta_loc _loc x0),
- meta_class_str_item _loc x1),
- meta_class_str_item _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrSem")))))),
+ (meta_loc _loc x0))),
+ (meta_class_str_item _loc x1))),
+ (meta_class_str_item _loc x2))
| Ast.CrNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrNil")))))),
+ (meta_loc _loc x0))
and meta_class_type _loc =
function
| Ast.CtAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.CtEq (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtEq"))),
- meta_loc _loc x0),
- meta_class_type _loc x1),
- meta_class_type _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtEq")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))),
+ (meta_class_type _loc x2))
| Ast.CtCol (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtCol"))),
- meta_loc _loc x0),
- meta_class_type _loc x1),
- meta_class_type _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtCol")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))),
+ (meta_class_type _loc x2))
| Ast.CtAnd (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtAnd"))),
- meta_loc _loc x0),
- meta_class_type _loc x1),
- meta_class_type _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))),
+ (meta_class_type _loc x2))
| Ast.CtSig (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtSig"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_class_sig_item _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtSig")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_class_sig_item _loc x2))
| Ast.CtFun (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtFun"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_class_type _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtFun")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_class_type _loc x2))
| Ast.CtCon (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtCon"))),
- meta_loc _loc x0),
- meta_meta_bool _loc x1),
- meta_ident _loc x2),
- meta_ctyp _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtCon")))))),
+ (meta_loc _loc x0))),
+ (meta_virtual_flag _loc x1))),
+ (meta_ident _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.CtNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtNil")))))),
+ (meta_loc _loc x0))
and meta_ctyp _loc =
function
| Ast.TyAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.TyPkg (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyPkg"))),
- meta_loc _loc x0),
- meta_module_type _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyPkg")))))),
+ (meta_loc _loc x0))),
+ (meta_module_type _loc x1))
| Ast.TyOfAmp (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyOfAmp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyOfAmp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyAmp (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyAmp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyAmp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyVrnInfSup (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyVrnInfSup"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyVrnInfSup")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyVrnInf (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyVrnInf"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyVrnInf")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyVrnSup (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyVrnSup"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyVrnSup")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyVrnEq (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyVrnEq"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyVrnEq")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TySta (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TySta"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TySta")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyTup (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyTup"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyTup")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyMut (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyMut"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyMut")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyPrv (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyPrv"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyPrv")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyOr (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyOr"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyOr")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyAnd (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyAnd"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyOf (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyOf"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyOf")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TySum (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TySum"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TySum")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyCom (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyCom"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyCom")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TySem (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TySem"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TySem")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyCol (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyCol"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyCol")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyRec (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyRec"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyRec")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyVrn (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyVrn"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyVrn")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.TyQuM (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyQuM"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyQuM")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.TyQuP (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyQuP"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyQuP")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.TyQuo (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyQuo"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyQuo")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.TyPol (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyPol"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyPol")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyOlb (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyOlb"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyOlb")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyObj (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyObj"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_meta_bool _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyObj")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_row_var_flag _loc x2))
| Ast.TyDcl (x0, x1, x2, x3, x4) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyDcl"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_list meta_ctyp _loc x2),
- meta_ctyp _loc x3),
- meta_list
- (fun _loc (x1, x2) ->
- Ast.ExTup (_loc,
- Ast.ExCom (_loc, meta_ctyp _loc x1,
- meta_ctyp _loc x2)))
- _loc x4)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyDcl")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_list meta_ctyp _loc x2))),
+ (meta_ctyp _loc x3))),
+ (meta_list
+ (fun _loc (x1, x2) ->
+ Ast.ExTup (_loc,
+ (Ast.ExCom (_loc,
+ (meta_ctyp _loc x1),
+ (meta_ctyp _loc x2)))))
+ _loc x4))
| Ast.TyMan (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyMan"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyMan")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyId (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyId"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyId")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.TyLab (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyLab"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyLab")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyCls (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyCls"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyCls")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.TyArr (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyArr"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyArr")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyApp (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyApp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyApp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyAny x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyAny"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyAny")))))),
+ (meta_loc _loc x0))
| Ast.TyAli (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyAli"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyAli")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyNil")))))),
+ (meta_loc _loc x0))
+ and meta_direction_flag _loc =
+ function
+ | Ast.DiAnt x0 -> Ast.ExAnt (_loc, x0)
+ | Ast.DiDownto ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "DiDownto")))))
+ | Ast.DiTo ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "DiTo")))))
and meta_expr _loc =
function
| Ast.ExPkg (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExPkg"))),
- meta_loc _loc x0),
- meta_module_expr _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExPkg")))))),
+ (meta_loc _loc x0))),
+ (meta_module_expr _loc x1))
| Ast.ExFUN (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExFUN"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExFUN")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExOpI (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExOpI"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExOpI")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExWhi (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExWhi"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExWhi")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExVrn (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExVrn"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExVrn")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExTyc (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExTyc"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExTyc")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.ExCom (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExCom"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExCom")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExTup (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExTup"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExTup")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.ExTry (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExTry"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_match_case _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExTry")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_match_case _loc x2))
| Ast.ExStr (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExStr"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExStr")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExSte (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExSte"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExSte")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExSnd (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExSnd"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_string _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExSnd")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_string _loc x2))
| Ast.ExSeq (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExSeq"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExSeq")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.ExRec (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExRec"))),
- meta_loc _loc x0),
- meta_rec_binding _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExRec")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_binding _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExOvr (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExOvr"))),
- meta_loc _loc x0),
- meta_rec_binding _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExOvr")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_binding _loc x1))
| Ast.ExOlb (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExOlb"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExOlb")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExObj (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExObj"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_class_str_item _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExObj")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_class_str_item _loc x2))
| Ast.ExNew (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExNew"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExNew")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.ExMat (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExMat"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_match_case _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExMat")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_match_case _loc x2))
| Ast.ExLmd (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExLmd"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_expr _loc x2),
- meta_expr _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExLmd")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_expr _loc x2))),
+ (meta_expr _loc x3))
| Ast.ExLet (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExLet"))),
- meta_loc _loc x0),
- meta_meta_bool _loc x1),
- meta_binding _loc x2),
- meta_expr _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExLet")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_flag _loc x1))),
+ (meta_binding _loc x2))),
+ (meta_expr _loc x3))
| Ast.ExLaz (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExLaz"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExLaz")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.ExLab (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExLab"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExLab")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExNativeInt (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExNativeInt"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExNativeInt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExInt64 (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExInt64"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExInt64")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExInt32 (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExInt32"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExInt32")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExInt (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExInt"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExInt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExIfe (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExIfe"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2),
- meta_expr _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExIfe")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))),
+ (meta_expr _loc x3))
| Ast.ExFun (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExFun"))),
- meta_loc _loc x0),
- meta_match_case _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExFun")))))),
+ (meta_loc _loc x0))),
+ (meta_match_case _loc x1))
| Ast.ExFor (x0, x1, x2, x3, x4, x5) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExFor"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2),
- meta_expr _loc x3),
- meta_meta_bool _loc x4),
- meta_expr _loc x5)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc,
+ "ExFor")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))),
+ (meta_expr _loc x3))),
+ (meta_direction_flag _loc x4))),
+ (meta_expr _loc x5))
| Ast.ExFlo (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExFlo"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExFlo")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExCoe (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExCoe"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_ctyp _loc x2),
- meta_ctyp _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExCoe")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_ctyp _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.ExChr (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExChr"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExChr")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExAss (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAss"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAss")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExAsr (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAsr"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAsr")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.ExAsf x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAsf"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAsf")))))),
+ (meta_loc _loc x0))
| Ast.ExSem (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExSem"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExSem")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExArr (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExArr"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExArr")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.ExAre (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAre"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAre")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExApp (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExApp"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExApp")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.ExAcc (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAcc"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAcc")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExId (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExId"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExId")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.ExNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExNil")))))),
+ (meta_loc _loc x0))
and meta_ident _loc =
function
| Ast.IdAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.IdUid (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "IdUid"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "IdUid")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.IdLid (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "IdLid"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "IdLid")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.IdApp (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "IdApp"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_ident _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "IdApp")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_ident _loc x2))
| Ast.IdAcc (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "IdAcc"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_ident _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "IdAcc")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_ident _loc x2))
and meta_match_case _loc =
function
| Ast.McAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.McArr (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "McArr"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_expr _loc x2),
- meta_expr _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "McArr")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_expr _loc x2))),
+ (meta_expr _loc x3))
| Ast.McOr (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "McOr"))),
- meta_loc _loc x0),
- meta_match_case _loc x1),
- meta_match_case _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "McOr")))))),
+ (meta_loc _loc x0))),
+ (meta_match_case _loc x1))),
+ (meta_match_case _loc x2))
| Ast.McNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "McNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "McNil")))))),
+ (meta_loc _loc x0))
and meta_meta_bool _loc =
function
| Ast.BAnt x0 -> Ast.ExAnt (_loc, x0)
| Ast.BFalse ->
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BFalse")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BFalse")))))
| Ast.BTrue ->
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BTrue")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BTrue")))))
and meta_meta_list mf_a _loc =
function
| Ast.LAnt x0 -> Ast.ExAnt (_loc, x0)
| Ast.LCons (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "LCons"))),
- mf_a _loc x0),
- meta_meta_list mf_a _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "LCons")))))),
+ (mf_a _loc x0))),
+ (meta_meta_list mf_a _loc x1))
| Ast.LNil ->
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "LNil")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "LNil")))))
and meta_meta_option mf_a _loc =
function
| Ast.OAnt x0 -> Ast.ExAnt (_loc, x0)
| Ast.OSome x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "OSome"))),
- mf_a _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "OSome")))))),
+ (mf_a _loc x0))
| Ast.ONone ->
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ONone")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ONone")))))
and meta_module_binding _loc =
function
| Ast.MbAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.MbCol (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MbCol"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MbCol")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))
| Ast.MbColEq (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MbColEq"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2),
- meta_module_expr _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MbColEq")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))),
+ (meta_module_expr _loc x3))
| Ast.MbAnd (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MbAnd"))),
- meta_loc _loc x0),
- meta_module_binding _loc x1),
- meta_module_binding _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MbAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_module_binding _loc x1))),
+ (meta_module_binding _loc x2))
| Ast.MbNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MbNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MbNil")))))),
+ (meta_loc _loc x0))
and meta_module_expr _loc =
function
| Ast.MeAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.MePkg (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MePkg"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MePkg")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.MeTyc (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeTyc"))),
- meta_loc _loc x0),
- meta_module_expr _loc x1),
- meta_module_type _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeTyc")))))),
+ (meta_loc _loc x0))),
+ (meta_module_expr _loc x1))),
+ (meta_module_type _loc x2))
| Ast.MeStr (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeStr"))),
- meta_loc _loc x0),
- meta_str_item _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeStr")))))),
+ (meta_loc _loc x0))),
+ (meta_str_item _loc x1))
| Ast.MeFun (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeFun"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2),
- meta_module_expr _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeFun")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))),
+ (meta_module_expr _loc x3))
| Ast.MeApp (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeApp"))),
- meta_loc _loc x0),
- meta_module_expr _loc x1),
- meta_module_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeApp")))))),
+ (meta_loc _loc x0))),
+ (meta_module_expr _loc x1))),
+ (meta_module_expr _loc x2))
| Ast.MeId (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeId"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeId")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.MeNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeNil")))))),
+ (meta_loc _loc x0))
and meta_module_type _loc =
function
| Ast.MtAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.MtWit (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtWit"))),
- meta_loc _loc x0),
- meta_module_type _loc x1),
- meta_with_constr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtWit")))))),
+ (meta_loc _loc x0))),
+ (meta_module_type _loc x1))),
+ (meta_with_constr _loc x2))
| Ast.MtSig (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtSig"))),
- meta_loc _loc x0),
- meta_sig_item _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtSig")))))),
+ (meta_loc _loc x0))),
+ (meta_sig_item _loc x1))
| Ast.MtQuo (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtQuo"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtQuo")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.MtFun (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtFun"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2),
- meta_module_type _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtFun")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))),
+ (meta_module_type _loc x3))
| Ast.MtId (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtId"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtId")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.MtNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtNil")))))),
+ (meta_loc _loc x0))
+ and meta_mutable_flag _loc =
+ function
+ | Ast.MuAnt x0 -> Ast.ExAnt (_loc, x0)
+ | Ast.MuNil ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MuNil")))))
+ | Ast.MuMutable ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MuMutable")))))
+ and meta_override_flag _loc =
+ function
+ | Ast.OvAnt x0 -> Ast.ExAnt (_loc, x0)
+ | Ast.OvNil ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "OvNil")))))
+ | Ast.OvOverride ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "OvOverride")))))
and meta_patt _loc =
function
| Ast.PaLaz (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaLaz"))),
- meta_loc _loc x0),
- meta_patt _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaLaz")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))
| Ast.PaVrn (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaVrn"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaVrn")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaTyp (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaTyp"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaTyp")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.PaTyc (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaTyc"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaTyc")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.PaTup (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaTup"))),
- meta_loc _loc x0),
- meta_patt _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaTup")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))
| Ast.PaStr (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaStr"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaStr")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaEq (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaEq"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_patt _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaEq")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaRec (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaRec"))),
- meta_loc _loc x0),
- meta_patt _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaRec")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))
| Ast.PaRng (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaRng"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaRng")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaOrp (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaOrp"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaOrp")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaOlbi (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaOlbi"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_patt _loc x2),
- meta_expr _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaOlbi")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_patt _loc x2))),
+ (meta_expr _loc x3))
| Ast.PaOlb (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaOlb"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_patt _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaOlb")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaLab (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaLab"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_patt _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaLab")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaFlo (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaFlo"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaFlo")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaNativeInt (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaNativeInt"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaNativeInt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaInt64 (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaInt64"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaInt64")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaInt32 (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaInt32"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaInt32")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaInt (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaInt"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaInt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaChr (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaChr"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaChr")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaSem (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaSem"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaSem")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaCom (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaCom"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaCom")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaArr (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaArr"))),
- meta_loc _loc x0),
- meta_patt _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaArr")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))
| Ast.PaApp (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaApp"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaApp")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaAny x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaAny"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaAny")))))),
+ (meta_loc _loc x0))
| Ast.PaAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.PaAli (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaAli"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaAli")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaId (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaId"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaId")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.PaNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaNil")))))),
+ (meta_loc _loc x0))
+ and meta_private_flag _loc =
+ function
+ | Ast.PrAnt x0 -> Ast.ExAnt (_loc, x0)
+ | Ast.PrNil ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PrNil")))))
+ | Ast.PrPrivate ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PrPrivate")))))
and meta_rec_binding _loc =
function
| Ast.RbAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.RbEq (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "RbEq"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RbEq")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_expr _loc x2))
| Ast.RbSem (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "RbSem"))),
- meta_loc _loc x0),
- meta_rec_binding _loc x1),
- meta_rec_binding _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RbSem")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_binding _loc x1))),
+ (meta_rec_binding _loc x2))
| Ast.RbNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "RbNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RbNil")))))),
+ (meta_loc _loc x0))
+ and meta_rec_flag _loc =
+ function
+ | Ast.ReAnt x0 -> Ast.ExAnt (_loc, x0)
+ | Ast.ReNil ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ReNil")))))
+ | Ast.ReRecursive ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ReRecursive")))))
+ and meta_row_var_flag _loc =
+ function
+ | Ast.RvAnt x0 -> Ast.ExAnt (_loc, x0)
+ | Ast.RvNil ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RvNil")))))
+ | Ast.RvRowVar ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RvRowVar")))))
and meta_sig_item _loc =
function
| Ast.SgAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.SgVal (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgVal"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgVal")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.SgTyp (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgTyp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgTyp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.SgOpn (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgOpn"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgOpn")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.SgMty (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgMty"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgMty")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))
| Ast.SgRecMod (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgRecMod"))),
- meta_loc _loc x0),
- meta_module_binding _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgRecMod")))))),
+ (meta_loc _loc x0))),
+ (meta_module_binding _loc x1))
| Ast.SgMod (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgMod"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgMod")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))
| Ast.SgInc (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgInc"))),
- meta_loc _loc x0),
- meta_module_type _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgInc")))))),
+ (meta_loc _loc x0))),
+ (meta_module_type _loc x1))
| Ast.SgExt (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgExt"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_ctyp _loc x2),
- meta_meta_list meta_string _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgExt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_ctyp _loc x2))),
+ (meta_meta_list meta_string _loc x3))
| Ast.SgExc (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgExc"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgExc")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.SgDir (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgDir"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgDir")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))
| Ast.SgSem (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgSem"))),
- meta_loc _loc x0),
- meta_sig_item _loc x1),
- meta_sig_item _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgSem")))))),
+ (meta_loc _loc x0))),
+ (meta_sig_item _loc x1))),
+ (meta_sig_item _loc x2))
| Ast.SgClt (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgClt"))),
- meta_loc _loc x0),
- meta_class_type _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgClt")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))
| Ast.SgCls (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgCls"))),
- meta_loc _loc x0),
- meta_class_type _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgCls")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))
| Ast.SgNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgNil")))))),
+ (meta_loc _loc x0))
and meta_str_item _loc =
function
| Ast.StAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.StVal (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StVal"))),
- meta_loc _loc x0),
- meta_meta_bool _loc x1),
- meta_binding _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StVal")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_flag _loc x1))),
+ (meta_binding _loc x2))
| Ast.StTyp (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StTyp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StTyp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.StOpn (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StOpn"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StOpn")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.StMty (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StMty"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StMty")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))
| Ast.StRecMod (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StRecMod"))),
- meta_loc _loc x0),
- meta_module_binding _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StRecMod")))))),
+ (meta_loc _loc x0))),
+ (meta_module_binding _loc x1))
| Ast.StMod (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StMod"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StMod")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_expr _loc x2))
| Ast.StInc (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StInc"))),
- meta_loc _loc x0),
- meta_module_expr _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StInc")))))),
+ (meta_loc _loc x0))),
+ (meta_module_expr _loc x1))
| Ast.StExt (x0, x1, x2, x3) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StExt"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_ctyp _loc x2),
- meta_meta_list meta_string _loc x3)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StExt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_ctyp _loc x2))),
+ (meta_meta_list meta_string _loc x3))
| Ast.StExp (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StExp"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StExp")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.StExc (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StExc"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_meta_option meta_ident _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StExc")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_meta_option meta_ident _loc x2))
| Ast.StDir (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StDir"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StDir")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))
| Ast.StSem (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StSem"))),
- meta_loc _loc x0),
- meta_str_item _loc x1),
- meta_str_item _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StSem")))))),
+ (meta_loc _loc x0))),
+ (meta_str_item _loc x1))),
+ (meta_str_item _loc x2))
| Ast.StClt (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StClt"))),
- meta_loc _loc x0),
- meta_class_type _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StClt")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))
| Ast.StCls (x0, x1) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StCls"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StCls")))))),
+ (meta_loc _loc x0))),
+ (meta_class_expr _loc x1))
| Ast.StNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StNil")))))),
+ (meta_loc _loc x0))
+ and meta_virtual_flag _loc =
+ function
+ | Ast.ViAnt x0 -> Ast.ExAnt (_loc, x0)
+ | Ast.ViNil ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ViNil")))))
+ | Ast.ViVirtual ->
+ Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ViVirtual")))))
and meta_with_constr _loc =
function
| Ast.WcAnt (x0, x1) -> Ast.ExAnt (x0, x1)
| Ast.WcAnd (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcAnd"))),
- meta_loc _loc x0),
- meta_with_constr _loc x1),
- meta_with_constr _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_with_constr _loc x1))),
+ (meta_with_constr _loc x2))
| Ast.WcMoS (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcMoS"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_ident _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcMoS")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_ident _loc x2))
| Ast.WcTyS (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcTyS"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcTyS")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.WcMod (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcMod"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_ident _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcMod")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_ident _loc x2))
| Ast.WcTyp (x0, x1, x2) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcTyp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcTyp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.WcNil x0 ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcNil"))),
- meta_loc _loc x0)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcNil")))))),
+ (meta_loc _loc x0))
end
@@ -9443,2095 +9797,2274 @@ module Struct =
let meta_bool _loc =
function
| false ->
- Ast.PaId (_loc, Ast.IdUid (_loc, "False"))
- | true -> Ast.PaId (_loc, Ast.IdUid (_loc, "True"))
+ Ast.PaId (_loc, (Ast.IdUid (_loc, "False")))
+ | true ->
+ Ast.PaId (_loc, (Ast.IdUid (_loc, "True")))
let rec meta_list mf_a _loc =
function
- | [] -> Ast.PaId (_loc, Ast.IdUid (_loc, "[]"))
+ | [] -> Ast.PaId (_loc, (Ast.IdUid (_loc, "[]")))
| x :: xs ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc, Ast.IdUid (_loc, "::")),
- mf_a _loc x),
- meta_list mf_a _loc xs)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "::")))),
+ (mf_a _loc x))),
+ (meta_list mf_a _loc xs))
let rec meta_binding _loc =
function
| Ast.BiAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.BiEq (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BiEq"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BiEq")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_expr _loc x2))
| Ast.BiAnd (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BiAnd"))),
- meta_loc _loc x0),
- meta_binding _loc x1),
- meta_binding _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BiAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_binding _loc x1))),
+ (meta_binding _loc x2))
| Ast.BiNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BiNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BiNil")))))),
+ (meta_loc _loc x0))
and meta_class_expr _loc =
function
| Ast.CeAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.CeEq (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeEq"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1),
- meta_class_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeEq")))))),
+ (meta_loc _loc x0))),
+ (meta_class_expr _loc x1))),
+ (meta_class_expr _loc x2))
| Ast.CeAnd (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeAnd"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1),
- meta_class_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_class_expr _loc x1))),
+ (meta_class_expr _loc x2))
| Ast.CeTyc (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeTyc"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1),
- meta_class_type _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeTyc")))))),
+ (meta_loc _loc x0))),
+ (meta_class_expr _loc x1))),
+ (meta_class_type _loc x2))
| Ast.CeStr (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeStr"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_class_str_item _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeStr")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_class_str_item _loc x2))
| Ast.CeLet (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeLet"))),
- meta_loc _loc x0),
- meta_meta_bool _loc x1),
- meta_binding _loc x2),
- meta_class_expr _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeLet")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_flag _loc x1))),
+ (meta_binding _loc x2))),
+ (meta_class_expr _loc x3))
| Ast.CeFun (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeFun"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_class_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeFun")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_class_expr _loc x2))
| Ast.CeCon (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeCon"))),
- meta_loc _loc x0),
- meta_meta_bool _loc x1),
- meta_ident _loc x2),
- meta_ctyp _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeCon")))))),
+ (meta_loc _loc x0))),
+ (meta_virtual_flag _loc x1))),
+ (meta_ident _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.CeApp (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeApp"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeApp")))))),
+ (meta_loc _loc x0))),
+ (meta_class_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.CeNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeNil")))))),
+ (meta_loc _loc x0))
and meta_class_sig_item _loc =
function
| Ast.CgAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.CgVir (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgVir"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_ctyp _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgVir")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_private_flag _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.CgVal (x0, x1, x2, x3, x4) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgVal"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_meta_bool _loc x3),
- meta_ctyp _loc x4)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgVal")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_mutable_flag _loc x2))),
+ (meta_virtual_flag _loc x3))),
+ (meta_ctyp _loc x4))
| Ast.CgMth (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgMth"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_ctyp _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgMth")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_private_flag _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.CgInh (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgInh"))),
- meta_loc _loc x0),
- meta_class_type _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgInh")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))
| Ast.CgSem (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgSem"))),
- meta_loc _loc x0),
- meta_class_sig_item _loc x1),
- meta_class_sig_item _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgSem")))))),
+ (meta_loc _loc x0))),
+ (meta_class_sig_item _loc x1))),
+ (meta_class_sig_item _loc x2))
| Ast.CgCtr (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgCtr"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgCtr")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.CgNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgNil")))))),
+ (meta_loc _loc x0))
and meta_class_str_item _loc =
function
| Ast.CrAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.CrVvr (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrVvr"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_ctyp _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrVvr")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_mutable_flag _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.CrVir (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrVir"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_ctyp _loc x3)
- | Ast.CrVal (x0, x1, x2, x3) ->
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrVir")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_private_flag _loc x2))),
+ (meta_ctyp _loc x3))
+ | Ast.CrVal (x0, x1, x2, x3, x4) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrVal"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_expr _loc x3)
- | Ast.CrMth (x0, x1, x2, x3, x4) ->
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrVal")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_override_flag _loc x2))),
+ (meta_mutable_flag _loc x3))),
+ (meta_expr _loc x4))
+ | Ast.CrMth (x0, x1, x2, x3, x4, x5) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrMth"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_meta_bool _loc x2),
- meta_expr _loc x3),
- meta_ctyp _loc x4)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc,
+ "CrMth")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_override_flag _loc x2))),
+ (meta_private_flag _loc x3))),
+ (meta_expr _loc x4))),
+ (meta_ctyp _loc x5))
| Ast.CrIni (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrIni"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
- | Ast.CrInh (x0, x1, x2) ->
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrIni")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
+ | Ast.CrInh (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrInh"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1),
- meta_string _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrInh")))))),
+ (meta_loc _loc x0))),
+ (meta_override_flag _loc x1))),
+ (meta_class_expr _loc x2))),
+ (meta_string _loc x3))
| Ast.CrCtr (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrCtr"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrCtr")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.CrSem (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrSem"))),
- meta_loc _loc x0),
- meta_class_str_item _loc x1),
- meta_class_str_item _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrSem")))))),
+ (meta_loc _loc x0))),
+ (meta_class_str_item _loc x1))),
+ (meta_class_str_item _loc x2))
| Ast.CrNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrNil")))))),
+ (meta_loc _loc x0))
and meta_class_type _loc =
function
| Ast.CtAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.CtEq (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtEq"))),
- meta_loc _loc x0),
- meta_class_type _loc x1),
- meta_class_type _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtEq")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))),
+ (meta_class_type _loc x2))
| Ast.CtCol (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtCol"))),
- meta_loc _loc x0),
- meta_class_type _loc x1),
- meta_class_type _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtCol")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))),
+ (meta_class_type _loc x2))
| Ast.CtAnd (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtAnd"))),
- meta_loc _loc x0),
- meta_class_type _loc x1),
- meta_class_type _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))),
+ (meta_class_type _loc x2))
| Ast.CtSig (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtSig"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_class_sig_item _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtSig")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_class_sig_item _loc x2))
| Ast.CtFun (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtFun"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_class_type _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtFun")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_class_type _loc x2))
| Ast.CtCon (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtCon"))),
- meta_loc _loc x0),
- meta_meta_bool _loc x1),
- meta_ident _loc x2),
- meta_ctyp _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtCon")))))),
+ (meta_loc _loc x0))),
+ (meta_virtual_flag _loc x1))),
+ (meta_ident _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.CtNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtNil")))))),
+ (meta_loc _loc x0))
and meta_ctyp _loc =
function
| Ast.TyAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.TyPkg (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyPkg"))),
- meta_loc _loc x0),
- meta_module_type _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyPkg")))))),
+ (meta_loc _loc x0))),
+ (meta_module_type _loc x1))
| Ast.TyOfAmp (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyOfAmp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyOfAmp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyAmp (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyAmp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyAmp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyVrnInfSup (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyVrnInfSup"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyVrnInfSup")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyVrnInf (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyVrnInf"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyVrnInf")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyVrnSup (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyVrnSup"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyVrnSup")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyVrnEq (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyVrnEq"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyVrnEq")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TySta (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TySta"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TySta")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyTup (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyTup"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyTup")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyMut (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyMut"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyMut")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyPrv (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyPrv"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyPrv")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyOr (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyOr"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyOr")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyAnd (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyAnd"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyOf (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyOf"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyOf")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TySum (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TySum"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TySum")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyCom (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyCom"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyCom")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TySem (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TySem"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TySem")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyCol (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyCol"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyCol")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyRec (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyRec"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyRec")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.TyVrn (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyVrn"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyVrn")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.TyQuM (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyQuM"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyQuM")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.TyQuP (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyQuP"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyQuP")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.TyQuo (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyQuo"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyQuo")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.TyPol (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyPol"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyPol")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyOlb (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyOlb"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyOlb")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyObj (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyObj"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_meta_bool _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyObj")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_row_var_flag _loc x2))
| Ast.TyDcl (x0, x1, x2, x3, x4) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyDcl"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_list meta_ctyp _loc x2),
- meta_ctyp _loc x3),
- meta_list
- (fun _loc (x1, x2) ->
- Ast.PaTup (_loc,
- Ast.PaCom (_loc, meta_ctyp _loc x1,
- meta_ctyp _loc x2)))
- _loc x4)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyDcl")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_list meta_ctyp _loc x2))),
+ (meta_ctyp _loc x3))),
+ (meta_list
+ (fun _loc (x1, x2) ->
+ Ast.PaTup (_loc,
+ (Ast.PaCom (_loc,
+ (meta_ctyp _loc x1),
+ (meta_ctyp _loc x2)))))
+ _loc x4))
| Ast.TyMan (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyMan"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyMan")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyId (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyId"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyId")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.TyLab (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyLab"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyLab")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyCls (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyCls"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyCls")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.TyArr (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyArr"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyArr")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyApp (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyApp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyApp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyAny x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyAny"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyAny")))))),
+ (meta_loc _loc x0))
| Ast.TyAli (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyAli"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyAli")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.TyNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyNil")))))),
+ (meta_loc _loc x0))
+ and meta_direction_flag _loc =
+ function
+ | Ast.DiAnt x0 -> Ast.PaAnt (_loc, x0)
+ | Ast.DiDownto ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "DiDownto")))))
+ | Ast.DiTo ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "DiTo")))))
and meta_expr _loc =
function
| Ast.ExPkg (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExPkg"))),
- meta_loc _loc x0),
- meta_module_expr _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExPkg")))))),
+ (meta_loc _loc x0))),
+ (meta_module_expr _loc x1))
| Ast.ExFUN (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExFUN"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExFUN")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExOpI (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExOpI"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExOpI")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExWhi (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExWhi"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExWhi")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExVrn (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExVrn"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExVrn")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExTyc (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExTyc"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExTyc")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.ExCom (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExCom"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExCom")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExTup (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExTup"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExTup")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.ExTry (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExTry"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_match_case _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExTry")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_match_case _loc x2))
| Ast.ExStr (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExStr"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExStr")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExSte (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExSte"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExSte")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExSnd (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExSnd"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_string _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExSnd")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_string _loc x2))
| Ast.ExSeq (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExSeq"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExSeq")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.ExRec (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExRec"))),
- meta_loc _loc x0),
- meta_rec_binding _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExRec")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_binding _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExOvr (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExOvr"))),
- meta_loc _loc x0),
- meta_rec_binding _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExOvr")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_binding _loc x1))
| Ast.ExOlb (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExOlb"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExOlb")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExObj (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExObj"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_class_str_item _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExObj")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_class_str_item _loc x2))
| Ast.ExNew (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExNew"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExNew")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.ExMat (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExMat"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_match_case _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExMat")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_match_case _loc x2))
| Ast.ExLmd (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExLmd"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_expr _loc x2),
- meta_expr _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExLmd")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_expr _loc x2))),
+ (meta_expr _loc x3))
| Ast.ExLet (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExLet"))),
- meta_loc _loc x0),
- meta_meta_bool _loc x1),
- meta_binding _loc x2),
- meta_expr _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExLet")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_flag _loc x1))),
+ (meta_binding _loc x2))),
+ (meta_expr _loc x3))
| Ast.ExLaz (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExLaz"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExLaz")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.ExLab (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExLab"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExLab")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExNativeInt (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExNativeInt"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExNativeInt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExInt64 (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExInt64"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExInt64")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExInt32 (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExInt32"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExInt32")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExInt (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExInt"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExInt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExIfe (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExIfe"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2),
- meta_expr _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExIfe")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))),
+ (meta_expr _loc x3))
| Ast.ExFun (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExFun"))),
- meta_loc _loc x0),
- meta_match_case _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExFun")))))),
+ (meta_loc _loc x0))),
+ (meta_match_case _loc x1))
| Ast.ExFor (x0, x1, x2, x3, x4, x5) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExFor"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2),
- meta_expr _loc x3),
- meta_meta_bool _loc x4),
- meta_expr _loc x5)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc,
+ "ExFor")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))),
+ (meta_expr _loc x3))),
+ (meta_direction_flag _loc x4))),
+ (meta_expr _loc x5))
| Ast.ExFlo (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExFlo"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExFlo")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExCoe (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExCoe"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_ctyp _loc x2),
- meta_ctyp _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExCoe")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_ctyp _loc x2))),
+ (meta_ctyp _loc x3))
| Ast.ExChr (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExChr"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExChr")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.ExAss (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAss"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAss")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExAsr (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAsr"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAsr")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.ExAsf x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAsf"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAsf")))))),
+ (meta_loc _loc x0))
| Ast.ExSem (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExSem"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExSem")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExArr (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExArr"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExArr")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.ExAre (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAre"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAre")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExApp (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExApp"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExApp")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.ExAcc (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAcc"))),
- meta_loc _loc x0),
- meta_expr _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAcc")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))),
+ (meta_expr _loc x2))
| Ast.ExId (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExId"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExId")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.ExNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExNil")))))),
+ (meta_loc _loc x0))
and meta_ident _loc =
function
| Ast.IdAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.IdUid (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "IdUid"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "IdUid")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.IdLid (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "IdLid"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "IdLid")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.IdApp (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "IdApp"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_ident _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "IdApp")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_ident _loc x2))
| Ast.IdAcc (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "IdAcc"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_ident _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "IdAcc")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_ident _loc x2))
and meta_match_case _loc =
function
| Ast.McAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.McArr (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "McArr"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_expr _loc x2),
- meta_expr _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "McArr")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_expr _loc x2))),
+ (meta_expr _loc x3))
| Ast.McOr (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "McOr"))),
- meta_loc _loc x0),
- meta_match_case _loc x1),
- meta_match_case _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "McOr")))))),
+ (meta_loc _loc x0))),
+ (meta_match_case _loc x1))),
+ (meta_match_case _loc x2))
| Ast.McNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "McNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "McNil")))))),
+ (meta_loc _loc x0))
and meta_meta_bool _loc =
function
| Ast.BAnt x0 -> Ast.PaAnt (_loc, x0)
| Ast.BFalse ->
Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BFalse")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BFalse")))))
| Ast.BTrue ->
Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BTrue")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BTrue")))))
and meta_meta_list mf_a _loc =
function
| Ast.LAnt x0 -> Ast.PaAnt (_loc, x0)
| Ast.LCons (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "LCons"))),
- mf_a _loc x0),
- meta_meta_list mf_a _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "LCons")))))),
+ (mf_a _loc x0))),
+ (meta_meta_list mf_a _loc x1))
| Ast.LNil ->
Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "LNil")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "LNil")))))
and meta_meta_option mf_a _loc =
function
| Ast.OAnt x0 -> Ast.PaAnt (_loc, x0)
| Ast.OSome x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "OSome"))),
- mf_a _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "OSome")))))),
+ (mf_a _loc x0))
| Ast.ONone ->
Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ONone")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ONone")))))
and meta_module_binding _loc =
function
| Ast.MbAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.MbCol (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MbCol"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MbCol")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))
| Ast.MbColEq (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MbColEq"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2),
- meta_module_expr _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MbColEq")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))),
+ (meta_module_expr _loc x3))
| Ast.MbAnd (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MbAnd"))),
- meta_loc _loc x0),
- meta_module_binding _loc x1),
- meta_module_binding _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MbAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_module_binding _loc x1))),
+ (meta_module_binding _loc x2))
| Ast.MbNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MbNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MbNil")))))),
+ (meta_loc _loc x0))
and meta_module_expr _loc =
function
| Ast.MeAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.MePkg (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MePkg"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MePkg")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.MeTyc (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeTyc"))),
- meta_loc _loc x0),
- meta_module_expr _loc x1),
- meta_module_type _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeTyc")))))),
+ (meta_loc _loc x0))),
+ (meta_module_expr _loc x1))),
+ (meta_module_type _loc x2))
| Ast.MeStr (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeStr"))),
- meta_loc _loc x0),
- meta_str_item _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeStr")))))),
+ (meta_loc _loc x0))),
+ (meta_str_item _loc x1))
| Ast.MeFun (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeFun"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2),
- meta_module_expr _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeFun")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))),
+ (meta_module_expr _loc x3))
| Ast.MeApp (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeApp"))),
- meta_loc _loc x0),
- meta_module_expr _loc x1),
- meta_module_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeApp")))))),
+ (meta_loc _loc x0))),
+ (meta_module_expr _loc x1))),
+ (meta_module_expr _loc x2))
| Ast.MeId (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeId"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeId")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.MeNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeNil")))))),
+ (meta_loc _loc x0))
and meta_module_type _loc =
function
| Ast.MtAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.MtWit (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtWit"))),
- meta_loc _loc x0),
- meta_module_type _loc x1),
- meta_with_constr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtWit")))))),
+ (meta_loc _loc x0))),
+ (meta_module_type _loc x1))),
+ (meta_with_constr _loc x2))
| Ast.MtSig (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtSig"))),
- meta_loc _loc x0),
- meta_sig_item _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtSig")))))),
+ (meta_loc _loc x0))),
+ (meta_sig_item _loc x1))
| Ast.MtQuo (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtQuo"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtQuo")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.MtFun (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtFun"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2),
- meta_module_type _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtFun")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))),
+ (meta_module_type _loc x3))
| Ast.MtId (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtId"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtId")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.MtNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtNil")))))),
+ (meta_loc _loc x0))
+ and meta_mutable_flag _loc =
+ function
+ | Ast.MuAnt x0 -> Ast.PaAnt (_loc, x0)
+ | Ast.MuNil ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MuNil")))))
+ | Ast.MuMutable ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MuMutable")))))
+ and meta_override_flag _loc =
+ function
+ | Ast.OvAnt x0 -> Ast.PaAnt (_loc, x0)
+ | Ast.OvNil ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "OvNil")))))
+ | Ast.OvOverride ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "OvOverride")))))
and meta_patt _loc =
function
| Ast.PaLaz (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaLaz"))),
- meta_loc _loc x0),
- meta_patt _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaLaz")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))
| Ast.PaVrn (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaVrn"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaVrn")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaTyp (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaTyp"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaTyp")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.PaTyc (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaTyc"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaTyc")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.PaTup (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaTup"))),
- meta_loc _loc x0),
- meta_patt _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaTup")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))
| Ast.PaStr (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaStr"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaStr")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaEq (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaEq"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_patt _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaEq")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaRec (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaRec"))),
- meta_loc _loc x0),
- meta_patt _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaRec")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))
| Ast.PaRng (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaRng"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaRng")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaOrp (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaOrp"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaOrp")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaOlbi (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaOlbi"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_patt _loc x2),
- meta_expr _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaOlbi")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_patt _loc x2))),
+ (meta_expr _loc x3))
| Ast.PaOlb (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaOlb"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_patt _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaOlb")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaLab (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaLab"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_patt _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaLab")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaFlo (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaFlo"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaFlo")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaNativeInt (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaNativeInt"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaNativeInt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaInt64 (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaInt64"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaInt64")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaInt32 (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaInt32"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaInt32")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaInt (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaInt"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaInt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaChr (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaChr"))),
- meta_loc _loc x0),
- meta_string _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaChr")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))
| Ast.PaSem (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaSem"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaSem")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaCom (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaCom"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaCom")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaArr (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaArr"))),
- meta_loc _loc x0),
- meta_patt _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaArr")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))
| Ast.PaApp (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaApp"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaApp")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaAny x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaAny"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaAny")))))),
+ (meta_loc _loc x0))
| Ast.PaAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.PaAli (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaAli"))),
- meta_loc _loc x0),
- meta_patt _loc x1),
- meta_patt _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaAli")))))),
+ (meta_loc _loc x0))),
+ (meta_patt _loc x1))),
+ (meta_patt _loc x2))
| Ast.PaId (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaId"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaId")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.PaNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaNil")))))),
+ (meta_loc _loc x0))
+ and meta_private_flag _loc =
+ function
+ | Ast.PrAnt x0 -> Ast.PaAnt (_loc, x0)
+ | Ast.PrNil ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PrNil")))))
+ | Ast.PrPrivate ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PrPrivate")))))
and meta_rec_binding _loc =
function
| Ast.RbAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.RbEq (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "RbEq"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RbEq")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_expr _loc x2))
| Ast.RbSem (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "RbSem"))),
- meta_loc _loc x0),
- meta_rec_binding _loc x1),
- meta_rec_binding _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RbSem")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_binding _loc x1))),
+ (meta_rec_binding _loc x2))
| Ast.RbNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "RbNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RbNil")))))),
+ (meta_loc _loc x0))
+ and meta_rec_flag _loc =
+ function
+ | Ast.ReAnt x0 -> Ast.PaAnt (_loc, x0)
+ | Ast.ReNil ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ReNil")))))
+ | Ast.ReRecursive ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ReRecursive")))))
+ and meta_row_var_flag _loc =
+ function
+ | Ast.RvAnt x0 -> Ast.PaAnt (_loc, x0)
+ | Ast.RvNil ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RvNil")))))
+ | Ast.RvRowVar ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RvRowVar")))))
and meta_sig_item _loc =
function
| Ast.SgAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.SgVal (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgVal"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgVal")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.SgTyp (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgTyp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgTyp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.SgOpn (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgOpn"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgOpn")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.SgMty (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgMty"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgMty")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))
| Ast.SgRecMod (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgRecMod"))),
- meta_loc _loc x0),
- meta_module_binding _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgRecMod")))))),
+ (meta_loc _loc x0))),
+ (meta_module_binding _loc x1))
| Ast.SgMod (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgMod"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgMod")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))
| Ast.SgInc (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgInc"))),
- meta_loc _loc x0),
- meta_module_type _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgInc")))))),
+ (meta_loc _loc x0))),
+ (meta_module_type _loc x1))
| Ast.SgExt (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgExt"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_ctyp _loc x2),
- meta_meta_list meta_string _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgExt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_ctyp _loc x2))),
+ (meta_meta_list meta_string _loc x3))
| Ast.SgExc (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgExc"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgExc")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.SgDir (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgDir"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgDir")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))
| Ast.SgSem (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgSem"))),
- meta_loc _loc x0),
- meta_sig_item _loc x1),
- meta_sig_item _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgSem")))))),
+ (meta_loc _loc x0))),
+ (meta_sig_item _loc x1))),
+ (meta_sig_item _loc x2))
| Ast.SgClt (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgClt"))),
- meta_loc _loc x0),
- meta_class_type _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgClt")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))
| Ast.SgCls (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgCls"))),
- meta_loc _loc x0),
- meta_class_type _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgCls")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))
| Ast.SgNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgNil")))))),
+ (meta_loc _loc x0))
and meta_str_item _loc =
function
| Ast.StAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.StVal (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StVal"))),
- meta_loc _loc x0),
- meta_meta_bool _loc x1),
- meta_binding _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StVal")))))),
+ (meta_loc _loc x0))),
+ (meta_rec_flag _loc x1))),
+ (meta_binding _loc x2))
| Ast.StTyp (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StTyp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StTyp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))
| Ast.StOpn (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StOpn"))),
- meta_loc _loc x0),
- meta_ident _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StOpn")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))
| Ast.StMty (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StMty"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_type _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StMty")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_type _loc x2))
| Ast.StRecMod (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StRecMod"))),
- meta_loc _loc x0),
- meta_module_binding _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StRecMod")))))),
+ (meta_loc _loc x0))),
+ (meta_module_binding _loc x1))
| Ast.StMod (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StMod"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_module_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StMod")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_module_expr _loc x2))
| Ast.StInc (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StInc"))),
- meta_loc _loc x0),
- meta_module_expr _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StInc")))))),
+ (meta_loc _loc x0))),
+ (meta_module_expr _loc x1))
| Ast.StExt (x0, x1, x2, x3) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StExt"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_ctyp _loc x2),
- meta_meta_list meta_string _loc x3)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StExt")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_ctyp _loc x2))),
+ (meta_meta_list meta_string _loc x3))
| Ast.StExp (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StExp"))),
- meta_loc _loc x0),
- meta_expr _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StExp")))))),
+ (meta_loc _loc x0))),
+ (meta_expr _loc x1))
| Ast.StExc (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StExc"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_meta_option meta_ident _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StExc")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_meta_option meta_ident _loc x2))
| Ast.StDir (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StDir"))),
- meta_loc _loc x0),
- meta_string _loc x1),
- meta_expr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StDir")))))),
+ (meta_loc _loc x0))),
+ (meta_string _loc x1))),
+ (meta_expr _loc x2))
| Ast.StSem (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StSem"))),
- meta_loc _loc x0),
- meta_str_item _loc x1),
- meta_str_item _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StSem")))))),
+ (meta_loc _loc x0))),
+ (meta_str_item _loc x1))),
+ (meta_str_item _loc x2))
| Ast.StClt (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StClt"))),
- meta_loc _loc x0),
- meta_class_type _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StClt")))))),
+ (meta_loc _loc x0))),
+ (meta_class_type _loc x1))
| Ast.StCls (x0, x1) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StCls"))),
- meta_loc _loc x0),
- meta_class_expr _loc x1)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StCls")))))),
+ (meta_loc _loc x0))),
+ (meta_class_expr _loc x1))
| Ast.StNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StNil")))))),
+ (meta_loc _loc x0))
+ and meta_virtual_flag _loc =
+ function
+ | Ast.ViAnt x0 -> Ast.PaAnt (_loc, x0)
+ | Ast.ViNil ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ViNil")))))
+ | Ast.ViVirtual ->
+ Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ViVirtual")))))
and meta_with_constr _loc =
function
| Ast.WcAnt (x0, x1) -> Ast.PaAnt (x0, x1)
| Ast.WcAnd (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcAnd"))),
- meta_loc _loc x0),
- meta_with_constr _loc x1),
- meta_with_constr _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcAnd")))))),
+ (meta_loc _loc x0))),
+ (meta_with_constr _loc x1))),
+ (meta_with_constr _loc x2))
| Ast.WcMoS (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcMoS"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_ident _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcMoS")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_ident _loc x2))
| Ast.WcTyS (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcTyS"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcTyS")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.WcMod (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcMod"))),
- meta_loc _loc x0),
- meta_ident _loc x1),
- meta_ident _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcMod")))))),
+ (meta_loc _loc x0))),
+ (meta_ident _loc x1))),
+ (meta_ident _loc x2))
| Ast.WcTyp (x0, x1, x2) ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcTyp"))),
- meta_loc _loc x0),
- meta_ctyp _loc x1),
- meta_ctyp _loc x2)
+ (Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcTyp")))))),
+ (meta_loc _loc x0))),
+ (meta_ctyp _loc x1))),
+ (meta_ctyp _loc x2))
| Ast.WcNil x0 ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcNil"))),
- meta_loc _loc x0)
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcNil")))))),
+ (meta_loc _loc x0))
end
@@ -11581,6 +12114,12 @@ module Struct =
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in WcAnt (_x, _x_i1)
+ method virtual_flag : virtual_flag -> virtual_flag =
+ function
+ | ViVirtual -> ViVirtual
+ | ViNil -> ViNil
+ | ViAnt _x -> let _x = o#string _x in ViAnt _x
+
method str_item : str_item -> str_item =
function
| StNil _x -> let _x = o#loc _x in StNil _x
@@ -11638,7 +12177,7 @@ module Struct =
let _x_i1 = o#ctyp _x_i1 in StTyp (_x, _x_i1)
| StVal (_x, _x_i1, _x_i2) ->
let _x = o#loc _x in
- let _x_i1 = o#meta_bool _x_i1 in
+ let _x_i1 = o#rec_flag _x_i1 in
let _x_i2 = o#binding _x_i2 in StVal (_x, _x_i1, _x_i2)
| StAnt (_x, _x_i1) ->
let _x = o#loc _x in
@@ -11702,6 +12241,18 @@ module Struct =
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in SgAnt (_x, _x_i1)
+ method row_var_flag : row_var_flag -> row_var_flag =
+ function
+ | RvRowVar -> RvRowVar
+ | RvNil -> RvNil
+ | RvAnt _x -> let _x = o#string _x in RvAnt _x
+
+ method rec_flag : rec_flag -> rec_flag =
+ function
+ | ReRecursive -> ReRecursive
+ | ReNil -> ReNil
+ | ReAnt _x -> let _x = o#string _x in ReAnt _x
+
method rec_binding : rec_binding -> rec_binding =
function
| RbNil _x -> let _x = o#loc _x in RbNil _x
@@ -11718,6 +12269,12 @@ module Struct =
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in RbAnt (_x, _x_i1)
+ method private_flag : private_flag -> private_flag =
+ function
+ | PrPrivate -> PrPrivate
+ | PrNil -> PrNil
+ | PrAnt _x -> let _x = o#string _x in PrAnt _x
+
method patt : patt -> patt =
function
| PaNil _x -> let _x = o#loc _x in PaNil _x
@@ -11814,6 +12371,18 @@ module Struct =
let _x = o#loc _x in
let _x_i1 = o#patt _x_i1 in PaLaz (_x, _x_i1)
+ method override_flag : override_flag -> override_flag =
+ function
+ | OvOverride -> OvOverride
+ | OvNil -> OvNil
+ | OvAnt _x -> let _x = o#string _x in OvAnt _x
+
+ method mutable_flag : mutable_flag -> mutable_flag =
+ function
+ | MuMutable -> MuMutable
+ | MuNil -> MuNil
+ | MuAnt _x -> let _x = o#string _x in MuAnt _x
+
method module_type : module_type -> module_type =
function
| MtNil _x -> let _x = o#loc _x in MtNil _x
@@ -12018,7 +12587,7 @@ module Struct =
let _x_i1 = o#string _x_i1 in
let _x_i2 = o#expr _x_i2 in
let _x_i3 = o#expr _x_i3 in
- let _x_i4 = o#meta_bool _x_i4 in
+ let _x_i4 = o#direction_flag _x_i4 in
let _x_i5 = o#expr _x_i5
in ExFor (_x, _x_i1, _x_i2, _x_i3, _x_i4, _x_i5)
| ExFun (_x, _x_i1) ->
@@ -12051,7 +12620,7 @@ module Struct =
let _x_i1 = o#expr _x_i1 in ExLaz (_x, _x_i1)
| ExLet (_x, _x_i1, _x_i2, _x_i3) ->
let _x = o#loc _x in
- let _x_i1 = o#meta_bool _x_i1 in
+ let _x_i1 = o#rec_flag _x_i1 in
let _x_i2 = o#binding _x_i2 in
let _x_i3 = o#expr _x_i3
in ExLet (_x, _x_i1, _x_i2, _x_i3)
@@ -12134,6 +12703,12 @@ module Struct =
let _x = o#loc _x in
let _x_i1 = o#module_expr _x_i1 in ExPkg (_x, _x_i1)
+ method direction_flag : direction_flag -> direction_flag =
+ function
+ | DiTo -> DiTo
+ | DiDownto -> DiDownto
+ | DiAnt _x -> let _x = o#string _x in DiAnt _x
+
method ctyp : ctyp -> ctyp =
function
| TyNil _x -> let _x = o#loc _x in TyNil _x
@@ -12179,7 +12754,7 @@ module Struct =
| TyObj (_x, _x_i1, _x_i2) ->
let _x = o#loc _x in
let _x_i1 = o#ctyp _x_i1 in
- let _x_i2 = o#meta_bool _x_i2
+ let _x_i2 = o#row_var_flag _x_i2
in TyObj (_x, _x_i1, _x_i2)
| TyOlb (_x, _x_i1, _x_i2) ->
let _x = o#loc _x in
@@ -12278,7 +12853,7 @@ module Struct =
| CtNil _x -> let _x = o#loc _x in CtNil _x
| CtCon (_x, _x_i1, _x_i2, _x_i3) ->
let _x = o#loc _x in
- let _x_i1 = o#meta_bool _x_i1 in
+ let _x_i1 = o#virtual_flag _x_i1 in
let _x_i2 = o#ident _x_i2 in
let _x_i3 = o#ctyp _x_i3
in CtCon (_x, _x_i1, _x_i2, _x_i3)
@@ -12323,36 +12898,40 @@ module Struct =
let _x = o#loc _x in
let _x_i1 = o#ctyp _x_i1 in
let _x_i2 = o#ctyp _x_i2 in CrCtr (_x, _x_i1, _x_i2)
- | CrInh (_x, _x_i1, _x_i2) ->
+ | CrInh (_x, _x_i1, _x_i2, _x_i3) ->
let _x = o#loc _x in
- let _x_i1 = o#class_expr _x_i1 in
- let _x_i2 = o#string _x_i2 in CrInh (_x, _x_i1, _x_i2)
+ let _x_i1 = o#override_flag _x_i1 in
+ let _x_i2 = o#class_expr _x_i2 in
+ let _x_i3 = o#string _x_i3
+ in CrInh (_x, _x_i1, _x_i2, _x_i3)
| CrIni (_x, _x_i1) ->
let _x = o#loc _x in
let _x_i1 = o#expr _x_i1 in CrIni (_x, _x_i1)
- | CrMth (_x, _x_i1, _x_i2, _x_i3, _x_i4) ->
+ | CrMth (_x, _x_i1, _x_i2, _x_i3, _x_i4, _x_i5) ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
- let _x_i3 = o#expr _x_i3 in
- let _x_i4 = o#ctyp _x_i4
- in CrMth (_x, _x_i1, _x_i2, _x_i3, _x_i4)
- | CrVal (_x, _x_i1, _x_i2, _x_i3) ->
+ let _x_i2 = o#override_flag _x_i2 in
+ let _x_i3 = o#private_flag _x_i3 in
+ let _x_i4 = o#expr _x_i4 in
+ let _x_i5 = o#ctyp _x_i5
+ in CrMth (_x, _x_i1, _x_i2, _x_i3, _x_i4, _x_i5)
+ | CrVal (_x, _x_i1, _x_i2, _x_i3, _x_i4) ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
- let _x_i3 = o#expr _x_i3
- in CrVal (_x, _x_i1, _x_i2, _x_i3)
+ let _x_i2 = o#override_flag _x_i2 in
+ let _x_i3 = o#mutable_flag _x_i3 in
+ let _x_i4 = o#expr _x_i4
+ in CrVal (_x, _x_i1, _x_i2, _x_i3, _x_i4)
| CrVir (_x, _x_i1, _x_i2, _x_i3) ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
+ let _x_i2 = o#private_flag _x_i2 in
let _x_i3 = o#ctyp _x_i3
in CrVir (_x, _x_i1, _x_i2, _x_i3)
| CrVvr (_x, _x_i1, _x_i2, _x_i3) ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
+ let _x_i2 = o#mutable_flag _x_i2 in
let _x_i3 = o#ctyp _x_i3
in CrVvr (_x, _x_i1, _x_i2, _x_i3)
| CrAnt (_x, _x_i1) ->
@@ -12377,20 +12956,20 @@ module Struct =
| CgMth (_x, _x_i1, _x_i2, _x_i3) ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
+ let _x_i2 = o#private_flag _x_i2 in
let _x_i3 = o#ctyp _x_i3
in CgMth (_x, _x_i1, _x_i2, _x_i3)
| CgVal (_x, _x_i1, _x_i2, _x_i3, _x_i4) ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
- let _x_i3 = o#meta_bool _x_i3 in
+ let _x_i2 = o#mutable_flag _x_i2 in
+ let _x_i3 = o#virtual_flag _x_i3 in
let _x_i4 = o#ctyp _x_i4
in CgVal (_x, _x_i1, _x_i2, _x_i3, _x_i4)
| CgVir (_x, _x_i1, _x_i2, _x_i3) ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
+ let _x_i2 = o#private_flag _x_i2 in
let _x_i3 = o#ctyp _x_i3
in CgVir (_x, _x_i1, _x_i2, _x_i3)
| CgAnt (_x, _x_i1) ->
@@ -12406,7 +12985,7 @@ module Struct =
let _x_i2 = o#expr _x_i2 in CeApp (_x, _x_i1, _x_i2)
| CeCon (_x, _x_i1, _x_i2, _x_i3) ->
let _x = o#loc _x in
- let _x_i1 = o#meta_bool _x_i1 in
+ let _x_i1 = o#virtual_flag _x_i1 in
let _x_i2 = o#ident _x_i2 in
let _x_i3 = o#ctyp _x_i3
in CeCon (_x, _x_i1, _x_i2, _x_i3)
@@ -12417,7 +12996,7 @@ module Struct =
in CeFun (_x, _x_i1, _x_i2)
| CeLet (_x, _x_i1, _x_i2, _x_i3) ->
let _x = o#loc _x in
- let _x_i1 = o#meta_bool _x_i1 in
+ let _x_i1 = o#rec_flag _x_i1 in
let _x_i2 = o#binding _x_i2 in
let _x_i3 = o#class_expr _x_i3
in CeLet (_x, _x_i1, _x_i2, _x_i3)
@@ -12499,6 +13078,12 @@ module Struct =
| WcAnt (_x, _x_i1) ->
let o = o#loc _x in let o = o#string _x_i1 in o
+ method virtual_flag : virtual_flag -> 'self_type =
+ function
+ | ViVirtual -> o
+ | ViNil -> o
+ | ViAnt _x -> let o = o#string _x in o
+
method str_item : str_item -> 'self_type =
function
| StNil _x -> let o = o#loc _x in o
@@ -12542,7 +13127,7 @@ module Struct =
let o = o#loc _x in let o = o#ctyp _x_i1 in o
| StVal (_x, _x_i1, _x_i2) ->
let o = o#loc _x in
- let o = o#meta_bool _x_i1 in
+ let o = o#rec_flag _x_i1 in
let o = o#binding _x_i2 in o
| StAnt (_x, _x_i1) ->
let o = o#loc _x in let o = o#string _x_i1 in o
@@ -12590,6 +13175,18 @@ module Struct =
| SgAnt (_x, _x_i1) ->
let o = o#loc _x in let o = o#string _x_i1 in o
+ method row_var_flag : row_var_flag -> 'self_type =
+ function
+ | RvRowVar -> o
+ | RvNil -> o
+ | RvAnt _x -> let o = o#string _x in o
+
+ method rec_flag : rec_flag -> 'self_type =
+ function
+ | ReRecursive -> o
+ | ReNil -> o
+ | ReAnt _x -> let o = o#string _x in o
+
method rec_binding : rec_binding -> 'self_type =
function
| RbNil _x -> let o = o#loc _x in o
@@ -12603,6 +13200,12 @@ module Struct =
| RbAnt (_x, _x_i1) ->
let o = o#loc _x in let o = o#string _x_i1 in o
+ method private_flag : private_flag -> 'self_type =
+ function
+ | PrPrivate -> o
+ | PrNil -> o
+ | PrAnt _x -> let o = o#string _x in o
+
method patt : patt -> 'self_type =
function
| PaNil _x -> let o = o#loc _x in o
@@ -12672,6 +13275,18 @@ module Struct =
| PaLaz (_x, _x_i1) ->
let o = o#loc _x in let o = o#patt _x_i1 in o
+ method override_flag : override_flag -> 'self_type =
+ function
+ | OvOverride -> o
+ | OvNil -> o
+ | OvAnt _x -> let o = o#string _x in o
+
+ method mutable_flag : mutable_flag -> 'self_type =
+ function
+ | MuMutable -> o
+ | MuNil -> o
+ | MuAnt _x -> let o = o#string _x in o
+
method module_type : module_type -> 'self_type =
function
| MtNil _x -> let o = o#loc _x in o
@@ -12836,7 +13451,8 @@ module Struct =
let o = o#string _x_i1 in
let o = o#expr _x_i2 in
let o = o#expr _x_i3 in
- let o = o#meta_bool _x_i4 in let o = o#expr _x_i5 in o
+ let o = o#direction_flag _x_i4 in
+ let o = o#expr _x_i5 in o
| ExFun (_x, _x_i1) ->
let o = o#loc _x in let o = o#match_case _x_i1 in o
| ExIfe (_x, _x_i1, _x_i2, _x_i3) ->
@@ -12858,7 +13474,7 @@ module Struct =
let o = o#loc _x in let o = o#expr _x_i1 in o
| ExLet (_x, _x_i1, _x_i2, _x_i3) ->
let o = o#loc _x in
- let o = o#meta_bool _x_i1 in
+ let o = o#rec_flag _x_i1 in
let o = o#binding _x_i2 in let o = o#expr _x_i3 in o
| ExLmd (_x, _x_i1, _x_i2, _x_i3) ->
let o = o#loc _x in
@@ -12918,6 +13534,12 @@ module Struct =
| ExPkg (_x, _x_i1) ->
let o = o#loc _x in let o = o#module_expr _x_i1 in o
+ method direction_flag : direction_flag -> 'self_type =
+ function
+ | DiTo -> o
+ | DiDownto -> o
+ | DiAnt _x -> let o = o#string _x in o
+
method ctyp : ctyp -> 'self_type =
function
| TyNil _x -> let o = o#loc _x in o
@@ -12954,7 +13576,8 @@ module Struct =
in o
| TyObj (_x, _x_i1, _x_i2) ->
let o = o#loc _x in
- let o = o#ctyp _x_i1 in let o = o#meta_bool _x_i2 in o
+ let o = o#ctyp _x_i1 in
+ let o = o#row_var_flag _x_i2 in o
| TyOlb (_x, _x_i1, _x_i2) ->
let o = o#loc _x in
let o = o#string _x_i1 in let o = o#ctyp _x_i2 in o
@@ -13025,7 +13648,7 @@ module Struct =
| CtNil _x -> let o = o#loc _x in o
| CtCon (_x, _x_i1, _x_i2, _x_i3) ->
let o = o#loc _x in
- let o = o#meta_bool _x_i1 in
+ let o = o#virtual_flag _x_i1 in
let o = o#ident _x_i2 in let o = o#ctyp _x_i3 in o
| CtFun (_x, _x_i1, _x_i2) ->
let o = o#loc _x in
@@ -13059,29 +13682,35 @@ module Struct =
| CrCtr (_x, _x_i1, _x_i2) ->
let o = o#loc _x in
let o = o#ctyp _x_i1 in let o = o#ctyp _x_i2 in o
- | CrInh (_x, _x_i1, _x_i2) ->
+ | CrInh (_x, _x_i1, _x_i2, _x_i3) ->
let o = o#loc _x in
- let o = o#class_expr _x_i1 in
- let o = o#string _x_i2 in o
+ let o = o#override_flag _x_i1 in
+ let o = o#class_expr _x_i2 in
+ let o = o#string _x_i3 in o
| CrIni (_x, _x_i1) ->
let o = o#loc _x in let o = o#expr _x_i1 in o
- | CrMth (_x, _x_i1, _x_i2, _x_i3, _x_i4) ->
+ | CrMth (_x, _x_i1, _x_i2, _x_i3, _x_i4, _x_i5) ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in
- let o = o#expr _x_i3 in let o = o#ctyp _x_i4 in o
- | CrVal (_x, _x_i1, _x_i2, _x_i3) ->
+ let o = o#override_flag _x_i2 in
+ let o = o#private_flag _x_i3 in
+ let o = o#expr _x_i4 in let o = o#ctyp _x_i5 in o
+ | CrVal (_x, _x_i1, _x_i2, _x_i3, _x_i4) ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in let o = o#expr _x_i3 in o
+ let o = o#override_flag _x_i2 in
+ let o = o#mutable_flag _x_i3 in
+ let o = o#expr _x_i4 in o
| CrVir (_x, _x_i1, _x_i2, _x_i3) ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in let o = o#ctyp _x_i3 in o
+ let o = o#private_flag _x_i2 in
+ let o = o#ctyp _x_i3 in o
| CrVvr (_x, _x_i1, _x_i2, _x_i3) ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in let o = o#ctyp _x_i3 in o
+ let o = o#mutable_flag _x_i2 in
+ let o = o#ctyp _x_i3 in o
| CrAnt (_x, _x_i1) ->
let o = o#loc _x in let o = o#string _x_i1 in o
@@ -13100,16 +13729,19 @@ module Struct =
| CgMth (_x, _x_i1, _x_i2, _x_i3) ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in let o = o#ctyp _x_i3 in o
+ let o = o#private_flag _x_i2 in
+ let o = o#ctyp _x_i3 in o
| CgVal (_x, _x_i1, _x_i2, _x_i3, _x_i4) ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in
- let o = o#meta_bool _x_i3 in let o = o#ctyp _x_i4 in o
+ let o = o#mutable_flag _x_i2 in
+ let o = o#virtual_flag _x_i3 in
+ let o = o#ctyp _x_i4 in o
| CgVir (_x, _x_i1, _x_i2, _x_i3) ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in let o = o#ctyp _x_i3 in o
+ let o = o#private_flag _x_i2 in
+ let o = o#ctyp _x_i3 in o
| CgAnt (_x, _x_i1) ->
let o = o#loc _x in let o = o#string _x_i1 in o
@@ -13121,14 +13753,14 @@ module Struct =
let o = o#class_expr _x_i1 in let o = o#expr _x_i2 in o
| CeCon (_x, _x_i1, _x_i2, _x_i3) ->
let o = o#loc _x in
- let o = o#meta_bool _x_i1 in
+ let o = o#virtual_flag _x_i1 in
let o = o#ident _x_i2 in let o = o#ctyp _x_i3 in o
| CeFun (_x, _x_i1, _x_i2) ->
let o = o#loc _x in
let o = o#patt _x_i1 in let o = o#class_expr _x_i2 in o
| CeLet (_x, _x_i1, _x_i2, _x_i3) ->
let o = o#loc _x in
- let o = o#meta_bool _x_i1 in
+ let o = o#rec_flag _x_i1 in
let o = o#binding _x_i2 in
let o = o#class_expr _x_i3 in o
| CeStr (_x, _x_i1, _x_i2) ->
@@ -13480,11 +14112,11 @@ module Struct =
| Loc.Exc_located (qloc, exc) ->
raise
(Loc.Exc_located (qloc,
- Error.E ((name, pos_tag, Finding, exc))))
+ (Error.E ((name, pos_tag, Finding, exc)))))
| exc ->
raise
(Loc.Exc_located (loc,
- Error.E ((name, pos_tag, Finding, exc)))) in
+ (Error.E ((name, pos_tag, Finding, exc))))) in
let loc = Loc.join (Loc.move `start quotation.q_shift loc)
in expand_quotation loc expander pos_tag quotation
@@ -13605,13 +14237,17 @@ module Struct =
| Ptyp_poly (_, _) -> t
| _ -> { (t) with ptyp_desc = Ptyp_poly ([], t); }
- let mb2b =
+ let mkvirtual =
function
- | Ast.BTrue -> true
- | Ast.BFalse -> false
- | Ast.BAnt _ -> assert false
+ | Ast.ViVirtual -> Virtual
+ | Ast.ViNil -> Concrete
+ | _ -> assert false
- let mkvirtual m = if mb2b m then Virtual else Concrete
+ let mkdirection =
+ function
+ | Ast.DiTo -> Upto
+ | Ast.DiDownto -> Downto
+ | _ -> assert false
let lident s = Lident s
@@ -13640,9 +14276,9 @@ module Struct =
let mkrf =
function
- | Ast.BTrue -> Recursive
- | Ast.BFalse -> Nonrecursive
- | Ast.BAnt _ -> assert false
+ | Ast.ReRecursive -> Recursive
+ | Ast.ReNil -> Nonrecursive
+ | _ -> assert false
let mkli s =
let rec loop f =
@@ -13660,7 +14296,7 @@ module Struct =
| Ast.IdAcc (_, i1, i2) -> self i2 (Some (self i1 acc))
| Ast.IdApp (_, i1, i2) ->
let i' =
- Lapply (fst (self i1 None), fst (self i2 None)) in
+ Lapply ((fst (self i1 None)), (fst (self i2 None))) in
let x =
(match acc with
| None -> i'
@@ -13738,30 +14374,33 @@ module Struct =
| (t, TyQuo (_, s)) -> (t, s)
| (TyQuo (_, s), t) -> (t, s)
| _ -> error loc "invalid alias type")
- in mktyp loc (Ptyp_alias (ctyp t, i))
+ in mktyp loc (Ptyp_alias ((ctyp t), i))
| TyAny loc -> mktyp loc Ptyp_any
| (TyApp (loc, _, _) as f) ->
let (f, al) = ctyp_fa [] f in
let (is_cls, li) = ctyp_long_id f
in
if is_cls
- then mktyp loc (Ptyp_class (li, List.map ctyp al, []))
- else mktyp loc (Ptyp_constr (li, List.map ctyp al))
+ then mktyp loc (Ptyp_class (li, (List.map ctyp al), []))
+ else mktyp loc (Ptyp_constr (li, (List.map ctyp al)))
| TyArr (loc, (TyLab (_, lab, t1)), t2) ->
- mktyp loc (Ptyp_arrow (lab, ctyp t1, ctyp t2))
+ mktyp loc (Ptyp_arrow (lab, (ctyp t1), (ctyp t2)))
| TyArr (loc, (TyOlb (loc1, lab, t1)), t2) ->
let t1 =
- TyApp (loc1, Ast.TyId (loc1, Ast.IdLid (loc1, "option")),
- t1)
- in mktyp loc (Ptyp_arrow ("?" ^ lab, ctyp t1, ctyp t2))
+ TyApp (loc1,
+ (Ast.TyId (loc1, (Ast.IdLid (loc1, "option")))), t1)
+ in
+ mktyp loc
+ (Ptyp_arrow (("?" ^ lab), (ctyp t1), (ctyp t2)))
| TyArr (loc, t1, t2) ->
- mktyp loc (Ptyp_arrow ("", ctyp t1, ctyp t2))
- | Ast.TyObj (loc, fl, Ast.BFalse) ->
+ mktyp loc (Ptyp_arrow ("", (ctyp t1), (ctyp t2)))
+ | Ast.TyObj (loc, fl, Ast.RvNil) ->
mktyp loc (Ptyp_object (meth_list fl []))
- | Ast.TyObj (loc, fl, Ast.BTrue) ->
+ | Ast.TyObj (loc, fl, Ast.RvRowVar) ->
mktyp loc
(Ptyp_object (meth_list fl [ mkfield loc Pfield_var ]))
- | TyCls (loc, id) -> mktyp loc (Ptyp_class (ident id, [], []))
+ | TyCls (loc, id) ->
+ mktyp loc (Ptyp_class ((ident id), [], []))
| Ast.TyPkg (loc, pt) ->
let (i, cs) = package_type pt
in mktyp loc (Ptyp_package (i, cs))
@@ -13772,7 +14411,7 @@ module Struct =
| TyOlb (loc, _, _) ->
error loc "labelled type not allowed here"
| TyPol (loc, t1, t2) ->
- mktyp loc (Ptyp_poly (ty_var_list_of_ctyp t1, ctyp t2))
+ mktyp loc (Ptyp_poly ((ty_var_list_of_ctyp t1), (ctyp t2)))
| TyQuo (loc, s) -> mktyp loc (Ptyp_var s)
| TyRec (loc, _) -> error loc "record type not allowed here"
| TySum (loc, _) -> error loc "sum type not allowed here"
@@ -13793,28 +14432,29 @@ module Struct =
(Ptyp_tuple
(List.map ctyp (list_of_ctyp t1 (list_of_ctyp t2 []))))
| Ast.TyVrnEq (loc, t) ->
- mktyp loc (Ptyp_variant (row_field t, true, None))
+ mktyp loc (Ptyp_variant ((row_field t), true, None))
| Ast.TyVrnSup (loc, t) ->
- mktyp loc (Ptyp_variant (row_field t, false, None))
+ mktyp loc (Ptyp_variant ((row_field t), false, None))
| Ast.TyVrnInf (loc, t) ->
- mktyp loc (Ptyp_variant (row_field t, true, Some []))
+ mktyp loc (Ptyp_variant ((row_field t), true, (Some [])))
| Ast.TyVrnInfSup (loc, t, t') ->
mktyp loc
- (Ptyp_variant (row_field t, true, Some (name_tags t')))
+ (Ptyp_variant ((row_field t), true,
+ (Some (name_tags t'))))
| TyAnt (loc, _) -> error loc "antiquotation not allowed here"
| TyOfAmp (_, _, _) | TyAmp (_, _, _) | TySta (_, _, _) |
TyCom (_, _, _) | TyVrn (_, _) | TyQuM (_, _) |
TyQuP (_, _) | TyDcl (_, _, _, _, _) |
- TyObj (_, _, (BAnt _)) | TyNil _ | TyTup (_, _) ->
+ TyObj (_, _, (RvAnt _)) | TyNil _ | TyTup (_, _) ->
assert false
and row_field =
function
| Ast.TyNil _ -> []
| Ast.TyVrn (_, i) -> [ Rtag (i, true, []) ]
| Ast.TyOfAmp (_, (Ast.TyVrn (_, i)), t) ->
- [ Rtag (i, true, List.map ctyp (list_of_ctyp t [])) ]
+ [ Rtag (i, true, (List.map ctyp (list_of_ctyp t []))) ]
| Ast.TyOf (_, (Ast.TyVrn (_, i)), t) ->
- [ Rtag (i, false, List.map ctyp (list_of_ctyp t [])) ]
+ [ Rtag (i, false, (List.map ctyp (list_of_ctyp t []))) ]
| Ast.TyOr (_, t1, t2) -> (row_field t1) @ (row_field t2)
| t -> [ Rinherit (ctyp t) ]
and name_tags =
@@ -13827,7 +14467,7 @@ module Struct =
| Ast.TyNil _ -> acc
| Ast.TySem (_, t1, t2) -> meth_list t1 (meth_list t2 acc)
| Ast.TyCol (loc, (Ast.TyId (_, (Ast.IdLid (_, lab)))), t) ->
- (mkfield loc (Pfield (lab, mkpolytype (ctyp t)))) :: acc
+ (mkfield loc (Pfield (lab, (mkpolytype (ctyp t))))) :: acc
| _ -> assert false
and package_type_constraints wc acc =
match wc with
@@ -13862,7 +14502,11 @@ module Struct =
let mkprivate' m = if m then Private else Public
- let mkprivate m = mkprivate' (mb2b m)
+ let mkprivate =
+ function
+ | Ast.PrPrivate -> Private
+ | Ast.PrNil -> Public
+ | _ -> assert false
let mktrecord =
function
@@ -13917,7 +14561,11 @@ module Struct =
| Ast.LCons (x, xs) -> x :: (list_of_meta_list xs)
| Ast.LAnt _ -> assert false
- let mkmutable m = if mb2b m then Mutable else Immutable
+ let mkmutable =
+ function
+ | Ast.MuMutable -> Mutable
+ | Ast.MuNil -> Immutable
+ | _ -> assert false
let paolab lab p =
match (lab, p) with
@@ -14002,8 +14650,8 @@ module Struct =
then mkghpat loc (Ppat_constant (Const_char c1))
else
mkghpat loc
- (Ppat_or (mkghpat loc (Ppat_constant (Const_char c1)),
- deep_mkrangepat loc (Char.chr ((Char.code c1) + 1)) c2))
+ (Ppat_or ((mkghpat loc (Ppat_constant (Const_char c1))),
+ (deep_mkrangepat loc (Char.chr ((Char.code c1) + 1)) c2)))
let rec mkrangepat loc c1 c2 =
if c1 > c2
@@ -14013,16 +14661,17 @@ module Struct =
then mkpat loc (Ppat_constant (Const_char c1))
else
mkpat loc
- (Ppat_or (mkghpat loc (Ppat_constant (Const_char c1)),
- deep_mkrangepat loc (Char.chr ((Char.code c1) + 1)) c2))
+ (Ppat_or ((mkghpat loc (Ppat_constant (Const_char c1))),
+ (deep_mkrangepat loc (Char.chr ((Char.code c1) + 1))
+ c2)))
let rec patt =
function
| Ast.PaId (loc, (Ast.IdLid (_, s))) -> mkpat loc (Ppat_var s)
| Ast.PaId (loc, i) ->
let p =
- Ppat_construct (long_uident ~conv_con i, None,
- constructors_arity ())
+ Ppat_construct ((long_uident ~conv_con i), None,
+ (constructors_arity ()))
in mkpat loc p
| PaAli (loc, p1, p2) ->
let (p, i) =
@@ -14030,14 +14679,14 @@ module Struct =
| (p, Ast.PaId (_, (Ast.IdLid (_, s)))) -> (p, s)
| (Ast.PaId (_, (Ast.IdLid (_, s))), p) -> (p, s)
| _ -> error loc "invalid alias pattern")
- in mkpat loc (Ppat_alias (patt p, i))
+ in mkpat loc (Ppat_alias ((patt p), i))
| PaAnt (loc, _) -> error loc "antiquotation not allowed here"
| PaAny loc -> mkpat loc Ppat_any
| Ast.PaApp (loc, (Ast.PaId (_, (Ast.IdUid (_, s)))),
(Ast.PaTup (_, (Ast.PaAny loc_any)))) ->
mkpat loc
- (Ppat_construct (lident (conv_con s),
- Some (mkpat loc_any Ppat_any), false))
+ (Ppat_construct ((lident (conv_con s)),
+ (Some (mkpat loc_any Ppat_any)), false))
| (PaApp (loc, _, _) as f) ->
let (f, al) = patt_fa [] f in
let al = List.map patt al
@@ -14048,13 +14697,15 @@ module Struct =
then
mkpat loc
(Ppat_construct (li,
- Some (mkpat loc (Ppat_tuple al)), true))
+ (Some (mkpat loc (Ppat_tuple al))), true))
else
(let a =
match al with
| [ a ] -> a
| _ -> mkpat loc (Ppat_tuple al)
- in mkpat loc (Ppat_construct (li, Some a, false)))
+ in
+ mkpat loc
+ (Ppat_construct (li, (Some a), false)))
| Ppat_variant (s, None) ->
let a =
if constructors_arity ()
@@ -14063,7 +14714,7 @@ module Struct =
(match al with
| [ a ] -> a
| _ -> mkpat loc (Ppat_tuple al))
- in mkpat loc (Ppat_variant (s, Some a))
+ in mkpat loc (Ppat_variant (s, (Some a)))
| _ ->
error (loc_of_patt f)
"this is not a constructor, it cannot be applied in a pattern")
@@ -14111,7 +14762,8 @@ module Struct =
error loc "labeled pattern not allowed here"
| PaOlb (loc, _, _) | PaOlbi (loc, _, _, _) ->
error loc "labeled pattern not allowed here"
- | PaOrp (loc, p1, p2) -> mkpat loc (Ppat_or (patt p1, patt p2))
+ | PaOrp (loc, p1, p2) ->
+ mkpat loc (Ppat_or ((patt p1), (patt p2)))
| PaRng (loc, p1, p2) ->
(match (p1, p2) with
| (PaChr (loc1, c1), PaChr (loc2, c2)) ->
@@ -14139,7 +14791,7 @@ module Struct =
(List.map patt (list_of_patt p1 (list_of_patt p2 []))))
| Ast.PaTup (loc, _) -> error loc "singleton tuple pattern"
| PaTyc (loc, p, t) ->
- mkpat loc (Ppat_constraint (patt p, ctyp t))
+ mkpat loc (Ppat_constraint ((patt p), (ctyp t)))
| PaTyp (loc, i) -> mkpat loc (Ppat_type (long_type_ident i))
| PaVrn (loc, s) -> mkpat loc (Ppat_variant (s, None))
| PaLaz (loc, p) -> mkpat loc (Ppat_lazy (patt p))
@@ -14173,15 +14825,23 @@ module Struct =
let rec normalize_acc =
(function
| Ast.IdAcc (_loc, i1, i2) ->
- Ast.ExAcc (_loc, normalize_acc i1, normalize_acc i2)
+ Ast.ExAcc (_loc, (normalize_acc i1),
+ (normalize_acc i2))
| Ast.IdApp (_loc, i1, i2) ->
- Ast.ExApp (_loc, normalize_acc i1, normalize_acc i2)
+ Ast.ExApp (_loc, (normalize_acc i1),
+ (normalize_acc i2))
| (Ast.IdAnt (_loc, _) | Ast.IdUid (_loc, _) |
Ast.IdLid (_loc, _)
as i) -> Ast.ExId (_loc, i))
in sep_expr_acc l (normalize_acc i)
| e -> ((loc_of_expr e), [], e) :: l
+ let override_flag loc =
+ function
+ | Ast.OvOverride -> Override
+ | Ast.OvNil -> Fresh
+ | _ -> error loc "antiquotation not allowed here"
+
let list_of_opt_ctyp ot acc =
match ot with | Ast.TyNil _ -> acc | t -> list_of_ctyp t acc
@@ -14189,7 +14849,7 @@ module Struct =
function
| Ast.ExAcc (loc, x, (Ast.ExId (_, (Ast.IdLid (_, "val"))))) ->
mkexp loc
- (Pexp_apply (mkexp loc (Pexp_ident (Lident "!")),
+ (Pexp_apply ((mkexp loc (Pexp_ident (Lident "!"))),
[ ("", (expr x)) ]))
| (ExAcc (loc, _, _) | Ast.ExId (loc, (Ast.IdAcc (_, _, _))) as
e) ->
@@ -14199,7 +14859,7 @@ module Struct =
let ca = constructors_arity ()
in
((mkexp loc
- (Pexp_construct (mkli (conv_con s) ml, None,
+ (Pexp_construct ((mkli (conv_con s) ml), None,
ca))),
l)
| (loc, ml, Ast.ExId (_, (Ast.IdLid (_, s)))) :: l ->
@@ -14215,7 +14875,7 @@ module Struct =
in
(loc,
(mkexp loc
- (Pexp_field (e1, mkli (conv_lab s) ml))))
+ (Pexp_field (e1, (mkli (conv_lab s) ml)))))
| _ ->
error (loc_of_expr e2)
"lowercase identifier expected")
@@ -14234,7 +14894,7 @@ module Struct =
then
mkexp loc
(Pexp_construct (li,
- Some (mkexp loc (Pexp_tuple al)), true))
+ (Some (mkexp loc (Pexp_tuple al))), true))
else
(let a =
match al with
@@ -14242,7 +14902,7 @@ module Struct =
| _ -> mkexp loc (Pexp_tuple al)
in
mkexp loc
- (Pexp_construct (li, Some a, false)))
+ (Pexp_construct (li, (Some a), false)))
| Pexp_variant (s, None) ->
let al = List.map snd al in
let a =
@@ -14252,12 +14912,13 @@ module Struct =
(match al with
| [ a ] -> a
| _ -> mkexp loc (Pexp_tuple al))
- in mkexp loc (Pexp_variant (s, Some a))
- | _ -> mkexp loc (Pexp_apply (expr f, al)))
+ in mkexp loc (Pexp_variant (s, (Some a)))
+ | _ -> mkexp loc (Pexp_apply ((expr f), al)))
| ExAre (loc, e1, e2) ->
mkexp loc
(Pexp_apply
- (mkexp loc (Pexp_ident (array_function "Array" "get")),
+ ((mkexp loc
+ (Pexp_ident (array_function "Array" "get"))),
[ ("", (expr e1)); ("", (expr e2)) ]))
| ExArr (loc, e) ->
mkexp loc (Pexp_array (List.map expr (list_of_expr e [])))
@@ -14267,24 +14928,24 @@ module Struct =
(match e with
| Ast.ExAcc (loc, x,
(Ast.ExId (_, (Ast.IdLid (_, "val"))))) ->
- Pexp_apply (mkexp loc (Pexp_ident (Lident ":=")),
+ Pexp_apply ((mkexp loc (Pexp_ident (Lident ":="))),
[ ("", (expr x)); ("", (expr v)) ])
| ExAcc (loc, _, _) ->
(match (expr e).pexp_desc with
| Pexp_field (e, lab) ->
- Pexp_setfield (e, lab, expr v)
+ Pexp_setfield (e, lab, (expr v))
| _ -> error loc "bad record access")
| ExAre (_, e1, e2) ->
Pexp_apply
- (mkexp loc
- (Pexp_ident (array_function "Array" "set")),
+ ((mkexp loc
+ (Pexp_ident (array_function "Array" "set"))),
[ ("", (expr e1)); ("", (expr e2)); ("", (expr v)) ])
| Ast.ExId (_, (Ast.IdLid (_, lab))) ->
- Pexp_setinstvar (lab, expr v)
+ Pexp_setinstvar (lab, (expr v))
| ExSte (_, e1, e2) ->
Pexp_apply
- (mkexp loc
- (Pexp_ident (array_function "String" "set")),
+ ((mkexp loc
+ (Pexp_ident (array_function "String" "set"))),
[ ("", (expr e1)); ("", (expr e2)); ("", (expr v)) ])
| _ -> error loc "bad left part of assignment")
in mkexp loc e
@@ -14295,14 +14956,18 @@ module Struct =
| ExCoe (loc, e, t1, t2) ->
let t1 =
(match t1 with | Ast.TyNil _ -> None | t -> Some (ctyp t))
- in mkexp loc (Pexp_constraint (expr e, t1, Some (ctyp t2)))
+ in
+ mkexp loc
+ (Pexp_constraint ((expr e), t1, (Some (ctyp t2))))
| ExFlo (loc, s) ->
mkexp loc
(Pexp_constant (Const_float (remove_underscores s)))
| ExFor (loc, i, e1, e2, df, el) ->
- let e3 = ExSeq (loc, el) in
- let df = if mb2b df then Upto else Downto
- in mkexp loc (Pexp_for (i, expr e1, expr e2, df, expr e3))
+ let e3 = ExSeq (loc, el)
+ in
+ mkexp loc
+ (Pexp_for (i, (expr e1), (expr e2), (mkdirection df),
+ (expr e3)))
| Ast.ExFun (loc, (Ast.McArr (_, (PaLab (_, lab, po)), w, e)))
->
mkexp loc
@@ -14313,20 +14978,20 @@ module Struct =
let lab = paolab lab p
in
mkexp loc
- (Pexp_function ("?" ^ lab, Some (expr e1),
+ (Pexp_function (("?" ^ lab), (Some (expr e1)),
[ ((patt p), (when_expr e2 w)) ]))
| Ast.ExFun (loc, (Ast.McArr (_, (PaOlb (_, lab, p)), w, e)))
->
let lab = paolab lab p
in
mkexp loc
- (Pexp_function ("?" ^ lab, None,
+ (Pexp_function (("?" ^ lab), None,
[ ((patt_of_lab loc lab p), (when_expr e w)) ]))
| ExFun (loc, a) ->
- mkexp loc (Pexp_function ("", None, match_case a []))
+ mkexp loc (Pexp_function ("", None, (match_case a [])))
| ExIfe (loc, e1, e2, e3) ->
mkexp loc
- (Pexp_ifthenelse (expr e1, expr e2, Some (expr e3)))
+ (Pexp_ifthenelse ((expr e1), (expr e2), (Some (expr e3))))
| ExInt (loc, s) ->
let i =
(try int_of_string s
@@ -14363,11 +15028,11 @@ module Struct =
error loc "labeled expression not allowed here"
| ExLaz (loc, e) -> mkexp loc (Pexp_lazy (expr e))
| ExLet (loc, rf, bi, e) ->
- mkexp loc (Pexp_let (mkrf rf, binding bi [], expr e))
+ mkexp loc (Pexp_let ((mkrf rf), (binding bi []), (expr e)))
| ExLmd (loc, i, me, e) ->
- mkexp loc (Pexp_letmodule (i, module_expr me, expr e))
+ mkexp loc (Pexp_letmodule (i, (module_expr me), (expr e)))
| ExMat (loc, e, a) ->
- mkexp loc (Pexp_match (expr e, match_case a []))
+ mkexp loc (Pexp_match ((expr e), (match_case a [])))
| ExNew (loc, id) -> mkexp loc (Pexp_new (long_type_ident id))
| ExObj (loc, po, cfl) ->
let p =
@@ -14386,54 +15051,55 @@ module Struct =
(match eo with
| Ast.ExNil _ -> None
| e -> Some (expr e))
- in mkexp loc (Pexp_record (mklabexp lel [], eo)))
+ in mkexp loc (Pexp_record ((mklabexp lel []), eo)))
| ExSeq (_loc, e) ->
let rec loop =
(function
- | [] -> expr (Ast.ExId (_loc, Ast.IdUid (_loc, "()")))
+ | [] -> expr (Ast.ExId (_loc, (Ast.IdUid (_loc, "()"))))
| [ e ] -> expr e
| e :: el ->
let _loc = Loc.merge (loc_of_expr e) _loc
- in mkexp _loc (Pexp_sequence (expr e, loop el)))
+ in mkexp _loc (Pexp_sequence ((expr e), (loop el))))
in loop (list_of_expr e [])
- | ExSnd (loc, e, s) -> mkexp loc (Pexp_send (expr e, s))
+ | ExSnd (loc, e, s) -> mkexp loc (Pexp_send ((expr e), s))
| ExSte (loc, e1, e2) ->
mkexp loc
(Pexp_apply
- (mkexp loc
- (Pexp_ident (array_function "String" "get")),
+ ((mkexp loc
+ (Pexp_ident (array_function "String" "get"))),
[ ("", (expr e1)); ("", (expr e2)) ]))
| ExStr (loc, s) ->
mkexp loc
(Pexp_constant
(Const_string (string_of_string_token loc s)))
| ExTry (loc, e, a) ->
- mkexp loc (Pexp_try (expr e, match_case a []))
+ mkexp loc (Pexp_try ((expr e), (match_case a [])))
| Ast.ExTup (loc, (Ast.ExCom (_, e1, e2))) ->
mkexp loc
(Pexp_tuple
(List.map expr (list_of_expr e1 (list_of_expr e2 []))))
| Ast.ExTup (loc, _) -> error loc "singleton tuple"
| ExTyc (loc, e, t) ->
- mkexp loc (Pexp_constraint (expr e, Some (ctyp t), None))
+ mkexp loc
+ (Pexp_constraint ((expr e), (Some (ctyp t)), None))
| Ast.ExId (loc, (Ast.IdUid (_, "()"))) ->
- mkexp loc (Pexp_construct (lident "()", None, true))
+ mkexp loc (Pexp_construct ((lident "()"), None, true))
| Ast.ExId (loc, (Ast.IdLid (_, s))) ->
mkexp loc (Pexp_ident (lident s))
| Ast.ExId (loc, (Ast.IdUid (_, s))) ->
mkexp loc
- (Pexp_construct (lident (conv_con s), None, true))
+ (Pexp_construct ((lident (conv_con s)), None, true))
| ExVrn (loc, s) -> mkexp loc (Pexp_variant (s, None))
| ExWhi (loc, e1, el) ->
let e2 = ExSeq (loc, el)
- in mkexp loc (Pexp_while (expr e1, expr e2))
+ in mkexp loc (Pexp_while ((expr e1), (expr e2)))
| Ast.ExOpI (loc, i, e) ->
- mkexp loc (Pexp_open (long_uident i, expr e))
+ mkexp loc (Pexp_open ((long_uident i), (expr e)))
| Ast.ExPkg (loc, (Ast.MeTyc (_, me, pt))) ->
- mkexp loc (Pexp_pack (module_expr me, package_type pt))
+ mkexp loc (Pexp_pack ((module_expr me), (package_type pt)))
| Ast.ExPkg (loc, _) ->
error loc "(module_expr : package_type) expected here"
- | ExFUN (loc, i, e) -> mkexp loc (Pexp_newtype (i, expr e))
+ | ExFUN (loc, i, e) -> mkexp loc (Pexp_newtype (i, (expr e)))
| Ast.ExCom (loc, _, _) ->
error loc "expr, expr: not allowed here"
| Ast.ExSem (loc, _, _) ->
@@ -14443,11 +15109,13 @@ module Struct =
error (loc_of_expr e) "invalid expr"
and patt_of_lab _loc lab =
function
- | Ast.PaNil _ -> patt (Ast.PaId (_loc, Ast.IdLid (_loc, lab)))
+ | Ast.PaNil _ ->
+ patt (Ast.PaId (_loc, (Ast.IdLid (_loc, lab))))
| p -> patt p
and expr_of_lab _loc lab =
function
- | Ast.ExNil _ -> expr (Ast.ExId (_loc, Ast.IdLid (_loc, lab)))
+ | Ast.ExNil _ ->
+ expr (Ast.ExId (_loc, (Ast.IdLid (_loc, lab))))
| e -> expr e
and label_expr =
function
@@ -14460,7 +15128,7 @@ module Struct =
| Ast.BiAnd (_, x, y) -> binding x (binding y acc)
| Ast.BiEq (_loc, p,
(Ast.ExTyc (_, e, (Ast.TyPol (_, vs, ty))))) ->
- ((patt (Ast.PaTyc (_loc, p, Ast.TyPol (_loc, vs, ty)))),
+ ((patt (Ast.PaTyc (_loc, p, (Ast.TyPol (_loc, vs, ty))))),
(expr e)) :: acc
| Ast.BiEq (_, p, e) -> ((patt p), (expr e)) :: acc
| Ast.BiNil _ -> acc
@@ -14474,7 +15142,7 @@ module Struct =
and when_expr e w =
match w with
| Ast.ExNil _ -> expr e
- | w -> mkexp (loc_of_expr w) (Pexp_when (expr w, expr e))
+ | w -> mkexp (loc_of_expr w) (Pexp_when ((expr w), (expr e)))
and mklabexp x acc =
match x with
| Ast.RbSem (_, x, y) -> mklabexp x (mklabexp y acc)
@@ -14510,13 +15178,13 @@ module Struct =
| Ast.MtId (loc, i) -> mkmty loc (Pmty_ident (long_uident i))
| Ast.MtFun (loc, n, nt, mt) ->
mkmty loc
- (Pmty_functor (n, module_type nt, module_type mt))
+ (Pmty_functor (n, (module_type nt), (module_type mt)))
| Ast.MtQuo (loc, _) ->
error loc "module type variable not allowed here"
| Ast.MtSig (loc, sl) ->
mkmty loc (Pmty_signature (sig_item sl []))
| Ast.MtWit (loc, mt, wc) ->
- mkmty loc (Pmty_with (module_type mt, mkwithc wc []))
+ mkmty loc (Pmty_with ((module_type mt), (mkwithc wc [])))
| Ast.MtAnt (_, _) -> assert false
and sig_item s l =
match s with
@@ -14536,22 +15204,22 @@ module Struct =
| Ast.SgSem (_, sg1, sg2) -> sig_item sg1 (sig_item sg2 l)
| SgDir (_, _, _) -> l
| Ast.SgExc (loc, (Ast.TyId (_, (Ast.IdUid (_, s))))) ->
- (mksig loc (Psig_exception (conv_con s, []))) :: l
+ (mksig loc (Psig_exception ((conv_con s), []))) :: l
| Ast.SgExc (loc,
(Ast.TyOf (_, (Ast.TyId (_, (Ast.IdUid (_, s)))), t))) ->
(mksig loc
- (Psig_exception (conv_con s,
- List.map ctyp (list_of_ctyp t [])))) ::
+ (Psig_exception ((conv_con s),
+ (List.map ctyp (list_of_ctyp t []))))) ::
l
| SgExc (_, _) -> assert false
| SgExt (loc, n, t, sl) ->
(mksig loc
- (Psig_value (n, mkvalue_desc t (list_of_meta_list sl)))) ::
+ (Psig_value (n, (mkvalue_desc t (list_of_meta_list sl))))) ::
l
| SgInc (loc, mt) ->
(mksig loc (Psig_include (module_type mt))) :: l
| SgMod (loc, n, mt) ->
- (mksig loc (Psig_module (n, module_type mt))) :: l
+ (mksig loc (Psig_module (n, (module_type mt)))) :: l
| SgRecMod (loc, mb) ->
(mksig loc (Psig_recmodule (module_sig_binding mb []))) ::
l
@@ -14566,7 +15234,7 @@ module Struct =
| SgTyp (loc, tdl) ->
(mksig loc (Psig_type (mktype_decl tdl []))) :: l
| SgVal (loc, n, t) ->
- (mksig loc (Psig_value (n, mkvalue_desc t []))) :: l
+ (mksig loc (Psig_value (n, (mkvalue_desc t [])))) :: l
| Ast.SgAnt (loc, _) -> error loc "antiquotation in sig_item"
and module_sig_binding x acc =
match x with
@@ -14586,17 +15254,18 @@ module Struct =
| Ast.MeNil loc -> error loc "nil module expression"
| Ast.MeId (loc, i) -> mkmod loc (Pmod_ident (long_uident i))
| Ast.MeApp (loc, me1, me2) ->
- mkmod loc (Pmod_apply (module_expr me1, module_expr me2))
+ mkmod loc
+ (Pmod_apply ((module_expr me1), (module_expr me2)))
| Ast.MeFun (loc, n, mt, me) ->
mkmod loc
- (Pmod_functor (n, module_type mt, module_expr me))
+ (Pmod_functor (n, (module_type mt), (module_expr me)))
| Ast.MeStr (loc, sl) ->
mkmod loc (Pmod_structure (str_item sl []))
| Ast.MeTyc (loc, me, mt) ->
mkmod loc
- (Pmod_constraint (module_expr me, module_type mt))
+ (Pmod_constraint ((module_expr me), (module_type mt)))
| Ast.MePkg (loc, (Ast.ExTyc (_, e, (Ast.TyPkg (_, pt))))) ->
- mkmod loc (Pmod_unpack (expr e, package_type pt))
+ mkmod loc (Pmod_unpack ((expr e), (package_type pt)))
| Ast.MePkg (loc, _) ->
error loc "(value expr) not supported yet"
| Ast.MeAnt (loc, _) ->
@@ -14620,55 +15289,58 @@ module Struct =
| StDir (_, _, _) -> l
| Ast.StExc (loc, (Ast.TyId (_, (Ast.IdUid (_, s)))), Ast.
ONone) ->
- (mkstr loc (Pstr_exception (conv_con s, []))) :: l
+ (mkstr loc (Pstr_exception ((conv_con s), []))) :: l
| Ast.StExc (loc,
(Ast.TyOf (_, (Ast.TyId (_, (Ast.IdUid (_, s)))), t)), Ast.
ONone) ->
(mkstr loc
- (Pstr_exception (conv_con s,
- List.map ctyp (list_of_ctyp t [])))) ::
+ (Pstr_exception ((conv_con s),
+ (List.map ctyp (list_of_ctyp t []))))) ::
l
| Ast.StExc (loc, (Ast.TyId (_, (Ast.IdUid (_, s)))),
(Ast.OSome i)) ->
- (mkstr loc (Pstr_exn_rebind (conv_con s, ident i))) :: l
+ (mkstr loc (Pstr_exn_rebind ((conv_con s), (ident i)))) ::
+ l
| StExc (_, _, _) -> assert false
| StExp (loc, e) -> (mkstr loc (Pstr_eval (expr e))) :: l
| StExt (loc, n, t, sl) ->
(mkstr loc
(Pstr_primitive (n,
- mkvalue_desc t (list_of_meta_list sl)))) ::
+ (mkvalue_desc t (list_of_meta_list sl))))) ::
l
| StInc (loc, me) ->
(mkstr loc (Pstr_include (module_expr me))) :: l
| StMod (loc, n, me) ->
- (mkstr loc (Pstr_module (n, module_expr me))) :: l
+ (mkstr loc (Pstr_module (n, (module_expr me)))) :: l
| StRecMod (loc, mb) ->
(mkstr loc (Pstr_recmodule (module_str_binding mb []))) ::
l
| StMty (loc, n, mt) ->
- (mkstr loc (Pstr_modtype (n, module_type mt))) :: l
+ (mkstr loc (Pstr_modtype (n, (module_type mt)))) :: l
| StOpn (loc, id) ->
(mkstr loc (Pstr_open (long_uident id))) :: l
| StTyp (loc, tdl) ->
(mkstr loc (Pstr_type (mktype_decl tdl []))) :: l
| StVal (loc, rf, bi) ->
- (mkstr loc (Pstr_value (mkrf rf, binding bi []))) :: l
+ (mkstr loc (Pstr_value ((mkrf rf), (binding bi [])))) :: l
| Ast.StAnt (loc, _) -> error loc "antiquotation in str_item"
and class_type =
function
- | CtCon (loc, Ast.BFalse, id, tl) ->
+ | CtCon (loc, ViNil, id, tl) ->
mkcty loc
- (Pcty_constr (long_class_ident id,
- List.map ctyp (list_of_opt_ctyp tl [])))
+ (Pcty_constr ((long_class_ident id),
+ (List.map ctyp (list_of_opt_ctyp tl []))))
| CtFun (loc, (TyLab (_, lab, t)), ct) ->
- mkcty loc (Pcty_fun (lab, ctyp t, class_type ct))
+ mkcty loc (Pcty_fun (lab, (ctyp t), (class_type ct)))
| CtFun (loc, (TyOlb (loc1, lab, t)), ct) ->
let t =
- TyApp (loc1, Ast.TyId (loc1, Ast.IdLid (loc1, "option")),
- t)
- in mkcty loc (Pcty_fun ("?" ^ lab, ctyp t, class_type ct))
+ TyApp (loc1,
+ (Ast.TyId (loc1, (Ast.IdLid (loc1, "option")))), t)
+ in
+ mkcty loc
+ (Pcty_fun (("?" ^ lab), (ctyp t), (class_type ct)))
| CtFun (loc, t, ct) ->
- mkcty loc (Pcty_fun ("", ctyp t, class_type ct))
+ mkcty loc (Pcty_fun ("", (ctyp t), (class_type ct)))
| CtSig (loc, t_o, ctfl) ->
let t =
(match t_o with | Ast.TyNil _ -> Ast.TyAny loc | t -> t) in
@@ -14690,7 +15362,7 @@ module Struct =
(List.split (class_parameters t []))))
in
{
- pci_virt = if mb2b vir then Virtual else Concrete;
+ pci_virt = mkvirtual vir;
pci_params = (params, (mkloc loc_params));
pci_name = name;
pci_expr = class_expr ce;
@@ -14712,7 +15384,7 @@ module Struct =
(List.split (class_parameters t []))))
in
{
- pci_virt = if mb2b vir then Virtual else Concrete;
+ pci_virt = mkvirtual vir;
pci_params = (params, (mkloc loc_params));
pci_name = name;
pci_expr = class_type ct;
@@ -14749,38 +15421,40 @@ module Struct =
| (CeApp (loc, _, _) as c) ->
let (ce, el) = class_expr_fa [] c in
let el = List.map label_expr el
- in mkpcl loc (Pcl_apply (class_expr ce, el))
- | CeCon (loc, Ast.BFalse, id, tl) ->
+ in mkpcl loc (Pcl_apply ((class_expr ce), el))
+ | CeCon (loc, ViNil, id, tl) ->
mkpcl loc
- (Pcl_constr (long_class_ident id,
- List.map ctyp (list_of_opt_ctyp tl [])))
+ (Pcl_constr ((long_class_ident id),
+ (List.map ctyp (list_of_opt_ctyp tl []))))
| CeFun (loc, (PaLab (_, lab, po)), ce) ->
mkpcl loc
- (Pcl_fun (lab, None, patt_of_lab loc lab po,
- class_expr ce))
+ (Pcl_fun (lab, None, (patt_of_lab loc lab po),
+ (class_expr ce)))
| CeFun (loc, (PaOlbi (_, lab, p, e)), ce) ->
let lab = paolab lab p
in
mkpcl loc
- (Pcl_fun ("?" ^ lab, Some (expr e), patt p,
- class_expr ce))
+ (Pcl_fun (("?" ^ lab), (Some (expr e)), (patt p),
+ (class_expr ce)))
| CeFun (loc, (PaOlb (_, lab, p)), ce) ->
let lab = paolab lab p
in
mkpcl loc
- (Pcl_fun ("?" ^ lab, None, patt_of_lab loc lab p,
- class_expr ce))
+ (Pcl_fun (("?" ^ lab), None, (patt_of_lab loc lab p),
+ (class_expr ce)))
| CeFun (loc, p, ce) ->
- mkpcl loc (Pcl_fun ("", None, patt p, class_expr ce))
+ mkpcl loc (Pcl_fun ("", None, (patt p), (class_expr ce)))
| CeLet (loc, rf, bi, ce) ->
- mkpcl loc (Pcl_let (mkrf rf, binding bi [], class_expr ce))
+ mkpcl loc
+ (Pcl_let ((mkrf rf), (binding bi []), (class_expr ce)))
| CeStr (loc, po, cfl) ->
let p =
(match po with | Ast.PaNil _ -> Ast.PaAny loc | p -> p) in
let cil = class_str_item cfl []
in mkpcl loc (Pcl_structure (((patt p), cil)))
| CeTyc (loc, ce, ct) ->
- mkpcl loc (Pcl_constraint (class_expr ce, class_type ct))
+ mkpcl loc
+ (Pcl_constraint ((class_expr ce), (class_type ct)))
| CeCon (loc, _, _, _) ->
error loc "invalid virtual class inside a class expression"
| CeAnt (_, _) | CeEq (_, _, _) | CeAnd (_, _, _) | CeNil _ ->
@@ -14792,29 +15466,34 @@ module Struct =
(Pcf_cstr (((ctyp t1), (ctyp t2), (mkloc loc)))) :: l
| Ast.CrSem (_, cst1, cst2) ->
class_str_item cst1 (class_str_item cst2 l)
- | CrInh (_, ce, "") ->
- (Pcf_inher (Fresh, class_expr ce, None)) :: l
- | CrInh (_, ce, pb) ->
- (Pcf_inher (Fresh, class_expr ce, Some pb)) :: l
+ | CrInh (loc, ov, ce, pb) ->
+ let opb = if pb = "" then None else Some pb
+ in
+ (Pcf_inher ((override_flag loc ov), (class_expr ce), opb)) ::
+ l
| CrIni (_, e) -> (Pcf_init (expr e)) :: l
- | CrMth (loc, s, b, e, t) ->
+ | CrMth (loc, s, ov, pf, e, t) ->
let t =
(match t with
| Ast.TyNil _ -> None
| t -> Some (mkpolytype (ctyp t))) in
- let e = mkexp loc (Pexp_poly (expr e, t))
+ let e = mkexp loc (Pexp_poly ((expr e), t))
in
- (Pcf_meth ((s, (mkprivate b), Fresh, e, (mkloc loc)))) ::
+ (Pcf_meth
+ ((s, (mkprivate pf), (override_flag loc ov), e,
+ (mkloc loc)))) ::
l
- | CrVal (loc, s, b, e) ->
- (Pcf_val ((s, (mkmutable b), Fresh, (expr e), (mkloc loc)))) ::
+ | CrVal (loc, s, ov, mf, e) ->
+ (Pcf_val
+ ((s, (mkmutable mf), (override_flag loc ov), (expr e),
+ (mkloc loc)))) ::
l
- | CrVir (loc, s, b, t) ->
+ | CrVir (loc, s, pf, t) ->
(Pcf_virt
- ((s, (mkprivate b), (mkpolytype (ctyp t)), (mkloc loc)))) ::
+ ((s, (mkprivate pf), (mkpolytype (ctyp t)), (mkloc loc)))) ::
l
- | CrVvr (loc, s, b, t) ->
- (Pcf_valvirt ((s, (mkmutable b), (ctyp t), (mkloc loc)))) ::
+ | CrVvr (loc, s, mf, t) ->
+ (Pcf_valvirt ((s, (mkmutable mf), (ctyp t), (mkloc loc)))) ::
l
| CrAnt (_, _) -> assert false
@@ -14833,7 +15512,7 @@ module Struct =
let phrase =
function
- | StDir (_, d, dp) -> Ptop_dir (d, directive dp)
+ | StDir (_, d, dp) -> Ptop_dir (d, (directive dp))
| si -> Ptop_def (str_item si)
end
@@ -15115,7 +15794,7 @@ module Struct =
| Dynlink.Error e ->
raise
(Error ("Camlp4's dynamic loader initialization",
- Dynlink.error_message e)))
+ (Dynlink.error_message e))))
else ();
let fname =
try find_in_path _path file
@@ -15126,7 +15805,7 @@ module Struct =
try Dynlink.loadfile fname
with
| Dynlink.Error e ->
- raise (Error (fname, Dynlink.error_message e)))
+ raise (Error (fname, (Dynlink.error_message e))))
let is_native = Dynlink.is_native
@@ -15269,9 +15948,9 @@ module Struct =
Ast.ExLab (_, s, (Ast.ExNil _)) |
Ast.ExOlb (_, s, (Ast.ExNil _)) ->
if S.mem s env then o else {< free = f s free; >}
- | Ast.ExLet (_, Ast.BFalse, bi, e) ->
+ | Ast.ExLet (_, Ast.ReNil, bi, e) ->
(((o#add_binding bi)#expr e)#set_env env)#binding bi
- | Ast.ExLet (_, Ast.BTrue, bi, e) ->
+ | Ast.ExLet (_, Ast.ReRecursive, bi, e) ->
(((o#add_binding bi)#expr e)#binding bi)#set_env env
| Ast.ExFor (_, s, e1, e2, _, e3) ->
((((o#expr e1)#expr e2)#add_atom s)#expr e3)#set_env
@@ -15290,9 +15969,9 @@ module Struct =
method str_item =
function
| Ast.StExt (_, s, t, _) -> (o#ctyp t)#add_atom s
- | Ast.StVal (_, Ast.BFalse, bi) ->
+ | Ast.StVal (_, Ast.ReNil, bi) ->
(o#binding bi)#add_binding bi
- | Ast.StVal (_, Ast.BTrue, bi) ->
+ | Ast.StVal (_, Ast.ReRecursive, bi) ->
(o#add_binding bi)#binding bi
| st -> super#str_item st
@@ -15300,10 +15979,10 @@ module Struct =
function
| Ast.CeFun (_, p, ce) ->
((o#add_patt p)#class_expr ce)#set_env env
- | Ast.CeLet (_, Ast.BFalse, bi, ce) ->
+ | Ast.CeLet (_, Ast.ReNil, bi, ce) ->
(((o#binding bi)#add_binding bi)#class_expr ce)#set_env
env
- | Ast.CeLet (_, Ast.BTrue, bi, ce) ->
+ | Ast.CeLet (_, Ast.ReRecursive, bi, ce) ->
(((o#add_binding bi)#binding bi)#class_expr ce)#set_env
env
| Ast.CeStr (_, p, cst) ->
@@ -15312,9 +15991,10 @@ module Struct =
method class_str_item =
function
- | (Ast.CrInh (_, _, "") as cst) -> super#class_str_item cst
- | Ast.CrInh (_, ce, s) -> (o#class_expr ce)#add_atom s
- | Ast.CrVal (_, s, _, e) -> (o#expr e)#add_atom s
+ | (Ast.CrInh (_, _, _, "") as cst) ->
+ super#class_str_item cst
+ | Ast.CrInh (_, _, ce, s) -> (o#class_expr ce)#add_atom s
+ | Ast.CrVal (_, s, _, _, e) -> (o#expr e)#add_atom s
| Ast.CrVvr (_, s, _, t) -> (o#ctyp t)#add_atom s
| cst -> super#class_str_item cst
@@ -15335,99 +16015,6 @@ module Struct =
module Grammar =
struct
- module Context =
- struct
- module type S =
- sig
- module Token : Sig.Token
-
- open Token
-
- type t
-
- val call_with_ctx :
- (Token.t * Loc.t) Stream.t -> (t -> 'a) -> 'a
-
- val loc_bp : t -> Loc.t
-
- val loc_ep : t -> Loc.t
-
- val stream : t -> (Token.t * Loc.t) Stream.t
-
- val peek_nth : t -> int -> (Token.t * Loc.t) option
-
- val njunk : t -> int -> unit
-
- val junk : (Token.t * Loc.t) Stream.t -> unit
-
- val bp : (Token.t * Loc.t) Stream.t -> Loc.t
-
- end
-
- module Make (Token : Sig.Token) : S with module Token = Token =
- struct
- module Token = Token
-
- open Token
-
- type t =
- { mutable strm : (Token.t * Loc.t) Stream.t;
- mutable loc : Loc.t
- }
-
- let loc_bp c =
- match Stream.peek c.strm with
- | None -> Loc.ghost
- | Some ((_, loc)) -> loc
-
- let loc_ep c = c.loc
-
- let set_loc c =
- match Stream.peek c.strm with
- | Some ((_, loc)) -> c.loc <- loc
- | None -> ()
-
- let mk strm =
- match Stream.peek strm with
- | Some ((_, loc)) -> { strm = strm; loc = loc; }
- | None -> { strm = strm; loc = Loc.ghost; }
-
- let stream c = c.strm
-
- let peek_nth c n =
- let list = Stream.npeek n c.strm in
- let rec loop list n =
- match (list, n) with
- | ((((_, loc) as x)) :: _, 1) -> (c.loc <- loc; Some x)
- | (_ :: l, n) -> loop l (n - 1)
- | ([], _) -> None
- in loop list n
-
- let njunk c n =
- (for i = 1 to n do Stream.junk c.strm done; set_loc c)
-
- let streams = ref []
-
- let mk strm =
- let c = mk strm in
- let () = streams := (strm, c) :: !streams in c
-
- let junk strm =
- (set_loc (List.assq strm !streams); Stream.junk strm)
-
- let bp strm = loc_bp (List.assq strm !streams)
-
- let call_with_ctx strm f =
- let streams_v = !streams in
- let r =
- try f (mk strm)
- with | exc -> (streams := streams_v; raise exc)
- in (streams := streams_v; r)
-
- end
-
- end
-
module Structure =
struct
open Sig.Grammar
@@ -15441,8 +16028,6 @@ module Struct =
module Lexer : Sig.Lexer with module Loc = Loc
and module Token = Token
- module Context : Context.S with module Token = Token
-
module Action : Sig.Grammar.Action
type gram =
@@ -15453,8 +16038,11 @@ module Struct =
warning_verbose : bool ref; error_verbose : bool ref
}
- type efun =
- Context.t -> (Token.t * Loc.t) Stream.t -> Action.t
+ type token_info = { prev_loc : Loc.t; cur_loc : Loc.t }
+
+ type token_stream = (Token.t * token_info) Stream.t
+
+ type efun = token_stream -> Action.t
type token_pattern = ((Token.t -> bool) * string)
@@ -15466,7 +16054,7 @@ module Struct =
}
and desc =
| Dlevels of level list
- | Dparser of ((Token.t * Loc.t) Stream.t -> Action.t)
+ | Dparser of (token_stream -> Action.t)
and level =
{ assoc : assoc; lname : string option; lsuffix : tree;
lprefix : tree
@@ -15480,6 +16068,7 @@ module Struct =
| Slist1 of symbol
| Slist1sep of symbol * symbol
| Sopt of symbol
+ | Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
@@ -15551,10 +16140,11 @@ module Struct =
warning_verbose : bool ref; error_verbose : bool ref
}
- module Context = Context.Make(Token)
-
- type efun =
- Context.t -> (Token.t * Loc.t) Stream.t -> Action.t
+ type token_info = { prev_loc : Loc.t; cur_loc : Loc.t }
+
+ type token_stream = (Token.t * token_info) Stream.t
+
+ type efun = token_stream -> Action.t
type token_pattern = ((Token.t -> bool) * string)
@@ -15566,7 +16156,7 @@ module Struct =
}
and desc =
| Dlevels of level list
- | Dparser of ((Token.t * Loc.t) Stream.t -> Action.t)
+ | Dparser of (token_stream -> Action.t)
and level =
{ assoc : assoc; lname : string option; lsuffix : tree;
lprefix : tree
@@ -15580,6 +16170,7 @@ module Struct =
| Slist1 of symbol
| Slist1sep of symbol * symbol
| Sopt of symbol
+ | Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
@@ -15615,6 +16206,8 @@ module Struct =
let get_filter g = g.gfilter
+ let token_location r = r.cur_loc
+
type 'a not_filtered = 'a
let using { gkeywords = table; gfilter = filter } kwd =
@@ -15694,8 +16287,8 @@ module Struct =
(match symb with
| Snterm _ | Snterml (_, _) | Slist0 _ |
Slist0sep (_, _) | Slist1 _ | Slist1sep (_, _) |
- Sopt _ | Stoken _ | Stree _ | Skeyword _ when
- symb == prev_symb -> Some symb
+ Sopt _ | Stry _ | Stoken _ | Stree _ |
+ Skeyword _ when symb == prev_symb -> Some symb
| Slist0 symb ->
(match search_symbol symb with
| Some symb -> Some (Slist0 symb)
@@ -15722,6 +16315,10 @@ module Struct =
(match search_symbol symb with
| Some symb -> Some (Sopt symb)
| None -> None)
+ | Stry symb ->
+ (match search_symbol symb with
+ | Some symb -> Some (Stry symb)
+ | None -> None)
| Stree t ->
(match search_tree t with
| Some t -> Some (Stree t)
@@ -15740,9 +16337,53 @@ module Struct =
struct
open Structure
- let empty_entry ename _ _ _ =
+ let empty_entry ename _ =
raise (Stream.Error ("entry [" ^ (ename ^ "] is empty")))
+ let rec stream_map f (__strm : _ Stream.t) =
+ match Stream.peek __strm with
+ | Some x ->
+ (Stream.junk __strm;
+ let strm = __strm
+ in
+ Stream.lcons (fun _ -> f x)
+ (Stream.slazy (fun _ -> stream_map f strm)))
+ | _ -> Stream.sempty
+
+ let keep_prev_loc strm =
+ match Stream.peek strm with
+ | None -> Stream.sempty
+ | Some ((_, init_loc)) ->
+ let rec go prev_loc (__strm : _ Stream.t) =
+ (match Stream.peek __strm with
+ | Some ((tok, cur_loc)) ->
+ (Stream.junk __strm;
+ let strm = __strm
+ in
+ Stream.lcons
+ (fun _ ->
+ (tok,
+ {
+ prev_loc = prev_loc;
+ cur_loc = cur_loc;
+ }))
+ (Stream.slazy (fun _ -> go cur_loc strm)))
+ | _ -> Stream.sempty)
+ in go init_loc strm
+
+ let drop_prev_loc strm =
+ stream_map (fun (tok, r) -> (tok, (r.cur_loc))) strm
+
+ let get_cur_loc strm =
+ match Stream.peek strm with
+ | Some ((_, r)) -> r.cur_loc
+ | None -> Loc.ghost
+
+ let get_prev_loc strm =
+ match Stream.peek strm with
+ | Some ((_, r)) -> r.prev_loc
+ | None -> Loc.ghost
+
let is_level_labelled n lev =
match lev.lname with | Some n1 -> n = n1 | None -> false
@@ -15778,13 +16419,12 @@ module Struct =
| (Sself, Snterm e2) -> entry.ename = e2.ename
| (Snterml (e1, l1), Snterml (e2, l2)) ->
(e1.ename = e2.ename) && (l1 = l2)
- | (Slist0 s1, Slist0 s2) -> eq_symbols s1 s2
- | (Slist0sep (s1, sep1), Slist0sep (s2, sep2)) ->
- (eq_symbols s1 s2) && (eq_symbols sep1 sep2)
- | (Slist1 s1, Slist1 s2) -> eq_symbols s1 s2
- | (Slist1sep (s1, sep1), Slist1sep (s2, sep2)) ->
+ | (Slist0 s1, Slist0 s2) | (Slist1 s1, Slist1 s2) |
+ (Sopt s1, Sopt s2) | (Stry s1, Stry s2) ->
+ eq_symbols s1 s2
+ | (Slist0sep (s1, sep1), Slist0sep (s2, sep2)) |
+ (Slist1sep (s1, sep1), Slist1sep (s2, sep2)) ->
(eq_symbols s1 s2) && (eq_symbols sep1 sep2)
- | (Sopt s1, Sopt s2) -> eq_symbols s1 s2
| (Stree t1, Stree t2) -> eq_trees t1 t2
| (Stoken ((_, s1)), Stoken ((_, s2))) ->
eq_Stoken_ids s1 s2
@@ -15805,13 +16445,12 @@ module Struct =
| (Snterm e1, Snterm e2) -> e1 == e2
| (Snterml (e1, l1), Snterml (e2, l2)) ->
(e1 == e2) && (l1 = l2)
- | (Slist0 s1, Slist0 s2) -> eq_symbol s1 s2
- | (Slist0sep (s1, sep1), Slist0sep (s2, sep2)) ->
+ | (Slist0 s1, Slist0 s2) | (Slist1 s1, Slist1 s2) |
+ (Sopt s1, Sopt s2) | (Stry s1, Stry s2) ->
+ eq_symbol s1 s2
+ | (Slist0sep (s1, sep1), Slist0sep (s2, sep2)) |
+ (Slist1sep (s1, sep1), Slist1sep (s2, sep2)) ->
(eq_symbol s1 s2) && (eq_symbol sep1 sep2)
- | (Slist1 s1, Slist1 s2) -> eq_symbol s1 s2
- | (Slist1sep (s1, sep1), Slist1sep (s2, sep2)) ->
- (eq_symbol s1 s2) && (eq_symbol sep1 sep2)
- | (Sopt s1, Sopt s2) -> eq_symbol s1 s2
| (Stree _, Stree _) -> false
| (Stoken ((_, s1)), Stoken ((_, s2))) ->
eq_Stoken_ids s1 s2
@@ -15908,6 +16547,7 @@ module Struct =
fprintf ppf "LIST1 %a SEP %a" print_symbol1 s
print_symbol1 t
| Sopt s -> fprintf ppf "OPT %a" print_symbol1 s
+ | Stry s -> fprintf ppf "TRY %a" print_symbol1 s
| Snterml (e, l) -> fprintf ppf "%s@ LEVEL@ %S" e.ename l
| (Snterm _ | Snext | Sself | Stree _ | Stoken _ |
Skeyword _
@@ -15940,7 +16580,7 @@ module Struct =
print_level ppf pp_print_space (flatten_tree t)
| (Smeta (_, _, _) | Snterml (_, _) | Slist0 _ |
Slist0sep (_, _) | Slist1 _ | Slist1sep (_, _) |
- Sopt _
+ Sopt _ | Stry _
as s) -> fprintf ppf "(%a)" print_symbol s
and print_rule ppf symbols =
(fprintf ppf "@[<hov 0>";
@@ -16009,7 +16649,8 @@ module Struct =
| DeadEnd -> List.rev acc
| LocAct (_, _) -> List.rev acc
| Node { node = n; brother = b; son = s } ->
- get_brothers ((Bro (n, get_brothers [] s)) :: acc) b
+ get_brothers ((Bro (n, (get_brothers [] s))) :: acc)
+ b
and print_brothers ppf brothers =
if brothers = []
then fprintf ppf "@ []"
@@ -16049,6 +16690,7 @@ module Struct =
fprintf ppf "LIST1 %a SEP %a" print_symbol1 s
print_symbol1 t
| Sopt s -> fprintf ppf "OPT %a" print_symbol1 s
+ | Stry s -> fprintf ppf "TRY %a" print_symbol1 s
| Snterml (e, l) -> fprintf ppf "%s@ LEVEL@ %S" e.ename l
| (Snterm _ | Snext | Sself | Stree _ | Stoken _ |
Skeyword _
@@ -16080,7 +16722,7 @@ module Struct =
| Stree t -> print_tree ppf t
| (Smeta (_, _, _) | Snterml (_, _) | Slist0 _ |
Slist0sep (_, _) | Slist1 _ | Slist1sep (_, _) |
- Sopt _
+ Sopt _ | Stry _
as s) -> fprintf ppf "(%a)" print_symbol s
and print_rule ppf symbols =
(fprintf ppf "@[<hov 0>";
@@ -16160,11 +16802,8 @@ module Struct =
let rec name_of_symbol_failed entry =
function
- | Slist0 s -> name_of_symbol_failed entry s
- | Slist0sep (s, _) -> name_of_symbol_failed entry s
- | Slist1 s -> name_of_symbol_failed entry s
- | Slist1sep (s, _) -> name_of_symbol_failed entry s
- | Sopt s -> name_of_symbol_failed entry s
+ | Slist0 s | Slist0sep (s, _) | Slist1 s | Slist1sep (s, _)
+ | Sopt s | Stry s -> name_of_symbol_failed entry s
| Stree t -> name_of_tree_failed entry t
| s -> name_of_symbol entry s
and name_of_tree_failed entry =
@@ -16237,7 +16876,7 @@ module Struct =
| _ ->
let txt1 = name_of_symbol_failed entry sep
in txt1 ^ (" or " ^ (txt ^ " expected")))
- | Sopt _ | Stree _ -> txt ^ " expected"
+ | Stry _ | Sopt _ | Stree _ -> txt ^ " expected"
| _ ->
txt ^
(" expected after " ^
@@ -16288,20 +16927,61 @@ module Struct =
open Sig.Grammar
+ module StreamOrig = Stream
+
+ let njunk strm n = for i = 1 to n do Stream.junk strm done
+
+ let loc_bp = Tools.get_cur_loc
+
+ let loc_ep = Tools.get_prev_loc
+
+ let drop_prev_loc = Tools.drop_prev_loc
+
+ let add_loc bp parse_fun strm =
+ let x = parse_fun strm in
+ let ep = loc_ep strm in
+ let loc = Loc.merge bp ep in (x, loc)
+
+ let stream_peek_nth strm n =
+ let rec loop i =
+ function
+ | x :: xs -> if i = 1 then Some x else loop (i - 1) xs
+ | [] -> None
+ in loop n (Stream.npeek n strm)
+
module Stream =
struct
- include Stream
+ type 'a t = 'a StreamOrig.t
+
+ exception Failure = StreamOrig.Failure
+
+ exception Error = StreamOrig.Error
+
+ let peek = StreamOrig.peek
- let junk strm = Context.junk strm
+ let junk = StreamOrig.junk
- let count strm = Context.bp strm
+ let dup strm =
+ let peek_nth n =
+ let rec loop n =
+ function
+ | [] -> None
+ | [ x ] -> if n = 0 then Some x else None
+ | _ :: l -> loop (n - 1) l
+ in loop n (Stream.npeek (n + 1) strm)
+ in Stream.from peek_nth
end
- let add_loc c bp parse_fun strm =
- let x = parse_fun c strm in
- let ep = Context.loc_ep c in
- let loc = Loc.merge bp ep in (x, loc)
+ let try_parser ps strm =
+ let strm' = Stream.dup strm in
+ let r =
+ try ps strm'
+ with
+ | Stream.Error _ | Loc.Exc_located (_, (Stream.Error _))
+ -> raise Stream.Failure
+ | exc -> raise exc
+ in (njunk strm (StreamOrig.count strm'); r)
let level_number entry lab =
let rec lookup levn =
@@ -16324,7 +17004,7 @@ module Struct =
function
| Sself | Snext -> Snterm entry
| Snterml (e, _) -> Snterm e
- | Slist1sep (s, sep) -> Slist1sep (top_symb entry s, sep)
+ | Slist1sep (s, sep) -> Slist1sep ((top_symb entry s), sep)
| _ -> raise Stream.Failure
let top_tree entry =
@@ -16342,9 +17022,8 @@ module Struct =
| Snterml (e, _) -> e
| _ -> raise Stream.Failure
- let continue entry loc a s c son p1 (__strm : _ Stream.t) =
- let a =
- (entry_of_symb entry s).econtinue 0 loc a c __strm in
+ let continue entry loc a s son p1 (__strm : _ Stream.t) =
+ let a = (entry_of_symb entry s).econtinue 0 loc a __strm in
let act =
try p1 __strm
with
@@ -16353,26 +17032,26 @@ module Struct =
(Stream.Error (Failed.tree_failed entry a s son))
in Action.mk (fun _ -> Action.getf act a)
- let skip_if_empty c bp _ =
- if (Context.loc_bp c) = bp
+ let skip_if_empty bp strm =
+ if (loc_bp strm) = bp
then Action.mk (fun _ -> raise Stream.Failure)
else raise Stream.Failure
- let do_recover parser_of_tree entry nlevn alevn loc a s c son
+ let do_recover parser_of_tree entry nlevn alevn loc a s son
(__strm : _ Stream.t) =
try
- parser_of_tree entry nlevn alevn (top_tree entry son) c
+ parser_of_tree entry nlevn alevn (top_tree entry son)
__strm
with
| Stream.Failure ->
- (try skip_if_empty c loc __strm
+ (try skip_if_empty loc __strm
with
| Stream.Failure ->
- continue entry loc a s c son
- (parser_of_tree entry nlevn alevn son c) __strm)
+ continue entry loc a s son
+ (parser_of_tree entry nlevn alevn son) __strm)
- let recover parser_of_tree entry nlevn alevn loc a s c son
- strm =
+ let recover parser_of_tree entry nlevn alevn loc a s son strm
+ =
if !strict_parsing
then
raise (Stream.Error (Failed.tree_failed entry a s son))
@@ -16390,33 +17069,33 @@ module Struct =
Format.eprintf "\n%s%a@." msg Loc.print loc))
else ()
in
- do_recover parser_of_tree entry nlevn alevn loc a s c
+ do_recover parser_of_tree entry nlevn alevn loc a s
son strm)
let rec parser_of_tree entry nlevn alevn =
function
| DeadEnd ->
- (fun _ (__strm : _ Stream.t) -> raise Stream.Failure)
- | LocAct (act, _) -> (fun _ (__strm : _ Stream.t) -> act)
+ (fun (__strm : _ Stream.t) -> raise Stream.Failure)
+ | LocAct (act, _) -> (fun (__strm : _ Stream.t) -> act)
| Node
{
node = Sself;
son = LocAct (act, _);
brother = DeadEnd
} ->
- (fun c (__strm : _ Stream.t) ->
- let a = entry.estart alevn c __strm
+ (fun (__strm : _ Stream.t) ->
+ let a = entry.estart alevn __strm
in Action.getf act a)
| Node { node = Sself; son = LocAct (act, _); brother = bro
} ->
let p2 = parser_of_tree entry nlevn alevn bro
in
- (fun c (__strm : _ Stream.t) ->
- match try Some (entry.estart alevn c __strm)
+ (fun (__strm : _ Stream.t) ->
+ match try Some (entry.estart alevn __strm)
with | Stream.Failure -> None
with
| Some a -> Action.getf act a
- | _ -> p2 c __strm)
+ | _ -> p2 __strm)
| Node { node = s; son = son; brother = DeadEnd } ->
let tokl =
(match s with
@@ -16430,11 +17109,12 @@ module Struct =
let p1 = parser_of_tree entry nlevn alevn son in
let p1 = parser_cont p1 entry nlevn alevn s son
in
- (fun c (__strm : _ Stream.t) ->
- let bp = Stream.count __strm in
- let a = ps c __strm in
+ (fun strm ->
+ let bp = loc_bp strm in
+ let (__strm : _ Stream.t) = strm in
+ let a = ps __strm in
let act =
- try p1 c bp a __strm
+ try p1 bp a __strm
with
| Stream.Failure ->
raise (Stream.Error "")
@@ -16459,20 +17139,21 @@ module Struct =
parser_cont p1 entry nlevn alevn s son in
let p2 = parser_of_tree entry nlevn alevn bro
in
- (fun c (__strm : _ Stream.t) ->
- let bp = Stream.count __strm
+ (fun strm ->
+ let bp = loc_bp strm in
+ let (__strm : _ Stream.t) = strm
in
- match try Some (ps c __strm)
+ match try Some (ps __strm)
with | Stream.Failure -> None
with
| Some a ->
let act =
- (try p1 c bp a __strm
+ (try p1 bp a __strm
with
| Stream.Failure ->
raise (Stream.Error ""))
in Action.getf act a
- | _ -> p2 c __strm)
+ | _ -> p2 __strm)
| Some ((tokl, last_tok, son)) ->
let p1 = parser_of_tree entry nlevn alevn son in
let p1 =
@@ -16480,18 +17161,18 @@ module Struct =
let p1 = parser_of_token_list p1 tokl in
let p2 = parser_of_tree entry nlevn alevn bro
in
- (fun c (__strm : _ Stream.t) ->
- try p1 c __strm
- with | Stream.Failure -> p2 c __strm))
+ (fun (__strm : _ Stream.t) ->
+ try p1 __strm
+ with | Stream.Failure -> p2 __strm))
and
- parser_cont p1 entry nlevn alevn s son c loc a
+ parser_cont p1 entry nlevn alevn s son loc a
(__strm : _ Stream.t) =
- try p1 c __strm
+ try p1 __strm
with
| Stream.Failure ->
(try
- recover parser_of_tree entry nlevn alevn loc a s c
- son __strm
+ recover parser_of_tree entry nlevn alevn loc a s son
+ __strm
with
| Stream.Failure ->
raise
@@ -16502,63 +17183,65 @@ module Struct =
| Stoken ((tematch, _)) :: tokl ->
(match tokl with
| [] ->
- let ps c _ =
- (match Context.peek_nth c n with
+ let ps strm =
+ (match stream_peek_nth strm n with
| Some ((tok, _)) when tematch tok ->
- (Context.njunk c n; Action.mk tok)
+ (njunk strm n; Action.mk tok)
| _ -> raise Stream.Failure)
in
- (fun c (__strm : _ Stream.t) ->
- let bp = Stream.count __strm in
- let a = ps c __strm in
+ (fun strm ->
+ let bp = loc_bp strm in
+ let (__strm : _ Stream.t) = strm in
+ let a = ps __strm in
let act =
- try p1 c bp a __strm
+ try p1 bp a __strm
with
| Stream.Failure ->
raise (Stream.Error "")
in Action.getf act a)
| _ ->
- let ps c _ =
- (match Context.peek_nth c n with
+ let ps strm =
+ (match stream_peek_nth strm n with
| Some ((tok, _)) when tematch tok -> tok
| _ -> raise Stream.Failure) in
let p1 = loop (n + 1) tokl
in
- (fun c (__strm : _ Stream.t) ->
- let tok = ps c __strm in
+ (fun (__strm : _ Stream.t) ->
+ let tok = ps __strm in
let s = __strm in
- let act = p1 c s in Action.getf act tok))
+ let act = p1 s in Action.getf act tok))
| Skeyword kwd :: tokl ->
(match tokl with
| [] ->
- let ps c _ =
- (match Context.peek_nth c n with
+ let ps strm =
+ (match stream_peek_nth strm n with
| Some ((tok, _)) when
Token.match_keyword kwd tok ->
- (Context.njunk c n; Action.mk tok)
+ (njunk strm n; Action.mk tok)
| _ -> raise Stream.Failure)
in
- (fun c (__strm : _ Stream.t) ->
- let bp = Stream.count __strm in
- let a = ps c __strm in
+ (fun strm ->
+ let bp = loc_bp strm in
+ let (__strm : _ Stream.t) = strm in
+ let a = ps __strm in
let act =
- try p1 c bp a __strm
+ try p1 bp a __strm
with
| Stream.Failure ->
raise (Stream.Error "")
in Action.getf act a)
| _ ->
- let ps c _ =
- (match Context.peek_nth c n with
+ let ps strm =
+ (match stream_peek_nth strm n with
| Some ((tok, _)) when
Token.match_keyword kwd tok -> tok
| _ -> raise Stream.Failure) in
let p1 = loop (n + 1) tokl
in
- (fun c (__strm : _ Stream.t) ->
- let tok = ps c __strm in
+ (fun (__strm : _ Stream.t) ->
+ let tok = ps __strm in
let s = __strm in
- let act = p1 c s in Action.getf act tok))
+ let act = p1 s in Action.getf act tok))
| _ -> invalid_arg "parser_of_token_list"
in loop 1 tokl
and parser_of_symbol entry nlevn =
@@ -16567,134 +17250,133 @@ module Struct =
let act = Obj.magic act entry symbl in
let pl = List.map (parser_of_symbol entry nlevn) symbl
in
- (fun c ->
- Obj.magic
- (List.fold_left
- (fun act p -> Obj.magic act (p c)) act pl))
+ Obj.magic
+ (List.fold_left (fun act p -> Obj.magic act p) act
+ pl)
| Slist0 s ->
let ps = parser_of_symbol entry nlevn s in
- let rec loop c al (__strm : _ Stream.t) =
- (match try Some (ps c __strm)
+ let rec loop al (__strm : _ Stream.t) =
+ (match try Some (ps __strm)
with | Stream.Failure -> None
with
- | Some a -> loop c (a :: al) __strm
+ | Some a -> loop (a :: al) __strm
| _ -> al)
in
- (fun c (__strm : _ Stream.t) ->
- let a = loop c [] __strm in Action.mk (List.rev a))
+ (fun (__strm : _ Stream.t) ->
+ let a = loop [] __strm in Action.mk (List.rev a))
| Slist0sep (symb, sep) ->
let ps = parser_of_symbol entry nlevn symb in
let pt = parser_of_symbol entry nlevn sep in
- let rec kont c al (__strm : _ Stream.t) =
- (match try Some (pt c __strm)
+ let rec kont al (__strm : _ Stream.t) =
+ (match try Some (pt __strm)
with | Stream.Failure -> None
with
| Some v ->
let a =
- (try ps c __strm
+ (try ps __strm
with
| Stream.Failure ->
raise
(Stream.Error
(Failed.symb_failed entry v sep symb)))
- in kont c (a :: al) __strm
+ in kont (a :: al) __strm
| _ -> al)
in
- (fun c (__strm : _ Stream.t) ->
- match try Some (ps c __strm)
+ (fun (__strm : _ Stream.t) ->
+ match try Some (ps __strm)
with | Stream.Failure -> None
with
| Some a ->
let s = __strm
- in Action.mk (List.rev (kont c [ a ] s))
+ in Action.mk (List.rev (kont [ a ] s))
| _ -> Action.mk [])
| Slist1 s ->
let ps = parser_of_symbol entry nlevn s in
- let rec loop c al (__strm : _ Stream.t) =
- (match try Some (ps c __strm)
+ let rec loop al (__strm : _ Stream.t) =
+ (match try Some (ps __strm)
with | Stream.Failure -> None
with
- | Some a -> loop c (a :: al) __strm
+ | Some a -> loop (a :: al) __strm
| _ -> al)
in
- (fun c (__strm : _ Stream.t) ->
- let a = ps c __strm in
+ (fun (__strm : _ Stream.t) ->
+ let a = ps __strm in
let s = __strm
- in Action.mk (List.rev (loop c [ a ] s)))
+ in Action.mk (List.rev (loop [ a ] s)))
| Slist1sep (symb, sep) ->
let ps = parser_of_symbol entry nlevn symb in
let pt = parser_of_symbol entry nlevn sep in
- let rec kont c al (__strm : _ Stream.t) =
- (match try Some (pt c __strm)
+ let rec kont al (__strm : _ Stream.t) =
+ (match try Some (pt __strm)
with | Stream.Failure -> None
with
| Some v ->
let a =
- (try ps c __strm
+ (try ps __strm
with
| Stream.Failure ->
- (try parse_top_symb' entry symb c __strm
+ (try parse_top_symb entry symb __strm
with
| Stream.Failure ->
raise
(Stream.Error
(Failed.symb_failed entry v sep
symb))))
- in kont c (a :: al) __strm
+ in kont (a :: al) __strm
| _ -> al)
in
- (fun c (__strm : _ Stream.t) ->
- let a = ps c __strm in
+ (fun (__strm : _ Stream.t) ->
+ let a = ps __strm in
let s = __strm
- in Action.mk (List.rev (kont c [ a ] s)))
+ in Action.mk (List.rev (kont [ a ] s)))
| Sopt s ->
let ps = parser_of_symbol entry nlevn s
in
- (fun c (__strm : _ Stream.t) ->
- match try Some (ps c __strm)
+ (fun (__strm : _ Stream.t) ->
+ match try Some (ps __strm)
with | Stream.Failure -> None
with
| Some a -> Action.mk (Some a)
| _ -> Action.mk None)
+ | Stry s ->
+ let ps = parser_of_symbol entry nlevn s
+ in try_parser ps
| Stree t ->
let pt = parser_of_tree entry 1 0 t
in
- (fun c (__strm : _ Stream.t) ->
- let bp = Stream.count __strm in
- let (act, loc) = add_loc c bp pt __strm
+ (fun strm ->
+ let bp = loc_bp strm in
+ let (__strm : _ Stream.t) = strm in
+ let (act, loc) = add_loc bp pt __strm
in Action.getf act loc)
| Snterm e ->
- (fun c (__strm : _ Stream.t) -> e.estart 0 c __strm)
+ (fun (__strm : _ Stream.t) -> e.estart 0 __strm)
| Snterml (e, l) ->
- (fun c (__strm : _ Stream.t) ->
- e.estart (level_number e l) c __strm)
+ (fun (__strm : _ Stream.t) ->
+ e.estart (level_number e l) __strm)
| Sself ->
- (fun c (__strm : _ Stream.t) -> entry.estart 0 c __strm)
+ (fun (__strm : _ Stream.t) -> entry.estart 0 __strm)
| Snext ->
- (fun c (__strm : _ Stream.t) ->
- entry.estart nlevn c __strm)
+ (fun (__strm : _ Stream.t) -> entry.estart nlevn __strm)
| Skeyword kwd ->
- (fun _ (__strm : _ Stream.t) ->
+ (fun (__strm : _ Stream.t) ->
match Stream.peek __strm with
| Some ((tok, _)) when Token.match_keyword kwd tok
-> (Stream.junk __strm; Action.mk tok)
| _ -> raise Stream.Failure)
| Stoken ((f, _)) ->
- (fun _ (__strm : _ Stream.t) ->
+ (fun (__strm : _ Stream.t) ->
match Stream.peek __strm with
| Some ((tok, _)) when f tok ->
(Stream.junk __strm; Action.mk tok)
| _ -> raise Stream.Failure)
- and parse_top_symb' entry symb c =
- parser_of_symbol entry 0 (top_symb entry symb) c
and parse_top_symb entry symb strm =
- Context.call_with_ctx strm
- (fun c -> parse_top_symb' entry symb c (Context.stream c))
+ parser_of_symbol entry 0 (top_symb entry symb) strm
let rec start_parser_of_levels entry clevn =
function
| [] ->
- (fun _ _ (__strm : _ Stream.t) -> raise Stream.Failure)
+ (fun _ (__strm : _ Stream.t) -> raise Stream.Failure)
| lev :: levs ->
let p1 = start_parser_of_levels entry (succ clevn) levs
in
@@ -16710,24 +17392,25 @@ module Struct =
in
(match levs with
| [] ->
- (fun levn c (__strm : _ Stream.t) ->
- let bp = Stream.count __strm in
+ (fun levn strm ->
+ let bp = loc_bp strm in
+ let (__strm : _ Stream.t) = strm in
let (act, loc) =
- add_loc c bp p2 __strm in
+ add_loc bp p2 __strm in
let strm = __strm in
let a = Action.getf act loc
- in entry.econtinue levn loc a c strm)
+ in entry.econtinue levn loc a strm)
| _ ->
- (fun levn c strm ->
+ (fun levn strm ->
if levn > clevn
- then p1 levn c strm
+ then p1 levn strm
else
- (let (__strm : _ Stream.t) = strm in
- let bp = Stream.count __strm
+ (let bp = loc_bp strm in
+ let (__strm : _ Stream.t) = strm
in
match try
Some
- (add_loc c bp p2 __strm)
+ (add_loc bp p2 __strm)
with
| Stream.Failure -> None
with
@@ -16735,19 +17418,19 @@ module Struct =
let a = Action.getf act loc
in
entry.econtinue levn loc a
- c strm
- | _ -> p1 levn c __strm))))
+ strm
+ | _ -> p1 levn __strm))))
let start_parser_of_entry entry =
match entry.edesc with
| Dlevels [] -> Tools.empty_entry entry.ename
| Dlevels elev -> start_parser_of_levels entry 0 elev
- | Dparser p -> (fun _ _ strm -> p strm)
+ | Dparser p -> (fun _ -> p)
let rec continue_parser_of_levels entry clevn =
function
| [] ->
- (fun _ _ _ _ (__strm : _ Stream.t) ->
+ (fun _ _ _ (__strm : _ Stream.t) ->
raise Stream.Failure)
| lev :: levs ->
let p1 =
@@ -16763,32 +17446,29 @@ module Struct =
let p2 =
parser_of_tree entry (succ clevn) alevn tree
in
- (fun c levn bp a strm ->
+ (fun levn bp a strm ->
if levn > clevn
- then p1 c levn bp a strm
+ then p1 levn bp a strm
else
(let (__strm : _ Stream.t) = strm
in
- try p1 c levn bp a __strm
+ try p1 levn bp a __strm
with
| Stream.Failure ->
let (act, loc) =
- add_loc c bp p2 __strm in
+ add_loc bp p2 __strm in
let a = Action.getf2 act a loc
- in
- entry.econtinue levn loc a c
- strm)))
+ in entry.econtinue levn loc a strm)))
let continue_parser_of_entry entry =
match entry.edesc with
| Dlevels elev ->
let p = continue_parser_of_levels entry 0 elev
in
- (fun levn bp a c (__strm : _ Stream.t) ->
- try p c levn bp a __strm
- with | Stream.Failure -> a)
+ (fun levn bp a (__strm : _ Stream.t) ->
+ try p levn bp a __strm with | Stream.Failure -> a)
| Dparser _ ->
- (fun _ _ _ _ (__strm : _ Stream.t) ->
+ (fun _ _ _ (__strm : _ Stream.t) ->
raise Stream.Failure)
end
@@ -16818,13 +17498,13 @@ module Struct =
let rec derive_eps =
function
- | Slist0 _ -> true
- | Slist0sep (_, _) -> true
- | Sopt _ -> true
+ | Slist0 _ | Slist0sep (_, _) | Sopt _ -> true
+ | Stry s -> derive_eps s
| Stree t -> tree_derive_eps t
- | Smeta (_, _, _) | Slist1 _ | Slist1sep (_, _) | Snterm _
- | Snterml (_, _) | Snext | Sself | Stoken _ |
- Skeyword _ -> false
+ | Slist1 _ | Slist1sep (_, _) | Stoken _ | Skeyword _ ->
+ false
+ | Smeta (_, _, _) | Snterm _ | Snterml (_, _) | Snext |
+ Sself -> false
and tree_derive_eps =
function
| LocAct (_, _) -> true
@@ -16963,9 +17643,8 @@ module Struct =
(check_gram entry t; check_gram entry s)
| Slist1sep (s, t) ->
(check_gram entry t; check_gram entry s)
- | Slist0 s -> check_gram entry s
- | Slist1 s -> check_gram entry s
- | Sopt s -> check_gram entry s
+ | Slist0 s | Slist1 s | Sopt s | Stry s ->
+ check_gram entry s
| Stree t -> tree_check_gram entry t
| Snext | Sself | Stoken _ | Skeyword _ -> ()
and tree_check_gram entry =
@@ -16985,11 +17664,9 @@ module Struct =
let rec insert =
function
| Smeta (_, sl, _) -> List.iter insert sl
- | Slist0 s -> insert s
- | Slist1 s -> insert s
+ | Slist0 s | Slist1 s | Sopt s | Stry s -> insert s
| Slist0sep (s, t) -> (insert s; insert t)
| Slist1sep (s, t) -> (insert s; insert t)
- | Sopt s -> insert s
| Stree t -> tinsert t
| Skeyword kwd -> using gram kwd
| Snterm _ | Snterml (_, _) | Snext | Sself | Stoken _ ->
@@ -17022,7 +17699,7 @@ module Struct =
"<W> Grammar extension: in [%s] some rule has been masked@."
entry.ename
else ()
- in LocAct (action, old_action :: action_list)
+ in LocAct (action, (old_action :: action_list))
| DeadEnd -> LocAct (action, []))
and insert_in_tree s sl tree =
match try_insert s sl tree with
@@ -17145,13 +17822,13 @@ module Struct =
in
(entry.edesc <- Dlevels elev;
entry.estart <-
- (fun lev c strm ->
+ (fun lev strm ->
let f = Parser.start_parser_of_entry entry
- in (entry.estart <- f; f lev c strm));
+ in (entry.estart <- f; f lev strm));
entry.econtinue <-
- fun lev bp a c strm ->
+ fun lev bp a strm ->
let f = Parser.continue_parser_of_entry entry
- in (entry.econtinue <- f; f lev bp a c strm))
+ in (entry.econtinue <- f; f lev bp a strm))
end
@@ -17223,13 +17900,12 @@ module Struct =
function
| Skeyword kwd -> removing gram kwd
| Smeta (_, sl, _) -> List.iter (decr_keyw_use gram) sl
- | Slist0 s -> decr_keyw_use gram s
- | Slist1 s -> decr_keyw_use gram s
+ | Slist0 s | Slist1 s | Sopt s | Stry s ->
+ decr_keyw_use gram s
| Slist0sep (s1, s2) ->
(decr_keyw_use gram s1; decr_keyw_use gram s2)
| Slist1sep (s1, s2) ->
(decr_keyw_use gram s1; decr_keyw_use gram s2)
- | Sopt s -> decr_keyw_use gram s
| Stree t -> decr_keyw_use_in_tree gram t
| Sself | Snext | Snterm _ | Snterml (_, _) | Stoken _ ->
()
@@ -17310,13 +17986,13 @@ module Struct =
in
(entry.edesc <- Dlevels levs;
entry.estart <-
- (fun lev c strm ->
+ (fun lev strm ->
let f = Parser.start_parser_of_entry entry
- in (entry.estart <- f; f lev c strm));
+ in (entry.estart <- f; f lev strm));
entry.econtinue <-
- (fun lev bp a c strm ->
+ (fun lev bp a strm ->
let f = Parser.continue_parser_of_entry entry
- in (entry.econtinue <- f; f lev bp a c strm)))
+ in (entry.econtinue <- f; f lev bp a strm)))
| Dparser _ -> ()
end
@@ -17353,11 +18029,11 @@ module Struct =
module Stream =
struct
- include Stream
-
- let junk strm = Context.junk strm
+ type 'a t = 'a Stream.t
+
+ exception Failure = Stream.Failure
- let count strm = Context.bp strm
+ exception Error = Stream.Error
end
@@ -17459,6 +18135,8 @@ module Struct =
open Structure
+ open Tools
+
type 'a t = internal_entry
let name e = e.ename
@@ -17471,24 +18149,21 @@ module Struct =
{
egram = g;
ename = n;
- estart = Tools.empty_entry n;
+ estart = empty_entry n;
econtinue =
- (fun _ _ _ _ (__strm : _ Stream.t) ->
+ (fun _ _ _ (__strm : _ Stream.t) ->
raise Stream.Failure);
edesc = Dlevels [];
}
let action_parse entry ts : Action.t =
- Context.call_with_ctx ts
- (fun c ->
- try entry.estart 0 c (Context.stream c)
- with
- | Stream.Failure ->
- Loc.raise (Context.loc_ep c)
- (Stream.Error
- ("illegal begin of " ^ entry.ename))
- | (Loc.Exc_located (_, _) as exc) -> raise exc
- | exc -> Loc.raise (Context.loc_ep c) exc)
+ try entry.estart 0 ts
+ with
+ | Stream.Failure ->
+ Loc.raise (get_prev_loc ts)
+ (Stream.Error ("illegal begin of " ^ entry.ename))
+ | (Loc.Exc_located (_, _) as exc) -> raise exc
+ | exc -> Loc.raise (get_prev_loc ts) exc
let lex entry loc cs = entry.egram.glexer loc cs
@@ -17496,7 +18171,8 @@ module Struct =
lex entry loc (Stream.of_string str)
let filter entry ts =
- Token.Filter.filter (get_filter entry.egram) ts
+ keep_prev_loc
+ (Token.Filter.filter (get_filter entry.egram) ts)
let parse_tokens_after_filter entry ts =
Action.get (action_parse entry ts)
@@ -17510,33 +18186,36 @@ module Struct =
let parse_string entry loc str =
parse_tokens_before_filter entry (lex_string entry loc str)
- let of_parser g n (p : (Token.t * Loc.t) Stream.t -> 'a) :
- 'a t =
- {
- egram = g;
- ename = n;
- estart = (fun _ _ ts -> Action.mk (p ts));
- econtinue =
- (fun _ _ _ _ (__strm : _ Stream.t) ->
- raise Stream.Failure);
- edesc = Dparser (fun ts -> Action.mk (p ts));
- }
+ let of_parser g n
+ (p : (Token.t * token_info) Stream.t -> 'a) : 'a t =
+ let f ts = Action.mk (p ts)
+ in
+ {
+ egram = g;
+ ename = n;
+ estart = (fun _ -> f);
+ econtinue =
+ (fun _ _ _ (__strm : _ Stream.t) ->
+ raise Stream.Failure);
+ edesc = Dparser f;
+ }
- let setup_parser e (p : (Token.t * Loc.t) Stream.t -> 'a) =
+ let setup_parser e
+ (p : (Token.t * token_info) Stream.t -> 'a)
+ =
let f ts = Action.mk (p ts)
in
- (e.estart <- (fun _ _ -> f);
+ (e.estart <- (fun _ -> f);
e.econtinue <-
- (fun _ _ _ _ (__strm : _ Stream.t) ->
+ (fun _ _ _ (__strm : _ Stream.t) ->
raise Stream.Failure);
e.edesc <- Dparser f)
let clear e =
(e.estart <-
- (fun _ _ (__strm : _ Stream.t) -> raise Stream.Failure);
+ (fun _ (__strm : _ Stream.t) -> raise Stream.Failure);
e.econtinue <-
- (fun _ _ _ _ (__strm : _ Stream.t) ->
- raise Stream.Failure);
+ (fun _ _ _ (__strm : _ Stream.t) -> raise Stream.Failure);
e.edesc <- Dlevels [])
let obj x = x
@@ -17563,6 +18242,8 @@ module Struct =
module Fold = Fold.Make(Structure)
+ module Tools = Tools.Make(Structure)
+
include Structure
let gram =
@@ -17606,7 +18287,8 @@ module Struct =
let lex_string loc str = lex loc (Stream.of_string str)
- let filter ts = Token.Filter.filter gram.gfilter ts
+ let filter ts =
+ Tools.keep_prev_loc (Token.Filter.filter gram.gfilter ts)
let parse_tokens_after_filter entry ts =
Entry.E.parse_tokens_after_filter entry ts
@@ -17655,6 +18337,8 @@ module Struct =
module Fold = Fold.Make(Structure)
+ module Tools = Tools.Make(Structure)
+
include Structure
let mk () =
@@ -17674,7 +18358,8 @@ module Struct =
let lex_string g loc str = lex g loc (Stream.of_string str)
- let filter g ts = Token.Filter.filter g.gfilter ts
+ let filter g ts =
+ Tools.keep_prev_loc (Token.Filter.filter g.gfilter ts)
let parse_tokens_after_filter entry ts =
Entry.parse_tokens_after_filter entry ts
@@ -17905,9 +18590,11 @@ module Printers =
val semisep : sep
- val value_val : string
+ method value_val : string
+
+ method value_let : string
- val value_let : string
+ method andsep : sep
method anti : formatter -> string -> unit
@@ -17990,16 +18677,16 @@ module Printers =
method module_type :
formatter -> Ast.module_type -> unit
+ method override_flag :
+ formatter -> Ast.override_flag -> unit
+
method mutable_flag :
- formatter -> Ast.meta_bool -> unit
+ formatter -> Ast.mutable_flag -> unit
method direction_flag :
- formatter -> Ast.meta_bool -> unit
-
- method rec_flag : formatter -> Ast.meta_bool -> unit
+ formatter -> Ast.direction_flag -> unit
- method flag :
- formatter -> Ast.meta_bool -> string -> unit
+ method rec_flag : formatter -> Ast.rec_flag -> unit
method node : formatter -> 'b -> ('b -> Loc.t) -> unit
@@ -18027,10 +18714,10 @@ module Printers =
Loc.t -> formatter -> unit
method private_flag :
- formatter -> Ast.meta_bool -> unit
+ formatter -> Ast.private_flag -> unit
method virtual_flag :
- formatter -> Ast.meta_bool -> unit
+ formatter -> Ast.virtual_flag -> unit
method quoted_string : formatter -> string -> unit
@@ -18137,7 +18824,7 @@ module Printers =
function
| Ast.LNil -> []
| Ast.LCons (x, xs) -> x :: (list_of_meta_list xs)
- | Ast.LAnt x -> assert false
+ | Ast.LAnt _ -> assert false
let meta_list elt sep f mxs =
let xs = list_of_meta_list mxs in list elt sep f xs
@@ -18278,18 +18965,18 @@ module Printers =
val semisep = (";;" : sep)
- val andsep = ("@]@ @[<2>and@ " : sep)
-
- val value_val = "val"
-
- val value_let = "let"
-
val mode = if comments then `comments else `no_comments
val curry_constr = init_curry_constr
val var_conversion = false
+ method andsep : sep = "@]@ @[<2>and@ "
+
+ method value_val = "val"
+
+ method value_let = "let"
+
method semisep = semisep
method set_semisep = fun s -> {< semisep = s; >}
@@ -18360,20 +19047,40 @@ module Printers =
o#class_params t2
| x -> o#ctyp f x
- method mutable_flag = fun f b -> o#flag f b "mutable"
+ method override_flag =
+ fun f ->
+ function
+ | Ast.OvOverride -> pp f "!"
+ | Ast.OvNil -> ()
+ | Ast.OvAnt s -> o#anti f s
- method rec_flag = fun f b -> o#flag f b "rec"
+ method mutable_flag =
+ fun f ->
+ function
+ | Ast.MuMutable -> pp f "mutable@ "
+ | Ast.MuNil -> ()
+ | Ast.MuAnt s -> o#anti f s
- method virtual_flag = fun f b -> o#flag f b "virtual"
+ method rec_flag =
+ fun f ->
+ function
+ | Ast.ReRecursive -> pp f "rec@ "
+ | Ast.ReNil -> ()
+ | Ast.ReAnt s -> o#anti f s
- method private_flag = fun f b -> o#flag f b "private"
+ method virtual_flag =
+ fun f ->
+ function
+ | Ast.ViVirtual -> pp f "virtual@ "
+ | Ast.ViNil -> ()
+ | Ast.ViAnt s -> o#anti f s
- method flag =
- fun f b n ->
- match b with
- | Ast.BTrue -> (pp_print_string f n; pp f "@ ")
- | Ast.BFalse -> ()
- | Ast.BAnt s -> o#anti f s
+ method private_flag =
+ fun f ->
+ function
+ | Ast.PrPrivate -> pp f "private@ "
+ | Ast.PrNil -> ()
+ | Ast.PrAnt s -> o#anti f s
method anti = fun f s -> pp f "$%s$" s
@@ -18419,7 +19126,7 @@ module Printers =
match bi with
| Ast.BiNil _ -> ()
| Ast.BiAnd (_, b1, b2) ->
- (o#binding f b1; pp f andsep; o#binding f b2)
+ (o#binding f b1; pp f o#andsep; o#binding f b2)
| Ast.BiEq (_, p, e) ->
let (pl, e) =
(match p with
@@ -18551,7 +19258,7 @@ module Printers =
pp f "@[<2>%a :@ %a@]" o#var s o#module_type mt
| Ast.MbAnd (_, mb1, mb2) ->
(o#module_rec_binding f mb1;
- pp f andsep;
+ pp f o#andsep;
o#module_rec_binding f mb2)
| Ast.MbAnt (_, s) -> o#anti f s
@@ -18570,15 +19277,16 @@ module Printers =
in
o#expr f
(Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, "raise")),
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "Match_failure")),
- Ast.ExStr (_loc, Ast.safe_string_escaped n)),
- Ast.ExInt (_loc, string_of_int l)),
- Ast.ExInt (_loc, string_of_int c))))
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, "raise")))),
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "Match_failure")))),
+ (Ast.ExStr (_loc,
+ (Ast.safe_string_escaped n))))),
+ (Ast.ExInt (_loc, (string_of_int l))))),
+ (Ast.ExInt (_loc, (string_of_int c)))))))
method node : 'a. formatter -> 'a -> ('a -> Loc.t) -> unit =
fun f node loc_of_node ->
@@ -18639,7 +19347,7 @@ module Printers =
o#apply_expr y
| al ->
pp f "@[<2>%a@ (%a)@]" o#apply_expr a
- (list o#under_pipe#expr ",@ ") al)
+ (list o#under_pipe#apply_expr ",@ ") al)
else
pp f "@[<2>%a@]" (list o#apply_expr "@ ")
(a :: al)
@@ -18811,9 +19519,9 @@ module Printers =
method direction_flag =
fun f b ->
match b with
- | Ast.BTrue -> pp_print_string f "to"
- | Ast.BFalse -> pp_print_string f "downto"
- | Ast.BAnt s -> o#anti f s
+ | Ast.DiTo -> pp_print_string f "to"
+ | Ast.DiDownto -> pp_print_string f "downto"
+ | Ast.DiAnt s -> o#anti f s
method patt =
fun f p ->
@@ -18960,13 +19668,12 @@ module Printers =
pp f "@[<2>%s:@ %a@]" s o#simple_ctyp t
| Ast.TyOlb (_, s, t) ->
pp f "@[<2>?%s:@ %a@]" s o#simple_ctyp t
- | Ast.TyObj (_, (Ast.TyNil _), Ast.BFalse) ->
- pp f "< >"
- | Ast.TyObj (_, (Ast.TyNil _), Ast.BTrue) ->
+ | Ast.TyObj (_, (Ast.TyNil _), Ast.RvNil) -> pp f "< >"
+ | Ast.TyObj (_, (Ast.TyNil _), Ast.RvRowVar) ->
pp f "< .. >"
- | Ast.TyObj (_, t, Ast.BTrue) ->
+ | Ast.TyObj (_, t, Ast.RvRowVar) ->
pp f "@[<0>@[<2><@ %a;@ ..@]@ >@]" o#ctyp t
- | Ast.TyObj (_, t, Ast.BFalse) ->
+ | Ast.TyObj (_, t, Ast.RvNil) ->
pp f "@[<0>@[<2><@ %a@]@ >@]" o#ctyp t
| Ast.TyQuo (_, s) -> pp f "'%a" o#var s
| Ast.TyRec (_, t) -> pp f "@[<2>{@ %a@]@ }" o#ctyp t
@@ -18986,9 +19693,6 @@ module Printers =
| Ast.TyVrnSup (_, t) ->
pp f "@[<2>[>@ %a@]@,]" o#sum_type t
| Ast.TyCls (_, i) -> pp f "@[<2>#%a@]" o#ident i
- | Ast.TyMan (_, t1, t2) ->
- pp f "@[<2>%a =@ %a@]" o#simple_ctyp t1
- o#simple_ctyp t2
| Ast.TyVrn (_, s) -> pp f "`%a" o#var s
| Ast.TySta (_, t1, t2) ->
pp f "%a *@ %a" o#simple_ctyp t1 o#simple_ctyp t2
@@ -19028,6 +19732,8 @@ module Printers =
pp f "@[<2>mutable@ %a@]" o#ctyp t
| Ast.TyAmp (_, t1, t2) ->
pp f "%a@ &@ %a" o#ctyp t1 o#ctyp t2
+ | Ast.TyMan (_, t1, t2) ->
+ pp f "@[<2>%a =@ %a@]" o#simple_ctyp t1 o#ctyp t2
| Ast.TyDcl (_, tn, tp, te, cl) ->
(pp f "@[<2>%a%a@]" o#type_params tp o#var tn;
(match te with
@@ -19110,7 +19816,7 @@ module Printers =
pp f "@[<hv0>@[<hv2>type %a@]%(%)@]" o#ctyp t
semisep
| Ast.SgVal (_, s, t) ->
- pp f "@[<2>%s %a :@ %a%(%)@]" value_val o#var s
+ pp f "@[<2>%s %a :@ %a%(%)@]" o#value_val o#var s
o#ctyp t semisep
| Ast.SgInc (_, mt) ->
pp f "@[<2>include@ %a%(%)@]" o#module_type mt
@@ -19173,7 +19879,7 @@ module Printers =
pp f "@[<hv0>@[<hv2>type %a@]%(%)@]" o#ctyp t
semisep
| Ast.StVal (_, r, bi) ->
- pp f "@[<2>%s %a%a%(%)@]" value_let o#rec_flag r
+ pp f "@[<2>%s %a%a%(%)@]" o#value_let o#rec_flag r
o#binding bi semisep
| Ast.StExp (_, e) ->
pp f "@[<2>let _ =@ %a%(%)@]" o#expr e semisep
@@ -19229,7 +19935,7 @@ module Printers =
o#ident i2
| Ast.WcAnd (_, wc1, wc2) ->
(o#with_constraint f wc1;
- pp f andsep;
+ pp f o#andsep;
o#with_constraint f wc2)
| Ast.WcAnt (_, s) -> o#anti f s
@@ -19268,10 +19974,10 @@ module Printers =
o#module_type mt
| Ast.MePkg (_,
(Ast.ExTyc (_, e, (Ast.TyPkg (_, mt))))) ->
- pp f "@[<1>(%s %a :@ %a)@]" value_val o#expr e
+ pp f "@[<1>(%s %a :@ %a)@]" o#value_val o#expr e
o#module_type mt
| Ast.MePkg (_, e) ->
- pp f "@[<1>(%s %a)@]" value_val o#expr e
+ pp f "@[<1>(%s %a)@]" o#value_val o#expr e
method class_expr =
fun f ce ->
@@ -19280,14 +19986,15 @@ module Printers =
match ce with
| Ast.CeApp (_, ce, e) ->
pp f "@[<2>%a@ %a@]" o#class_expr ce o#expr e
- | Ast.CeCon (_, Ast.BFalse, i, (Ast.TyNil _)) ->
+ | Ast.CeCon (_, Ast.ViNil, i, (Ast.TyNil _)) ->
pp f "@[<2>%a@]" o#ident i
- | Ast.CeCon (_, Ast.BFalse, i, t) ->
+ | Ast.CeCon (_, Ast.ViNil, i, t) ->
pp f "@[<2>@[<1>[%a]@]@ %a@]" o#class_params t
o#ident i
- | Ast.CeCon (_, Ast.BTrue, (Ast.IdLid (_, i)),
+ | Ast.CeCon (_, Ast.ViVirtual, (Ast.IdLid (_, i)),
(Ast.TyNil _)) -> pp f "@[<2>virtual@ %a@]" o#var i
- | Ast.CeCon (_, Ast.BTrue, (Ast.IdLid (_, i)), t) ->
+ | Ast.CeCon (_, Ast.ViVirtual, (Ast.IdLid (_, i)), t)
+ ->
pp f "@[<2>virtual@ @[<1>[%a]@]@ %a@]"
o#class_params t o#var i
| Ast.CeFun (_, p, ce) ->
@@ -19309,7 +20016,7 @@ module Printers =
| Ast.CeAnt (_, s) -> o#anti f s
| Ast.CeAnd (_, ce1, ce2) ->
(o#class_expr f ce1;
- pp f andsep;
+ pp f o#andsep;
o#class_expr f ce2)
| Ast.CeEq (_, ce1, (Ast.CeFun (_, p, ce2))) when
is_irrefut_patt p ->
@@ -19325,14 +20032,15 @@ module Printers =
let () = o#node f ct Ast.loc_of_class_type
in
match ct with
- | Ast.CtCon (_, Ast.BFalse, i, (Ast.TyNil _)) ->
+ | Ast.CtCon (_, Ast.ViNil, i, (Ast.TyNil _)) ->
pp f "@[<2>%a@]" o#ident i
- | Ast.CtCon (_, Ast.BFalse, i, t) ->
+ | Ast.CtCon (_, Ast.ViNil, i, t) ->
pp f "@[<2>[@,%a@]@,]@ %a" o#class_params t
o#ident i
- | Ast.CtCon (_, Ast.BTrue, (Ast.IdLid (_, i)),
+ | Ast.CtCon (_, Ast.ViVirtual, (Ast.IdLid (_, i)),
(Ast.TyNil _)) -> pp f "@[<2>virtual@ %a@]" o#var i
- | Ast.CtCon (_, Ast.BTrue, (Ast.IdLid (_, i)), t) ->
+ | Ast.CtCon (_, Ast.ViVirtual, (Ast.IdLid (_, i)), t)
+ ->
pp f "@[<2>virtual@ [@,%a@]@,]@ %a" o#class_params
t o#var i
| Ast.CtFun (_, t, ct) ->
@@ -19348,7 +20056,7 @@ module Printers =
| Ast.CtAnt (_, s) -> o#anti f s
| Ast.CtAnd (_, ct1, ct2) ->
(o#class_type f ct1;
- pp f andsep;
+ pp f o#andsep;
o#class_type f ct2)
| Ast.CtCol (_, ct1, ct2) ->
pp f "%a :@ %a" o#class_type ct1 o#class_type ct2
@@ -19382,7 +20090,7 @@ module Printers =
pp f "@[<2>method virtual %a%a :@ %a%(%)@]"
o#private_flag pr o#var s o#ctyp t semisep
| Ast.CgVal (_, s, mu, vi, t) ->
- pp f "@[<2>%s %a%a%a :@ %a%(%)@]" value_val
+ pp f "@[<2>%s %a%a%a :@ %a%(%)@]" o#value_val
o#mutable_flag mu o#virtual_flag vi o#var s
o#ctyp t semisep
| Ast.CgAnt (_, s) -> pp f "%a%(%)" o#anti s semisep
@@ -19403,30 +20111,33 @@ module Printers =
| Ast.CrCtr (_, t1, t2) ->
pp f "@[<2>constraint %a =@ %a%(%)@]" o#ctyp t1
o#ctyp t2 semisep
- | Ast.CrInh (_, ce, "") ->
- pp f "@[<2>inherit@ %a%(%)@]" o#class_expr ce
+ | Ast.CrInh (_, ov, ce, "") ->
+ pp f "@[<2>inherit%a@ %a%(%)@]" o#override_flag ov
+ o#class_expr ce semisep
+ | Ast.CrInh (_, ov, ce, s) ->
+ pp f "@[<2>inherit%a@ %a as@ %a%(%)@]"
+ o#override_flag ov o#class_expr ce o#var s
semisep
- | Ast.CrInh (_, ce, s) ->
- pp f "@[<2>inherit@ %a as@ %a%(%)@]" o#class_expr
- ce o#var s semisep
| Ast.CrIni (_, e) ->
pp f "@[<2>initializer@ %a%(%)@]" o#expr e semisep
- | Ast.CrMth (_, s, pr, e, (Ast.TyNil _)) ->
- pp f "@[<2>method %a%a =@ %a%(%)@]" o#private_flag
- pr o#var s o#expr e semisep
- | Ast.CrMth (_, s, pr, e, t) ->
- pp f "@[<2>method %a%a :@ %a =@ %a%(%)@]"
- o#private_flag pr o#var s o#ctyp t o#expr e
- semisep
+ | Ast.CrMth (_, s, ov, pr, e, (Ast.TyNil _)) ->
+ pp f "@[<2>method%a %a%a =@ %a%(%)@]"
+ o#override_flag ov o#private_flag pr o#var s
+ o#expr e semisep
+ | Ast.CrMth (_, s, ov, pr, e, t) ->
+ pp f "@[<2>method%a %a%a :@ %a =@ %a%(%)@]"
+ o#override_flag ov o#private_flag pr o#var s
+ o#ctyp t o#expr e semisep
| Ast.CrVir (_, s, pr, t) ->
pp f "@[<2>method virtual@ %a%a :@ %a%(%)@]"
o#private_flag pr o#var s o#ctyp t semisep
| Ast.CrVvr (_, s, mu, t) ->
- pp f "@[<2>%s virtual %a%a :@ %a%(%)@]" value_val
+ pp f "@[<2>%s virtual %a%a :@ %a%(%)@]" o#value_val
o#mutable_flag mu o#var s o#ctyp t semisep
- | Ast.CrVal (_, s, mu, e) ->
- pp f "@[<2>%s %a%a =@ %a%(%)@]" value_val
- o#mutable_flag mu o#var s o#expr e semisep
+ | Ast.CrVal (_, s, ov, mu, e) ->
+ pp f "@[<2>%s%a %a%a =@ %a%(%)@]" o#value_val
+ o#override_flag ov o#mutable_flag mu o#var s
+ o#expr e semisep
| Ast.CrAnt (_, s) -> pp f "%a%(%)" o#anti s semisep
method implem =
@@ -19603,13 +20314,7 @@ module Printers =
PP_o.printer ~curry_constr: init_curry_constr ~comments () as
super
- val semisep = (";" : sep)
-
- val andsep = ("@]@ @[<2>and@ " : sep)
-
- val value_val = "value"
-
- val value_let = "value"
+ val! semisep = (";" : sep)
val mode = if comments then `comments else `no_comments
@@ -19617,6 +20322,12 @@ module Printers =
val first_match_case = true
+ method andsep : sep = "@]@ @[<2>and@ "
+
+ method value_val = "value"
+
+ method value_let = "value"
+
method under_pipe = o
method under_semi = o
@@ -19892,14 +20603,15 @@ module Printers =
| Ast.CtFun (_, t, ct) ->
pp f "@[<2>[ %a ] ->@ %a@]" o#simple_ctyp t
o#class_type ct
- | Ast.CtCon (_, Ast.BFalse, i, (Ast.TyNil _)) ->
+ | Ast.CtCon (_, Ast.ViNil, i, (Ast.TyNil _)) ->
pp f "@[<2>%a@]" o#ident i
- | Ast.CtCon (_, Ast.BFalse, i, t) ->
+ | Ast.CtCon (_, Ast.ViNil, i, t) ->
pp f "@[<2>%a [@,%a@]@,]" o#ident i o#class_params
t
- | Ast.CtCon (_, Ast.BTrue, (Ast.IdLid (_, i)),
+ | Ast.CtCon (_, Ast.ViVirtual, (Ast.IdLid (_, i)),
(Ast.TyNil _)) -> pp f "@[<2>virtual@ %a@]" o#var i
- | Ast.CtCon (_, Ast.BTrue, (Ast.IdLid (_, i)), t) ->
+ | Ast.CtCon (_, Ast.ViVirtual, (Ast.IdLid (_, i)), t)
+ ->
pp f "@[<2>virtual@ %a@ [@,%a@]@,]" o#var i
o#class_params t
| ct -> super#class_type f ct
@@ -19909,14 +20621,15 @@ module Printers =
let () = o#node f ce Ast.loc_of_class_expr
in
match ce with
- | Ast.CeCon (_, Ast.BFalse, i, (Ast.TyNil _)) ->
+ | Ast.CeCon (_, Ast.ViNil, i, (Ast.TyNil _)) ->
pp f "@[<2>%a@]" o#ident i
- | Ast.CeCon (_, Ast.BFalse, i, t) ->
+ | Ast.CeCon (_, Ast.ViNil, i, t) ->
pp f "@[<2>%a@ @[<1>[%a]@]@]" o#ident i
o#class_params t
- | Ast.CeCon (_, Ast.BTrue, (Ast.IdLid (_, i)),
+ | Ast.CeCon (_, Ast.ViVirtual, (Ast.IdLid (_, i)),
(Ast.TyNil _)) -> pp f "@[<2>virtual@ %a@]" o#var i
- | Ast.CeCon (_, Ast.BTrue, (Ast.IdLid (_, i)), t) ->
+ | Ast.CeCon (_, Ast.ViVirtual, (Ast.IdLid (_, i)), t)
+ ->
pp f "@[<2>virtual@ %a@ @[<1>[%a]@]@]" o#var i
o#ctyp t
| ce -> super#class_expr f ce
@@ -19925,11 +20638,14 @@ module Printers =
let with_outfile = with_outfile
- let print = print
+ let print output_file fct =
+ let o = new printer () in with_outfile output_file (fct o)
- let print_interf = print_interf
+ let print_interf ?input_file:(_) ?output_file sg =
+ print output_file (fun o -> o#interf) sg
- let print_implem = print_implem
+ let print_implem ?input_file:(_) ?output_file st =
+ print output_file (fun o -> o#implem) st
end
@@ -20113,6 +20829,8 @@ module OCamlInitSyntax =
let direction_flag = Gram.Entry.mk "direction_flag"
+ let direction_flag_quot = Gram.Entry.mk "direction_flag_quot"
+
let dummy = Gram.Entry.mk "dummy"
let entry_eoi = Gram.Entry.mk "entry_eoi"
@@ -20206,6 +20924,8 @@ module OCamlInitSyntax =
let opt_dot_dot = Gram.Entry.mk "opt_dot_dot"
+ let row_var_flag_quot = Gram.Entry.mk "row_var_flag_quot"
+
let opt_eq_ctyp = Gram.Entry.mk "opt_eq_ctyp"
let opt_expr = Gram.Entry.mk "opt_expr"
@@ -20214,18 +20934,30 @@ module OCamlInitSyntax =
let opt_mutable = Gram.Entry.mk "opt_mutable"
+ let mutable_flag_quot = Gram.Entry.mk "mutable_flag_quot"
+
let opt_polyt = Gram.Entry.mk "opt_polyt"
let opt_private = Gram.Entry.mk "opt_private"
+ let private_flag_quot = Gram.Entry.mk "private_flag_quot"
+
let opt_rec = Gram.Entry.mk "opt_rec"
+ let rec_flag_quot = Gram.Entry.mk "rec_flag_quot"
+
let opt_sig_items = Gram.Entry.mk "opt_sig_items"
let opt_str_items = Gram.Entry.mk "opt_str_items"
let opt_virtual = Gram.Entry.mk "opt_virtual"
+ let virtual_flag_quot = Gram.Entry.mk "virtual_flag_quot"
+
+ let opt_override = Gram.Entry.mk "opt_override"
+
+ let override_flag_quot = Gram.Entry.mk "override_flag_quot"
+
let opt_when_expr = Gram.Entry.mk "opt_when_expr"
let patt = Gram.Entry.mk "patt"
diff --git a/camlp4/boot/Camlp4.ml4 b/camlp4/boot/Camlp4.ml4
index d3ea1c7a03..3eb7978ac8 100644
--- a/camlp4/boot/Camlp4.ml4
+++ b/camlp4/boot/Camlp4.ml4
@@ -35,7 +35,6 @@ module Struct = struct
sig INCLUDE "camlp4/Camlp4/Struct/FreeVars.mli"; end =
struct INCLUDE "camlp4/Camlp4/Struct/FreeVars.ml"; end;
module Grammar = struct
- module Context = struct INCLUDE "camlp4/Camlp4/Struct/Grammar/Context.ml"; end;
module Structure = struct INCLUDE "camlp4/Camlp4/Struct/Grammar/Structure.ml"; end;
module Search = struct INCLUDE "camlp4/Camlp4/Struct/Grammar/Search.ml"; end;
(* module Find = struct INCLUDE "camlp4/Camlp4/Struct/Grammar/Find.ml"; end; *)
diff --git a/camlp4/boot/Camlp4Ast.ml b/camlp4/boot/Camlp4Ast.ml
index 11b1c27c4d..67d865b5b3 100644
--- a/camlp4/boot/Camlp4Ast.ml
+++ b/camlp4/boot/Camlp4Ast.ml
@@ -568,7 +568,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "CeLet")))
(meta_loc _loc x0))
- (meta_meta_bool _loc x1))
+ (meta_rec_flag _loc x1))
(meta_binding _loc x2))
(meta_class_expr _loc x3)
| Ast.CeFun x0 x1 x2 ->
@@ -590,7 +590,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "CeCon")))
(meta_loc _loc x0))
- (meta_meta_bool _loc x1))
+ (meta_virtual_flag _loc x1))
(meta_ident _loc x2))
(meta_ctyp _loc x3)
| Ast.CeApp x0 x1 x2 ->
@@ -622,7 +622,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CgVir")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
+ (meta_private_flag _loc x2))
(meta_ctyp _loc x3)
| Ast.CgVal x0 x1 x2 x3 x4 ->
Ast.ExApp _loc
@@ -635,8 +635,8 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CgVal")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
- (meta_meta_bool _loc x3))
+ (meta_mutable_flag _loc x2))
+ (meta_virtual_flag _loc x3))
(meta_ctyp _loc x4)
| Ast.CgMth x0 x1 x2 x3 ->
Ast.ExApp _loc
@@ -648,7 +648,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CgMth")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
+ (meta_private_flag _loc x2))
(meta_ctyp _loc x3)
| Ast.CgInh x0 x1 ->
Ast.ExApp _loc
@@ -697,7 +697,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CrVvr")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
+ (meta_mutable_flag _loc x2))
(meta_ctyp _loc x3)
| Ast.CrVir x0 x1 x2 x3 ->
Ast.ExApp _loc
@@ -709,21 +709,9 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CrVir")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
+ (meta_private_flag _loc x2))
(meta_ctyp _loc x3)
- | Ast.CrVal x0 x1 x2 x3 ->
- Ast.ExApp _loc
- (Ast.ExApp _loc
- (Ast.ExApp _loc
- (Ast.ExApp _loc
- (Ast.ExId _loc
- (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
- (Ast.IdUid _loc "CrVal")))
- (meta_loc _loc x0))
- (meta_string _loc x1))
- (meta_meta_bool _loc x2))
- (meta_expr _loc x3)
- | Ast.CrMth x0 x1 x2 x3 x4 ->
+ | Ast.CrVal x0 x1 x2 x3 x4 ->
Ast.ExApp _loc
(Ast.ExApp _loc
(Ast.ExApp _loc
@@ -731,12 +719,29 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.ExApp _loc
(Ast.ExId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
- (Ast.IdUid _loc "CrMth")))
+ (Ast.IdUid _loc "CrVal")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
- (meta_expr _loc x3))
- (meta_ctyp _loc x4)
+ (meta_override_flag _loc x2))
+ (meta_mutable_flag _loc x3))
+ (meta_expr _loc x4)
+ | Ast.CrMth x0 x1 x2 x3 x4 x5 ->
+ Ast.ExApp _loc
+ (Ast.ExApp _loc
+ (Ast.ExApp _loc
+ (Ast.ExApp _loc
+ (Ast.ExApp _loc
+ (Ast.ExApp _loc
+ (Ast.ExId _loc
+ (Ast.IdAcc _loc
+ (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "CrMth")))
+ (meta_loc _loc x0))
+ (meta_string _loc x1))
+ (meta_override_flag _loc x2))
+ (meta_private_flag _loc x3))
+ (meta_expr _loc x4))
+ (meta_ctyp _loc x5)
| Ast.CrIni x0 x1 ->
Ast.ExApp _loc
(Ast.ExApp _loc
@@ -745,16 +750,18 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CrIni")))
(meta_loc _loc x0))
(meta_expr _loc x1)
- | Ast.CrInh x0 x1 x2 ->
+ | Ast.CrInh x0 x1 x2 x3 ->
Ast.ExApp _loc
(Ast.ExApp _loc
(Ast.ExApp _loc
- (Ast.ExId _loc
- (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
- (Ast.IdUid _loc "CrInh")))
- (meta_loc _loc x0))
- (meta_class_expr _loc x1))
- (meta_string _loc x2)
+ (Ast.ExApp _loc
+ (Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "CrInh")))
+ (meta_loc _loc x0))
+ (meta_override_flag _loc x1))
+ (meta_class_expr _loc x2))
+ (meta_string _loc x3)
| Ast.CrCtr x0 x1 x2 ->
Ast.ExApp _loc
(Ast.ExApp _loc
@@ -843,7 +850,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "CtCon")))
(meta_loc _loc x0))
- (meta_meta_bool _loc x1))
+ (meta_virtual_flag _loc x1))
(meta_ident _loc x2))
(meta_ctyp _loc x3)
| Ast.CtNil x0 ->
@@ -1088,7 +1095,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "TyObj")))
(meta_loc _loc x0))
(meta_ctyp _loc x1))
- (meta_meta_bool _loc x2)
+ (meta_row_var_flag _loc x2)
| Ast.TyDcl x0 x1 x2 x3 x4 ->
Ast.ExApp _loc
(Ast.ExApp _loc
@@ -1186,6 +1193,17 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "TyNil")))
(meta_loc _loc x0) ]
+ and meta_direction_flag _loc =
+ fun
+ [ Ast.DiAnt x0 -> Ast.ExAnt _loc x0
+ | Ast.DiDownto ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "DiDownto"))
+ | Ast.DiTo ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "DiTo")) ]
and meta_expr _loc =
fun
[ Ast.ExPkg x0 x1 ->
@@ -1385,7 +1403,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "ExLet")))
(meta_loc _loc x0))
- (meta_meta_bool _loc x1))
+ (meta_rec_flag _loc x1))
(meta_binding _loc x2))
(meta_expr _loc x3)
| Ast.ExLaz x0 x1 ->
@@ -1473,7 +1491,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(meta_string _loc x1))
(meta_expr _loc x2))
(meta_expr _loc x3))
- (meta_meta_bool _loc x4))
+ (meta_direction_flag _loc x4))
(meta_expr _loc x5)
| Ast.ExFlo x0 x1 ->
Ast.ExApp _loc
@@ -1860,6 +1878,28 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "MtNil")))
(meta_loc _loc x0) ]
+ and meta_mutable_flag _loc =
+ fun
+ [ Ast.MuAnt x0 -> Ast.ExAnt _loc x0
+ | Ast.MuNil ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "MuNil"))
+ | Ast.MuMutable ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "MuMutable")) ]
+ and meta_override_flag _loc =
+ fun
+ [ Ast.OvAnt x0 -> Ast.ExAnt _loc x0
+ | Ast.OvNil ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "OvNil"))
+ | Ast.OvOverride ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "OvOverride")) ]
and meta_patt _loc =
fun
[ Ast.PaLaz x0 x1 ->
@@ -2099,6 +2139,17 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "PaNil")))
(meta_loc _loc x0) ]
+ and meta_private_flag _loc =
+ fun
+ [ Ast.PrAnt x0 -> Ast.ExAnt _loc x0
+ | Ast.PrNil ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "PrNil"))
+ | Ast.PrPrivate ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "PrPrivate")) ]
and meta_rec_binding _loc =
fun
[ Ast.RbAnt x0 x1 -> Ast.ExAnt x0 x1
@@ -2128,6 +2179,28 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "RbNil")))
(meta_loc _loc x0) ]
+ and meta_rec_flag _loc =
+ fun
+ [ Ast.ReAnt x0 -> Ast.ExAnt _loc x0
+ | Ast.ReNil ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "ReNil"))
+ | Ast.ReRecursive ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "ReRecursive")) ]
+ and meta_row_var_flag _loc =
+ fun
+ [ Ast.RvAnt x0 -> Ast.ExAnt _loc x0
+ | Ast.RvNil ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "RvNil"))
+ | Ast.RvRowVar ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "RvRowVar")) ]
and meta_sig_item _loc =
fun
[ Ast.SgAnt x0 x1 -> Ast.ExAnt x0 x1
@@ -2266,7 +2339,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "StVal")))
(meta_loc _loc x0))
- (meta_meta_bool _loc x1))
+ (meta_rec_flag _loc x1))
(meta_binding _loc x2)
| Ast.StTyp x0 x1 ->
Ast.ExApp _loc
@@ -2392,6 +2465,17 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "StNil")))
(meta_loc _loc x0) ]
+ and meta_virtual_flag _loc =
+ fun
+ [ Ast.ViAnt x0 -> Ast.ExAnt _loc x0
+ | Ast.ViNil ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "ViNil"))
+ | Ast.ViVirtual ->
+ Ast.ExId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "ViVirtual")) ]
and meta_with_constr _loc =
fun
[ Ast.WcAnt x0 x1 -> Ast.ExAnt x0 x1
@@ -2552,7 +2636,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "CeLet")))
(meta_loc _loc x0))
- (meta_meta_bool _loc x1))
+ (meta_rec_flag _loc x1))
(meta_binding _loc x2))
(meta_class_expr _loc x3)
| Ast.CeFun x0 x1 x2 ->
@@ -2574,7 +2658,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "CeCon")))
(meta_loc _loc x0))
- (meta_meta_bool _loc x1))
+ (meta_virtual_flag _loc x1))
(meta_ident _loc x2))
(meta_ctyp _loc x3)
| Ast.CeApp x0 x1 x2 ->
@@ -2606,7 +2690,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CgVir")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
+ (meta_private_flag _loc x2))
(meta_ctyp _loc x3)
| Ast.CgVal x0 x1 x2 x3 x4 ->
Ast.PaApp _loc
@@ -2619,8 +2703,8 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CgVal")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
- (meta_meta_bool _loc x3))
+ (meta_mutable_flag _loc x2))
+ (meta_virtual_flag _loc x3))
(meta_ctyp _loc x4)
| Ast.CgMth x0 x1 x2 x3 ->
Ast.PaApp _loc
@@ -2632,7 +2716,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CgMth")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
+ (meta_private_flag _loc x2))
(meta_ctyp _loc x3)
| Ast.CgInh x0 x1 ->
Ast.PaApp _loc
@@ -2681,7 +2765,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CrVvr")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
+ (meta_mutable_flag _loc x2))
(meta_ctyp _loc x3)
| Ast.CrVir x0 x1 x2 x3 ->
Ast.PaApp _loc
@@ -2693,21 +2777,9 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CrVir")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
+ (meta_private_flag _loc x2))
(meta_ctyp _loc x3)
- | Ast.CrVal x0 x1 x2 x3 ->
- Ast.PaApp _loc
- (Ast.PaApp _loc
- (Ast.PaApp _loc
- (Ast.PaApp _loc
- (Ast.PaId _loc
- (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
- (Ast.IdUid _loc "CrVal")))
- (meta_loc _loc x0))
- (meta_string _loc x1))
- (meta_meta_bool _loc x2))
- (meta_expr _loc x3)
- | Ast.CrMth x0 x1 x2 x3 x4 ->
+ | Ast.CrVal x0 x1 x2 x3 x4 ->
Ast.PaApp _loc
(Ast.PaApp _loc
(Ast.PaApp _loc
@@ -2715,12 +2787,29 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.PaApp _loc
(Ast.PaId _loc
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
- (Ast.IdUid _loc "CrMth")))
+ (Ast.IdUid _loc "CrVal")))
(meta_loc _loc x0))
(meta_string _loc x1))
- (meta_meta_bool _loc x2))
- (meta_expr _loc x3))
- (meta_ctyp _loc x4)
+ (meta_override_flag _loc x2))
+ (meta_mutable_flag _loc x3))
+ (meta_expr _loc x4)
+ | Ast.CrMth x0 x1 x2 x3 x4 x5 ->
+ Ast.PaApp _loc
+ (Ast.PaApp _loc
+ (Ast.PaApp _loc
+ (Ast.PaApp _loc
+ (Ast.PaApp _loc
+ (Ast.PaApp _loc
+ (Ast.PaId _loc
+ (Ast.IdAcc _loc
+ (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "CrMth")))
+ (meta_loc _loc x0))
+ (meta_string _loc x1))
+ (meta_override_flag _loc x2))
+ (meta_private_flag _loc x3))
+ (meta_expr _loc x4))
+ (meta_ctyp _loc x5)
| Ast.CrIni x0 x1 ->
Ast.PaApp _loc
(Ast.PaApp _loc
@@ -2729,16 +2818,18 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "CrIni")))
(meta_loc _loc x0))
(meta_expr _loc x1)
- | Ast.CrInh x0 x1 x2 ->
+ | Ast.CrInh x0 x1 x2 x3 ->
Ast.PaApp _loc
(Ast.PaApp _loc
(Ast.PaApp _loc
- (Ast.PaId _loc
- (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
- (Ast.IdUid _loc "CrInh")))
- (meta_loc _loc x0))
- (meta_class_expr _loc x1))
- (meta_string _loc x2)
+ (Ast.PaApp _loc
+ (Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "CrInh")))
+ (meta_loc _loc x0))
+ (meta_override_flag _loc x1))
+ (meta_class_expr _loc x2))
+ (meta_string _loc x3)
| Ast.CrCtr x0 x1 x2 ->
Ast.PaApp _loc
(Ast.PaApp _loc
@@ -2827,7 +2918,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "CtCon")))
(meta_loc _loc x0))
- (meta_meta_bool _loc x1))
+ (meta_virtual_flag _loc x1))
(meta_ident _loc x2))
(meta_ctyp _loc x3)
| Ast.CtNil x0 ->
@@ -3072,7 +3163,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdUid _loc "TyObj")))
(meta_loc _loc x0))
(meta_ctyp _loc x1))
- (meta_meta_bool _loc x2)
+ (meta_row_var_flag _loc x2)
| Ast.TyDcl x0 x1 x2 x3 x4 ->
Ast.PaApp _loc
(Ast.PaApp _loc
@@ -3170,6 +3261,17 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "TyNil")))
(meta_loc _loc x0) ]
+ and meta_direction_flag _loc =
+ fun
+ [ Ast.DiAnt x0 -> Ast.PaAnt _loc x0
+ | Ast.DiDownto ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "DiDownto"))
+ | Ast.DiTo ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "DiTo")) ]
and meta_expr _loc =
fun
[ Ast.ExPkg x0 x1 ->
@@ -3369,7 +3471,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "ExLet")))
(meta_loc _loc x0))
- (meta_meta_bool _loc x1))
+ (meta_rec_flag _loc x1))
(meta_binding _loc x2))
(meta_expr _loc x3)
| Ast.ExLaz x0 x1 ->
@@ -3457,7 +3559,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(meta_string _loc x1))
(meta_expr _loc x2))
(meta_expr _loc x3))
- (meta_meta_bool _loc x4))
+ (meta_direction_flag _loc x4))
(meta_expr _loc x5)
| Ast.ExFlo x0 x1 ->
Ast.PaApp _loc
@@ -3844,6 +3946,28 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "MtNil")))
(meta_loc _loc x0) ]
+ and meta_mutable_flag _loc =
+ fun
+ [ Ast.MuAnt x0 -> Ast.PaAnt _loc x0
+ | Ast.MuNil ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "MuNil"))
+ | Ast.MuMutable ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "MuMutable")) ]
+ and meta_override_flag _loc =
+ fun
+ [ Ast.OvAnt x0 -> Ast.PaAnt _loc x0
+ | Ast.OvNil ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "OvNil"))
+ | Ast.OvOverride ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "OvOverride")) ]
and meta_patt _loc =
fun
[ Ast.PaLaz x0 x1 ->
@@ -4083,6 +4207,17 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "PaNil")))
(meta_loc _loc x0) ]
+ and meta_private_flag _loc =
+ fun
+ [ Ast.PrAnt x0 -> Ast.PaAnt _loc x0
+ | Ast.PrNil ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "PrNil"))
+ | Ast.PrPrivate ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "PrPrivate")) ]
and meta_rec_binding _loc =
fun
[ Ast.RbAnt x0 x1 -> Ast.PaAnt x0 x1
@@ -4112,6 +4247,28 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "RbNil")))
(meta_loc _loc x0) ]
+ and meta_rec_flag _loc =
+ fun
+ [ Ast.ReAnt x0 -> Ast.PaAnt _loc x0
+ | Ast.ReNil ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "ReNil"))
+ | Ast.ReRecursive ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "ReRecursive")) ]
+ and meta_row_var_flag _loc =
+ fun
+ [ Ast.RvAnt x0 -> Ast.PaAnt _loc x0
+ | Ast.RvNil ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "RvNil"))
+ | Ast.RvRowVar ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "RvRowVar")) ]
and meta_sig_item _loc =
fun
[ Ast.SgAnt x0 x1 -> Ast.PaAnt x0 x1
@@ -4250,7 +4407,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "StVal")))
(meta_loc _loc x0))
- (meta_meta_bool _loc x1))
+ (meta_rec_flag _loc x1))
(meta_binding _loc x2)
| Ast.StTyp x0 x1 ->
Ast.PaApp _loc
@@ -4376,6 +4533,17 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
(Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
(Ast.IdUid _loc "StNil")))
(meta_loc _loc x0) ]
+ and meta_virtual_flag _loc =
+ fun
+ [ Ast.ViAnt x0 -> Ast.PaAnt _loc x0
+ | Ast.ViNil ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "ViNil"))
+ | Ast.ViVirtual ->
+ Ast.PaId _loc
+ (Ast.IdAcc _loc (Ast.IdUid _loc "Ast")
+ (Ast.IdUid _loc "ViVirtual")) ]
and meta_with_constr _loc =
fun
[ Ast.WcAnt x0 x1 -> Ast.PaAnt x0 x1
@@ -4475,6 +4643,11 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
| WcAnt _x _x_i1 ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in WcAnt _x _x_i1 ];
+ method virtual_flag : virtual_flag -> virtual_flag =
+ fun
+ [ ViVirtual -> ViVirtual
+ | ViNil -> ViNil
+ | ViAnt _x -> let _x = o#string _x in ViAnt _x ];
method str_item : str_item -> str_item =
fun
[ StNil _x -> let _x = o#loc _x in StNil _x
@@ -4526,7 +4699,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let _x = o#loc _x in let _x_i1 = o#ctyp _x_i1 in StTyp _x _x_i1
| StVal _x _x_i1 _x_i2 ->
let _x = o#loc _x in
- let _x_i1 = o#meta_bool _x_i1 in
+ let _x_i1 = o#rec_flag _x_i1 in
let _x_i2 = o#binding _x_i2 in StVal _x _x_i1 _x_i2
| StAnt _x _x_i1 ->
let _x = o#loc _x in
@@ -4582,6 +4755,16 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
| SgAnt _x _x_i1 ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in SgAnt _x _x_i1 ];
+ method row_var_flag : row_var_flag -> row_var_flag =
+ fun
+ [ RvRowVar -> RvRowVar
+ | RvNil -> RvNil
+ | RvAnt _x -> let _x = o#string _x in RvAnt _x ];
+ method rec_flag : rec_flag -> rec_flag =
+ fun
+ [ ReRecursive -> ReRecursive
+ | ReNil -> ReNil
+ | ReAnt _x -> let _x = o#string _x in ReAnt _x ];
method rec_binding : rec_binding -> rec_binding =
fun
[ RbNil _x -> let _x = o#loc _x in RbNil _x
@@ -4596,6 +4779,11 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
| RbAnt _x _x_i1 ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in RbAnt _x _x_i1 ];
+ method private_flag : private_flag -> private_flag =
+ fun
+ [ PrPrivate -> PrPrivate
+ | PrNil -> PrNil
+ | PrAnt _x -> let _x = o#string _x in PrAnt _x ];
method patt : patt -> patt =
fun
[ PaNil _x -> let _x = o#loc _x in PaNil _x
@@ -4685,6 +4873,16 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let _x_i1 = o#string _x_i1 in PaVrn _x _x_i1
| PaLaz _x _x_i1 ->
let _x = o#loc _x in let _x_i1 = o#patt _x_i1 in PaLaz _x _x_i1 ];
+ method override_flag : override_flag -> override_flag =
+ fun
+ [ OvOverride -> OvOverride
+ | OvNil -> OvNil
+ | OvAnt _x -> let _x = o#string _x in OvAnt _x ];
+ method mutable_flag : mutable_flag -> mutable_flag =
+ fun
+ [ MuMutable -> MuMutable
+ | MuNil -> MuNil
+ | MuAnt _x -> let _x = o#string _x in MuAnt _x ];
method module_type : module_type -> module_type =
fun
[ MtNil _x -> let _x = o#loc _x in MtNil _x
@@ -4861,7 +5059,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let _x_i1 = o#string _x_i1 in
let _x_i2 = o#expr _x_i2 in
let _x_i3 = o#expr _x_i3 in
- let _x_i4 = o#meta_bool _x_i4 in
+ let _x_i4 = o#direction_flag _x_i4 in
let _x_i5 = o#expr _x_i5
in ExFor _x _x_i1 _x_i2 _x_i3 _x_i4 _x_i5
| ExFun _x _x_i1 ->
@@ -4892,7 +5090,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let _x = o#loc _x in let _x_i1 = o#expr _x_i1 in ExLaz _x _x_i1
| ExLet _x _x_i1 _x_i2 _x_i3 ->
let _x = o#loc _x in
- let _x_i1 = o#meta_bool _x_i1 in
+ let _x_i1 = o#rec_flag _x_i1 in
let _x_i2 = o#binding _x_i2 in
let _x_i3 = o#expr _x_i3 in ExLet _x _x_i1 _x_i2 _x_i3
| ExLmd _x _x_i1 _x_i2 _x_i3 ->
@@ -4967,6 +5165,11 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
| ExPkg _x _x_i1 ->
let _x = o#loc _x in
let _x_i1 = o#module_expr _x_i1 in ExPkg _x _x_i1 ];
+ method direction_flag : direction_flag -> direction_flag =
+ fun
+ [ DiTo -> DiTo
+ | DiDownto -> DiDownto
+ | DiAnt _x -> let _x = o#string _x in DiAnt _x ];
method ctyp : ctyp -> ctyp =
fun
[ TyNil _x -> let _x = o#loc _x in TyNil _x
@@ -5011,7 +5214,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
| TyObj _x _x_i1 _x_i2 ->
let _x = o#loc _x in
let _x_i1 = o#ctyp _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in TyObj _x _x_i1 _x_i2
+ let _x_i2 = o#row_var_flag _x_i2 in TyObj _x _x_i1 _x_i2
| TyOlb _x _x_i1 _x_i2 ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
@@ -5102,7 +5305,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
[ CtNil _x -> let _x = o#loc _x in CtNil _x
| CtCon _x _x_i1 _x_i2 _x_i3 ->
let _x = o#loc _x in
- let _x_i1 = o#meta_bool _x_i1 in
+ let _x_i1 = o#virtual_flag _x_i1 in
let _x_i2 = o#ident _x_i2 in
let _x_i3 = o#ctyp _x_i3 in CtCon _x _x_i1 _x_i2 _x_i3
| CtFun _x _x_i1 _x_i2 ->
@@ -5139,32 +5342,36 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let _x = o#loc _x in
let _x_i1 = o#ctyp _x_i1 in
let _x_i2 = o#ctyp _x_i2 in CrCtr _x _x_i1 _x_i2
- | CrInh _x _x_i1 _x_i2 ->
+ | CrInh _x _x_i1 _x_i2 _x_i3 ->
let _x = o#loc _x in
- let _x_i1 = o#class_expr _x_i1 in
- let _x_i2 = o#string _x_i2 in CrInh _x _x_i1 _x_i2
+ let _x_i1 = o#override_flag _x_i1 in
+ let _x_i2 = o#class_expr _x_i2 in
+ let _x_i3 = o#string _x_i3 in CrInh _x _x_i1 _x_i2 _x_i3
| CrIni _x _x_i1 ->
let _x = o#loc _x in let _x_i1 = o#expr _x_i1 in CrIni _x _x_i1
- | CrMth _x _x_i1 _x_i2 _x_i3 _x_i4 ->
+ | CrMth _x _x_i1 _x_i2 _x_i3 _x_i4 _x_i5 ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
- let _x_i3 = o#expr _x_i3 in
- let _x_i4 = o#ctyp _x_i4 in CrMth _x _x_i1 _x_i2 _x_i3 _x_i4
- | CrVal _x _x_i1 _x_i2 _x_i3 ->
+ let _x_i2 = o#override_flag _x_i2 in
+ let _x_i3 = o#private_flag _x_i3 in
+ let _x_i4 = o#expr _x_i4 in
+ let _x_i5 = o#ctyp _x_i5
+ in CrMth _x _x_i1 _x_i2 _x_i3 _x_i4 _x_i5
+ | CrVal _x _x_i1 _x_i2 _x_i3 _x_i4 ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
- let _x_i3 = o#expr _x_i3 in CrVal _x _x_i1 _x_i2 _x_i3
+ let _x_i2 = o#override_flag _x_i2 in
+ let _x_i3 = o#mutable_flag _x_i3 in
+ let _x_i4 = o#expr _x_i4 in CrVal _x _x_i1 _x_i2 _x_i3 _x_i4
| CrVir _x _x_i1 _x_i2 _x_i3 ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
+ let _x_i2 = o#private_flag _x_i2 in
let _x_i3 = o#ctyp _x_i3 in CrVir _x _x_i1 _x_i2 _x_i3
| CrVvr _x _x_i1 _x_i2 _x_i3 ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
+ let _x_i2 = o#mutable_flag _x_i2 in
let _x_i3 = o#ctyp _x_i3 in CrVvr _x _x_i1 _x_i2 _x_i3
| CrAnt _x _x_i1 ->
let _x = o#loc _x in
@@ -5186,18 +5393,18 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
| CgMth _x _x_i1 _x_i2 _x_i3 ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
+ let _x_i2 = o#private_flag _x_i2 in
let _x_i3 = o#ctyp _x_i3 in CgMth _x _x_i1 _x_i2 _x_i3
| CgVal _x _x_i1 _x_i2 _x_i3 _x_i4 ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
- let _x_i3 = o#meta_bool _x_i3 in
+ let _x_i2 = o#mutable_flag _x_i2 in
+ let _x_i3 = o#virtual_flag _x_i3 in
let _x_i4 = o#ctyp _x_i4 in CgVal _x _x_i1 _x_i2 _x_i3 _x_i4
| CgVir _x _x_i1 _x_i2 _x_i3 ->
let _x = o#loc _x in
let _x_i1 = o#string _x_i1 in
- let _x_i2 = o#meta_bool _x_i2 in
+ let _x_i2 = o#private_flag _x_i2 in
let _x_i3 = o#ctyp _x_i3 in CgVir _x _x_i1 _x_i2 _x_i3
| CgAnt _x _x_i1 ->
let _x = o#loc _x in
@@ -5211,7 +5418,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let _x_i2 = o#expr _x_i2 in CeApp _x _x_i1 _x_i2
| CeCon _x _x_i1 _x_i2 _x_i3 ->
let _x = o#loc _x in
- let _x_i1 = o#meta_bool _x_i1 in
+ let _x_i1 = o#virtual_flag _x_i1 in
let _x_i2 = o#ident _x_i2 in
let _x_i3 = o#ctyp _x_i3 in CeCon _x _x_i1 _x_i2 _x_i3
| CeFun _x _x_i1 _x_i2 ->
@@ -5220,7 +5427,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let _x_i2 = o#class_expr _x_i2 in CeFun _x _x_i1 _x_i2
| CeLet _x _x_i1 _x_i2 _x_i3 ->
let _x = o#loc _x in
- let _x_i1 = o#meta_bool _x_i1 in
+ let _x_i1 = o#rec_flag _x_i1 in
let _x_i2 = o#binding _x_i2 in
let _x_i3 = o#class_expr _x_i3 in CeLet _x _x_i1 _x_i2 _x_i3
| CeStr _x _x_i1 _x_i2 ->
@@ -5287,6 +5494,11 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let o = o#loc _x in
let o = o#with_constr _x_i1 in let o = o#with_constr _x_i2 in o
| WcAnt _x _x_i1 -> let o = o#loc _x in let o = o#string _x_i1 in o ];
+ method virtual_flag : virtual_flag -> 'self_type =
+ fun
+ [ ViVirtual -> o
+ | ViNil -> o
+ | ViAnt _x -> let o = o#string _x in o ];
method str_item : str_item -> 'self_type =
fun
[ StNil _x -> let o = o#loc _x in o
@@ -5324,7 +5536,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
| StTyp _x _x_i1 -> let o = o#loc _x in let o = o#ctyp _x_i1 in o
| StVal _x _x_i1 _x_i2 ->
let o = o#loc _x in
- let o = o#meta_bool _x_i1 in let o = o#binding _x_i2 in o
+ let o = o#rec_flag _x_i1 in let o = o#binding _x_i2 in o
| StAnt _x _x_i1 -> let o = o#loc _x in let o = o#string _x_i1 in o ];
method sig_item : sig_item -> 'self_type =
fun
@@ -5361,6 +5573,16 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let o = o#loc _x in
let o = o#string _x_i1 in let o = o#ctyp _x_i2 in o
| SgAnt _x _x_i1 -> let o = o#loc _x in let o = o#string _x_i1 in o ];
+ method row_var_flag : row_var_flag -> 'self_type =
+ fun
+ [ RvRowVar -> o
+ | RvNil -> o
+ | RvAnt _x -> let o = o#string _x in o ];
+ method rec_flag : rec_flag -> 'self_type =
+ fun
+ [ ReRecursive -> o
+ | ReNil -> o
+ | ReAnt _x -> let o = o#string _x in o ];
method rec_binding : rec_binding -> 'self_type =
fun
[ RbNil _x -> let o = o#loc _x in o
@@ -5371,6 +5593,11 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let o = o#loc _x in
let o = o#ident _x_i1 in let o = o#expr _x_i2 in o
| RbAnt _x _x_i1 -> let o = o#loc _x in let o = o#string _x_i1 in o ];
+ method private_flag : private_flag -> 'self_type =
+ fun
+ [ PrPrivate -> o
+ | PrNil -> o
+ | PrAnt _x -> let o = o#string _x in o ];
method patt : patt -> 'self_type =
fun
[ PaNil _x -> let o = o#loc _x in o
@@ -5427,6 +5654,16 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
| PaTyp _x _x_i1 -> let o = o#loc _x in let o = o#ident _x_i1 in o
| PaVrn _x _x_i1 -> let o = o#loc _x in let o = o#string _x_i1 in o
| PaLaz _x _x_i1 -> let o = o#loc _x in let o = o#patt _x_i1 in o ];
+ method override_flag : override_flag -> 'self_type =
+ fun
+ [ OvOverride -> o
+ | OvNil -> o
+ | OvAnt _x -> let o = o#string _x in o ];
+ method mutable_flag : mutable_flag -> 'self_type =
+ fun
+ [ MuMutable -> o
+ | MuNil -> o
+ | MuAnt _x -> let o = o#string _x in o ];
method module_type : module_type -> 'self_type =
fun
[ MtNil _x -> let o = o#loc _x in o
@@ -5554,7 +5791,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let o = o#string _x_i1 in
let o = o#expr _x_i2 in
let o = o#expr _x_i3 in
- let o = o#meta_bool _x_i4 in let o = o#expr _x_i5 in o
+ let o = o#direction_flag _x_i4 in let o = o#expr _x_i5 in o
| ExFun _x _x_i1 ->
let o = o#loc _x in let o = o#match_case _x_i1 in o
| ExIfe _x _x_i1 _x_i2 _x_i3 ->
@@ -5574,7 +5811,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
| ExLaz _x _x_i1 -> let o = o#loc _x in let o = o#expr _x_i1 in o
| ExLet _x _x_i1 _x_i2 _x_i3 ->
let o = o#loc _x in
- let o = o#meta_bool _x_i1 in
+ let o = o#rec_flag _x_i1 in
let o = o#binding _x_i2 in let o = o#expr _x_i3 in o
| ExLmd _x _x_i1 _x_i2 _x_i3 ->
let o = o#loc _x in
@@ -5625,6 +5862,11 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let o = o#string _x_i1 in let o = o#expr _x_i2 in o
| ExPkg _x _x_i1 ->
let o = o#loc _x in let o = o#module_expr _x_i1 in o ];
+ method direction_flag : direction_flag -> 'self_type =
+ fun
+ [ DiTo -> o
+ | DiDownto -> o
+ | DiAnt _x -> let o = o#string _x in o ];
method ctyp : ctyp -> 'self_type =
fun
[ TyNil _x -> let o = o#loc _x in o
@@ -5659,7 +5901,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
in o
| TyObj _x _x_i1 _x_i2 ->
let o = o#loc _x in
- let o = o#ctyp _x_i1 in let o = o#meta_bool _x_i2 in o
+ let o = o#ctyp _x_i1 in let o = o#row_var_flag _x_i2 in o
| TyOlb _x _x_i1 _x_i2 ->
let o = o#loc _x in
let o = o#string _x_i1 in let o = o#ctyp _x_i2 in o
@@ -5718,7 +5960,7 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
[ CtNil _x -> let o = o#loc _x in o
| CtCon _x _x_i1 _x_i2 _x_i3 ->
let o = o#loc _x in
- let o = o#meta_bool _x_i1 in
+ let o = o#virtual_flag _x_i1 in
let o = o#ident _x_i2 in let o = o#ctyp _x_i3 in o
| CtFun _x _x_i1 _x_i2 ->
let o = o#loc _x in
@@ -5746,27 +5988,30 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
| CrCtr _x _x_i1 _x_i2 ->
let o = o#loc _x in
let o = o#ctyp _x_i1 in let o = o#ctyp _x_i2 in o
- | CrInh _x _x_i1 _x_i2 ->
+ | CrInh _x _x_i1 _x_i2 _x_i3 ->
let o = o#loc _x in
- let o = o#class_expr _x_i1 in let o = o#string _x_i2 in o
+ let o = o#override_flag _x_i1 in
+ let o = o#class_expr _x_i2 in let o = o#string _x_i3 in o
| CrIni _x _x_i1 -> let o = o#loc _x in let o = o#expr _x_i1 in o
- | CrMth _x _x_i1 _x_i2 _x_i3 _x_i4 ->
+ | CrMth _x _x_i1 _x_i2 _x_i3 _x_i4 _x_i5 ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in
- let o = o#expr _x_i3 in let o = o#ctyp _x_i4 in o
- | CrVal _x _x_i1 _x_i2 _x_i3 ->
+ let o = o#override_flag _x_i2 in
+ let o = o#private_flag _x_i3 in
+ let o = o#expr _x_i4 in let o = o#ctyp _x_i5 in o
+ | CrVal _x _x_i1 _x_i2 _x_i3 _x_i4 ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in let o = o#expr _x_i3 in o
+ let o = o#override_flag _x_i2 in
+ let o = o#mutable_flag _x_i3 in let o = o#expr _x_i4 in o
| CrVir _x _x_i1 _x_i2 _x_i3 ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in let o = o#ctyp _x_i3 in o
+ let o = o#private_flag _x_i2 in let o = o#ctyp _x_i3 in o
| CrVvr _x _x_i1 _x_i2 _x_i3 ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in let o = o#ctyp _x_i3 in o
+ let o = o#mutable_flag _x_i2 in let o = o#ctyp _x_i3 in o
| CrAnt _x _x_i1 -> let o = o#loc _x in let o = o#string _x_i1 in o ];
method class_sig_item : class_sig_item -> 'self_type =
fun
@@ -5783,16 +6028,16 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
| CgMth _x _x_i1 _x_i2 _x_i3 ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in let o = o#ctyp _x_i3 in o
+ let o = o#private_flag _x_i2 in let o = o#ctyp _x_i3 in o
| CgVal _x _x_i1 _x_i2 _x_i3 _x_i4 ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in
- let o = o#meta_bool _x_i3 in let o = o#ctyp _x_i4 in o
+ let o = o#mutable_flag _x_i2 in
+ let o = o#virtual_flag _x_i3 in let o = o#ctyp _x_i4 in o
| CgVir _x _x_i1 _x_i2 _x_i3 ->
let o = o#loc _x in
let o = o#string _x_i1 in
- let o = o#meta_bool _x_i2 in let o = o#ctyp _x_i3 in o
+ let o = o#private_flag _x_i2 in let o = o#ctyp _x_i3 in o
| CgAnt _x _x_i1 -> let o = o#loc _x in let o = o#string _x_i1 in o ];
method class_expr : class_expr -> 'self_type =
fun
@@ -5802,14 +6047,14 @@ module Make (Loc : Sig.Loc) : Sig.Camlp4Ast with module Loc = Loc =
let o = o#class_expr _x_i1 in let o = o#expr _x_i2 in o
| CeCon _x _x_i1 _x_i2 _x_i3 ->
let o = o#loc _x in
- let o = o#meta_bool _x_i1 in
+ let o = o#virtual_flag _x_i1 in
let o = o#ident _x_i2 in let o = o#ctyp _x_i3 in o
| CeFun _x _x_i1 _x_i2 ->
let o = o#loc _x in
let o = o#patt _x_i1 in let o = o#class_expr _x_i2 in o
| CeLet _x _x_i1 _x_i2 _x_i3 ->
let o = o#loc _x in
- let o = o#meta_bool _x_i1 in
+ let o = o#rec_flag _x_i1 in
let o = o#binding _x_i2 in let o = o#class_expr _x_i3 in o
| CeStr _x _x_i1 _x_i2 ->
let o = o#loc _x in
diff --git a/camlp4/boot/camlp4boot.ml b/camlp4/boot/camlp4boot.ml
index 4537866607..618693ed88 100644
--- a/camlp4/boot/camlp4boot.ml
+++ b/camlp4/boot/camlp4boot.ml
@@ -367,14 +367,14 @@ Very old (no more supported) syntax:\n\
let mkumin _loc f arg =
match arg with
- | Ast.ExInt (_, n) -> Ast.ExInt (_loc, neg_string n)
- | Ast.ExInt32 (_, n) -> Ast.ExInt32 (_loc, neg_string n)
- | Ast.ExInt64 (_, n) -> Ast.ExInt64 (_loc, neg_string n)
- | Ast.ExNativeInt (_, n) -> Ast.ExNativeInt (_loc, neg_string n)
- | Ast.ExFlo (_, n) -> Ast.ExFlo (_loc, neg_string n)
+ | Ast.ExInt (_, n) -> Ast.ExInt (_loc, (neg_string n))
+ | Ast.ExInt32 (_, n) -> Ast.ExInt32 (_loc, (neg_string n))
+ | Ast.ExInt64 (_, n) -> Ast.ExInt64 (_loc, (neg_string n))
+ | Ast.ExNativeInt (_, n) -> Ast.ExNativeInt (_loc, (neg_string n))
+ | Ast.ExFlo (_, n) -> Ast.ExFlo (_loc, (neg_string n))
| _ ->
- Ast.ExApp (_loc, Ast.ExId (_loc, Ast.IdLid (_loc, "~" ^ f)),
- arg)
+ Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, ("~" ^ f))))), arg)
let mklistexp _loc last =
let rec loop top =
@@ -382,15 +382,15 @@ Very old (no more supported) syntax:\n\
| [] ->
(match last with
| Some e -> e
- | None -> Ast.ExId (_loc, Ast.IdUid (_loc, "[]")))
+ | None -> Ast.ExId (_loc, (Ast.IdUid (_loc, "[]"))))
| e1 :: el ->
let _loc =
if top then _loc else Loc.merge (Ast.loc_of_expr e1) _loc
in
Ast.ExApp (_loc,
- Ast.ExApp (_loc, Ast.ExId (_loc, Ast.IdUid (_loc, "::")),
- e1),
- loop false el)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "::")))), e1)),
+ (loop false el))
in loop true
let mkassert _loc =
@@ -424,13 +424,13 @@ Very old (no more supported) syntax:\n\
let module_type_app mt1 mt2 =
match (mt1, mt2) with
| (Ast.MtId (_loc, i1), Ast.MtId (_, i2)) ->
- Ast.MtId (_loc, Ast.IdApp (_loc, i1, i2))
+ Ast.MtId (_loc, (Ast.IdApp (_loc, i1, i2)))
| _ -> raise Stream.Failure
let module_type_acc mt1 mt2 =
match (mt1, mt2) with
| (Ast.MtId (_loc, i1), Ast.MtId (_, i2)) ->
- Ast.MtId (_loc, Ast.IdAcc (_loc, i1, i2))
+ Ast.MtId (_loc, (Ast.IdAcc (_loc, i1, i2)))
| _ -> raise Stream.Failure
let bigarray_get _loc arr arg =
@@ -443,47 +443,49 @@ Very old (no more supported) syntax:\n\
match coords with
| [ c1 ] ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Bigarray"),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Array1"),
- Ast.IdLid (_loc, "get")))),
- arr),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Bigarray")),
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Array1")),
+ (Ast.IdLid (_loc, "get")))))))),
+ arr)),
c1)
| [ c1; c2 ] ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Bigarray"),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Array2"),
- Ast.IdLid (_loc, "get")))),
- arr),
- c1),
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Bigarray")),
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Array2")),
+ (Ast.IdLid (_loc, "get")))))))),
+ arr)),
+ c1)),
c2)
| [ c1; c2; c3 ] ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Bigarray"),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Array3"),
- Ast.IdLid (_loc, "get")))),
- arr),
- c1),
- c2),
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Bigarray")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Array3")),
+ (Ast.IdLid (_loc, "get")))))))),
+ arr)),
+ c1)),
+ c2)),
c3)
| (* | coords -> <:expr< Bigarray.Genarray.get $arr$ [| $list:coords$ |] >> ] *)
coords ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Bigarray"),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Genarray"),
- Ast.IdLid (_loc, "get")))),
- arr),
- Ast.ExArr (_loc, Ast.exSem_of_list coords))
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Bigarray")),
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Genarray")),
+ (Ast.IdLid (_loc, "get")))))))),
+ arr)),
+ (Ast.ExArr (_loc, (Ast.exSem_of_list coords))))
let bigarray_set _loc var newval =
match var with
@@ -497,14 +499,15 @@ Very old (no more supported) syntax:\n\
c1) ->
Some
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Bigarray"),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Array1"),
- Ast.IdLid (_loc, "set")))),
- arr),
- c1),
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Bigarray")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Array1")),
+ (Ast.IdLid (_loc, "set")))))))),
+ arr)),
+ c1)),
newval))
| Ast.ExApp (_,
(Ast.ExApp (_,
@@ -518,16 +521,18 @@ Very old (no more supported) syntax:\n\
c2) ->
Some
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Bigarray"),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Array2"),
- Ast.IdLid (_loc, "set")))),
- arr),
- c1),
- c2),
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Bigarray")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Array2")),
+ (Ast.IdLid (_loc, "set")))))))),
+ arr)),
+ c1)),
+ c2)),
newval))
| Ast.ExApp (_,
(Ast.ExApp (_,
@@ -543,18 +548,20 @@ Very old (no more supported) syntax:\n\
c3) ->
Some
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Bigarray"),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Array3"),
- Ast.IdLid (_loc, "set")))),
- arr),
- c1),
- c2),
- c3),
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Bigarray")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Array3")),
+ (Ast.IdLid (_loc, "set")))))))),
+ arr)),
+ c1)),
+ c2)),
+ c3)),
newval))
| Ast.ExApp (_,
(Ast.ExApp (_,
@@ -566,32 +573,18 @@ Very old (no more supported) syntax:\n\
(Ast.ExArr (_, coords))) ->
Some
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Bigarray"),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Genarray"),
- Ast.IdLid (_loc, "set")))),
- arr),
- Ast.ExArr (_loc, coords)),
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Bigarray")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Genarray")),
+ (Ast.IdLid (_loc, "set")))))))),
+ arr)),
+ (Ast.ExArr (_loc, coords)))),
newval))
| _ -> None
- let test_not_left_brace_nor_do =
- Gram.Entry.of_parser "test_not_left_brace_nor_do"
- (fun strm ->
- match Stream.peek strm with
- | Some (((KEYWORD "{" | KEYWORD "do"), _)) ->
- raise Stream.Failure
- | _ -> ())
-
- let test_lparen_type =
- Gram.Entry.of_parser "test_lparen_type"
- (fun strm ->
- match Stream.npeek 2 strm with
- | [ (KEYWORD "(", _); (KEYWORD "type", _) ] -> ()
- | _ -> raise Stream.Failure)
-
let stopped_at _loc = Some (Loc.move_line 1 _loc)
(* FIXME be more precise *)
@@ -605,21 +598,25 @@ Very old (no more supported) syntax:\n\
else if List.mem s.[i] list then loop s (i + 1) else false
in loop
+ let setup_op_parser entry p =
+ Gram.Entry.setup_parser entry
+ (fun (__strm : _ Stream.t) ->
+ match Stream.peek __strm with
+ | Some (((KEYWORD x | SYMBOL x), ti)) when p x ->
+ (Stream.junk __strm;
+ let _loc = Gram.token_location ti
+ in Ast.ExId (_loc, (Ast.IdLid (_loc, x))))
+ | _ -> raise Stream.Failure)
+
let _ =
let list = [ '!'; '?'; '~' ] in
let excl = [ "!="; "??" ]
in
- Gram.Entry.setup_parser prefixop
- (fun (__strm : _ Stream.t) ->
- match Stream.peek __strm with
- | Some (((KEYWORD x | SYMBOL x), _loc)) when
- (not (List.mem x excl)) &&
- (((String.length x) >= 2) &&
- ((List.mem x.[0] list) && (symbolchar x 1)))
- ->
- (Stream.junk __strm;
- Ast.ExId (_loc, Ast.IdLid (_loc, x)))
- | _ -> raise Stream.Failure)
+ setup_op_parser prefixop
+ (fun x ->
+ (not (List.mem x excl)) &&
+ (((String.length x) >= 2) &&
+ ((List.mem x.[0] list) && (symbolchar x 1))))
let _ =
let list_ok =
@@ -627,76 +624,47 @@ Very old (no more supported) syntax:\n\
let list_first_char_ok = [ '='; '<'; '>'; '|'; '&'; '$'; '!' ] in
let excl = [ "<-"; "||"; "&&" ]
in
- Gram.Entry.setup_parser infixop0
- (fun (__strm : _ Stream.t) ->
- match Stream.peek __strm with
- | Some (((KEYWORD x | SYMBOL x), _loc)) when
- (List.mem x list_ok) ||
- ((not (List.mem x excl)) &&
- (((String.length x) >= 2) &&
- ((List.mem x.[0] list_first_char_ok) &&
- (symbolchar x 1))))
- ->
- (Stream.junk __strm;
- Ast.ExId (_loc, Ast.IdLid (_loc, x)))
- | _ -> raise Stream.Failure)
+ setup_op_parser infixop0
+ (fun x ->
+ (List.mem x list_ok) ||
+ ((not (List.mem x excl)) &&
+ (((String.length x) >= 2) &&
+ ((List.mem x.[0] list_first_char_ok) &&
+ (symbolchar x 1)))))
let _ =
let list = [ '@'; '^' ]
in
- Gram.Entry.setup_parser infixop1
- (fun (__strm : _ Stream.t) ->
- match Stream.peek __strm with
- | Some (((KEYWORD x | SYMBOL x), _loc)) when
- ((String.length x) >= 1) &&
- ((List.mem x.[0] list) && (symbolchar x 1))
- ->
- (Stream.junk __strm;
- Ast.ExId (_loc, Ast.IdLid (_loc, x)))
- | _ -> raise Stream.Failure)
+ setup_op_parser infixop1
+ (fun x ->
+ ((String.length x) >= 1) &&
+ ((List.mem x.[0] list) && (symbolchar x 1)))
let _ =
let list = [ '+'; '-' ]
in
- Gram.Entry.setup_parser infixop2
- (fun (__strm : _ Stream.t) ->
- match Stream.peek __strm with
- | Some (((KEYWORD x | SYMBOL x), _loc)) when
- (x <> "->") &&
- (((String.length x) >= 1) &&
- ((List.mem x.[0] list) && (symbolchar x 1)))
- ->
- (Stream.junk __strm;
- Ast.ExId (_loc, Ast.IdLid (_loc, x)))
- | _ -> raise Stream.Failure)
+ setup_op_parser infixop2
+ (fun x ->
+ (x <> "->") &&
+ (((String.length x) >= 1) &&
+ ((List.mem x.[0] list) && (symbolchar x 1))))
let _ =
let list = [ '*'; '/'; '%'; '\\' ]
in
- Gram.Entry.setup_parser infixop3
- (fun (__strm : _ Stream.t) ->
- match Stream.peek __strm with
- | Some (((KEYWORD x | SYMBOL x), _loc)) when
- ((String.length x) >= 1) &&
- ((List.mem x.[0] list) &&
- (((x.[0] <> '*') ||
- (((String.length x) < 2) || (x.[1] <> '*')))
- && (symbolchar x 1)))
- ->
- (Stream.junk __strm;
- Ast.ExId (_loc, Ast.IdLid (_loc, x)))
- | _ -> raise Stream.Failure)
+ setup_op_parser infixop3
+ (fun x ->
+ ((String.length x) >= 1) &&
+ ((List.mem x.[0] list) &&
+ (((x.[0] <> '*') ||
+ (((String.length x) < 2) || (x.[1] <> '*')))
+ && (symbolchar x 1))))
let _ =
- Gram.Entry.setup_parser infixop4
- (fun (__strm : _ Stream.t) ->
- match Stream.peek __strm with
- | Some (((KEYWORD x | SYMBOL x), _loc)) when
- ((String.length x) >= 2) &&
- ((x.[0] == '*') && ((x.[1] == '*') && (symbolchar x 2)))
- ->
- (Stream.junk __strm; Ast.ExId (_loc, Ast.IdLid (_loc, x)))
- | _ -> raise Stream.Failure)
+ setup_op_parser infixop4
+ (fun x ->
+ ((String.length x) >= 2) &&
+ ((x.[0] == '*') && ((x.[1] == '*') && (symbolchar x 2))))
let rec infix_kwds_filter (__strm : _ Stream.t) =
match Stream.peek __strm with
@@ -740,24 +708,27 @@ Very old (no more supported) syntax:\n\
Token.Filter.define_filter (Gram.get_filter ())
(fun f strm -> infix_kwds_filter (f strm))
- (* transmit the context *)
let _ =
Gram.Entry.setup_parser sem_expr
(let symb1 = Gram.parse_tokens_after_filter expr in
let symb (__strm : _ Stream.t) =
match Stream.peek __strm with
- | Some ((ANTIQUOT ((("list" as n)), s), _loc)) ->
+ | Some ((ANTIQUOT ((("list" as n)), s), ti)) ->
(Stream.junk __strm;
- Ast.ExAnt (_loc, mk_anti ~c: "expr;" n s))
+ let _loc = Gram.token_location ti
+ in Ast.ExAnt (_loc, (mk_anti ~c: "expr;" n s)))
| _ -> symb1 __strm in
let rec kont al (__strm : _ Stream.t) =
match Stream.peek __strm with
- | Some ((KEYWORD ";", _loc)) ->
+ | Some ((KEYWORD ";", _)) ->
(Stream.junk __strm;
let a =
(try symb __strm
with | Stream.Failure -> raise (Stream.Error "")) in
- let s = __strm in kont (Ast.ExSem (_loc, al, a)) s)
+ let s = __strm in
+ let _loc =
+ Loc.merge (Ast.loc_of_expr al) (Ast.loc_of_expr a)
+ in kont (Ast.ExSem (_loc, al, a)) s)
| _ -> al
in
fun (__strm : _ Stream.t) ->
@@ -765,6 +736,13 @@ Very old (no more supported) syntax:\n\
let _ =
let _ = (a_CHAR : 'a_CHAR Gram.Entry.t)
+ and _ = (override_flag_quot : 'override_flag_quot Gram.Entry.t)
+ and _ = (row_var_flag_quot : 'row_var_flag_quot Gram.Entry.t)
+ and _ = (virtual_flag_quot : 'virtual_flag_quot Gram.Entry.t)
+ and _ = (private_flag_quot : 'private_flag_quot Gram.Entry.t)
+ and _ = (mutable_flag_quot : 'mutable_flag_quot Gram.Entry.t)
+ and _ = (direction_flag_quot : 'direction_flag_quot Gram.Entry.t)
+ and _ = (rec_flag_quot : 'rec_flag_quot Gram.Entry.t)
and _ = (package_type : 'package_type Gram.Entry.t)
and _ = (do_sequence : 'do_sequence Gram.Entry.t)
and _ = (infixop4 : 'infixop4 Gram.Entry.t)
@@ -952,6 +930,15 @@ Very old (no more supported) syntax:\n\
<:patt< ? $i$ : ($p$ = $e$) >> *)
string_list : 'string_list Gram.Entry.t =
grammar_entry_create "string_list"
+ and opt_override : 'opt_override Gram.Entry.t =
+ grammar_entry_create "opt_override"
+ and value_val_opt_override : 'value_val_opt_override Gram.Entry.t =
+ grammar_entry_create "value_val_opt_override"
+ and method_opt_override : 'method_opt_override Gram.Entry.t =
+ grammar_entry_create "method_opt_override"
+ and module_longident_dot_lparen :
+ 'module_longident_dot_lparen Gram.Entry.t =
+ grammar_entry_create "module_longident_dot_lparen"
and fun_def_cont_no_when : 'fun_def_cont_no_when Gram.Entry.t =
grammar_entry_create "fun_def_cont_no_when"
and fun_def_cont : 'fun_def_cont Gram.Entry.t =
@@ -1008,7 +995,8 @@ Very old (no more supported) syntax:\n\
(fun _ (p : 'package_type) _ (e : 'expr) _ _
(_loc : Gram.Loc.t) ->
(Ast.MePkg (_loc,
- Ast.ExTyc (_loc, e, Ast.TyPkg (_loc, p))) :
+ (Ast.ExTyc (_loc, e,
+ (Ast.TyPkg (_loc, p))))) :
'module_expr))));
([ Gram.Skeyword "(";
Gram.Snterm
@@ -1066,7 +1054,7 @@ Very old (no more supported) syntax:\n\
((("" | "mexp" | "anti" | "list" as n)),
s) ->
(Ast.MeAnt (_loc,
- mk_anti ~c: "module_expr" n s) :
+ (mk_anti ~c: "module_expr" n s)) :
'module_expr)
| _ -> assert false))) ]) ]))
());
@@ -1105,7 +1093,7 @@ Very old (no more supported) syntax:\n\
((("" | "stri" | "anti" | "list" as n)),
s) ->
(Ast.StAnt (_loc,
- mk_anti ~c: "str_item" n s) :
+ (mk_anti ~c: "str_item" n s)) :
'str_item)
| _ -> assert false)));
([ Gram.Skeyword "class"; Gram.Skeyword "type";
@@ -1226,7 +1214,7 @@ Very old (no more supported) syntax:\n\
(fun (i : 'type_longident) _
(t : 'constructor_declaration) _
(_loc : Gram.Loc.t) ->
- (Ast.StExc (_loc, t, Ast.OSome i) :
+ (Ast.StExc (_loc, t, (Ast.OSome i)) :
'str_item))));
([ Gram.Skeyword "exception";
Gram.Snterm
@@ -1328,7 +1316,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" as n)), m) ->
- (Ast.MbColEq (_loc, mk_anti n m, mt, me) :
+ (Ast.MbColEq (_loc, (mk_anti n m), mt,
+ me) :
'module_binding)
| _ -> assert false)));
([ Gram.Stoken
@@ -1342,7 +1331,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" as n)), s) ->
(Ast.MbAnt (_loc,
- mk_anti ~c: "module_binding" n s) :
+ (mk_anti ~c: "module_binding" n s)) :
'module_binding)
| _ -> assert false)));
([ Gram.Stoken
@@ -1361,7 +1350,7 @@ Very old (no more supported) syntax:\n\
n)),
s) ->
(Ast.MbAnt (_loc,
- mk_anti ~c: "module_binding" n s) :
+ (mk_anti ~c: "module_binding" n s)) :
'module_binding)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword "and"; Gram.Sself ],
@@ -1462,7 +1451,7 @@ Very old (no more supported) syntax:\n\
((("" | "mtyp" | "anti" | "list" as n)),
s) ->
(Ast.MtAnt (_loc,
- mk_anti ~c: "module_type" n s) :
+ (mk_anti ~c: "module_type" n s)) :
'module_type)
| _ -> assert false))) ]) ]))
());
@@ -1525,7 +1514,7 @@ Very old (no more supported) syntax:\n\
(a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (i : 'a_UIDENT) _ _ (_loc : Gram.Loc.t) ->
- (Ast.SgMty (_loc, i, Ast.MtNil _loc) :
+ (Ast.SgMty (_loc, i, (Ast.MtNil _loc)) :
'sig_item))));
([ Gram.Skeyword "module"; Gram.Skeyword "type";
Gram.Snterm
@@ -1617,7 +1606,7 @@ Very old (no more supported) syntax:\n\
((("" | "sigi" | "anti" | "list" as n)),
s) ->
(Ast.SgAnt (_loc,
- mk_anti ~c: "sig_item" n s) :
+ (mk_anti ~c: "sig_item" n s)) :
'sig_item)
| _ -> assert false))) ]) ]))
());
@@ -1697,7 +1686,7 @@ Very old (no more supported) syntax:\n\
as n)),
s) ->
(Ast.MbAnt (_loc,
- mk_anti ~c: "module_binding" n s) :
+ (mk_anti ~c: "module_binding" n s)) :
'module_rec_declaration)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword "and"; Gram.Sself ],
@@ -1758,8 +1747,8 @@ Very old (no more supported) syntax:\n\
| ANTIQUOT ((("" | "typ" | "anti" as n)), s)
->
(Ast.WcTyS (_loc,
- Ast.TyAnt (_loc,
- mk_anti ~c: "ctyp" n s),
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s))),
t) :
'with_constr)
| _ -> assert false)));
@@ -1809,8 +1798,8 @@ Very old (no more supported) syntax:\n\
| ANTIQUOT ((("" | "typ" | "anti" as n)), s)
->
(Ast.WcTyp (_loc,
- Ast.TyAnt (_loc,
- mk_anti ~c: "ctyp" n s),
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s))),
t) :
'with_constr)
| _ -> assert false)));
@@ -1842,7 +1831,7 @@ Very old (no more supported) syntax:\n\
as n)),
s) ->
(Ast.WcAnt (_loc,
- mk_anti ~c: "with_constr" n s) :
+ (mk_anti ~c: "with_constr" n s)) :
'with_constr)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword "and"; Gram.Sself ],
@@ -1881,7 +1870,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (seq : 'do_sequence) _ (e : 'sequence) _
(_loc : Gram.Loc.t) ->
- (Ast.ExWhi (_loc, mksequence' _loc e, seq) :
+ (Ast.ExWhi (_loc, (mksequence' _loc e), seq) :
'expr))));
([ Gram.Skeyword "for";
Gram.Snterm
@@ -1906,8 +1895,8 @@ Very old (no more supported) syntax:\n\
(fun (seq : 'do_sequence) _ (e2 : 'sequence)
(df : 'direction_flag) (e1 : 'sequence) _
(i : 'a_LIDENT) _ (_loc : Gram.Loc.t) ->
- (Ast.ExFor (_loc, i, mksequence' _loc e1,
- mksequence' _loc e2, df, seq) :
+ (Ast.ExFor (_loc, i, (mksequence' _loc e1),
+ (mksequence' _loc e2), df, seq) :
'expr))));
([ Gram.Skeyword "do";
Gram.Snterm
@@ -1934,7 +1923,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (a : 'match_case) _ (e : 'sequence) _
(_loc : Gram.Loc.t) ->
- (Ast.ExTry (_loc, mksequence' _loc e, a) :
+ (Ast.ExTry (_loc, (mksequence' _loc e), a) :
'expr))));
([ Gram.Skeyword "match";
Gram.Snterm
@@ -1947,7 +1936,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (a : 'match_case) _ (e : 'sequence) _
(_loc : Gram.Loc.t) ->
- (Ast.ExMat (_loc, mksequence' _loc e, a) :
+ (Ast.ExMat (_loc, (mksequence' _loc e), a) :
'expr))));
([ Gram.Skeyword "fun";
Gram.Snterm
@@ -1958,15 +1947,16 @@ Very old (no more supported) syntax:\n\
(e : 'expr))));
([ Gram.Skeyword "fun"; Gram.Skeyword "[";
Gram.Slist0sep
- (Gram.Snterm
- (Gram.Entry.obj
- (match_case0 : 'match_case0 Gram.Entry.t)),
- Gram.Skeyword "|");
+ ((Gram.Snterm
+ (Gram.Entry.obj
+ (match_case0 :
+ 'match_case0 Gram.Entry.t))),
+ (Gram.Skeyword "|"));
Gram.Skeyword "]" ],
(Gram.Action.mk
(fun _ (a : 'match_case0 list) _ _
(_loc : Gram.Loc.t) ->
- (Ast.ExFun (_loc, Ast.mcOr_of_list a) :
+ (Ast.ExFun (_loc, (Ast.mcOr_of_list a)) :
'expr))));
([ Gram.Skeyword "let"; Gram.Skeyword "open";
Gram.Snterm
@@ -2034,7 +2024,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e2 : 'expr) (op : 'infixop6) (e1 : 'expr)
(_loc : Gram.Loc.t) ->
- (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
+ (Ast.ExApp (_loc, (Ast.ExApp (_loc, op, e1)),
e2) :
'expr)))) ]);
((Some "&&"), (Some Camlp4.Sig.Grammar.RightA),
@@ -2046,7 +2036,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e2 : 'expr) (op : 'infixop5) (e1 : 'expr)
(_loc : Gram.Loc.t) ->
- (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
+ (Ast.ExApp (_loc, (Ast.ExApp (_loc, op, e1)),
e2) :
'expr)))) ]);
((Some "<"), (Some Camlp4.Sig.Grammar.LeftA),
@@ -2058,7 +2048,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e2 : 'expr) (op : 'infixop0) (e1 : 'expr)
(_loc : Gram.Loc.t) ->
- (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
+ (Ast.ExApp (_loc, (Ast.ExApp (_loc, op, e1)),
e2) :
'expr)))) ]);
((Some "^"), (Some Camlp4.Sig.Grammar.RightA),
@@ -2070,7 +2060,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e2 : 'expr) (op : 'infixop1) (e1 : 'expr)
(_loc : Gram.Loc.t) ->
- (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
+ (Ast.ExApp (_loc, (Ast.ExApp (_loc, op, e1)),
e2) :
'expr)))) ]);
((Some "+"), (Some Camlp4.Sig.Grammar.LeftA),
@@ -2082,7 +2072,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e2 : 'expr) (op : 'infixop2) (e1 : 'expr)
(_loc : Gram.Loc.t) ->
- (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
+ (Ast.ExApp (_loc, (Ast.ExApp (_loc, op, e1)),
e2) :
'expr)))) ]);
((Some "*"), (Some Camlp4.Sig.Grammar.LeftA),
@@ -2094,7 +2084,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e2 : 'expr) (op : 'infixop3) (e1 : 'expr)
(_loc : Gram.Loc.t) ->
- (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
+ (Ast.ExApp (_loc, (Ast.ExApp (_loc, op, e1)),
e2) :
'expr))));
([ Gram.Sself; Gram.Skeyword "mod"; Gram.Sself ],
@@ -2102,9 +2092,10 @@ Very old (no more supported) syntax:\n\
(fun (e2 : 'expr) _ (e1 : 'expr)
(_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, "mod")),
- e1),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "mod")))),
+ e1)),
e2) :
'expr))));
([ Gram.Sself; Gram.Skeyword "lxor"; Gram.Sself ],
@@ -2112,10 +2103,10 @@ Very old (no more supported) syntax:\n\
(fun (e2 : 'expr) _ (e1 : 'expr)
(_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdLid (_loc, "lxor")),
- e1),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "lxor")))),
+ e1)),
e2) :
'expr))));
([ Gram.Sself; Gram.Skeyword "lor"; Gram.Sself ],
@@ -2123,9 +2114,10 @@ Very old (no more supported) syntax:\n\
(fun (e2 : 'expr) _ (e1 : 'expr)
(_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, "lor")),
- e1),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "lor")))),
+ e1)),
e2) :
'expr))));
([ Gram.Sself; Gram.Skeyword "land"; Gram.Sself ],
@@ -2133,10 +2125,10 @@ Very old (no more supported) syntax:\n\
(fun (e2 : 'expr) _ (e1 : 'expr)
(_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdLid (_loc, "land")),
- e1),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "land")))),
+ e1)),
e2) :
'expr)))) ]);
((Some "**"), (Some Camlp4.Sig.Grammar.RightA),
@@ -2148,7 +2140,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e2 : 'expr) (op : 'infixop4) (e1 : 'expr)
(_loc : Gram.Loc.t) ->
- (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
+ (Ast.ExApp (_loc, (Ast.ExApp (_loc, op, e1)),
e2) :
'expr))));
([ Gram.Sself; Gram.Skeyword "lsr"; Gram.Sself ],
@@ -2156,9 +2148,10 @@ Very old (no more supported) syntax:\n\
(fun (e2 : 'expr) _ (e1 : 'expr)
(_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, "lsr")),
- e1),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "lsr")))),
+ e1)),
e2) :
'expr))));
([ Gram.Sself; Gram.Skeyword "lsl"; Gram.Sself ],
@@ -2166,9 +2159,10 @@ Very old (no more supported) syntax:\n\
(fun (e2 : 'expr) _ (e1 : 'expr)
(_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, "lsl")),
- e1),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "lsl")))),
+ e1)),
e2) :
'expr))));
([ Gram.Sself; Gram.Skeyword "asr"; Gram.Sself ],
@@ -2176,9 +2170,10 @@ Very old (no more supported) syntax:\n\
(fun (e2 : 'expr) _ (e1 : 'expr)
(_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, "asr")),
- e1),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "asr")))),
+ e1)),
e2) :
'expr)))) ]);
((Some "unary minus"), (Some Camlp4.Sig.Grammar.NonA),
@@ -2220,7 +2215,8 @@ Very old (no more supported) syntax:\n\
(a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (i : 'a_LIDENT) _ (_loc : Gram.Loc.t) ->
- (Ast.ExOlb (_loc, i, Ast.ExNil _loc) : 'expr))));
+ (Ast.ExOlb (_loc, i, (Ast.ExNil _loc)) :
+ 'expr))));
([ Gram.Skeyword "?";
Gram.Snterm
(Gram.Entry.obj
@@ -2257,7 +2253,8 @@ Very old (no more supported) syntax:\n\
(a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (i : 'a_LIDENT) _ (_loc : Gram.Loc.t) ->
- (Ast.ExLab (_loc, i, Ast.ExNil _loc) : 'expr))));
+ (Ast.ExLab (_loc, i, (Ast.ExNil _loc)) :
+ 'expr))));
([ Gram.Skeyword "~";
Gram.Snterm
(Gram.Entry.obj
@@ -2314,7 +2311,8 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e : 'expr) _ (_loc : Gram.Loc.t) ->
(Ast.ExAcc (_loc, e,
- Ast.ExId (_loc, Ast.IdLid (_loc, "val"))) :
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "val"))))) :
'expr)))) ]);
((Some "simple"), None,
[ ([ Gram.Skeyword "("; Gram.Skeyword "module";
@@ -2330,7 +2328,7 @@ Very old (no more supported) syntax:\n\
(fun _ (pt : 'package_type) _
(me : 'module_expr) _ _ (_loc : Gram.Loc.t)
->
- (Ast.ExPkg (_loc, Ast.MeTyc (_loc, me, pt)) :
+ (Ast.ExPkg (_loc, (Ast.MeTyc (_loc, me, pt))) :
'expr))));
([ Gram.Skeyword "("; Gram.Skeyword "module";
Gram.Snterm
@@ -2344,7 +2342,7 @@ Very old (no more supported) syntax:\n\
([ Gram.Skeyword "begin"; Gram.Skeyword "end" ],
(Gram.Action.mk
(fun _ _ (_loc : Gram.Loc.t) ->
- (Ast.ExId (_loc, Ast.IdUid (_loc, "()")) :
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "()"))) :
'expr))));
([ Gram.Skeyword "begin";
Gram.Snterm
@@ -2366,7 +2364,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun _ (t : 'ctyp) _ (e : 'expr) _
(_loc : Gram.Loc.t) ->
- (Ast.ExCoe (_loc, e, Ast.TyNil _loc, t) :
+ (Ast.ExCoe (_loc, e, (Ast.TyNil _loc), t) :
'expr))));
([ Gram.Skeyword "("; Gram.Sself; Gram.Skeyword ":";
Gram.Snterm
@@ -2402,7 +2400,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun _ (el : 'comma_expr) _ (e : 'expr) _
(_loc : Gram.Loc.t) ->
- (Ast.ExTup (_loc, Ast.ExCom (_loc, e, el)) :
+ (Ast.ExTup (_loc, (Ast.ExCom (_loc, e, el))) :
'expr))));
([ Gram.Skeyword "("; Gram.Sself; Gram.Skeyword ":";
Gram.Snterm
@@ -2415,7 +2413,7 @@ Very old (no more supported) syntax:\n\
([ Gram.Skeyword "("; Gram.Skeyword ")" ],
(Gram.Action.mk
(fun _ _ (_loc : Gram.Loc.t) ->
- (Ast.ExId (_loc, Ast.IdUid (_loc, "()")) :
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "()"))) :
'expr))));
([ Gram.Skeyword "{<";
Gram.Snterm
@@ -2430,7 +2428,7 @@ Very old (no more supported) syntax:\n\
([ Gram.Skeyword "{<"; Gram.Skeyword ">}" ],
(Gram.Action.mk
(fun _ _ (_loc : Gram.Loc.t) ->
- (Ast.ExOvr (_loc, Ast.RbNil _loc) : 'expr))));
+ (Ast.ExOvr (_loc, (Ast.RbNil _loc)) : 'expr))));
([ Gram.Skeyword "{"; Gram.Skeyword "("; Gram.Sself;
Gram.Skeyword ")"; Gram.Skeyword "with";
Gram.Snterm
@@ -2451,7 +2449,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun _ (el : 'label_expr_list) _
(_loc : Gram.Loc.t) ->
- (Ast.ExRec (_loc, el, Ast.ExNil _loc) :
+ (Ast.ExRec (_loc, el, (Ast.ExNil _loc)) :
'expr))));
([ Gram.Skeyword "[|";
Gram.Snterm
@@ -2464,7 +2462,7 @@ Very old (no more supported) syntax:\n\
([ Gram.Skeyword "[|"; Gram.Skeyword "|]" ],
(Gram.Action.mk
(fun _ _ (_loc : Gram.Loc.t) ->
- (Ast.ExArr (_loc, Ast.ExNil _loc) : 'expr))));
+ (Ast.ExArr (_loc, (Ast.ExNil _loc)) : 'expr))));
([ Gram.Skeyword "[";
Gram.Snterm
(Gram.Entry.obj
@@ -2475,7 +2473,7 @@ Very old (no more supported) syntax:\n\
(fun _ (mk_list : 'sem_expr_for_list) _
(_loc : Gram.Loc.t) ->
(mk_list
- (Ast.ExId (_loc, Ast.IdUid (_loc, "[]"))) :
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "[]")))) :
'expr))));
([ Gram.Skeyword "[";
Gram.Snterm
@@ -2490,7 +2488,7 @@ Very old (no more supported) syntax:\n\
([ Gram.Skeyword "["; Gram.Skeyword "]" ],
(Gram.Action.mk
(fun _ _ (_loc : Gram.Loc.t) ->
- (Ast.ExId (_loc, Ast.IdUid (_loc, "[]")) :
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "[]"))) :
'expr))));
([ Gram.Skeyword "`";
Gram.Snterm
@@ -2499,13 +2497,29 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (s : 'a_ident) _ (_loc : Gram.Loc.t) ->
(Ast.ExVrn (_loc, s) : 'expr))));
- ([ Gram.Snterm
- (Gram.Entry.obj
- (val_longident :
- 'val_longident Gram.Entry.t)) ],
+ ([ Gram.Stry
+ (Gram.Snterm
+ (Gram.Entry.obj
+ (val_longident :
+ 'val_longident Gram.Entry.t))) ],
(Gram.Action.mk
(fun (i : 'val_longident) (_loc : Gram.Loc.t) ->
(Ast.ExId (_loc, i) : 'expr))));
+ ([ Gram.Stry
+ (Gram.Snterm
+ (Gram.Entry.obj
+ (module_longident_dot_lparen :
+ 'module_longident_dot_lparen Gram.
+ Entry.t)));
+ Gram.Snterm
+ (Gram.Entry.obj
+ (sequence : 'sequence Gram.Entry.t));
+ Gram.Skeyword ")" ],
+ (Gram.Action.mk
+ (fun _ (e : 'sequence)
+ (i : 'module_longident_dot_lparen)
+ (_loc : Gram.Loc.t) ->
+ (Ast.ExOpI (_loc, i, e) : 'expr))));
([ Gram.Snterm
(Gram.Entry.obj (a_CHAR : 'a_CHAR Gram.Entry.t)) ],
(Gram.Action.mk
@@ -2557,8 +2571,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("seq" as n)), s) ->
(Ast.ExSeq (_loc,
- Ast.ExAnt (_loc,
- mk_anti ~c: "expr" n s)) :
+ (Ast.ExAnt (_loc,
+ (mk_anti ~c: "expr" n s)))) :
'expr)
| _ -> assert false)));
([ Gram.Stoken
@@ -2572,8 +2586,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("tup" as n)), s) ->
(Ast.ExTup (_loc,
- Ast.ExAnt (_loc,
- mk_anti ~c: "expr" n s)) :
+ (Ast.ExAnt (_loc,
+ (mk_anti ~c: "expr" n s)))) :
'expr)
| _ -> assert false)));
([ Gram.Stoken
@@ -2587,7 +2601,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("`bool" as n)), s) ->
(Ast.ExId (_loc,
- Ast.IdAnt (_loc, mk_anti n s)) :
+ (Ast.IdAnt (_loc, (mk_anti n s)))) :
'expr)
| _ -> assert false)));
([ Gram.Stoken
@@ -2602,7 +2616,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("exp" | "" | "anti" as n)), s)
->
- (Ast.ExAnt (_loc, mk_anti ~c: "expr" n s) :
+ (Ast.ExAnt (_loc,
+ (mk_anti ~c: "expr" n s)) :
'expr)
| _ -> assert false)));
([ Gram.Stoken
@@ -2622,25 +2637,50 @@ Very old (no more supported) syntax:\n\
((fun () ->
(None,
[ (None, None,
- [ ([ Gram.Snterm
- (Gram.Entry.obj
- (test_not_left_brace_nor_do :
- 'test_not_left_brace_nor_do Gram.Entry.t));
- Gram.Snterm
- (Gram.Entry.obj
- (sequence : 'sequence Gram.Entry.t));
- Gram.Skeyword "done" ],
+ [ ([ Gram.Skeyword "done" ],
(Gram.Action.mk
- (fun _ (seq : 'sequence) _ (_loc : Gram.Loc.t)
- -> (seq : 'do_sequence))));
- ([ Gram.Skeyword "{";
- Gram.Snterm
- (Gram.Entry.obj
- (sequence : 'sequence Gram.Entry.t));
- Gram.Skeyword "}" ],
+ (fun _ (_loc : Gram.Loc.t) ->
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "()"))) :
+ 'do_sequence))));
+ ([ Gram.Stry
+ (Gram.srules do_sequence
+ [ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (sequence :
+ 'sequence Gram.Entry.t));
+ Gram.Skeyword "done" ],
+ (Gram.Action.mk
+ (fun _ (seq : 'sequence)
+ (_loc : Gram.Loc.t) ->
+ (seq : 'e__3)))) ]) ],
(Gram.Action.mk
- (fun _ (seq : 'sequence) _ (_loc : Gram.Loc.t)
- -> (seq : 'do_sequence)))) ]) ]))
+ (fun (seq : 'e__3) (_loc : Gram.Loc.t) ->
+ (seq : 'do_sequence))));
+ ([ Gram.Stry
+ (Gram.srules do_sequence
+ [ ([ Gram.Skeyword "{"; Gram.Skeyword "}" ],
+ (Gram.Action.mk
+ (fun _ _ (_loc : Gram.Loc.t) ->
+ (() : 'e__2)))) ]) ],
+ (Gram.Action.mk
+ (fun _ (_loc : Gram.Loc.t) ->
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "()"))) :
+ 'do_sequence))));
+ ([ Gram.Stry
+ (Gram.srules do_sequence
+ [ ([ Gram.Skeyword "{";
+ Gram.Snterm
+ (Gram.Entry.obj
+ (sequence :
+ 'sequence Gram.Entry.t));
+ Gram.Skeyword "}" ],
+ (Gram.Action.mk
+ (fun _ (seq : 'sequence) _
+ (_loc : Gram.Loc.t) ->
+ (seq : 'e__1)))) ]) ],
+ (Gram.Action.mk
+ (fun (seq : 'e__1) (_loc : Gram.Loc.t) ->
+ (seq : 'do_sequence)))) ]) ]))
());
Gram.extend (infixop5 : 'infixop5 Gram.Entry.t)
((fun () ->
@@ -2651,15 +2691,15 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (x : Gram.Token.t)
(_loc : Gram.Loc.t) ->
- (Gram.Token.extract_string x : 'e__1))));
+ (Gram.Token.extract_string x : 'e__4))));
([ Gram.Skeyword "&" ],
(Gram.Action.mk
(fun (x : Gram.Token.t)
(_loc : Gram.Loc.t) ->
- (Gram.Token.extract_string x : 'e__1)))) ] ],
+ (Gram.Token.extract_string x : 'e__4)))) ] ],
(Gram.Action.mk
- (fun (x : 'e__1) (_loc : Gram.Loc.t) ->
- (Ast.ExId (_loc, Ast.IdLid (_loc, x)) :
+ (fun (x : 'e__4) (_loc : Gram.Loc.t) ->
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, x))) :
'infixop5)))) ]) ]))
());
Gram.extend (infixop6 : 'infixop6 Gram.Entry.t)
@@ -2671,15 +2711,15 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (x : Gram.Token.t)
(_loc : Gram.Loc.t) ->
- (Gram.Token.extract_string x : 'e__2))));
+ (Gram.Token.extract_string x : 'e__5))));
([ Gram.Skeyword "or" ],
(Gram.Action.mk
(fun (x : Gram.Token.t)
(_loc : Gram.Loc.t) ->
- (Gram.Token.extract_string x : 'e__2)))) ] ],
+ (Gram.Token.extract_string x : 'e__5)))) ] ],
(Gram.Action.mk
- (fun (x : 'e__2) (_loc : Gram.Loc.t) ->
- (Ast.ExId (_loc, Ast.IdLid (_loc, x)) :
+ (fun (x : 'e__5) (_loc : Gram.Loc.t) ->
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, x))) :
'infixop6)))) ]) ]))
());
Gram.extend
@@ -2693,10 +2733,23 @@ Very old (no more supported) syntax:\n\
(fun (e : 'expr) (_loc : Gram.Loc.t) ->
(fun acc ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "::")),
- e),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "::")))),
+ e)),
+ acc) :
+ 'sem_expr_for_list))));
+ ([ Gram.Snterm
+ (Gram.Entry.obj (expr : 'expr Gram.Entry.t));
+ Gram.Skeyword ";" ],
+ (Gram.Action.mk
+ (fun _ (e : 'expr) (_loc : Gram.Loc.t) ->
+ (fun acc ->
+ Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "::")))),
+ e)),
acc) :
'sem_expr_for_list))));
([ Gram.Snterm
@@ -2707,11 +2760,11 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
(fun acc ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "::")),
- e),
- el acc) :
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "::")))),
+ e)),
+ (el acc)) :
'sem_expr_for_list)))) ]) ]))
());
Gram.extend (comma_expr : 'comma_expr Gram.Entry.t)
@@ -2719,7 +2772,7 @@ Very old (no more supported) syntax:\n\
(None,
[ (None, None,
[ ([ Gram.Snterml
- (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
+ ((Gram.Entry.obj (expr : 'expr Gram.Entry.t)),
"top") ],
(Gram.Action.mk
(fun (e : 'expr) (_loc : Gram.Loc.t) ->
@@ -2735,7 +2788,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.ExAnt (_loc,
- mk_anti ~c: "expr," n s) :
+ (mk_anti ~c: "expr," n s)) :
'comma_expr)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword ","; Gram.Sself ],
@@ -2796,7 +2849,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.ExAnt (_loc,
- mk_anti ~c: "expr;" n s) :
+ (mk_anti ~c: "expr;" n s)) :
'sequence)
| _ -> assert false)));
([ Gram.Skeyword "let"; Gram.Skeyword "open";
@@ -2821,7 +2874,8 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (el : 'sequence) _ (mb : 'module_binding0)
(m : 'a_UIDENT) _ _ (_loc : Gram.Loc.t) ->
- (Ast.ExLmd (_loc, m, mb, mksequence _loc el) :
+ (Ast.ExLmd (_loc, m, mb,
+ (mksequence _loc el)) :
'sequence))));
([ Gram.Skeyword "let"; Gram.Skeyword "module";
Gram.Snterm
@@ -2853,7 +2907,8 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (el : 'sequence) _ (bi : 'binding)
(rf : 'opt_rec) _ (_loc : Gram.Loc.t) ->
- (Ast.ExLet (_loc, rf, bi, mksequence _loc el) :
+ (Ast.ExLet (_loc, rf, bi,
+ (mksequence _loc el)) :
'sequence))));
([ Gram.Skeyword "let";
Gram.Snterm
@@ -2900,7 +2955,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "anti" as n)), s) ->
(Ast.BiAnt (_loc,
- mk_anti ~c: "binding" n s) :
+ (mk_anti ~c: "binding" n s)) :
'binding)
| _ -> assert false)));
([ Gram.Stoken
@@ -2917,8 +2972,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "anti" as n)), s) ->
(Ast.BiEq (_loc,
- Ast.PaAnt (_loc,
- mk_anti ~c: "patt" n s),
+ (Ast.PaAnt (_loc,
+ (mk_anti ~c: "patt" n s))),
e) :
'binding)
| _ -> assert false)));
@@ -2934,7 +2989,7 @@ Very old (no more supported) syntax:\n\
| ANTIQUOT ((("binding" | "list" as n)), s)
->
(Ast.BiAnt (_loc,
- mk_anti ~c: "binding" n s) :
+ (mk_anti ~c: "binding" n s)) :
'binding)
| _ -> assert false))) ]) ]))
());
@@ -2963,28 +3018,30 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (bi : 'cvalue_binding) (_loc : Gram.Loc.t)
-> (bi : 'fun_binding))));
- ([ Gram.Snterm
- (Gram.Entry.obj
- (labeled_ipatt :
- 'labeled_ipatt Gram.Entry.t));
+ ([ Gram.Stry
+ (Gram.Snterm
+ (Gram.Entry.obj
+ (labeled_ipatt :
+ 'labeled_ipatt Gram.Entry.t)));
Gram.Sself ],
(Gram.Action.mk
(fun (e : 'fun_binding) (p : 'labeled_ipatt)
(_loc : Gram.Loc.t) ->
(Ast.ExFun (_loc,
- Ast.McArr (_loc, p, Ast.ExNil _loc, e)) :
+ (Ast.McArr (_loc, p, (Ast.ExNil _loc), e))) :
'fun_binding))));
- ([ Gram.Snterm
- (Gram.Entry.obj
- (test_lparen_type :
- 'test_lparen_type Gram.Entry.t));
- Gram.Skeyword "("; Gram.Skeyword "type";
+ ([ Gram.Stry
+ (Gram.srules fun_binding
+ [ ([ Gram.Skeyword "("; Gram.Skeyword "type" ],
+ (Gram.Action.mk
+ (fun _ _ (_loc : Gram.Loc.t) ->
+ (() : 'e__6)))) ]);
Gram.Snterm
(Gram.Entry.obj
(a_LIDENT : 'a_LIDENT Gram.Entry.t));
Gram.Skeyword ")"; Gram.Sself ],
(Gram.Action.mk
- (fun (e : 'fun_binding) _ (i : 'a_LIDENT) _ _ _
+ (fun (e : 'fun_binding) _ (i : 'a_LIDENT) _
(_loc : Gram.Loc.t) ->
(Ast.ExFUN (_loc, i, e) : 'fun_binding)))) ]) ]))
());
@@ -3000,14 +3057,15 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e : 'expr) _ (p : 'ipatt)
(_loc : Gram.Loc.t) ->
- (Ast.McArr (_loc, p, Ast.ExNil _loc, e) :
+ (Ast.McArr (_loc, p, (Ast.ExNil _loc), e) :
'match_case))));
([ Gram.Skeyword "[";
Gram.Slist0sep
- (Gram.Snterm
- (Gram.Entry.obj
- (match_case0 : 'match_case0 Gram.Entry.t)),
- Gram.Skeyword "|");
+ ((Gram.Snterm
+ (Gram.Entry.obj
+ (match_case0 :
+ 'match_case0 Gram.Entry.t))),
+ (Gram.Skeyword "|"));
Gram.Skeyword "]" ],
(Gram.Action.mk
(fun _ (l : 'match_case0 list) _
@@ -3051,8 +3109,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "anti" as n)), s) ->
(Ast.McArr (_loc,
- Ast.PaAnt (_loc,
- mk_anti ~c: "patt" n s),
+ (Ast.PaAnt (_loc,
+ (mk_anti ~c: "patt" n s))),
w, e) :
'match_case0)
| _ -> assert false)));
@@ -3070,9 +3128,9 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "anti" as n)), s) ->
(Ast.McArr (_loc,
- Ast.PaAnt (_loc,
- mk_anti ~c: "patt" n s),
- Ast.ExNil _loc, e) :
+ (Ast.PaAnt (_loc,
+ (mk_anti ~c: "patt" n s))),
+ (Ast.ExNil _loc), e) :
'match_case0)
| _ -> assert false)));
([ Gram.Stoken
@@ -3086,7 +3144,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "anti" as n)), s) ->
(Ast.McAnt (_loc,
- mk_anti ~c: "match_case" n s) :
+ (mk_anti ~c: "match_case" n s)) :
'match_case0)
| _ -> assert false)));
([ Gram.Stoken
@@ -3102,7 +3160,7 @@ Very old (no more supported) syntax:\n\
| ANTIQUOT ((("match_case" | "list" as n)),
s) ->
(Ast.McAnt (_loc,
- mk_anti ~c: "match_case" n s) :
+ (mk_anti ~c: "match_case" n s)) :
'match_case0)
| _ -> assert false))) ]) ]))
());
@@ -3179,8 +3237,8 @@ Very old (no more supported) syntax:\n\
(fun (i : 'label_longident) (_loc : Gram.Loc.t)
->
(Ast.RbEq (_loc, i,
- Ast.ExId (_loc,
- Ast.IdLid (_loc, lid_of_ident i))) :
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, (lid_of_ident i)))))) :
'label_expr))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -3204,7 +3262,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.RbAnt (_loc,
- mk_anti ~c: "rec_binding" n s) :
+ (mk_anti ~c: "rec_binding" n s)) :
'label_expr)
| _ -> assert false)));
([ Gram.Stoken
@@ -3221,8 +3279,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "anti" as n)), s) ->
(Ast.RbEq (_loc,
- Ast.IdAnt (_loc,
- mk_anti ~c: "ident" n s),
+ (Ast.IdAnt (_loc,
+ (mk_anti ~c: "ident" n s))),
e) :
'label_expr)
| _ -> assert false)));
@@ -3237,7 +3295,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "anti" as n)), s) ->
(Ast.RbAnt (_loc,
- mk_anti ~c: "rec_binding" n s) :
+ (mk_anti ~c: "rec_binding" n s)) :
'label_expr)
| _ -> assert false)));
([ Gram.Stoken
@@ -3251,7 +3309,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("rec_binding" as n)), s) ->
(Ast.RbAnt (_loc,
- mk_anti ~c: "rec_binding" n s) :
+ (mk_anti ~c: "rec_binding" n s)) :
'label_expr)
| _ -> assert false))) ]) ]))
());
@@ -3259,23 +3317,26 @@ Very old (no more supported) syntax:\n\
((fun () ->
(None,
[ (None, None,
- [ ([ Gram.Snterm
- (Gram.Entry.obj
- (labeled_ipatt :
- 'labeled_ipatt Gram.Entry.t));
+ [ ([ Gram.Stry
+ (Gram.Snterm
+ (Gram.Entry.obj
+ (labeled_ipatt :
+ 'labeled_ipatt Gram.Entry.t)));
Gram.Snterm
(Gram.Entry.obj
(fun_def_cont : 'fun_def_cont Gram.Entry.t)) ],
(Gram.Action.mk
(fun ((w, e) : 'fun_def_cont)
(p : 'labeled_ipatt) (_loc : Gram.Loc.t) ->
- (Ast.ExFun (_loc, Ast.McArr (_loc, p, w, e)) :
+ (Ast.ExFun (_loc,
+ (Ast.McArr (_loc, p, w, e))) :
'fun_def))));
- ([ Gram.Snterm
- (Gram.Entry.obj
- (test_lparen_type :
- 'test_lparen_type Gram.Entry.t));
- Gram.Skeyword "("; Gram.Skeyword "type";
+ ([ Gram.Stry
+ (Gram.srules fun_def
+ [ ([ Gram.Skeyword "("; Gram.Skeyword "type" ],
+ (Gram.Action.mk
+ (fun _ _ (_loc : Gram.Loc.t) ->
+ (() : 'e__7)))) ]);
Gram.Snterm
(Gram.Entry.obj
(a_LIDENT : 'a_LIDENT Gram.Entry.t));
@@ -3286,7 +3347,7 @@ Very old (no more supported) syntax:\n\
'fun_def_cont_no_when Gram.Entry.t)) ],
(Gram.Action.mk
(fun (e : 'fun_def_cont_no_when) _
- (i : 'a_LIDENT) _ _ _ (_loc : Gram.Loc.t) ->
+ (i : 'a_LIDENT) _ (_loc : Gram.Loc.t) ->
(Ast.ExFUN (_loc, i, e) : 'fun_def)))) ]) ]))
());
Gram.extend (fun_def_cont : 'fun_def_cont Gram.Entry.t)
@@ -3309,23 +3370,25 @@ Very old (no more supported) syntax:\n\
(fun (e : 'expr) _ (w : 'expr) _
(_loc : Gram.Loc.t) ->
((w, e) : 'fun_def_cont))));
- ([ Gram.Snterm
- (Gram.Entry.obj
- (labeled_ipatt :
- 'labeled_ipatt Gram.Entry.t));
+ ([ Gram.Stry
+ (Gram.Snterm
+ (Gram.Entry.obj
+ (labeled_ipatt :
+ 'labeled_ipatt Gram.Entry.t)));
Gram.Sself ],
(Gram.Action.mk
(fun ((w, e) : 'fun_def_cont)
(p : 'labeled_ipatt) (_loc : Gram.Loc.t) ->
(((Ast.ExNil _loc),
(Ast.ExFun (_loc,
- Ast.McArr (_loc, p, w, e)))) :
+ (Ast.McArr (_loc, p, w, e))))) :
'fun_def_cont))));
- ([ Gram.Snterm
- (Gram.Entry.obj
- (test_lparen_type :
- 'test_lparen_type Gram.Entry.t));
- Gram.Skeyword "("; Gram.Skeyword "type";
+ ([ Gram.Stry
+ (Gram.srules fun_def_cont
+ [ ([ Gram.Skeyword "("; Gram.Skeyword "type" ],
+ (Gram.Action.mk
+ (fun _ _ (_loc : Gram.Loc.t) ->
+ (() : 'e__8)))) ]);
Gram.Snterm
(Gram.Entry.obj
(a_LIDENT : 'a_LIDENT Gram.Entry.t));
@@ -3336,7 +3399,7 @@ Very old (no more supported) syntax:\n\
'fun_def_cont_no_when Gram.Entry.t)) ],
(Gram.Action.mk
(fun (e : 'fun_def_cont_no_when) _
- (i : 'a_LIDENT) _ _ _ (_loc : Gram.Loc.t) ->
+ (i : 'a_LIDENT) _ (_loc : Gram.Loc.t) ->
(((Ast.ExNil _loc), (Ast.ExFUN (_loc, i, e))) :
'fun_def_cont)))) ]) ]))
());
@@ -3351,30 +3414,33 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e : 'expr) _ (_loc : Gram.Loc.t) ->
(e : 'fun_def_cont_no_when))));
- ([ Gram.Snterm
- (Gram.Entry.obj
- (labeled_ipatt :
- 'labeled_ipatt Gram.Entry.t));
+ ([ Gram.Stry
+ (Gram.Snterm
+ (Gram.Entry.obj
+ (labeled_ipatt :
+ 'labeled_ipatt Gram.Entry.t)));
Gram.Snterm
(Gram.Entry.obj
(fun_def_cont : 'fun_def_cont Gram.Entry.t)) ],
(Gram.Action.mk
(fun ((w, e) : 'fun_def_cont)
(p : 'labeled_ipatt) (_loc : Gram.Loc.t) ->
- (Ast.ExFun (_loc, Ast.McArr (_loc, p, w, e)) :
+ (Ast.ExFun (_loc,
+ (Ast.McArr (_loc, p, w, e))) :
'fun_def_cont_no_when))));
- ([ Gram.Snterm
- (Gram.Entry.obj
- (test_lparen_type :
- 'test_lparen_type Gram.Entry.t));
- Gram.Skeyword "("; Gram.Skeyword "type";
+ ([ Gram.Stry
+ (Gram.srules fun_def_cont_no_when
+ [ ([ Gram.Skeyword "("; Gram.Skeyword "type" ],
+ (Gram.Action.mk
+ (fun _ _ (_loc : Gram.Loc.t) ->
+ (() : 'e__9)))) ]);
Gram.Snterm
(Gram.Entry.obj
(a_LIDENT : 'a_LIDENT Gram.Entry.t));
Gram.Skeyword ")"; Gram.Sself ],
(Gram.Action.mk
(fun (e : 'fun_def_cont_no_when) _
- (i : 'a_LIDENT) _ _ _ (_loc : Gram.Loc.t) ->
+ (i : 'a_LIDENT) _ (_loc : Gram.Loc.t) ->
(Ast.ExFUN (_loc, i, e) :
'fun_def_cont_no_when)))) ]) ]))
());
@@ -3435,8 +3501,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "lid" as n)), i) ->
- (Ast.PaOlb (_loc, mk_anti n i,
- Ast.PaNil _loc) :
+ (Ast.PaOlb (_loc, (mk_anti n i),
+ (Ast.PaNil _loc)) :
'patt)
| _ -> assert false)));
([ Gram.Skeyword "?";
@@ -3448,7 +3514,7 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| LIDENT i ->
- (Ast.PaOlb (_loc, i, Ast.PaNil _loc) :
+ (Ast.PaOlb (_loc, i, (Ast.PaNil _loc)) :
'patt)
| _ -> assert false)));
([ Gram.Skeyword "?";
@@ -3500,7 +3566,7 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| LIDENT i ->
- (Ast.PaLab (_loc, i, Ast.PaNil _loc) :
+ (Ast.PaLab (_loc, i, (Ast.PaNil _loc)) :
'patt)
| _ -> assert false)));
([ Gram.Skeyword "~";
@@ -3514,8 +3580,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "lid" as n)), i) ->
- (Ast.PaLab (_loc, mk_anti n i,
- Ast.PaNil _loc) :
+ (Ast.PaLab (_loc, (mk_anti n i),
+ (Ast.PaNil _loc)) :
'patt)
| _ -> assert false)));
([ Gram.Skeyword "~";
@@ -3530,7 +3596,7 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "lid" as n)), i) ->
- (Ast.PaLab (_loc, mk_anti n i, p) :
+ (Ast.PaLab (_loc, (mk_anti n i), p) :
'patt)
| _ -> assert false)));
([ Gram.Stoken
@@ -3582,7 +3648,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun _ (pl : 'comma_patt) _ (p : 'patt) _
(_loc : Gram.Loc.t) ->
- (Ast.PaTup (_loc, Ast.PaCom (_loc, p, pl)) :
+ (Ast.PaTup (_loc, (Ast.PaCom (_loc, p, pl))) :
'patt))));
([ Gram.Skeyword "("; Gram.Sself;
Gram.Skeyword "as"; Gram.Sself; Gram.Skeyword ")" ],
@@ -3605,7 +3671,7 @@ Very old (no more supported) syntax:\n\
([ Gram.Skeyword "("; Gram.Skeyword ")" ],
(Gram.Action.mk
(fun _ _ (_loc : Gram.Loc.t) ->
- (Ast.PaId (_loc, Ast.IdUid (_loc, "()")) :
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "()"))) :
'patt))));
([ Gram.Skeyword "{";
Gram.Snterm
@@ -3628,7 +3694,7 @@ Very old (no more supported) syntax:\n\
([ Gram.Skeyword "[|"; Gram.Skeyword "|]" ],
(Gram.Action.mk
(fun _ _ (_loc : Gram.Loc.t) ->
- (Ast.PaArr (_loc, Ast.PaNil _loc) : 'patt))));
+ (Ast.PaArr (_loc, (Ast.PaNil _loc)) : 'patt))));
([ Gram.Skeyword "[";
Gram.Snterm
(Gram.Entry.obj
@@ -3639,7 +3705,7 @@ Very old (no more supported) syntax:\n\
(fun _ (mk_list : 'sem_patt_for_list) _
(_loc : Gram.Loc.t) ->
(mk_list
- (Ast.PaId (_loc, Ast.IdUid (_loc, "[]"))) :
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "[]")))) :
'patt))));
([ Gram.Skeyword "[";
Gram.Snterm
@@ -3654,7 +3720,7 @@ Very old (no more supported) syntax:\n\
([ Gram.Skeyword "["; Gram.Skeyword "]" ],
(Gram.Action.mk
(fun _ _ (_loc : Gram.Loc.t) ->
- (Ast.PaId (_loc, Ast.IdUid (_loc, "[]")) :
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "[]"))) :
'patt))));
([ Gram.Skeyword "-";
Gram.Snterm
@@ -3662,14 +3728,14 @@ Very old (no more supported) syntax:\n\
(a_FLOAT : 'a_FLOAT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (s : 'a_FLOAT) _ (_loc : Gram.Loc.t) ->
- (Ast.PaFlo (_loc, neg_string s) : 'patt))));
+ (Ast.PaFlo (_loc, (neg_string s)) : 'patt))));
([ Gram.Skeyword "-";
Gram.Snterm
(Gram.Entry.obj
(a_NATIVEINT : 'a_NATIVEINT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (s : 'a_NATIVEINT) _ (_loc : Gram.Loc.t) ->
- (Ast.PaNativeInt (_loc, neg_string s) :
+ (Ast.PaNativeInt (_loc, (neg_string s)) :
'patt))));
([ Gram.Skeyword "-";
Gram.Snterm
@@ -3677,20 +3743,20 @@ Very old (no more supported) syntax:\n\
(a_INT64 : 'a_INT64 Gram.Entry.t)) ],
(Gram.Action.mk
(fun (s : 'a_INT64) _ (_loc : Gram.Loc.t) ->
- (Ast.PaInt64 (_loc, neg_string s) : 'patt))));
+ (Ast.PaInt64 (_loc, (neg_string s)) : 'patt))));
([ Gram.Skeyword "-";
Gram.Snterm
(Gram.Entry.obj
(a_INT32 : 'a_INT32 Gram.Entry.t)) ],
(Gram.Action.mk
(fun (s : 'a_INT32) _ (_loc : Gram.Loc.t) ->
- (Ast.PaInt32 (_loc, neg_string s) : 'patt))));
+ (Ast.PaInt32 (_loc, (neg_string s)) : 'patt))));
([ Gram.Skeyword "-";
Gram.Snterm
(Gram.Entry.obj (a_INT : 'a_INT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (s : 'a_INT) _ (_loc : Gram.Loc.t) ->
- (Ast.PaInt (_loc, neg_string s) : 'patt))));
+ (Ast.PaInt (_loc, (neg_string s)) : 'patt))));
([ Gram.Snterm
(Gram.Entry.obj (a_CHAR : 'a_CHAR Gram.Entry.t)) ],
(Gram.Action.mk
@@ -3747,7 +3813,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("`bool" as n)), s) ->
(Ast.PaId (_loc,
- Ast.IdAnt (_loc, mk_anti n s)) :
+ (Ast.IdAnt (_loc, (mk_anti n s)))) :
'patt)
| _ -> assert false)));
([ Gram.Stoken
@@ -3761,8 +3827,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("tup" as n)), s) ->
(Ast.PaTup (_loc,
- Ast.PaAnt (_loc,
- mk_anti ~c: "patt" n s)) :
+ (Ast.PaAnt (_loc,
+ (mk_anti ~c: "patt" n s)))) :
'patt)
| _ -> assert false)));
([ Gram.Stoken
@@ -3777,7 +3843,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "pat" | "anti" as n)), s)
->
- (Ast.PaAnt (_loc, mk_anti ~c: "patt" n s) :
+ (Ast.PaAnt (_loc,
+ (mk_anti ~c: "patt" n s)) :
'patt)
| _ -> assert false))) ]) ]))
());
@@ -3801,7 +3868,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.PaAnt (_loc,
- mk_anti ~c: "patt," n s) :
+ (mk_anti ~c: "patt," n s)) :
'comma_patt)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword ","; Gram.Sself ],
@@ -3819,6 +3886,12 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (p : 'patt) (_loc : Gram.Loc.t) ->
(p : 'sem_patt))));
+ ([ Gram.Snterm
+ (Gram.Entry.obj (patt : 'patt Gram.Entry.t));
+ Gram.Skeyword ";" ],
+ (Gram.Action.mk
+ (fun _ (p : 'patt) (_loc : Gram.Loc.t) ->
+ (p : 'sem_patt))));
([ Gram.Stoken
(((function
| ANTIQUOT ("list", _) -> true
@@ -3830,12 +3903,14 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.PaAnt (_loc,
- mk_anti ~c: "patt;" n s) :
+ (mk_anti ~c: "patt;" n s)) :
'sem_patt)
| _ -> assert false)));
- ([ Gram.Sself; Gram.Skeyword ";"; Gram.Sself ],
+ ([ Gram.Snterm
+ (Gram.Entry.obj (patt : 'patt Gram.Entry.t));
+ Gram.Skeyword ";"; Gram.Sself ],
(Gram.Action.mk
- (fun (p2 : 'sem_patt) _ (p1 : 'sem_patt)
+ (fun (p2 : 'sem_patt) _ (p1 : 'patt)
(_loc : Gram.Loc.t) ->
(Ast.PaSem (_loc, p1, p2) : 'sem_patt)))) ]) ]))
());
@@ -3850,10 +3925,23 @@ Very old (no more supported) syntax:\n\
(fun (p : 'patt) (_loc : Gram.Loc.t) ->
(fun acc ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdUid (_loc, "::")),
- p),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdUid (_loc, "::")))),
+ p)),
+ acc) :
+ 'sem_patt_for_list))));
+ ([ Gram.Snterm
+ (Gram.Entry.obj (patt : 'patt Gram.Entry.t));
+ Gram.Skeyword ";" ],
+ (Gram.Action.mk
+ (fun _ (p : 'patt) (_loc : Gram.Loc.t) ->
+ (fun acc ->
+ Ast.PaApp (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdUid (_loc, "::")))),
+ p)),
acc) :
'sem_patt_for_list))));
([ Gram.Snterm
@@ -3864,11 +3952,11 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
(fun acc ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdUid (_loc, "::")),
- p),
- pl acc) :
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdUid (_loc, "::")))),
+ p)),
+ (pl acc)) :
'sem_patt_for_list)))) ]) ]))
());
Gram.extend (label_patt_list : 'label_patt_list Gram.Entry.t)
@@ -3896,7 +3984,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun _ _ _ (p1 : 'label_patt)
(_loc : Gram.Loc.t) ->
- (Ast.PaSem (_loc, p1, Ast.PaAny _loc) :
+ (Ast.PaSem (_loc, p1, (Ast.PaAny _loc)) :
'label_patt_list))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -3905,7 +3993,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun _ _ (p1 : 'label_patt) (_loc : Gram.Loc.t)
->
- (Ast.PaSem (_loc, p1, Ast.PaAny _loc) :
+ (Ast.PaSem (_loc, p1, (Ast.PaAny _loc)) :
'label_patt_list))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -3928,8 +4016,8 @@ Very old (no more supported) syntax:\n\
(fun (i : 'label_longident) (_loc : Gram.Loc.t)
->
(Ast.PaEq (_loc, i,
- Ast.PaId (_loc,
- Ast.IdLid (_loc, lid_of_ident i))) :
+ (Ast.PaId (_loc,
+ (Ast.IdLid (_loc, (lid_of_ident i)))))) :
'label_patt))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -3953,7 +4041,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.PaAnt (_loc,
- mk_anti ~c: "patt;" n s) :
+ (mk_anti ~c: "patt;" n s)) :
'label_patt)
| _ -> assert false)));
([ Gram.Stoken
@@ -3980,7 +4068,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "pat" | "anti" as n)), s)
->
- (Ast.PaAnt (_loc, mk_anti ~c: "patt" n s) :
+ (Ast.PaAnt (_loc,
+ (mk_anti ~c: "patt" n s)) :
'label_patt)
| _ -> assert false))) ]) ]))
());
@@ -3997,7 +4086,7 @@ Very old (no more supported) syntax:\n\
(a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (s : 'a_LIDENT) (_loc : Gram.Loc.t) ->
- (Ast.PaId (_loc, Ast.IdLid (_loc, s)) :
+ (Ast.PaId (_loc, (Ast.IdLid (_loc, s))) :
'ipatt))));
([ Gram.Skeyword "("; Gram.Sself; Gram.Skeyword ",";
Gram.Snterm
@@ -4007,7 +4096,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun _ (pl : 'comma_ipatt) _ (p : 'ipatt) _
(_loc : Gram.Loc.t) ->
- (Ast.PaTup (_loc, Ast.PaCom (_loc, p, pl)) :
+ (Ast.PaTup (_loc, (Ast.PaCom (_loc, p, pl))) :
'ipatt))));
([ Gram.Skeyword "("; Gram.Sself;
Gram.Skeyword "as"; Gram.Sself; Gram.Skeyword ")" ],
@@ -4030,7 +4119,7 @@ Very old (no more supported) syntax:\n\
([ Gram.Skeyword "("; Gram.Skeyword ")" ],
(Gram.Action.mk
(fun _ _ (_loc : Gram.Loc.t) ->
- (Ast.PaId (_loc, Ast.IdUid (_loc, "()")) :
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "()"))) :
'ipatt))));
([ Gram.Stoken
(((function | QUOTATION _ -> true | _ -> false),
@@ -4055,8 +4144,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("tup" as n)), s) ->
(Ast.PaTup (_loc,
- Ast.PaAnt (_loc,
- mk_anti ~c: "patt" n s)) :
+ (Ast.PaAnt (_loc,
+ (mk_anti ~c: "patt" n s)))) :
'ipatt)
| _ -> assert false)));
([ Gram.Stoken
@@ -4071,7 +4160,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "pat" | "anti" as n)), s)
->
- (Ast.PaAnt (_loc, mk_anti ~c: "patt" n s) :
+ (Ast.PaAnt (_loc,
+ (mk_anti ~c: "patt" n s)) :
'ipatt)
| _ -> assert false)));
([ Gram.Skeyword "{";
@@ -4115,7 +4205,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.PaAnt (_loc,
- mk_anti ~c: "patt," n s) :
+ (mk_anti ~c: "patt," n s)) :
'comma_ipatt)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword ","; Gram.Sself ],
@@ -4189,7 +4279,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.PaAnt (_loc,
- mk_anti ~c: "patt;" n s) :
+ (mk_anti ~c: "patt;" n s)) :
'label_ipatt)
| _ -> assert false)));
([ Gram.Stoken
@@ -4204,7 +4294,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "pat" | "anti" as n)), s)
->
- (Ast.PaAnt (_loc, mk_anti ~c: "patt" n s) :
+ (Ast.PaAnt (_loc,
+ (mk_anti ~c: "patt" n s)) :
'label_ipatt)
| _ -> assert false))) ]) ]))
());
@@ -4259,7 +4350,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.TyAnt (_loc,
- mk_anti ~c: "ctypand" n s) :
+ (mk_anti ~c: "ctypand" n s)) :
'type_declaration)
| _ -> assert false)));
([ Gram.Stoken
@@ -4274,7 +4365,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "typ" | "anti" as n)), s)
->
- (Ast.TyAnt (_loc, mk_anti ~c: "ctyp" n s) :
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s)) :
'type_declaration)
| _ -> assert false))) ]) ]))
());
@@ -4435,7 +4527,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "typ" | "anti" as n)), s)
->
- (Ast.TyAnt (_loc, mk_anti n s) :
+ (Ast.TyAnt (_loc, (mk_anti n s)) :
'type_parameter)
| _ -> assert false))) ]) ]))
());
@@ -4451,7 +4543,7 @@ Very old (no more supported) syntax:\n\
((Some "private"), (Some Camlp4.Sig.Grammar.NonA),
[ ([ Gram.Skeyword "private";
Gram.Snterml
- (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t),
+ ((Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)),
"alias") ],
(Gram.Action.mk
(fun (t : 'ctyp) _ (_loc : Gram.Loc.t) ->
@@ -4520,7 +4612,7 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
(let t = Ast.TyApp (_loc, t1, t2)
in
- try Ast.TyId (_loc, Ast.ident_of_ctyp t)
+ try Ast.TyId (_loc, (Ast.ident_of_ctyp t))
with | Invalid_argument _ -> t :
'ctyp)))) ]);
((Some "."), (Some Camlp4.Sig.Grammar.LeftA),
@@ -4530,8 +4622,9 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
(try
Ast.TyId (_loc,
- Ast.IdAcc (_loc, Ast.ident_of_ctyp t1,
- Ast.ident_of_ctyp t2))
+ (Ast.IdAcc (_loc,
+ (Ast.ident_of_ctyp t1),
+ (Ast.ident_of_ctyp t2))))
with
| Invalid_argument s ->
raise (Stream.Error s) :
@@ -4630,7 +4723,8 @@ Very old (no more supported) syntax:\n\
Gram.Skeyword "]" ],
(Gram.Action.mk
(fun _ _ _ (_loc : Gram.Loc.t) ->
- (Ast.TyVrnSup (_loc, Ast.TyNil _loc) : 'ctyp))));
+ (Ast.TyVrnSup (_loc, (Ast.TyNil _loc)) :
+ 'ctyp))));
([ Gram.Skeyword "["; Gram.Skeyword "=";
Gram.Snterm
(Gram.Entry.obj
@@ -4653,7 +4747,7 @@ Very old (no more supported) syntax:\n\
([ Gram.Skeyword "["; Gram.Skeyword "]" ],
(Gram.Action.mk
(fun _ _ (_loc : Gram.Loc.t) ->
- (Ast.TySum (_loc, Ast.TyNil _loc) : 'ctyp))));
+ (Ast.TySum (_loc, (Ast.TyNil _loc)) : 'ctyp))));
([ Gram.Skeyword "("; Gram.Sself; Gram.Skeyword ")" ],
(Gram.Action.mk
(fun _ (t : 'ctyp) _ (_loc : Gram.Loc.t) ->
@@ -4666,21 +4760,21 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun _ (tl : 'star_ctyp) _ (t : 'ctyp) _
(_loc : Gram.Loc.t) ->
- (Ast.TyTup (_loc, Ast.TySta (_loc, t, tl)) :
+ (Ast.TyTup (_loc, (Ast.TySta (_loc, t, tl))) :
'ctyp))));
([ Gram.Snterm
(Gram.Entry.obj
(a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (i : 'a_UIDENT) (_loc : Gram.Loc.t) ->
- (Ast.TyId (_loc, Ast.IdUid (_loc, i)) :
+ (Ast.TyId (_loc, (Ast.IdUid (_loc, i))) :
'ctyp))));
([ Gram.Snterm
(Gram.Entry.obj
(a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) ->
- (Ast.TyId (_loc, Ast.IdLid (_loc, i)) :
+ (Ast.TyId (_loc, (Ast.IdLid (_loc, i))) :
'ctyp))));
([ Gram.Stoken
(((function | QUOTATION _ -> true | _ -> false),
@@ -4705,8 +4799,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("id" as n)), s) ->
(Ast.TyId (_loc,
- Ast.IdAnt (_loc,
- mk_anti ~c: "ident" n s)) :
+ (Ast.IdAnt (_loc,
+ (mk_anti ~c: "ident" n s)))) :
'ctyp)
| _ -> assert false)));
([ Gram.Stoken
@@ -4720,8 +4814,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("tup" as n)), s) ->
(Ast.TyTup (_loc,
- Ast.TyAnt (_loc,
- mk_anti ~c: "ctyp" n s)) :
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s)))) :
'ctyp)
| _ -> assert false)));
([ Gram.Stoken
@@ -4736,7 +4830,8 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" | "typ" | "anti" as n)), s)
->
- (Ast.TyAnt (_loc, mk_anti ~c: "ctyp" n s) :
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s)) :
'ctyp)
| _ -> assert false)));
([ Gram.Skeyword "_" ],
@@ -4776,7 +4871,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.TyAnt (_loc,
- mk_anti ~c: "ctyp*" n s) :
+ (mk_anti ~c: "ctyp*" n s)) :
'star_ctyp)
| _ -> assert false)));
([ Gram.Stoken
@@ -4789,7 +4884,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "typ" as n)), s) ->
- (Ast.TyAnt (_loc, mk_anti ~c: "ctyp" n s) :
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s)) :
'star_ctyp)
| _ -> assert false))) ]) ]))
());
@@ -4804,7 +4900,7 @@ Very old (no more supported) syntax:\n\
(a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (s : 'a_UIDENT) (_loc : Gram.Loc.t) ->
- (Ast.TyId (_loc, Ast.IdUid (_loc, s)) :
+ (Ast.TyId (_loc, (Ast.IdUid (_loc, s))) :
'constructor_declarations))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -4818,7 +4914,8 @@ Very old (no more supported) syntax:\n\
(fun (t : 'constructor_arg_list) _
(s : 'a_UIDENT) (_loc : Gram.Loc.t) ->
(Ast.TyOf (_loc,
- Ast.TyId (_loc, Ast.IdUid (_loc, s)), t) :
+ (Ast.TyId (_loc, (Ast.IdUid (_loc, s)))),
+ t) :
'constructor_declarations))));
([ Gram.Sself; Gram.Skeyword "|"; Gram.Sself ],
(Gram.Action.mk
@@ -4850,7 +4947,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.TyAnt (_loc,
- mk_anti ~c: "ctyp|" n s) :
+ (mk_anti ~c: "ctyp|" n s)) :
'constructor_declarations)
| _ -> assert false)));
([ Gram.Stoken
@@ -4863,7 +4960,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "typ" as n)), s) ->
- (Ast.TyAnt (_loc, mk_anti ~c: "ctyp" n s) :
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s)) :
'constructor_declarations)
| _ -> assert false))) ]) ]))
());
@@ -4878,7 +4976,7 @@ Very old (no more supported) syntax:\n\
(a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (s : 'a_UIDENT) (_loc : Gram.Loc.t) ->
- (Ast.TyId (_loc, Ast.IdUid (_loc, s)) :
+ (Ast.TyId (_loc, (Ast.IdUid (_loc, s))) :
'constructor_declaration))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -4892,7 +4990,8 @@ Very old (no more supported) syntax:\n\
(fun (t : 'constructor_arg_list) _
(s : 'a_UIDENT) (_loc : Gram.Loc.t) ->
(Ast.TyOf (_loc,
- Ast.TyId (_loc, Ast.IdUid (_loc, s)), t) :
+ (Ast.TyId (_loc, (Ast.IdUid (_loc, s)))),
+ t) :
'constructor_declaration))));
([ Gram.Stoken
(((function | QUOTATION _ -> true | _ -> false),
@@ -4916,7 +5015,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "typ" as n)), s) ->
- (Ast.TyAnt (_loc, mk_anti ~c: "ctyp" n s) :
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s)) :
'constructor_declaration)
| _ -> assert false))) ]) ]))
());
@@ -4948,7 +5048,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.TyAnt (_loc,
- mk_anti ~c: "ctypand" n s) :
+ (mk_anti ~c: "ctypand" n s)) :
'constructor_arg_list)
| _ -> assert false))) ]) ]))
());
@@ -5003,8 +5103,8 @@ Very old (no more supported) syntax:\n\
(fun (t : 'poly_type) _ _ (s : 'a_LIDENT)
(_loc : Gram.Loc.t) ->
(Ast.TyCol (_loc,
- Ast.TyId (_loc, Ast.IdLid (_loc, s)),
- Ast.TyMut (_loc, t)) :
+ (Ast.TyId (_loc, (Ast.IdLid (_loc, s)))),
+ (Ast.TyMut (_loc, t))) :
'label_declaration))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -5017,7 +5117,8 @@ Very old (no more supported) syntax:\n\
(fun (t : 'poly_type) _ (s : 'a_LIDENT)
(_loc : Gram.Loc.t) ->
(Ast.TyCol (_loc,
- Ast.TyId (_loc, Ast.IdLid (_loc, s)), t) :
+ (Ast.TyId (_loc, (Ast.IdLid (_loc, s)))),
+ t) :
'label_declaration))));
([ Gram.Stoken
(((function | QUOTATION _ -> true | _ -> false),
@@ -5042,7 +5143,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.TyAnt (_loc,
- mk_anti ~c: "ctyp;" n s) :
+ (mk_anti ~c: "ctyp;" n s)) :
'label_declaration)
| _ -> assert false)));
([ Gram.Stoken
@@ -5055,7 +5156,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "typ" as n)), s) ->
- (Ast.TyAnt (_loc, mk_anti ~c: "ctyp" n s) :
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s)) :
'label_declaration)
| _ -> assert false))) ]) ]))
());
@@ -5087,7 +5189,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (j : 'ident) _ (i : 'a_UIDENT)
(_loc : Gram.Loc.t) ->
- (Ast.IdAcc (_loc, Ast.IdUid (_loc, i), j) :
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, i)), j) :
'ident))));
([ Gram.Stoken
(((function
@@ -5104,8 +5206,8 @@ Very old (no more supported) syntax:\n\
((("" | "id" | "anti" | "list" as n)), s)
->
(Ast.IdAcc (_loc,
- Ast.IdAnt (_loc,
- mk_anti ~c: "ident" n s),
+ (Ast.IdAnt (_loc,
+ (mk_anti ~c: "ident" n s))),
i) :
'ident)
| _ -> assert false)));
@@ -5135,7 +5237,7 @@ Very old (no more supported) syntax:\n\
((("" | "id" | "anti" | "list" as n)), s)
->
(Ast.IdAnt (_loc,
- mk_anti ~c: "ident" n s) :
+ (mk_anti ~c: "ident" n s)) :
'ident)
| _ -> assert false))) ]) ]))
());
@@ -5156,7 +5258,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (l : 'module_longident) _ (m : 'a_UIDENT)
(_loc : Gram.Loc.t) ->
- (Ast.IdAcc (_loc, Ast.IdUid (_loc, m), l) :
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, m)), l) :
'module_longident))));
([ Gram.Stoken
(((function
@@ -5172,7 +5274,7 @@ Very old (no more supported) syntax:\n\
((("" | "id" | "anti" | "list" as n)), s)
->
(Ast.IdAnt (_loc,
- mk_anti ~c: "ident" n s) :
+ (mk_anti ~c: "ident" n s)) :
'module_longident)
| _ -> assert false))) ]) ]))
());
@@ -5224,10 +5326,52 @@ Very old (no more supported) syntax:\n\
((("" | "id" | "anti" | "list" as n)), s)
->
(Ast.IdAnt (_loc,
- mk_anti ~c: "ident" n s) :
+ (mk_anti ~c: "ident" n s)) :
'module_longident_with_app)
| _ -> assert false))) ]) ]))
());
+ Gram.extend
+ (module_longident_dot_lparen :
+ 'module_longident_dot_lparen Gram.Entry.t)
+ ((fun () ->
+ (None,
+ [ (None, None,
+ [ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (a_UIDENT : 'a_UIDENT Gram.Entry.t));
+ Gram.Skeyword "."; Gram.Skeyword "(" ],
+ (Gram.Action.mk
+ (fun _ _ (i : 'a_UIDENT) (_loc : Gram.Loc.t) ->
+ (Ast.IdUid (_loc, i) :
+ 'module_longident_dot_lparen))));
+ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (a_UIDENT : 'a_UIDENT Gram.Entry.t));
+ Gram.Skeyword "."; Gram.Sself ],
+ (Gram.Action.mk
+ (fun (l : 'module_longident_dot_lparen) _
+ (m : 'a_UIDENT) (_loc : Gram.Loc.t) ->
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, m)), l) :
+ 'module_longident_dot_lparen))));
+ ([ Gram.Stoken
+ (((function
+ | ANTIQUOT (("" | "id" | "anti" | "list"),
+ _) -> true
+ | _ -> false),
+ "ANTIQUOT ((\"\" | \"id\" | \"anti\" | \"list\"), _)"));
+ Gram.Skeyword "."; Gram.Skeyword "(" ],
+ (Gram.Action.mk
+ (fun _ _ (__camlp4_0 : Gram.Token.t)
+ (_loc : Gram.Loc.t) ->
+ match __camlp4_0 with
+ | ANTIQUOT
+ ((("" | "id" | "anti" | "list" as n)), s)
+ ->
+ (Ast.IdAnt (_loc,
+ (mk_anti ~c: "ident" n s)) :
+ 'module_longident_dot_lparen)
+ | _ -> assert false))) ]) ]))
+ ());
Gram.extend (type_longident : 'type_longident Gram.Entry.t)
((fun () ->
(None,
@@ -5274,7 +5418,7 @@ Very old (no more supported) syntax:\n\
((("" | "id" | "anti" | "list" as n)), s)
->
(Ast.IdAnt (_loc,
- mk_anti ~c: "ident" n s) :
+ (mk_anti ~c: "ident" n s)) :
'type_longident)
| _ -> assert false))) ]) ]))
());
@@ -5295,7 +5439,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (l : 'label_longident) _ (m : 'a_UIDENT)
(_loc : Gram.Loc.t) ->
- (Ast.IdAcc (_loc, Ast.IdUid (_loc, m), l) :
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, m)), l) :
'label_longident))));
([ Gram.Stoken
(((function
@@ -5311,7 +5455,7 @@ Very old (no more supported) syntax:\n\
((("" | "id" | "anti" | "list" as n)), s)
->
(Ast.IdAnt (_loc,
- mk_anti ~c: "ident" n s) :
+ (mk_anti ~c: "ident" n s)) :
'label_longident)
| _ -> assert false))) ]) ]))
());
@@ -5395,7 +5539,7 @@ Very old (no more supported) syntax:\n\
((("" | "cdcl" | "anti" | "list" as n)),
s) ->
(Ast.CeAnt (_loc,
- mk_anti ~c: "class_expr" n s) :
+ (mk_anti ~c: "class_expr" n s)) :
'class_declaration)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword "and"; Gram.Sself ],
@@ -5460,7 +5604,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun ((i, ot) : 'class_name_and_param)
(mv : 'opt_virtual) (_loc : Gram.Loc.t) ->
- (Ast.CtCon (_loc, mv, Ast.IdLid (_loc, i),
+ (Ast.CtCon (_loc, mv, (Ast.IdLid (_loc, i)),
ot) :
'class_info_for_class_type)))) ]) ]))
());
@@ -5480,7 +5624,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun ((i, ot) : 'class_name_and_param)
(mv : 'opt_virtual) (_loc : Gram.Loc.t) ->
- (Ast.CeCon (_loc, mv, Ast.IdLid (_loc, i),
+ (Ast.CeCon (_loc, mv, (Ast.IdLid (_loc, i)),
ot) :
'class_info_for_class_expr)))) ]) ]))
());
@@ -5533,7 +5677,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.TyAnt (_loc,
- mk_anti ~c: "ctyp," n s) :
+ (mk_anti ~c: "ctyp," n s)) :
'comma_type_parameter)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword ","; Gram.Sself ],
@@ -5581,7 +5725,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.TyAnt (_loc,
- mk_anti ~c: "ctyp," n s) :
+ (mk_anti ~c: "ctyp," n s)) :
'comma_ctyp)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword ","; Gram.Sself ],
@@ -5643,7 +5787,7 @@ Very old (no more supported) syntax:\n\
((Some "apply"), (Some Camlp4.Sig.Grammar.NonA),
[ ([ Gram.Sself;
Gram.Snterml
- (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
+ ((Gram.Entry.obj (expr : 'expr Gram.Entry.t)),
"label") ],
(Gram.Action.mk
(fun (e : 'expr) (ce : 'class_expr)
@@ -5710,7 +5854,7 @@ Very old (no more supported) syntax:\n\
| ANTIQUOT ((("" | "cexp" | "anti" as n)), s)
->
(Ast.CeAnt (_loc,
- mk_anti ~c: "class_expr" n s) :
+ (mk_anti ~c: "class_expr" n s)) :
'class_expr)
| _ -> assert false))) ]) ]))
());
@@ -5727,8 +5871,8 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (ci : 'class_longident) (_loc : Gram.Loc.t)
->
- (Ast.CeCon (_loc, Ast.BFalse, ci,
- Ast.TyNil _loc) :
+ (Ast.CeCon (_loc, Ast.ViNil, ci,
+ (Ast.TyNil _loc)) :
'class_longident_and_param))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -5743,7 +5887,7 @@ Very old (no more supported) syntax:\n\
(fun _ (t : 'comma_ctyp) _
(ci : 'class_longident) (_loc : Gram.Loc.t)
->
- (Ast.CeCon (_loc, Ast.BFalse, ci, t) :
+ (Ast.CeCon (_loc, Ast.ViNil, ci, t) :
'class_longident_and_param)))) ]) ]))
());
Gram.extend (class_structure : 'class_structure Gram.Entry.t)
@@ -5762,9 +5906,9 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun _ (cst : 'class_str_item)
(_loc : Gram.Loc.t) ->
- (cst : 'e__3)))) ]) ],
+ (cst : 'e__10)))) ]) ],
(Gram.Action.mk
- (fun (l : 'e__3 list) (_loc : Gram.Loc.t) ->
+ (fun (l : 'e__10 list) (_loc : Gram.Loc.t) ->
(Ast.crSem_of_list l : 'class_structure))));
([ Gram.Stoken
(((function
@@ -5784,8 +5928,8 @@ Very old (no more supported) syntax:\n\
((("" | "cst" | "anti" | "list" as n)),
s) ->
(Ast.CrSem (_loc,
- Ast.CrAnt (_loc,
- mk_anti ~c: "class_str_item" n s),
+ (Ast.CrAnt (_loc,
+ (mk_anti ~c: "class_str_item" n s))),
cst) :
'class_structure)
| _ -> assert false)));
@@ -5803,7 +5947,7 @@ Very old (no more supported) syntax:\n\
((("" | "cst" | "anti" | "list" as n)),
s) ->
(Ast.CrAnt (_loc,
- mk_anti ~c: "class_str_item" n s) :
+ (mk_anti ~c: "class_str_item" n s)) :
'class_structure)
| _ -> assert false))) ]) ]))
());
@@ -5859,41 +6003,59 @@ Very old (no more supported) syntax:\n\
(fun (t2 : 'ctyp) _ (t1 : 'ctyp) _
(_loc : Gram.Loc.t) ->
(Ast.CrCtr (_loc, t1, t2) : 'class_str_item))));
- ([ Gram.Skeyword "method";
+ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (method_opt_override :
+ 'method_opt_override Gram.Entry.t));
Gram.Snterm
(Gram.Entry.obj
(opt_private : 'opt_private Gram.Entry.t));
+ Gram.Skeyword "virtual";
Gram.Snterm
(Gram.Entry.obj (label : 'label Gram.Entry.t));
+ Gram.Skeyword ":";
Gram.Snterm
(Gram.Entry.obj
- (opt_polyt : 'opt_polyt Gram.Entry.t));
- Gram.Snterm
- (Gram.Entry.obj
- (fun_binding : 'fun_binding Gram.Entry.t)) ],
+ (poly_type : 'poly_type Gram.Entry.t)) ],
(Gram.Action.mk
- (fun (e : 'fun_binding) (topt : 'opt_polyt)
- (l : 'label) (pf : 'opt_private) _
- (_loc : Gram.Loc.t) ->
- (Ast.CrMth (_loc, l, pf, e, topt) :
+ (fun (t : 'poly_type) _ (l : 'label) _
+ (pf : 'opt_private)
+ (o : 'method_opt_override)
+ (_loc : Gram.Loc.t) ->
+ (if o <> Ast.OvNil
+ then
+ raise
+ (Stream.Error
+ "override (!) is incompatible with virtual")
+ else Ast.CrVir (_loc, l, pf, t) :
'class_str_item))));
- ([ Gram.Skeyword "method";
+ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (method_opt_override :
+ 'method_opt_override Gram.Entry.t));
Gram.Snterm
(Gram.Entry.obj
(opt_private : 'opt_private Gram.Entry.t));
- Gram.Skeyword "virtual";
Gram.Snterm
(Gram.Entry.obj (label : 'label Gram.Entry.t));
- Gram.Skeyword ":";
Gram.Snterm
(Gram.Entry.obj
- (poly_type : 'poly_type Gram.Entry.t)) ],
+ (opt_polyt : 'opt_polyt Gram.Entry.t));
+ Gram.Snterm
+ (Gram.Entry.obj
+ (fun_binding : 'fun_binding Gram.Entry.t)) ],
(Gram.Action.mk
- (fun (t : 'poly_type) _ (l : 'label) _
- (pf : 'opt_private) _ (_loc : Gram.Loc.t) ->
- (Ast.CrVir (_loc, l, pf, t) :
+ (fun (e : 'fun_binding) (topt : 'opt_polyt)
+ (l : 'label) (pf : 'opt_private)
+ (o : 'method_opt_override)
+ (_loc : Gram.Loc.t) ->
+ (Ast.CrMth (_loc, l, o, pf, e, topt) :
'class_str_item))));
- ([ Gram.Skeyword "method"; Gram.Skeyword "virtual";
+ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (method_opt_override :
+ 'method_opt_override Gram.Entry.t));
+ Gram.Skeyword "virtual";
Gram.Snterm
(Gram.Entry.obj
(opt_private : 'opt_private Gram.Entry.t));
@@ -5905,13 +6067,20 @@ Very old (no more supported) syntax:\n\
(poly_type : 'poly_type Gram.Entry.t)) ],
(Gram.Action.mk
(fun (t : 'poly_type) _ (l : 'label)
- (pf : 'opt_private) _ _ (_loc : Gram.Loc.t)
- ->
- (Ast.CrVir (_loc, l, pf, t) :
+ (pf : 'opt_private) _
+ (o : 'method_opt_override)
+ (_loc : Gram.Loc.t) ->
+ (if o <> Ast.OvNil
+ then
+ raise
+ (Stream.Error
+ "override (!) is incompatible with virtual")
+ else Ast.CrVir (_loc, l, pf, t) :
'class_str_item))));
([ Gram.Snterm
(Gram.Entry.obj
- (value_val : 'value_val Gram.Entry.t));
+ (value_val_opt_override :
+ 'value_val_opt_override Gram.Entry.t));
Gram.Skeyword "virtual";
Gram.Snterm
(Gram.Entry.obj
@@ -5924,13 +6093,20 @@ Very old (no more supported) syntax:\n\
(poly_type : 'poly_type Gram.Entry.t)) ],
(Gram.Action.mk
(fun (t : 'poly_type) _ (l : 'label)
- (mf : 'opt_mutable) _ _ (_loc : Gram.Loc.t)
- ->
- (Ast.CrVvr (_loc, l, mf, t) :
+ (mf : 'opt_mutable) _
+ (o : 'value_val_opt_override)
+ (_loc : Gram.Loc.t) ->
+ (if o <> Ast.OvNil
+ then
+ raise
+ (Stream.Error
+ "override (!) is incompatible with virtual")
+ else Ast.CrVvr (_loc, l, mf, t) :
'class_str_item))));
([ Gram.Snterm
(Gram.Entry.obj
- (value_val : 'value_val Gram.Entry.t));
+ (value_val_opt_override :
+ 'value_val_opt_override Gram.Entry.t));
Gram.Snterm
(Gram.Entry.obj
(opt_mutable : 'opt_mutable Gram.Entry.t));
@@ -5943,12 +6119,20 @@ Very old (no more supported) syntax:\n\
(poly_type : 'poly_type Gram.Entry.t)) ],
(Gram.Action.mk
(fun (t : 'poly_type) _ (l : 'label) _
- (mf : 'opt_mutable) _ (_loc : Gram.Loc.t) ->
- (Ast.CrVvr (_loc, l, mf, t) :
+ (mf : 'opt_mutable)
+ (o : 'value_val_opt_override)
+ (_loc : Gram.Loc.t) ->
+ (if o <> Ast.OvNil
+ then
+ raise
+ (Stream.Error
+ "override (!) is incompatible with virtual")
+ else Ast.CrVvr (_loc, l, mf, t) :
'class_str_item))));
([ Gram.Snterm
(Gram.Entry.obj
- (value_val : 'value_val Gram.Entry.t));
+ (value_val_opt_override :
+ 'value_val_opt_override Gram.Entry.t));
Gram.Snterm
(Gram.Entry.obj
(opt_mutable : 'opt_mutable Gram.Entry.t));
@@ -5960,21 +6144,27 @@ Very old (no more supported) syntax:\n\
'cvalue_binding Gram.Entry.t)) ],
(Gram.Action.mk
(fun (e : 'cvalue_binding) (lab : 'label)
- (mf : 'opt_mutable) _ (_loc : Gram.Loc.t) ->
- (Ast.CrVal (_loc, lab, mf, e) :
+ (mf : 'opt_mutable)
+ (o : 'value_val_opt_override)
+ (_loc : Gram.Loc.t) ->
+ (Ast.CrVal (_loc, lab, o, mf, e) :
'class_str_item))));
([ Gram.Skeyword "inherit";
Gram.Snterm
(Gram.Entry.obj
+ (opt_override : 'opt_override Gram.Entry.t));
+ Gram.Snterm
+ (Gram.Entry.obj
(class_expr : 'class_expr Gram.Entry.t));
Gram.Snterm
(Gram.Entry.obj
(opt_as_lident :
'opt_as_lident Gram.Entry.t)) ],
(Gram.Action.mk
- (fun (pb : 'opt_as_lident) (ce : 'class_expr) _
- (_loc : Gram.Loc.t) ->
- (Ast.CrInh (_loc, ce, pb) : 'class_str_item))));
+ (fun (pb : 'opt_as_lident) (ce : 'class_expr)
+ (o : 'opt_override) _ (_loc : Gram.Loc.t) ->
+ (Ast.CrInh (_loc, o, ce, pb) :
+ 'class_str_item))));
([ Gram.Stoken
(((function | QUOTATION _ -> true | _ -> false),
"QUOTATION _")) ],
@@ -6001,10 +6191,80 @@ Very old (no more supported) syntax:\n\
((("" | "cst" | "anti" | "list" as n)),
s) ->
(Ast.CrAnt (_loc,
- mk_anti ~c: "class_str_item" n s) :
+ (mk_anti ~c: "class_str_item" n s)) :
'class_str_item)
| _ -> assert false))) ]) ]))
());
+ Gram.extend
+ (method_opt_override : 'method_opt_override Gram.Entry.t)
+ ((fun () ->
+ (None,
+ [ (None, None,
+ [ ([ Gram.Skeyword "method" ],
+ (Gram.Action.mk
+ (fun _ (_loc : Gram.Loc.t) ->
+ (Ast.OvNil : 'method_opt_override))));
+ ([ Gram.Skeyword "method";
+ Gram.Stoken
+ (((function
+ | ANTIQUOT (("!" | "override" | "anti"), _)
+ -> true
+ | _ -> false),
+ "ANTIQUOT ((\"!\" | \"override\" | \"anti\"), _)")) ],
+ (Gram.Action.mk
+ (fun (__camlp4_0 : Gram.Token.t) _
+ (_loc : Gram.Loc.t) ->
+ match __camlp4_0 with
+ | ANTIQUOT
+ ((("!" | "override" | "anti" as n)), s)
+ ->
+ (Ast.OvAnt (mk_anti n s) :
+ 'method_opt_override)
+ | _ -> assert false)));
+ ([ Gram.Skeyword "method"; Gram.Skeyword "!" ],
+ (Gram.Action.mk
+ (fun _ _ (_loc : Gram.Loc.t) ->
+ (Ast.OvOverride : 'method_opt_override)))) ]) ]))
+ ());
+ Gram.extend
+ (value_val_opt_override :
+ 'value_val_opt_override Gram.Entry.t)
+ ((fun () ->
+ (None,
+ [ (None, None,
+ [ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (value_val : 'value_val Gram.Entry.t)) ],
+ (Gram.Action.mk
+ (fun _ (_loc : Gram.Loc.t) ->
+ (Ast.OvNil : 'value_val_opt_override))));
+ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (value_val : 'value_val Gram.Entry.t));
+ Gram.Stoken
+ (((function
+ | ANTIQUOT (("!" | "override" | "anti"), _)
+ -> true
+ | _ -> false),
+ "ANTIQUOT ((\"!\" | \"override\" | \"anti\"), _)")) ],
+ (Gram.Action.mk
+ (fun (__camlp4_0 : Gram.Token.t) _
+ (_loc : Gram.Loc.t) ->
+ match __camlp4_0 with
+ | ANTIQUOT
+ ((("!" | "override" | "anti" as n)), s)
+ ->
+ (Ast.OvAnt (mk_anti n s) :
+ 'value_val_opt_override)
+ | _ -> assert false)));
+ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (value_val : 'value_val Gram.Entry.t));
+ Gram.Skeyword "!" ],
+ (Gram.Action.mk
+ (fun _ _ (_loc : Gram.Loc.t) ->
+ (Ast.OvOverride : 'value_val_opt_override)))) ]) ]))
+ ());
Gram.extend (opt_as_lident : 'opt_as_lident Gram.Entry.t)
((fun () ->
(None,
@@ -6050,7 +6310,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e : 'expr) _ (t : 'ctyp) _
(_loc : Gram.Loc.t) ->
- (Ast.ExCoe (_loc, e, Ast.TyNil _loc, t) :
+ (Ast.ExCoe (_loc, e, (Ast.TyNil _loc), t) :
'cvalue_binding))));
([ Gram.Skeyword ":";
Gram.Snterm
@@ -6153,7 +6413,7 @@ Very old (no more supported) syntax:\n\
| ANTIQUOT ((("" | "ctyp" | "anti" as n)), s)
->
(Ast.CtAnt (_loc,
- mk_anti ~c: "class_type" n s) :
+ (mk_anti ~c: "class_type" n s)) :
'class_type)
| _ -> assert false))) ]) ]))
());
@@ -6170,8 +6430,8 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (i : 'class_type_longident)
(_loc : Gram.Loc.t) ->
- (Ast.CtCon (_loc, Ast.BFalse, i,
- Ast.TyNil _loc) :
+ (Ast.CtCon (_loc, Ast.ViNil, i,
+ (Ast.TyNil _loc)) :
'class_type_longident_and_param))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -6186,7 +6446,7 @@ Very old (no more supported) syntax:\n\
(fun _ (t : 'comma_ctyp) _
(i : 'class_type_longident)
(_loc : Gram.Loc.t) ->
- (Ast.CtCon (_loc, Ast.BFalse, i, t) :
+ (Ast.CtCon (_loc, Ast.ViNil, i, t) :
'class_type_longident_and_param)))) ]) ]))
());
Gram.extend (class_type_plus : 'class_type_plus Gram.Entry.t)
@@ -6241,9 +6501,9 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun _ (csg : 'class_sig_item)
(_loc : Gram.Loc.t) ->
- (csg : 'e__4)))) ]) ],
+ (csg : 'e__11)))) ]) ],
(Gram.Action.mk
- (fun (l : 'e__4 list) (_loc : Gram.Loc.t) ->
+ (fun (l : 'e__11 list) (_loc : Gram.Loc.t) ->
(Ast.cgSem_of_list l : 'class_signature))));
([ Gram.Stoken
(((function
@@ -6263,8 +6523,8 @@ Very old (no more supported) syntax:\n\
((("" | "csg" | "anti" | "list" as n)),
s) ->
(Ast.CgSem (_loc,
- Ast.CgAnt (_loc,
- mk_anti ~c: "class_sig_item" n s),
+ (Ast.CgAnt (_loc,
+ (mk_anti ~c: "class_sig_item" n s))),
csg) :
'class_signature)
| _ -> assert false)));
@@ -6282,7 +6542,7 @@ Very old (no more supported) syntax:\n\
((("" | "csg" | "anti" | "list" as n)),
s) ->
(Ast.CgAnt (_loc,
- mk_anti ~c: "class_sig_item" n s) :
+ (mk_anti ~c: "class_sig_item" n s)) :
'class_signature)
| _ -> assert false))) ]) ]))
());
@@ -6403,7 +6663,7 @@ Very old (no more supported) syntax:\n\
((("" | "csg" | "anti" | "list" as n)),
s) ->
(Ast.CgAnt (_loc,
- mk_anti ~c: "class_sig_item" n s) :
+ (mk_anti ~c: "class_sig_item" n s)) :
'class_sig_item)
| _ -> assert false))) ]) ]))
());
@@ -6466,7 +6726,7 @@ Very old (no more supported) syntax:\n\
((("" | "typ" | "anti" | "list" as n)),
s) ->
(Ast.CtAnt (_loc,
- mk_anti ~c: "class_type" n s) :
+ (mk_anti ~c: "class_type" n s)) :
'class_description)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword "and"; Gram.Sself ],
@@ -6523,7 +6783,7 @@ Very old (no more supported) syntax:\n\
((("" | "typ" | "anti" | "list" as n)),
s) ->
(Ast.CtAnt (_loc,
- mk_anti ~c: "class_type" n s) :
+ (mk_anti ~c: "class_type" n s)) :
'class_type_declaration)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword "and"; Gram.Sself ],
@@ -6572,7 +6832,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (e : 'expr) _ (l : 'label)
(_loc : Gram.Loc.t) ->
- (Ast.RbEq (_loc, Ast.IdLid (_loc, l), e) :
+ (Ast.RbEq (_loc, (Ast.IdLid (_loc, l)), e) :
'field_expr))));
([ Gram.Stoken
(((function
@@ -6585,7 +6845,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.RbAnt (_loc,
- mk_anti ~c: "rec_binding" n s) :
+ (mk_anti ~c: "rec_binding" n s)) :
'field_expr)
| _ -> assert false)));
([ Gram.Stoken
@@ -6600,7 +6860,7 @@ Very old (no more supported) syntax:\n\
| ANTIQUOT ((("" | "bi" | "anti" as n)), s)
->
(Ast.RbAnt (_loc,
- mk_anti ~c: "rec_binding" n s) :
+ (mk_anti ~c: "rec_binding" n s)) :
'field_expr)
| _ -> assert false))) ]) ]))
());
@@ -6651,7 +6911,8 @@ Very old (no more supported) syntax:\n\
(fun (t : 'poly_type) _ (lab : 'a_LIDENT)
(_loc : Gram.Loc.t) ->
(Ast.TyCol (_loc,
- Ast.TyId (_loc, Ast.IdLid (_loc, lab)), t) :
+ (Ast.TyId (_loc, (Ast.IdLid (_loc, lab)))),
+ t) :
'meth_decl))));
([ Gram.Stoken
(((function | QUOTATION _ -> true | _ -> false),
@@ -6676,7 +6937,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.TyAnt (_loc,
- mk_anti ~c: "ctyp;" n s) :
+ (mk_anti ~c: "ctyp;" n s)) :
'meth_decl)
| _ -> assert false)));
([ Gram.Stoken
@@ -6689,7 +6950,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "typ" as n)), s) ->
- (Ast.TyAnt (_loc, mk_anti ~c: "ctyp" n s) :
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s)) :
'meth_decl)
| _ -> assert false))) ]) ]))
());
@@ -6702,7 +6964,7 @@ Very old (no more supported) syntax:\n\
(opt_dot_dot : 'opt_dot_dot Gram.Entry.t)) ],
(Gram.Action.mk
(fun (v : 'opt_dot_dot) (_loc : Gram.Loc.t) ->
- (Ast.TyObj (_loc, Ast.TyNil _loc, v) :
+ (Ast.TyObj (_loc, (Ast.TyNil _loc), v) :
'opt_meth_list))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -6765,7 +7027,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "typ" as n)), s) ->
- (Ast.TyAnt (_loc, mk_anti ~c: "ctyp" n s) :
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s)) :
'typevars)
| _ -> assert false)));
([ Gram.Sself; Gram.Sself ],
@@ -6794,7 +7057,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (t : 'amp_ctyp) _ (i : 'a_ident) _
(_loc : Gram.Loc.t) ->
- (Ast.TyOf (_loc, Ast.TyVrn (_loc, i), t) :
+ (Ast.TyOf (_loc, (Ast.TyVrn (_loc, i)), t) :
'row_field))));
([ Gram.Skeyword "`";
Gram.Snterm
@@ -6807,7 +7070,7 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (t : 'amp_ctyp) _ _ (i : 'a_ident) _
(_loc : Gram.Loc.t) ->
- (Ast.TyOfAmp (_loc, Ast.TyVrn (_loc, i), t) :
+ (Ast.TyOfAmp (_loc, (Ast.TyVrn (_loc, i)), t) :
'row_field))));
([ Gram.Skeyword "`";
Gram.Snterm
@@ -6832,7 +7095,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.TyAnt (_loc,
- mk_anti ~c: "ctyp|" n s) :
+ (mk_anti ~c: "ctyp|" n s)) :
'row_field)
| _ -> assert false)));
([ Gram.Stoken
@@ -6845,7 +7108,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "typ" as n)), s) ->
- (Ast.TyAnt (_loc, mk_anti ~c: "ctyp" n s) :
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s)) :
'row_field)
| _ -> assert false))) ]) ]))
());
@@ -6869,7 +7133,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("list" as n)), s) ->
(Ast.TyAnt (_loc,
- mk_anti ~c: "ctyp&" n s) :
+ (mk_anti ~c: "ctyp&" n s)) :
'amp_ctyp)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword "&"; Gram.Sself ],
@@ -6904,7 +7168,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "typ" as n)), s) ->
- (Ast.TyAnt (_loc, mk_anti ~c: "ctyp" n s) :
+ (Ast.TyAnt (_loc,
+ (mk_anti ~c: "ctyp" n s)) :
'name_tags)
| _ -> assert false))) ]) ]))
());
@@ -6979,8 +7244,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "lid" as n)), i) ->
- (Ast.PaOlb (_loc, mk_anti n i,
- Ast.PaNil _loc) :
+ (Ast.PaOlb (_loc, (mk_anti n i),
+ (Ast.PaNil _loc)) :
'ipatt)
| _ -> assert false)));
([ Gram.Skeyword "?";
@@ -6992,7 +7257,7 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| LIDENT i ->
- (Ast.PaOlb (_loc, i, Ast.PaNil _loc) :
+ (Ast.PaOlb (_loc, i, (Ast.PaNil _loc)) :
'ipatt)
| _ -> assert false)));
([ Gram.Skeyword "?";
@@ -7044,7 +7309,7 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| LIDENT i ->
- (Ast.PaLab (_loc, i, Ast.PaNil _loc) :
+ (Ast.PaLab (_loc, i, (Ast.PaNil _loc)) :
'ipatt)
| _ -> assert false)));
([ Gram.Skeyword "~";
@@ -7058,8 +7323,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "lid" as n)), i) ->
- (Ast.PaLab (_loc, mk_anti n i,
- Ast.PaNil _loc) :
+ (Ast.PaLab (_loc, (mk_anti n i),
+ (Ast.PaNil _loc)) :
'ipatt)
| _ -> assert false)));
([ Gram.Skeyword "~";
@@ -7074,7 +7339,7 @@ Very old (no more supported) syntax:\n\
_ (_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" | "lid" as n)), i) ->
- (Ast.PaLab (_loc, mk_anti n i, p) :
+ (Ast.PaLab (_loc, (mk_anti n i), p) :
'ipatt)
| _ -> assert false)));
([ Gram.Stoken
@@ -7114,25 +7379,25 @@ Very old (no more supported) syntax:\n\
[ (None, None,
[ ([ Gram.Stoken
(((function
- | ANTIQUOT ("to", _) -> true
+ | ANTIQUOT (("to" | "anti"), _) -> true
| _ -> false),
- "ANTIQUOT (\"to\", _)")) ],
+ "ANTIQUOT ((\"to\" | \"anti\"), _)")) ],
(Gram.Action.mk
(fun (__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | ANTIQUOT ((("to" as n)), s) ->
- (Ast.BAnt (mk_anti n s) :
+ | ANTIQUOT ((("to" | "anti" as n)), s) ->
+ (Ast.DiAnt (mk_anti n s) :
'direction_flag)
| _ -> assert false)));
([ Gram.Skeyword "downto" ],
(Gram.Action.mk
(fun _ (_loc : Gram.Loc.t) ->
- (Ast.BFalse : 'direction_flag))));
+ (Ast.DiDownto : 'direction_flag))));
([ Gram.Skeyword "to" ],
(Gram.Action.mk
(fun _ (_loc : Gram.Loc.t) ->
- (Ast.BTrue : 'direction_flag)))) ]) ]))
+ (Ast.DiTo : 'direction_flag)))) ]) ]))
());
Gram.extend (opt_private : 'opt_private Gram.Entry.t)
((fun () ->
@@ -7141,23 +7406,24 @@ Very old (no more supported) syntax:\n\
[ ([],
(Gram.Action.mk
(fun (_loc : Gram.Loc.t) ->
- (Ast.BFalse : 'opt_private))));
+ (Ast.PrNil : 'opt_private))));
([ Gram.Stoken
(((function
- | ANTIQUOT ("private", _) -> true
+ | ANTIQUOT (("private" | "anti"), _) -> true
| _ -> false),
- "ANTIQUOT (\"private\", _)")) ],
+ "ANTIQUOT ((\"private\" | \"anti\"), _)")) ],
(Gram.Action.mk
(fun (__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | ANTIQUOT ((("private" as n)), s) ->
- (Ast.BAnt (mk_anti n s) : 'opt_private)
+ | ANTIQUOT ((("private" | "anti" as n)), s)
+ ->
+ (Ast.PrAnt (mk_anti n s) : 'opt_private)
| _ -> assert false)));
([ Gram.Skeyword "private" ],
(Gram.Action.mk
(fun _ (_loc : Gram.Loc.t) ->
- (Ast.BTrue : 'opt_private)))) ]) ]))
+ (Ast.PrPrivate : 'opt_private)))) ]) ]))
());
Gram.extend (opt_mutable : 'opt_mutable Gram.Entry.t)
((fun () ->
@@ -7166,23 +7432,24 @@ Very old (no more supported) syntax:\n\
[ ([],
(Gram.Action.mk
(fun (_loc : Gram.Loc.t) ->
- (Ast.BFalse : 'opt_mutable))));
+ (Ast.MuNil : 'opt_mutable))));
([ Gram.Stoken
(((function
- | ANTIQUOT ("mutable", _) -> true
+ | ANTIQUOT (("mutable" | "anti"), _) -> true
| _ -> false),
- "ANTIQUOT (\"mutable\", _)")) ],
+ "ANTIQUOT ((\"mutable\" | \"anti\"), _)")) ],
(Gram.Action.mk
(fun (__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | ANTIQUOT ((("mutable" as n)), s) ->
- (Ast.BAnt (mk_anti n s) : 'opt_mutable)
+ | ANTIQUOT ((("mutable" | "anti" as n)), s)
+ ->
+ (Ast.MuAnt (mk_anti n s) : 'opt_mutable)
| _ -> assert false)));
([ Gram.Skeyword "mutable" ],
(Gram.Action.mk
(fun _ (_loc : Gram.Loc.t) ->
- (Ast.BTrue : 'opt_mutable)))) ]) ]))
+ (Ast.MuMutable : 'opt_mutable)))) ]) ]))
());
Gram.extend (opt_virtual : 'opt_virtual Gram.Entry.t)
((fun () ->
@@ -7191,23 +7458,24 @@ Very old (no more supported) syntax:\n\
[ ([],
(Gram.Action.mk
(fun (_loc : Gram.Loc.t) ->
- (Ast.BFalse : 'opt_virtual))));
+ (Ast.ViNil : 'opt_virtual))));
([ Gram.Stoken
(((function
- | ANTIQUOT ("virtual", _) -> true
+ | ANTIQUOT (("virtual" | "anti"), _) -> true
| _ -> false),
- "ANTIQUOT (\"virtual\", _)")) ],
+ "ANTIQUOT ((\"virtual\" | \"anti\"), _)")) ],
(Gram.Action.mk
(fun (__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | ANTIQUOT ((("virtual" as n)), s) ->
- (Ast.BAnt (mk_anti n s) : 'opt_virtual)
+ | ANTIQUOT ((("virtual" | "anti" as n)), s)
+ ->
+ (Ast.ViAnt (mk_anti n s) : 'opt_virtual)
| _ -> assert false)));
([ Gram.Skeyword "virtual" ],
(Gram.Action.mk
(fun _ (_loc : Gram.Loc.t) ->
- (Ast.BTrue : 'opt_virtual)))) ]) ]))
+ (Ast.ViVirtual : 'opt_virtual)))) ]) ]))
());
Gram.extend (opt_dot_dot : 'opt_dot_dot Gram.Entry.t)
((fun () ->
@@ -7216,23 +7484,23 @@ Very old (no more supported) syntax:\n\
[ ([],
(Gram.Action.mk
(fun (_loc : Gram.Loc.t) ->
- (Ast.BFalse : 'opt_dot_dot))));
+ (Ast.RvNil : 'opt_dot_dot))));
([ Gram.Stoken
(((function
- | ANTIQUOT ("..", _) -> true
+ | ANTIQUOT ((".." | "anti"), _) -> true
| _ -> false),
- "ANTIQUOT (\"..\", _)")) ],
+ "ANTIQUOT ((\"..\" | \"anti\"), _)")) ],
(Gram.Action.mk
(fun (__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | ANTIQUOT (((".." as n)), s) ->
- (Ast.BAnt (mk_anti n s) : 'opt_dot_dot)
+ | ANTIQUOT (((".." | "anti" as n)), s) ->
+ (Ast.RvAnt (mk_anti n s) : 'opt_dot_dot)
| _ -> assert false)));
([ Gram.Skeyword ".." ],
(Gram.Action.mk
(fun _ (_loc : Gram.Loc.t) ->
- (Ast.BTrue : 'opt_dot_dot)))) ]) ]))
+ (Ast.RvRowVar : 'opt_dot_dot)))) ]) ]))
());
Gram.extend (opt_rec : 'opt_rec Gram.Entry.t)
((fun () ->
@@ -7241,23 +7509,51 @@ Very old (no more supported) syntax:\n\
[ ([],
(Gram.Action.mk
(fun (_loc : Gram.Loc.t) ->
- (Ast.BFalse : 'opt_rec))));
+ (Ast.ReNil : 'opt_rec))));
([ Gram.Stoken
(((function
- | ANTIQUOT ("rec", _) -> true
+ | ANTIQUOT (("rec" | "anti"), _) -> true
| _ -> false),
- "ANTIQUOT (\"rec\", _)")) ],
+ "ANTIQUOT ((\"rec\" | \"anti\"), _)")) ],
(Gram.Action.mk
(fun (__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | ANTIQUOT ((("rec" as n)), s) ->
- (Ast.BAnt (mk_anti n s) : 'opt_rec)
+ | ANTIQUOT ((("rec" | "anti" as n)), s) ->
+ (Ast.ReAnt (mk_anti n s) : 'opt_rec)
| _ -> assert false)));
([ Gram.Skeyword "rec" ],
(Gram.Action.mk
(fun _ (_loc : Gram.Loc.t) ->
- (Ast.BTrue : 'opt_rec)))) ]) ]))
+ (Ast.ReRecursive : 'opt_rec)))) ]) ]))
+ ());
+ Gram.extend (opt_override : 'opt_override Gram.Entry.t)
+ ((fun () ->
+ (None,
+ [ (None, None,
+ [ ([],
+ (Gram.Action.mk
+ (fun (_loc : Gram.Loc.t) ->
+ (Ast.OvNil : 'opt_override))));
+ ([ Gram.Stoken
+ (((function
+ | ANTIQUOT (("!" | "override" | "anti"), _)
+ -> true
+ | _ -> false),
+ "ANTIQUOT ((\"!\" | \"override\" | \"anti\"), _)")) ],
+ (Gram.Action.mk
+ (fun (__camlp4_0 : Gram.Token.t)
+ (_loc : Gram.Loc.t) ->
+ match __camlp4_0 with
+ | ANTIQUOT
+ ((("!" | "override" | "anti" as n)), s)
+ ->
+ (Ast.OvAnt (mk_anti n s) : 'opt_override)
+ | _ -> assert false)));
+ ([ Gram.Skeyword "!" ],
+ (Gram.Action.mk
+ (fun _ (_loc : Gram.Loc.t) ->
+ (Ast.OvOverride : 'opt_override)))) ]) ]))
());
Gram.extend (opt_expr : 'opt_expr Gram.Entry.t)
((fun () ->
@@ -7325,9 +7621,10 @@ Very old (no more supported) syntax:\n\
(semi : 'semi Gram.Entry.t)) ],
(Gram.Action.mk
(fun _ (sg : 'sig_item)
- (_loc : Gram.Loc.t) -> (sg : 'e__5)))) ]) ],
+ (_loc : Gram.Loc.t) ->
+ (sg : 'e__12)))) ]) ],
(Gram.Action.mk
- (fun (l : 'e__5 list) (_loc : Gram.Loc.t) ->
+ (fun (l : 'e__12 list) (_loc : Gram.Loc.t) ->
(Ast.sgSem_of_list l : 'sig_items))));
([ Gram.Stoken
(((function
@@ -7347,8 +7644,8 @@ Very old (no more supported) syntax:\n\
((("" | "sigi" | "anti" | "list" as n)),
s) ->
(Ast.SgSem (_loc,
- Ast.SgAnt (_loc,
- mk_anti n ~c: "sig_item" s),
+ (Ast.SgAnt (_loc,
+ (mk_anti n ~c: "sig_item" s))),
sg) :
'sig_items)
| _ -> assert false)));
@@ -7366,7 +7663,7 @@ Very old (no more supported) syntax:\n\
((("" | "sigi" | "anti" | "list" as n)),
s) ->
(Ast.SgAnt (_loc,
- mk_anti n ~c: "sig_item" s) :
+ (mk_anti n ~c: "sig_item" s)) :
'sig_items)
| _ -> assert false))) ]) ]))
());
@@ -7422,9 +7719,10 @@ Very old (no more supported) syntax:\n\
(semi : 'semi Gram.Entry.t)) ],
(Gram.Action.mk
(fun _ (st : 'str_item)
- (_loc : Gram.Loc.t) -> (st : 'e__6)))) ]) ],
+ (_loc : Gram.Loc.t) ->
+ (st : 'e__13)))) ]) ],
(Gram.Action.mk
- (fun (l : 'e__6 list) (_loc : Gram.Loc.t) ->
+ (fun (l : 'e__13 list) (_loc : Gram.Loc.t) ->
(Ast.stSem_of_list l : 'str_items))));
([ Gram.Stoken
(((function
@@ -7444,8 +7742,8 @@ Very old (no more supported) syntax:\n\
((("" | "stri" | "anti" | "list" as n)),
s) ->
(Ast.StSem (_loc,
- Ast.StAnt (_loc,
- mk_anti n ~c: "str_item" s),
+ (Ast.StAnt (_loc,
+ (mk_anti n ~c: "str_item" s))),
st) :
'str_items)
| _ -> assert false)));
@@ -7463,7 +7761,7 @@ Very old (no more supported) syntax:\n\
((("" | "stri" | "anti" | "list" as n)),
s) ->
(Ast.StAnt (_loc,
- mk_anti n ~c: "str_item" s) :
+ (mk_anti n ~c: "str_item" s)) :
'str_items)
| _ -> assert false))) ]) ]))
());
@@ -8064,7 +8362,8 @@ Very old (no more supported) syntax:\n\
(fun (z : 'label_declaration_list) _
(y : 'more_ctyp) _ (x : 'more_ctyp)
(_loc : Gram.Loc.t) ->
- (Ast.TySem (_loc, Ast.TyCol (_loc, x, y), z) :
+ (Ast.TySem (_loc, (Ast.TyCol (_loc, x, y)),
+ z) :
'ctyp_quot))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -8091,7 +8390,8 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun (z : 'row_field) _ (y : 'amp_ctyp) _ _
(x : 'more_ctyp) (_loc : Gram.Loc.t) ->
- (Ast.TyOr (_loc, Ast.TyOfAmp (_loc, x, y), z) :
+ (Ast.TyOr (_loc, (Ast.TyOfAmp (_loc, x, y)),
+ z) :
'ctyp_quot))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -8121,7 +8421,7 @@ Very old (no more supported) syntax:\n\
(fun (z : 'constructor_declarations) _
(y : 'constructor_arg_list) _
(x : 'more_ctyp) (_loc : Gram.Loc.t) ->
- (Ast.TyOr (_loc, Ast.TyOf (_loc, x, y), z) :
+ (Ast.TyOr (_loc, (Ast.TyOf (_loc, x, y)), z) :
'ctyp_quot))));
([ Gram.Snterm
(Gram.Entry.obj
@@ -8311,10 +8611,11 @@ Very old (no more supported) syntax:\n\
(fun (_loc : Gram.Loc.t) ->
(Ast.McNil _loc : 'match_case_quot))));
([ Gram.Slist0sep
- (Gram.Snterm
- (Gram.Entry.obj
- (match_case0 : 'match_case0 Gram.Entry.t)),
- Gram.Skeyword "|") ],
+ ((Gram.Snterm
+ (Gram.Entry.obj
+ (match_case0 :
+ 'match_case0 Gram.Entry.t))),
+ (Gram.Skeyword "|")) ],
(Gram.Action.mk
(fun (x : 'match_case0 list) (_loc : Gram.Loc.t)
-> (Ast.mcOr_of_list x : 'match_case_quot)))) ]) ]))
@@ -8406,7 +8707,8 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" as n)), m) ->
- (Ast.MbColEq (_loc, mk_anti n m, mt, me) :
+ (Ast.MbColEq (_loc, (mk_anti n m), mt,
+ me) :
'module_binding_quot)
| _ -> assert false)));
([ Gram.Stoken
@@ -8424,7 +8726,7 @@ Very old (no more supported) syntax:\n\
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
| ANTIQUOT ((("" as n)), m) ->
- (Ast.MbCol (_loc, mk_anti n m, mt) :
+ (Ast.MbCol (_loc, (mk_anti n m), mt) :
'module_binding_quot)
| _ -> assert false)));
([ Gram.Stoken
@@ -8438,7 +8740,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("" as n)), s) ->
(Ast.MbAnt (_loc,
- mk_anti ~c: "module_binding" n s) :
+ (mk_anti ~c: "module_binding" n s)) :
'module_binding_quot)
| _ -> assert false)));
([ Gram.Stoken
@@ -8455,7 +8757,7 @@ Very old (no more supported) syntax:\n\
((("module_binding" | "anti" as n)), s)
->
(Ast.MbAnt (_loc,
- mk_anti ~c: "module_binding" n s) :
+ (mk_anti ~c: "module_binding" n s)) :
'module_binding_quot)
| _ -> assert false)));
([ Gram.Sself; Gram.Skeyword "and"; Gram.Sself ],
@@ -8502,8 +8804,8 @@ Very old (no more supported) syntax:\n\
((("" | "id" | "anti" | "list" as n)), s)
->
(Ast.IdAcc (_loc,
- Ast.IdAnt (_loc,
- mk_anti ~c: "ident" n s),
+ (Ast.IdAnt (_loc,
+ (mk_anti ~c: "ident" n s))),
i) :
'ident_quot)
| _ -> assert false)));
@@ -8533,7 +8835,7 @@ Very old (no more supported) syntax:\n\
((("" | "id" | "anti" | "list" as n)), s)
->
(Ast.IdAnt (_loc,
- mk_anti ~c: "ident" n s) :
+ (mk_anti ~c: "ident" n s)) :
'ident_quot)
| _ -> assert false))) ]) ]))
());
@@ -8569,7 +8871,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("virtual" as n)), s) ->
(let anti =
- Ast.BAnt
+ Ast.ViAnt
(mk_anti ~c: "class_expr" n s)
in Ast.CeCon (_loc, anti, i, ot) :
'class_expr_quot)
@@ -8582,8 +8884,8 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun ((i, ot) : 'class_name_and_param) _
(_loc : Gram.Loc.t) ->
- (Ast.CeCon (_loc, Ast.BTrue,
- Ast.IdLid (_loc, i), ot) :
+ (Ast.CeCon (_loc, Ast.ViVirtual,
+ (Ast.IdLid (_loc, i)), ot) :
'class_expr_quot))));
([ Gram.Sself; Gram.Skeyword "="; Gram.Sself ],
(Gram.Action.mk
@@ -8633,7 +8935,7 @@ Very old (no more supported) syntax:\n\
match __camlp4_0 with
| ANTIQUOT ((("virtual" as n)), s) ->
(let anti =
- Ast.BAnt
+ Ast.ViAnt
(mk_anti ~c: "class_type" n s)
in Ast.CtCon (_loc, anti, i, ot) :
'class_type_quot)
@@ -8646,8 +8948,8 @@ Very old (no more supported) syntax:\n\
(Gram.Action.mk
(fun ((i, ot) : 'class_name_and_param) _
(_loc : Gram.Loc.t) ->
- (Ast.CtCon (_loc, Ast.BTrue,
- Ast.IdLid (_loc, i), ot) :
+ (Ast.CtCon (_loc, Ast.ViVirtual,
+ (Ast.IdLid (_loc, i)), ot) :
'class_type_quot))));
([ Gram.Sself; Gram.Skeyword ":"; Gram.Sself ],
(Gram.Action.mk
@@ -8744,6 +9046,90 @@ Very old (no more supported) syntax:\n\
(fun (x : 'with_constr) (_loc : Gram.Loc.t) ->
(x : 'with_constr_quot)))) ]) ]))
());
+ Gram.extend (rec_flag_quot : 'rec_flag_quot Gram.Entry.t)
+ ((fun () ->
+ (None,
+ [ (None, None,
+ [ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (opt_rec : 'opt_rec Gram.Entry.t)) ],
+ (Gram.Action.mk
+ (fun (x : 'opt_rec) (_loc : Gram.Loc.t) ->
+ (x : 'rec_flag_quot)))) ]) ]))
+ ());
+ Gram.extend
+ (direction_flag_quot : 'direction_flag_quot Gram.Entry.t)
+ ((fun () ->
+ (None,
+ [ (None, None,
+ [ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (direction_flag :
+ 'direction_flag Gram.Entry.t)) ],
+ (Gram.Action.mk
+ (fun (x : 'direction_flag) (_loc : Gram.Loc.t)
+ -> (x : 'direction_flag_quot)))) ]) ]))
+ ());
+ Gram.extend
+ (mutable_flag_quot : 'mutable_flag_quot Gram.Entry.t)
+ ((fun () ->
+ (None,
+ [ (None, None,
+ [ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (opt_mutable : 'opt_mutable Gram.Entry.t)) ],
+ (Gram.Action.mk
+ (fun (x : 'opt_mutable) (_loc : Gram.Loc.t) ->
+ (x : 'mutable_flag_quot)))) ]) ]))
+ ());
+ Gram.extend
+ (private_flag_quot : 'private_flag_quot Gram.Entry.t)
+ ((fun () ->
+ (None,
+ [ (None, None,
+ [ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (opt_private : 'opt_private Gram.Entry.t)) ],
+ (Gram.Action.mk
+ (fun (x : 'opt_private) (_loc : Gram.Loc.t) ->
+ (x : 'private_flag_quot)))) ]) ]))
+ ());
+ Gram.extend
+ (virtual_flag_quot : 'virtual_flag_quot Gram.Entry.t)
+ ((fun () ->
+ (None,
+ [ (None, None,
+ [ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (opt_virtual : 'opt_virtual Gram.Entry.t)) ],
+ (Gram.Action.mk
+ (fun (x : 'opt_virtual) (_loc : Gram.Loc.t) ->
+ (x : 'virtual_flag_quot)))) ]) ]))
+ ());
+ Gram.extend
+ (row_var_flag_quot : 'row_var_flag_quot Gram.Entry.t)
+ ((fun () ->
+ (None,
+ [ (None, None,
+ [ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (opt_dot_dot : 'opt_dot_dot Gram.Entry.t)) ],
+ (Gram.Action.mk
+ (fun (x : 'opt_dot_dot) (_loc : Gram.Loc.t) ->
+ (x : 'row_var_flag_quot)))) ]) ]))
+ ());
+ Gram.extend
+ (override_flag_quot : 'override_flag_quot Gram.Entry.t)
+ ((fun () ->
+ (None,
+ [ (None, None,
+ [ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (opt_override : 'opt_override Gram.Entry.t)) ],
+ (Gram.Action.mk
+ (fun (x : 'opt_override) (_loc : Gram.Loc.t) ->
+ (x : 'override_flag_quot)))) ]) ]))
+ ());
Gram.extend (patt_eoi : 'patt_eoi Gram.Entry.t)
((fun () ->
(None,
@@ -8829,9 +9215,9 @@ module Camlp4QuotationCommon =
let meta_loc_expr _loc loc =
match !loc_name with
- | None -> Ast.ExId (_loc, Ast.IdLid (_loc, !Loc.name))
+ | None -> Ast.ExId (_loc, (Ast.IdLid (_loc, !Loc.name)))
| Some "here" -> MetaLocHere.meta_loc_expr _loc loc
- | Some x -> Ast.ExId (_loc, Ast.IdLid (_loc, x))
+ | Some x -> Ast.ExId (_loc, (Ast.IdLid (_loc, x)))
let meta_loc_patt _loc _ = Ast.PaAny _loc
@@ -8872,139 +9258,156 @@ module Camlp4QuotationCommon =
match n with
| "antisig_item" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgAnt")))))),
+ (mloc _loc))),
p)
| "antistr_item" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StAnt")))))),
+ (mloc _loc))),
p)
| "antictyp" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyAnt")))))),
+ (mloc _loc))),
p)
| "antipatt" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaAnt")))))),
+ (mloc _loc))),
p)
| "antiexpr" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAnt")))))),
+ (mloc _loc))),
p)
| "antimodule_type" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtAnt")))))),
+ (mloc _loc))),
p)
| "antimodule_expr" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeAnt")))))),
+ (mloc _loc))),
p)
| "anticlass_type" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtAnt")))))),
+ (mloc _loc))),
p)
| "anticlass_expr" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeAnt")))))),
+ (mloc _loc))),
p)
| "anticlass_sig_item" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgAnt")))))),
+ (mloc _loc))),
p)
| "anticlass_str_item" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrAnt")))))),
+ (mloc _loc))),
p)
| "antiwith_constr" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcAnt")))))),
+ (mloc _loc))),
p)
| "antibinding" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BiAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BiAnt")))))),
+ (mloc _loc))),
p)
| "antirec_binding" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "RbAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RbAnt")))))),
+ (mloc _loc))),
p)
| "antimatch_case" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "McAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "McAnt")))))),
+ (mloc _loc))),
p)
| "antimodule_binding" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MbAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MbAnt")))))),
+ (mloc _loc))),
p)
| "antiident" ->
Ast.PaApp (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "IdAnt"))),
- mloc _loc),
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "IdAnt")))))),
+ (mloc _loc))),
p)
| _ -> p)
| p -> super#patt p
@@ -9020,339 +9423,387 @@ module Camlp4QuotationCommon =
match n with
| "`int" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdLid (_loc, "string_of_int")),
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "string_of_int")))),
e)
| "`int32" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Int32"),
- Ast.IdLid (_loc, "to_string"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Int32")),
+ (Ast.IdLid (_loc, "to_string")))))),
e)
| "`int64" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Int64"),
- Ast.IdLid (_loc, "to_string"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Int64")),
+ (Ast.IdLid (_loc, "to_string")))))),
e)
| "`nativeint" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Nativeint"),
- Ast.IdLid (_loc, "to_string"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Nativeint")),
+ (Ast.IdLid (_loc, "to_string")))))),
e)
| "`flo" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdLid (_loc, "string_of_float")),
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "string_of_float")))),
e)
| "`str" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "safe_string_escaped"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "safe_string_escaped")))))),
e)
| "`chr" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Char"),
- Ast.IdLid (_loc, "escaped"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Char")),
+ (Ast.IdLid (_loc, "escaped")))))),
e)
| "`bool" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "IdUid"))),
- mloc _loc),
- Ast.ExIfe (_loc, e, Ast.ExStr (_loc, "True"),
- Ast.ExStr (_loc, "False")))
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "IdUid")))))),
+ (mloc _loc))),
+ (Ast.ExIfe (_loc, e,
+ (Ast.ExStr (_loc, "True")),
+ (Ast.ExStr (_loc, "False")))))
| "liststr_item" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "stSem_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "stSem_of_list")))))),
e)
| "listsig_item" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "sgSem_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "sgSem_of_list")))))),
e)
| "listclass_sig_item" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "cgSem_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "cgSem_of_list")))))),
e)
| "listclass_str_item" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "crSem_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "crSem_of_list")))))),
e)
| "listmodule_expr" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "meApp_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "meApp_of_list")))))),
e)
| "listmodule_type" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "mtApp_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "mtApp_of_list")))))),
e)
| "listmodule_binding" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "mbAnd_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "mbAnd_of_list")))))),
e)
| "listbinding" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "biAnd_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "biAnd_of_list")))))),
e)
| "listbinding;" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "biSem_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "biSem_of_list")))))),
e)
| "listrec_binding" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "rbSem_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "rbSem_of_list")))))),
e)
| "listclass_type" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "ctAnd_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "ctAnd_of_list")))))),
e)
| "listclass_expr" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "ceAnd_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "ceAnd_of_list")))))),
e)
| "listident" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "idAcc_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "idAcc_of_list")))))),
e)
| "listctypand" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "tyAnd_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "tyAnd_of_list")))))),
e)
| "listctyp;" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "tySem_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "tySem_of_list")))))),
e)
| "listctyp*" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "tySta_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "tySta_of_list")))))),
e)
| "listctyp|" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "tyOr_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "tyOr_of_list")))))),
e)
| "listctyp," ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "tyCom_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "tyCom_of_list")))))),
e)
| "listctyp&" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "tyAmp_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "tyAmp_of_list")))))),
e)
| "listwith_constr" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "wcAnd_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "wcAnd_of_list")))))),
e)
| "listmatch_case" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "mcOr_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "mcOr_of_list")))))),
e)
| "listpatt," ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "paCom_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "paCom_of_list")))))),
e)
| "listpatt;" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "paSem_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "paSem_of_list")))))),
e)
| "listexpr," ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "exCom_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "exCom_of_list")))))),
e)
| "listexpr;" ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdLid (_loc, "exSem_of_list"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdLid (_loc, "exSem_of_list")))))),
e)
| "antisig_item" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "SgAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "SgAnt")))))),
+ (mloc _loc))),
e)
| "antistr_item" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "StAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "StAnt")))))),
+ (mloc _loc))),
e)
| "antictyp" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "TyAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "TyAnt")))))),
+ (mloc _loc))),
e)
| "antipatt" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "PaAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "PaAnt")))))),
+ (mloc _loc))),
e)
| "antiexpr" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "ExAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "ExAnt")))))),
+ (mloc _loc))),
e)
| "antimodule_type" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MtAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MtAnt")))))),
+ (mloc _loc))),
e)
| "antimodule_expr" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MeAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MeAnt")))))),
+ (mloc _loc))),
e)
| "anticlass_type" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CtAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CtAnt")))))),
+ (mloc _loc))),
e)
| "anticlass_expr" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CeAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CeAnt")))))),
+ (mloc _loc))),
e)
| "anticlass_sig_item" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CgAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CgAnt")))))),
+ (mloc _loc))),
e)
| "anticlass_str_item" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "CrAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "CrAnt")))))),
+ (mloc _loc))),
e)
| "antiwith_constr" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "WcAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "WcAnt")))))),
+ (mloc _loc))),
e)
| "antibinding" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "BiAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "BiAnt")))))),
+ (mloc _loc))),
e)
| "antirec_binding" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "RbAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "RbAnt")))))),
+ (mloc _loc))),
e)
| "antimatch_case" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "McAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "McAnt")))))),
+ (mloc _loc))),
e)
| "antimodule_binding" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "MbAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "MbAnt")))))),
+ (mloc _loc))),
e)
| "antiident" ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, "IdAnt"))),
- mloc _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, "IdAnt")))))),
+ (mloc _loc))),
e)
| _ -> e)
| e -> super#expr e
@@ -9390,12 +9841,12 @@ module Camlp4QuotationCommon =
(Ast.IdUid (_, u)))))),
_) ->
Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Ast"),
- Ast.IdUid (_loc, u))),
- Ast.PaId (_loc, Ast.IdLid (_loc, name)))
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Ast")),
+ (Ast.IdUid (_loc, u)))))),
+ (Ast.PaId (_loc, (Ast.IdLid (_loc, name)))))
| Ast.PaApp (_loc, a, b) ->
- Ast.PaApp (_loc, subst_first_loc a, b)
+ Ast.PaApp (_loc, (subst_first_loc a), b)
| p -> p)
in subst_first_loc exp_ast
in
@@ -9478,6 +9929,34 @@ module Camlp4QuotationCommon =
let _ = add_quotation "ident" ident_quot ME.meta_ident MP.meta_ident
+ let _ =
+ add_quotation "rec_flag" rec_flag_quot ME.meta_rec_flag MP.
+ meta_rec_flag
+
+ let _ =
+ add_quotation "private_flag" private_flag_quot ME.meta_private_flag
+ MP.meta_private_flag
+
+ let _ =
+ add_quotation "row_var_flag" row_var_flag_quot ME.meta_row_var_flag
+ MP.meta_row_var_flag
+
+ let _ =
+ add_quotation "mutable_flag" mutable_flag_quot ME.meta_mutable_flag
+ MP.meta_mutable_flag
+
+ let _ =
+ add_quotation "virtual_flag" virtual_flag_quot ME.meta_virtual_flag
+ MP.meta_virtual_flag
+
+ let _ =
+ add_quotation "override_flag" override_flag_quot ME.
+ meta_override_flag MP.meta_override_flag
+
+ let _ =
+ add_quotation "direction_flag" direction_flag_quot ME.
+ meta_direction_flag MP.meta_direction_flag
+
end
end
@@ -9584,13 +10063,13 @@ module Rp =
let peek_fun _loc =
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "peek")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "peek")))))
let junk_fun _loc =
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "junk")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "junk")))))
(* Parsers. *)
(* In syntax generated, many cases are optimisations. *)
@@ -9637,7 +10116,7 @@ module Rp =
| Ast.McArr (_, _, (Ast.ExNil _), e) -> handle_failure e
| _ -> false)
in (handle_failure me) && (match_case_handle_failure a)
- | Ast.ExLet (_, Ast.BFalse, bi, e) ->
+ | Ast.ExLet (_, Ast.ReNil, bi, e) ->
let rec binding_handle_failure =
(function
| Ast.BiAnd (_, b1, b2) ->
@@ -9673,61 +10152,63 @@ module Rp =
match e with
| Ast.ExId (_, (Ast.IdLid (_, x))) ->
let x = if x = v then strm_n else x
- in Ast.ExId (_loc, Ast.IdLid (_loc, x))
+ in Ast.ExId (_loc, (Ast.IdLid (_loc, x)))
| Ast.ExId (_, (Ast.IdUid (_, _))) -> e
| Ast.ExInt (_, _) -> e
| Ast.ExChr (_, _) -> e
| Ast.ExStr (_, _) -> e
| Ast.ExAcc (_, _, _) -> e
| Ast.ExLet (_, rf, bi, e) ->
- Ast.ExLet (_loc, rf, subst_binding v bi, subst v e)
+ Ast.ExLet (_loc, rf, (subst_binding v bi), (subst v e))
| Ast.ExApp (_, e1, e2) ->
- Ast.ExApp (_loc, subst v e1, subst v e2)
- | Ast.ExTup (_, e) -> Ast.ExTup (_loc, subst v e)
+ Ast.ExApp (_loc, (subst v e1), (subst v e2))
+ | Ast.ExTup (_, e) -> Ast.ExTup (_loc, (subst v e))
| Ast.ExCom (_, e1, e2) ->
- Ast.ExCom (_loc, subst v e1, subst v e2)
+ Ast.ExCom (_loc, (subst v e1), (subst v e2))
| _ -> raise Not_found
and subst_binding v =
function
| Ast.BiAnd (_loc, b1, b2) ->
- Ast.BiAnd (_loc, subst_binding v b1, subst_binding v b2)
+ Ast.BiAnd (_loc, (subst_binding v b1), (subst_binding v b2))
| Ast.BiEq (_loc, (Ast.PaId (_, (Ast.IdLid (_, v')))), e) ->
- Ast.BiEq (_loc, Ast.PaId (_loc, Ast.IdLid (_loc, v')),
- if v = v' then e else subst v e)
+ Ast.BiEq (_loc, (Ast.PaId (_loc, (Ast.IdLid (_loc, v')))),
+ (if v = v' then e else subst v e))
| _ -> raise Not_found
let stream_pattern_component skont ckont =
function
| SpTrm (_loc, p, None) ->
Ast.ExMat (_loc,
- Ast.ExApp (_loc, peek_fun _loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, strm_n))),
- Ast.McOr (_loc,
- Ast.McArr (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc, Ast.IdUid (_loc, "Some")), p),
- Ast.ExNil _loc,
- Ast.ExSeq (_loc,
- Ast.ExSem (_loc,
- Ast.ExApp (_loc, junk_fun _loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, strm_n))),
- skont))),
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc, ckont)))
+ (Ast.ExApp (_loc, (peek_fun _loc),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, strm_n)))))),
+ (Ast.McOr (_loc,
+ (Ast.McArr (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "Some")))), p)),
+ (Ast.ExNil _loc),
+ (Ast.ExSeq (_loc,
+ (Ast.ExSem (_loc,
+ (Ast.ExApp (_loc, (junk_fun _loc),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, strm_n)))))),
+ skont)))))),
+ (Ast.McArr (_loc, (Ast.PaAny _loc), (Ast.ExNil _loc),
+ ckont)))))
| SpTrm (_loc, p, (Some w)) ->
Ast.ExMat (_loc,
- Ast.ExApp (_loc, peek_fun _loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, strm_n))),
- Ast.McOr (_loc,
- Ast.McArr (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc, Ast.IdUid (_loc, "Some")), p),
- w,
- Ast.ExSeq (_loc,
- Ast.ExSem (_loc,
- Ast.ExApp (_loc, junk_fun _loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, strm_n))),
- skont))),
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc, ckont)))
+ (Ast.ExApp (_loc, (peek_fun _loc),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, strm_n)))))),
+ (Ast.McOr (_loc,
+ (Ast.McArr (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "Some")))), p)),
+ w,
+ (Ast.ExSeq (_loc,
+ (Ast.ExSem (_loc,
+ (Ast.ExApp (_loc, (junk_fun _loc),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, strm_n)))))),
+ skont)))))),
+ (Ast.McArr (_loc, (Ast.PaAny _loc), (Ast.ExNil _loc),
+ ckont)))))
| SpNtr (_loc, p, e) ->
let e =
(match e with
@@ -9743,7 +10224,7 @@ module Rp =
when v = strm_n -> e
| _ ->
Ast.ExApp (_loc, e,
- Ast.ExId (_loc, Ast.IdLid (_loc, strm_n))))
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, strm_n))))))
in
if pattern_eq_expression p skont
then
@@ -9754,31 +10235,31 @@ module Rp =
then e
else
Ast.ExTry (_loc, e,
- Ast.McArr (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdUid (_loc, "Failure"))),
- Ast.ExNil _loc, ckont))
+ (Ast.McArr (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdUid (_loc, "Failure")))))),
+ (Ast.ExNil _loc), ckont)))
else
if is_raise_failure ckont
then
- Ast.ExLet (_loc, Ast.BFalse, Ast.BiEq (_loc, p, e),
+ Ast.ExLet (_loc, Ast.ReNil, (Ast.BiEq (_loc, p, e)),
skont)
else
if
pattern_eq_expression
(Ast.PaApp (_loc,
- Ast.PaId (_loc, Ast.IdUid (_loc, "Some")), p))
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "Some")))), p))
skont
then
Ast.ExTry (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "Some")), e),
- Ast.McArr (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdUid (_loc, "Failure"))),
- Ast.ExNil _loc, ckont))
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "Some")))), e)),
+ (Ast.McArr (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdUid (_loc, "Failure")))))),
+ (Ast.ExNil _loc), ckont)))
else
if is_raise ckont
then
@@ -9787,33 +10268,37 @@ module Rp =
then e
else
Ast.ExTry (_loc, e,
- Ast.McArr (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Stream"),
- Ast.IdUid (_loc, "Failure"))),
- Ast.ExNil _loc, ckont))
+ (Ast.McArr (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdUid (_loc, "Failure")))))),
+ (Ast.ExNil _loc), ckont)))
in
- Ast.ExLet (_loc, Ast.BFalse,
- Ast.BiEq (_loc, p, tst), skont))
+ Ast.ExLet (_loc, Ast.ReNil,
+ (Ast.BiEq (_loc, p, tst)), skont))
else
Ast.ExMat (_loc,
- Ast.ExTry (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "Some")), e),
- Ast.McArr (_loc,
- Ast.PaId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdUid (_loc, "Failure"))),
- Ast.ExNil _loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "None")))),
- Ast.McOr (_loc,
- Ast.McArr (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc, Ast.IdUid (_loc, "Some")), p),
- Ast.ExNil _loc, skont),
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc,
- ckont)))
+ (Ast.ExTry (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "Some")))),
+ e)),
+ (Ast.McArr (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdUid (_loc, "Failure")))))),
+ (Ast.ExNil _loc),
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "None")))))))),
+ (Ast.McOr (_loc,
+ (Ast.McArr (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdUid (_loc, "Some")))),
+ p)),
+ (Ast.ExNil _loc), skont)),
+ (Ast.McArr (_loc, (Ast.PaAny _loc),
+ (Ast.ExNil _loc), ckont)))))
| SpStr (_loc, p) ->
(try
match p with
@@ -9821,9 +10306,9 @@ module Rp =
| _ -> raise Not_found
with
| Not_found ->
- Ast.ExLet (_loc, Ast.BFalse,
- Ast.BiEq (_loc, p,
- Ast.ExId (_loc, Ast.IdLid (_loc, strm_n))),
+ Ast.ExLet (_loc, Ast.ReNil,
+ (Ast.BiEq (_loc, p,
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, strm_n)))))),
skont))
let rec stream_pattern _loc epo e ekont =
@@ -9831,13 +10316,13 @@ module Rp =
| [] ->
(match epo with
| Some ep ->
- Ast.ExLet (_loc, Ast.BFalse,
- Ast.BiEq (_loc, ep,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "count"))),
- Ast.ExId (_loc, Ast.IdLid (_loc, strm_n)))),
+ Ast.ExLet (_loc, Ast.ReNil,
+ (Ast.BiEq (_loc, ep,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "count")))))),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, strm_n)))))))),
e)
| _ -> e)
| (spc, err) :: spcl ->
@@ -9849,12 +10334,12 @@ module Rp =
| _ -> Ast.ExStr (_loc, ""))
in
Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, "raise")),
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdUid (_loc, "Error"))),
- str))
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, "raise")))),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdUid (_loc, "Error")))))),
+ str)))
in stream_pattern _loc epo e ekont spcl in
let ckont = ekont err
in stream_pattern_component skont ckont spc
@@ -9865,7 +10350,7 @@ module Rp =
(fun (p, w, _loc, spcl, epo, e) acc ->
let p =
Ast.PaApp (_loc,
- Ast.PaId (_loc, Ast.IdUid (_loc, "Some")), p) in
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "Some")))), p) in
let e =
let ekont err =
let str =
@@ -9874,33 +10359,35 @@ module Rp =
| _ -> Ast.ExStr (_loc, "")
in
Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, "raise")),
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdUid (_loc, "Error"))),
- str)) in
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, "raise")))),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdUid (_loc, "Error")))))),
+ str))) in
let skont = stream_pattern _loc epo e ekont spcl
in
Ast.ExSeq (_loc,
- Ast.ExSem (_loc,
- Ast.ExApp (_loc, junk_fun _loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, strm_n))),
- skont))
+ (Ast.ExSem (_loc,
+ (Ast.ExApp (_loc, (junk_fun _loc),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, strm_n)))))),
+ skont)))
in
match w with
| Some w ->
- Ast.McOr (_loc, Ast.McArr (_loc, p, w, e), acc)
+ Ast.McOr (_loc, (Ast.McArr (_loc, p, w, e)), acc)
| None ->
Ast.McOr (_loc,
- Ast.McArr (_loc, p, Ast.ExNil _loc, e), acc))
+ (Ast.McArr (_loc, p, (Ast.ExNil _loc), e)), acc))
tspel (Ast.McNil _loc)
in
Ast.ExMat (_loc,
- Ast.ExApp (_loc, peek_fun _loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, strm_n))),
- Ast.McOr (_loc, pel,
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc, ekont ())))
+ (Ast.ExApp (_loc, (peek_fun _loc),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, strm_n)))))),
+ (Ast.McOr (_loc, pel,
+ (Ast.McArr (_loc, (Ast.PaAny _loc), (Ast.ExNil _loc),
+ (ekont ()))))))
let rec group_terms =
function
@@ -9912,10 +10399,11 @@ module Rp =
let rec parser_cases _loc =
function
| [] ->
- Ast.ExApp (_loc, Ast.ExId (_loc, Ast.IdLid (_loc, "raise")),
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdUid (_loc, "Failure"))))
+ Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, "raise")))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdUid (_loc, "Failure")))))))
| spel ->
(match group_terms spel with
| ([], (spcl, epo, e) :: spel) ->
@@ -9930,36 +10418,36 @@ module Rp =
let e =
match bpo with
| Some bp ->
- Ast.ExLet (_loc, Ast.BFalse,
- Ast.BiEq (_loc, bp,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "count"))),
- Ast.ExId (_loc, Ast.IdLid (_loc, strm_n)))),
+ Ast.ExLet (_loc, Ast.ReNil,
+ (Ast.BiEq (_loc, bp,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "count")))))),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, strm_n)))))))),
e)
| None -> e in
let p =
- Ast.PaTyc (_loc, Ast.PaId (_loc, Ast.IdLid (_loc, strm_n)),
- Ast.TyApp (_loc,
- Ast.TyId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "t"))),
- Ast.TyAny _loc))
- in Ast.ExFun (_loc, Ast.McArr (_loc, p, Ast.ExNil _loc, e))
+ Ast.PaTyc (_loc, (Ast.PaId (_loc, (Ast.IdLid (_loc, strm_n)))),
+ (Ast.TyApp (_loc,
+ (Ast.TyId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "t")))))),
+ (Ast.TyAny _loc))))
+ in Ast.ExFun (_loc, (Ast.McArr (_loc, p, (Ast.ExNil _loc), e)))
let cparser_match _loc me bpo pc =
let pc = parser_cases _loc pc in
let e =
match bpo with
| Some bp ->
- Ast.ExLet (_loc, Ast.BFalse,
- Ast.BiEq (_loc, bp,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "count"))),
- Ast.ExId (_loc, Ast.IdLid (_loc, strm_n)))),
+ Ast.ExLet (_loc, Ast.ReNil,
+ (Ast.BiEq (_loc, bp,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "count")))))),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, strm_n)))))))),
pc)
| None -> pc in
let me =
@@ -9970,16 +10458,16 @@ module Rp =
match me with
| Ast.ExId (_, (Ast.IdLid (_, x))) when x = strm_n -> e
| _ ->
- Ast.ExLet (_loc, Ast.BFalse,
- Ast.BiEq (_loc,
- Ast.PaTyc (_loc,
- Ast.PaId (_loc, Ast.IdLid (_loc, strm_n)),
- Ast.TyApp (_loc,
- Ast.TyId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "t"))),
- Ast.TyAny _loc)),
- me),
+ Ast.ExLet (_loc, Ast.ReNil,
+ (Ast.BiEq (_loc,
+ (Ast.PaTyc (_loc,
+ (Ast.PaId (_loc, (Ast.IdLid (_loc, strm_n)))),
+ (Ast.TyApp (_loc,
+ (Ast.TyId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "t")))))),
+ (Ast.TyAny _loc))))),
+ me)),
e)
(* streams *)
@@ -10006,10 +10494,10 @@ module Rp =
| Ast.ExId (_, (Ast.IdLid (_, _))) -> f
| _ ->
Ast.ExFun (_loc,
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc, e)))
+ (Ast.McArr (_loc, (Ast.PaAny _loc), (Ast.ExNil _loc), e))))
| _ ->
Ast.ExFun (_loc,
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc, e))
+ (Ast.McArr (_loc, (Ast.PaAny _loc), (Ast.ExNil _loc), e)))
let rec cstream gloc =
function
@@ -10017,67 +10505,67 @@ module Rp =
let _loc = gloc
in
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "sempty")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "sempty")))))
| [ SeTrm (_loc, e) ] ->
if not_computing e
then
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "ising"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "ising")))))),
e)
else
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "lsing"))),
- slazy _loc e)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "lsing")))))),
+ (slazy _loc e))
| SeTrm (_loc, e) :: secl ->
if not_computing e
then
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "icons"))),
- e),
- cstream gloc secl)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "icons")))))),
+ e)),
+ (cstream gloc secl))
else
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "lcons"))),
- slazy _loc e),
- cstream gloc secl)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "lcons")))))),
+ (slazy _loc e))),
+ (cstream gloc secl))
| [ SeNtr (_loc, e) ] ->
if not_computing e
then e
else
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "slazy"))),
- slazy _loc e)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "slazy")))))),
+ (slazy _loc e))
| SeNtr (_loc, e) :: secl ->
if not_computing e
then
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "iapp"))),
- e),
- cstream gloc secl)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "iapp")))))),
+ e)),
+ (cstream gloc secl))
else
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Stream"),
- Ast.IdLid (_loc, "lapp"))),
- slazy _loc e),
- cstream gloc secl)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Stream")),
+ (Ast.IdLid (_loc, "lapp")))))),
+ (slazy _loc e))),
+ (cstream gloc secl))
(* Syntax extensions in Revised Syntax grammar *)
let _ =
@@ -10156,10 +10644,11 @@ module Rp =
([ pc ] : 'parser_case_list))));
([ Gram.Skeyword "[";
Gram.Slist0sep
- (Gram.Snterm
- (Gram.Entry.obj
- (parser_case : 'parser_case Gram.Entry.t)),
- Gram.Skeyword "|");
+ ((Gram.Snterm
+ (Gram.Entry.obj
+ (parser_case :
+ 'parser_case Gram.Entry.t))),
+ (Gram.Skeyword "|"));
Gram.Skeyword "]" ],
(Gram.Action.mk
(fun _ (pcl : 'parser_case list) _
@@ -10275,9 +10764,9 @@ module Rp =
'stream_expr Gram.Entry.t)) ],
(Gram.Action.mk
(fun (e : 'stream_expr) _
- (_loc : Gram.Loc.t) -> (e : 'e__7)))) ]) ],
+ (_loc : Gram.Loc.t) -> (e : 'e__14)))) ]) ],
(Gram.Action.mk
- (fun (eo : 'e__7 option)
+ (fun (eo : 'e__14 option)
(spc : 'stream_patt_comp) (_loc : Gram.Loc.t)
-> ((spc, eo) : 'stream_patt_comp_err)))) ]) ]))
());
@@ -10348,9 +10837,9 @@ module Rp =
'stream_expr Gram.Entry.t)) ],
(Gram.Action.mk
(fun (e : 'stream_expr) _
- (_loc : Gram.Loc.t) -> (e : 'e__8)))) ]) ],
+ (_loc : Gram.Loc.t) -> (e : 'e__15)))) ]) ],
(Gram.Action.mk
- (fun (eo : 'e__8 option) (p : 'patt) _
+ (fun (eo : 'e__15 option) (p : 'patt) _
(_loc : Gram.Loc.t) ->
(SpTrm (_loc, p, eo) : 'stream_patt_comp)))) ]) ]))
());
@@ -10367,7 +10856,7 @@ module Rp =
(a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) ->
- (Ast.PaId (_loc, Ast.IdLid (_loc, i)) :
+ (Ast.PaId (_loc, (Ast.IdLid (_loc, i))) :
'parser_ipatt)))) ]) ]))
());
Gram.extend (expr : 'expr Gram.Entry.t)
@@ -10526,6 +11015,7 @@ module G =
| TXnext of loc
| TXnterm of loc * 'e name * string option
| TXopt of loc * ('e, 'p) text
+ | TXtry of loc * ('e, 'p) text
| TXrules of loc * (((('e, 'p) text) list) * 'e) list
| TXself of loc
| TXkwd of loc * string
@@ -10643,16 +11133,17 @@ module G =
(s)
with
pattern =
- Some (Ast.PaId (_loc, Ast.IdLid (_loc, "x")));
+ Some (Ast.PaId (_loc, (Ast.IdLid (_loc, "x"))));
} ];
action =
Some
(Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Token"),
- Ast.IdLid (_loc, "extract_string")))),
- Ast.ExId (_loc, Ast.IdLid (_loc, "x"))));
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Token")),
+ (Ast.IdLid (_loc, "extract_string")))))))),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, "x"))))));
}
| (* ...; [ symb ]; ... ==> ...; (x = [ symb ] -> x); ... *)
{ prod = [ ({ pattern = None } as s) ]; action = None } ->
@@ -10662,9 +11153,9 @@ module G =
(s)
with
pattern =
- Some (Ast.PaId (_loc, Ast.IdLid (_loc, "x")));
+ Some (Ast.PaId (_loc, (Ast.IdLid (_loc, "x"))));
} ];
- action = Some (Ast.ExId (_loc, Ast.IdLid (_loc, "x")));
+ action = Some (Ast.ExId (_loc, (Ast.IdLid (_loc, "x"))));
}
| (* ...; ([] -> a); ... *)
({ prod = []; action = Some _ } as r) -> r
@@ -10677,29 +11168,29 @@ module G =
let mklistexp _loc =
let rec loop top =
function
- | [] -> Ast.ExId (_loc, Ast.IdUid (_loc, "[]"))
+ | [] -> Ast.ExId (_loc, (Ast.IdUid (_loc, "[]")))
| e1 :: el ->
let _loc =
if top then _loc else Loc.merge (Ast.loc_of_expr e1) _loc
in
Ast.ExApp (_loc,
- Ast.ExApp (_loc, Ast.ExId (_loc, Ast.IdUid (_loc, "::")),
- e1),
- loop false el)
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "::")))), e1)),
+ (loop false el))
in loop true
let mklistpat _loc =
let rec loop top =
function
- | [] -> Ast.PaId (_loc, Ast.IdUid (_loc, "[]"))
+ | [] -> Ast.PaId (_loc, (Ast.IdUid (_loc, "[]")))
| p1 :: pl ->
let _loc =
if top then _loc else Loc.merge (Ast.loc_of_patt p1) _loc
in
Ast.PaApp (_loc,
- Ast.PaApp (_loc, Ast.PaId (_loc, Ast.IdUid (_loc, "::")),
- p1),
- loop false pl)
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "::")))), p1)),
+ (loop false pl))
in loop true
let rec expr_fa al =
@@ -10709,9 +11200,9 @@ module G =
let rec make_ctyp styp tvar =
match styp with
- | STlid (_loc, s) -> Ast.TyId (_loc, Ast.IdLid (_loc, s))
+ | STlid (_loc, s) -> Ast.TyId (_loc, (Ast.IdLid (_loc, s)))
| STapp (_loc, t1, t2) ->
- Ast.TyApp (_loc, make_ctyp t1 tvar, make_ctyp t2 tvar)
+ Ast.TyApp (_loc, (make_ctyp t1 tvar), (make_ctyp t2 tvar))
| STquo (_loc, s) -> Ast.TyQuo (_loc, s)
| STself (_loc, x) ->
if tvar = ""
@@ -10722,11 +11213,12 @@ module G =
else Ast.TyQuo (_loc, tvar)
| STtok _loc ->
Ast.TyId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Token")),
- Ast.IdLid (_loc, "t")))
- | STstring_tok _loc -> Ast.TyId (_loc, Ast.IdLid (_loc, "string"))
+ (Ast.IdAcc (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Token")))),
+ (Ast.IdLid (_loc, "t")))))
+ | STstring_tok _loc ->
+ Ast.TyId (_loc, (Ast.IdLid (_loc, "string")))
| STtyp t -> t
let make_ctyp_patt styp tvar patt =
@@ -10744,11 +11236,11 @@ module G =
| t -> let _loc = Ast.loc_of_expr expr in Ast.ExTyc (_loc, expr, t)
let text_of_action _loc psl rtvar act tvar =
- let locid = Ast.PaId (_loc, Ast.IdLid (_loc, !Loc.name)) in
+ let locid = Ast.PaId (_loc, (Ast.IdLid (_loc, !Loc.name))) in
let act =
match act with
| Some act -> act
- | None -> Ast.ExId (_loc, Ast.IdUid (_loc, "()")) in
+ | None -> Ast.ExId (_loc, (Ast.IdUid (_loc, "()"))) in
let (tok_match_pl, act, _) =
List.fold_left
(fun (((tok_match_pl, act, i) as accu)) ->
@@ -10763,15 +11255,16 @@ module G =
(Ast.PaId (_, (Ast.IdLid (_, s))))))
} ->
(tok_match_pl,
- (Ast.ExLet (_loc, Ast.BFalse,
- Ast.BiEq (_loc,
- Ast.PaId (_loc, Ast.IdLid (_loc, s)),
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Token"),
- Ast.IdLid (_loc, "extract_string")))),
- Ast.ExId (_loc, Ast.IdLid (_loc, s)))),
+ (Ast.ExLet (_loc, Ast.ReNil,
+ (Ast.BiEq (_loc,
+ (Ast.PaId (_loc, (Ast.IdLid (_loc, s)))),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Token")),
+ (Ast.IdLid (_loc, "extract_string")))))))),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, s)))))))),
act)),
i)
| { pattern = Some p; text = TXtok (_, _, _) } ->
@@ -10780,53 +11273,54 @@ module G =
((Some
(match tok_match_pl with
| None ->
- ((Ast.ExId (_loc, Ast.IdLid (_loc, id))), p)
+ ((Ast.ExId (_loc, (Ast.IdLid (_loc, id)))),
+ p)
| Some ((tok_pl, match_pl)) ->
((Ast.ExCom (_loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, id)),
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, id)))),
tok_pl)),
(Ast.PaCom (_loc, p, match_pl))))),
act, (succ i))
| _ -> accu)
(None, act, 0) psl in
let e =
- let e1 = Ast.ExTyc (_loc, act, Ast.TyQuo (_loc, rtvar)) in
+ let e1 = Ast.ExTyc (_loc, act, (Ast.TyQuo (_loc, rtvar))) in
let e2 =
match tok_match_pl with
| None -> e1
| Some ((Ast.ExCom (_, t1, t2), Ast.PaCom (_, p1, p2))) ->
Ast.ExMat (_loc,
- Ast.ExTup (_loc, Ast.ExCom (_loc, t1, t2)),
- Ast.McOr (_loc,
- Ast.McArr (_loc,
- Ast.PaTup (_loc, Ast.PaCom (_loc, p1, p2)),
- Ast.ExNil _loc, e1),
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc,
- Ast.ExAsf _loc)))
+ (Ast.ExTup (_loc, (Ast.ExCom (_loc, t1, t2)))),
+ (Ast.McOr (_loc,
+ (Ast.McArr (_loc,
+ (Ast.PaTup (_loc, (Ast.PaCom (_loc, p1, p2)))),
+ (Ast.ExNil _loc), e1)),
+ (Ast.McArr (_loc, (Ast.PaAny _loc), (Ast.ExNil _loc),
+ (Ast.ExAsf _loc))))))
| Some ((tok, match_)) ->
Ast.ExMat (_loc, tok,
- Ast.McOr (_loc,
- Ast.McArr (_loc, match_, Ast.ExNil _loc, e1),
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc,
- Ast.ExAsf _loc)))
+ (Ast.McOr (_loc,
+ (Ast.McArr (_loc, match_, (Ast.ExNil _loc), e1)),
+ (Ast.McArr (_loc, (Ast.PaAny _loc), (Ast.ExNil _loc),
+ (Ast.ExAsf _loc))))))
in
Ast.ExFun (_loc,
- Ast.McArr (_loc,
- Ast.PaTyc (_loc, locid,
- Ast.TyId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Loc")),
- Ast.IdLid (_loc, "t")))),
- Ast.ExNil _loc, e2)) in
+ (Ast.McArr (_loc,
+ (Ast.PaTyc (_loc, locid,
+ (Ast.TyId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Loc")))),
+ (Ast.IdLid (_loc, "t")))))))),
+ (Ast.ExNil _loc), e2))) in
let (txt, _) =
List.fold_left
(fun (txt, i) s ->
match s.pattern with
| None | Some (Ast.PaAny _) ->
((Ast.ExFun (_loc,
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc,
- txt))),
+ (Ast.McArr (_loc, (Ast.PaAny _loc),
+ (Ast.ExNil _loc), txt)))),
i)
| Some
(Ast.PaAli (_,
@@ -10836,39 +11330,40 @@ module G =
let p = make_ctyp_patt s.styp tvar p
in
((Ast.ExFun (_loc,
- Ast.McArr (_loc, p, Ast.ExNil _loc, txt))),
+ (Ast.McArr (_loc, p, (Ast.ExNil _loc), txt)))),
i)
| Some p when Ast.is_irrefut_patt p ->
let p = make_ctyp_patt s.styp tvar p
in
((Ast.ExFun (_loc,
- Ast.McArr (_loc, p, Ast.ExNil _loc, txt))),
+ (Ast.McArr (_loc, p, (Ast.ExNil _loc), txt)))),
i)
| Some _ ->
let p =
make_ctyp_patt s.styp tvar
(Ast.PaId (_loc,
- Ast.IdLid (_loc, "__camlp4_" ^ (string_of_int i))))
+ (Ast.IdLid (_loc,
+ ("__camlp4_" ^ (string_of_int i))))))
in
((Ast.ExFun (_loc,
- Ast.McArr (_loc, p, Ast.ExNil _loc, txt))),
+ (Ast.McArr (_loc, p, (Ast.ExNil _loc), txt)))),
(succ i)))
(e, 0) psl in
let txt =
if !meta_action
then
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Obj"),
- Ast.IdLid (_loc, "magic"))),
- MetaAst.Expr.meta_expr _loc txt)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Obj")),
+ (Ast.IdLid (_loc, "magic")))))),
+ (MetaAst.Expr.meta_expr _loc txt))
else txt
in
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Action"),
- Ast.IdLid (_loc, "mk")))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Action")),
+ (Ast.IdLid (_loc, "mk")))))))),
txt)
let srules loc t rl tvar =
@@ -10885,144 +11380,154 @@ module G =
List.fold_right
(fun t el ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "::")),
- make_expr entry "" t),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "::")))),
+ (make_expr entry "" t))),
el))
- tl (Ast.ExId (_loc, Ast.IdUid (_loc, "[]")))
+ tl (Ast.ExId (_loc, (Ast.IdUid (_loc, "[]"))))
in
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Smeta"))),
- Ast.ExStr (_loc, n)),
- el),
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Action"),
- Ast.IdLid (_loc, "mk")))),
- make_ctyp_expr t tvar e))
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Smeta")))))),
+ (Ast.ExStr (_loc, n)))),
+ el)),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Action")),
+ (Ast.IdLid (_loc, "mk")))))))),
+ (make_ctyp_expr t tvar e))))
| TXlist (_loc, min, t, ts) ->
let txt = make_expr entry "" t.text
in
(match (min, ts) with
| (false, None) ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Slist0"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Slist0")))))),
txt)
| (true, None) ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Slist1"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Slist1")))))),
txt)
| (false, Some s) ->
let x = make_expr entry tvar s.text
in
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Slist0sep"))),
- txt),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Slist0sep")))))),
+ txt)),
x)
| (true, Some s) ->
let x = make_expr entry tvar s.text
in
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Slist1sep"))),
- txt),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Slist1sep")))))),
+ txt)),
x))
| TXnext _loc ->
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Snext")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Snext")))))
| TXnterm (_loc, n, lev) ->
(match lev with
| Some lab ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Snterml"))),
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Entry"),
- Ast.IdLid (_loc, "obj")))),
- Ast.ExTyc (_loc, n.expr,
- Ast.TyApp (_loc,
- Ast.TyId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Entry")),
- Ast.IdLid (_loc, "t"))),
- Ast.TyQuo (_loc, n.tvar))))),
- Ast.ExStr (_loc, lab))
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Snterml")))))),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Entry")),
+ (Ast.IdLid (_loc, "obj")))))))),
+ (Ast.ExTyc (_loc, n.expr,
+ (Ast.TyApp (_loc,
+ (Ast.TyId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Entry")))),
+ (Ast.IdLid (_loc, "t")))))),
+ (Ast.TyQuo (_loc, n.tvar)))))))))),
+ (Ast.ExStr (_loc, lab)))
| None ->
if n.tvar = tvar
then
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Sself")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Sself")))))
else
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Snterm"))),
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Entry"),
- Ast.IdLid (_loc, "obj")))),
- Ast.ExTyc (_loc, n.expr,
- Ast.TyApp (_loc,
- Ast.TyId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Entry")),
- Ast.IdLid (_loc, "t"))),
- Ast.TyQuo (_loc, n.tvar))))))
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Snterm")))))),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Entry")),
+ (Ast.IdLid (_loc, "obj")))))))),
+ (Ast.ExTyc (_loc, n.expr,
+ (Ast.TyApp (_loc,
+ (Ast.TyId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Entry")))),
+ (Ast.IdLid (_loc, "t")))))),
+ (Ast.TyQuo (_loc, n.tvar))))))))))
| TXopt (_loc, t) ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Sopt"))),
- make_expr entry "" t)
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Sopt")))))),
+ (make_expr entry "" t))
+ | TXtry (_loc, t) ->
+ Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Stry")))))),
+ (make_expr entry "" t))
| TXrules (_loc, rl) ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdLid (_loc, "srules"))),
- entry.expr),
- make_expr_rules _loc entry rl "")
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdLid (_loc, "srules")))))),
+ entry.expr)),
+ (make_expr_rules _loc entry rl ""))
| TXself _loc ->
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Sself")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Sself")))))
| TXkwd (_loc, kwd) ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Skeyword"))),
- Ast.ExStr (_loc, kwd))
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Skeyword")))))),
+ (Ast.ExStr (_loc, kwd)))
| TXtok (_loc, match_fun, descr) ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Stoken"))),
- Ast.ExTup (_loc,
- Ast.ExCom (_loc, match_fun,
- Ast.ExStr (_loc, Ast.safe_string_escaped descr))))
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Stoken")))))),
+ (Ast.ExTup (_loc,
+ (Ast.ExCom (_loc, match_fun,
+ (Ast.ExStr (_loc, (Ast.safe_string_escaped descr))))))))
and make_expr_rules _loc n rl tvar =
List.fold_left
(fun txt (sl, ac) ->
@@ -11032,26 +11537,28 @@ module G =
let x = make_expr n tvar t
in
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "::")), x),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "::")))), x)),
txt))
- sl (Ast.ExId (_loc, Ast.IdUid (_loc, "[]")))
+ sl (Ast.ExId (_loc, (Ast.IdUid (_loc, "[]"))))
in
Ast.ExApp (_loc,
- Ast.ExApp (_loc, Ast.ExId (_loc, Ast.IdUid (_loc, "::")),
- Ast.ExTup (_loc, Ast.ExCom (_loc, sl, ac))),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "::")))),
+ (Ast.ExTup (_loc, (Ast.ExCom (_loc, sl, ac)))))),
txt))
- (Ast.ExId (_loc, Ast.IdUid (_loc, "[]"))) rl
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "[]")))) rl
let expr_of_delete_rule _loc n sl =
let sl =
List.fold_right
(fun s e ->
Ast.ExApp (_loc,
- Ast.ExApp (_loc, Ast.ExId (_loc, Ast.IdUid (_loc, "::")),
- make_expr n "" s.text),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "::")))),
+ (make_expr n "" s.text))),
e))
- sl (Ast.ExId (_loc, Ast.IdUid (_loc, "[]")))
+ sl (Ast.ExId (_loc, (Ast.IdUid (_loc, "[]"))))
in ((n.expr), sl)
let rec tvar_of_ident =
@@ -11150,19 +11657,19 @@ module G =
let _loc = e.name.loc
in
Ast.ExTyc (_loc, x.expr,
- Ast.TyApp (_loc,
- Ast.TyId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Entry")),
- Ast.IdLid (_loc, "t"))),
- Ast.TyQuo (_loc, x.tvar))) in
+ (Ast.TyApp (_loc,
+ (Ast.TyId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Entry")))),
+ (Ast.IdLid (_loc, "t")))))),
+ (Ast.TyQuo (_loc, x.tvar))))) in
let pos =
match e.pos with
| Some pos ->
- Ast.ExApp (_loc, Ast.ExId (_loc, Ast.IdUid (_loc, "Some")),
- pos)
- | None -> Ast.ExId (_loc, Ast.IdUid (_loc, "None")) in
+ Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "Some")))), pos)
+ | None -> Ast.ExId (_loc, (Ast.IdUid (_loc, "None"))) in
let txt =
List.fold_right
(fun level txt ->
@@ -11170,28 +11677,29 @@ module G =
match level.label with
| Some lab ->
Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "Some")),
- Ast.ExStr (_loc, lab))
- | None -> Ast.ExId (_loc, Ast.IdUid (_loc, "None")) in
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "Some")))),
+ (Ast.ExStr (_loc, lab)))
+ | None -> Ast.ExId (_loc, (Ast.IdUid (_loc, "None"))) in
let ass =
match level.assoc with
| Some ass ->
Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "Some")), ass)
- | None -> Ast.ExId (_loc, Ast.IdUid (_loc, "None")) in
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "Some")))), ass)
+ | None -> Ast.ExId (_loc, (Ast.IdUid (_loc, "None"))) in
let txt =
let rl =
srules _loc e.name.tvar level.rules e.name.tvar in
let e = make_expr_rules _loc e.name rl e.name.tvar
in
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "::")),
- Ast.ExTup (_loc,
- Ast.ExCom (_loc, lab, Ast.ExCom (_loc, ass, e)))),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "::")))),
+ (Ast.ExTup (_loc,
+ (Ast.ExCom (_loc, lab,
+ (Ast.ExCom (_loc, ass, e)))))))),
txt)
in txt)
- e.levels (Ast.ExId (_loc, Ast.IdUid (_loc, "[]")))
+ e.levels (Ast.ExId (_loc, (Ast.IdUid (_loc, "[]"))))
in (ent, pos, txt)
let let_in_of_extend _loc gram gl el args =
@@ -11220,28 +11728,28 @@ module G =
| Ast.ExId (_, (Ast.IdLid (_, i))) -> i
| _ -> failwith "internal error in the Grammar extension")
in
- Ast.BiEq (_loc, Ast.PaId (_loc, Ast.IdLid (_loc, i)),
- Ast.ExTyc (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdLid (_loc, "grammar_entry_create")),
- Ast.ExStr (_loc, i)),
- Ast.TyApp (_loc,
- Ast.TyId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Entry")),
- Ast.IdLid (_loc, "t"))),
- Ast.TyQuo (_loc, x)))) in
+ Ast.BiEq (_loc, (Ast.PaId (_loc, (Ast.IdLid (_loc, i)))),
+ (Ast.ExTyc (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "grammar_entry_create")))),
+ (Ast.ExStr (_loc, i)))),
+ (Ast.TyApp (_loc,
+ (Ast.TyId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Entry")))),
+ (Ast.IdLid (_loc, "t")))))),
+ (Ast.TyQuo (_loc, x))))))) in
let expr_of_name { expr = e; tvar = x; loc = _loc } =
Ast.ExTyc (_loc, e,
- Ast.TyApp (_loc,
- Ast.TyId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdUid (_loc, "Entry")),
- Ast.IdLid (_loc, "t"))),
- Ast.TyQuo (_loc, x))) in
+ (Ast.TyApp (_loc,
+ (Ast.TyId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdUid (_loc, "Entry")))),
+ (Ast.IdLid (_loc, "t")))))),
+ (Ast.TyQuo (_loc, x))))) in
let e =
(match ll with
| [] -> args
@@ -11250,30 +11758,31 @@ module G =
List.fold_right
(fun name acc ->
Ast.BiAnd (_loc, acc,
- local_binding_of_name name))
+ (local_binding_of_name name)))
xs (local_binding_of_name x) in
let entry_mk =
(match gram with
| Some g ->
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Entry"),
- Ast.IdLid (_loc, "mk")))),
- Ast.ExId (_loc, g))
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Entry")),
+ (Ast.IdLid (_loc, "mk")))))))),
+ (Ast.ExId (_loc, g)))
| None ->
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Entry"),
- Ast.IdLid (_loc, "mk")))))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Entry")),
+ (Ast.IdLid (_loc, "mk"))))))))
in
- Ast.ExLet (_loc, Ast.BFalse,
- Ast.BiEq (_loc,
- Ast.PaId (_loc,
- Ast.IdLid (_loc, "grammar_entry_create")),
- entry_mk),
- Ast.ExLet (_loc, Ast.BFalse, locals, args)))
+ Ast.ExLet (_loc, Ast.ReNil,
+ (Ast.BiEq (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdLid (_loc, "grammar_entry_create")))),
+ entry_mk)),
+ (Ast.ExLet (_loc, Ast.ReNil, locals, args))))
in
(match nl with
| [] -> e
@@ -11282,11 +11791,12 @@ module G =
List.fold_right
(fun name acc ->
Ast.BiAnd (_loc, acc,
- Ast.BiEq (_loc, Ast.PaAny _loc,
- expr_of_name name)))
+ (Ast.BiEq (_loc, (Ast.PaAny _loc),
+ (expr_of_name name)))))
xs
- (Ast.BiEq (_loc, Ast.PaAny _loc, expr_of_name x))
- in Ast.ExLet (_loc, Ast.BFalse, globals, e)))
+ (Ast.BiEq (_loc, (Ast.PaAny _loc),
+ (expr_of_name x)))
+ in Ast.ExLet (_loc, Ast.ReNil, globals, e)))
class subst gmod =
object inherit Ast.map as super
@@ -11308,41 +11818,42 @@ module G =
let (ent, pos, txt) = text_of_entry e.name.loc e in
let e =
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdLid (_loc, "extend"))),
- ent),
- Ast.ExApp (_loc,
- Ast.ExFun (_loc,
- Ast.McArr (_loc,
- Ast.PaId (_loc, Ast.IdUid (_loc, "()")),
- Ast.ExNil _loc,
- Ast.ExTup (_loc, Ast.ExCom (_loc, pos, txt)))),
- Ast.ExId (_loc, Ast.IdUid (_loc, "()"))))
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdLid (_loc, "extend")))))),
+ ent)),
+ (Ast.ExApp (_loc,
+ (Ast.ExFun (_loc,
+ (Ast.McArr (_loc,
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "()")))),
+ (Ast.ExNil _loc),
+ (Ast.ExTup (_loc,
+ (Ast.ExCom (_loc, pos, txt)))))))),
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "()")))))))
in
if !split_ext
then
- Ast.ExLet (_loc, Ast.BFalse,
- Ast.BiEq (_loc,
- Ast.PaId (_loc, Ast.IdLid (_loc, "aux")),
- Ast.ExFun (_loc,
- Ast.McArr (_loc,
- Ast.PaId (_loc, Ast.IdUid (_loc, "()")),
- Ast.ExNil _loc, e))),
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, "aux")),
- Ast.ExId (_loc, Ast.IdUid (_loc, "()"))))
+ Ast.ExLet (_loc, Ast.ReNil,
+ (Ast.BiEq (_loc,
+ (Ast.PaId (_loc, (Ast.IdLid (_loc, "aux")))),
+ (Ast.ExFun (_loc,
+ (Ast.McArr (_loc,
+ (Ast.PaId (_loc, (Ast.IdUid (_loc, "()")))),
+ (Ast.ExNil _loc), e)))))),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, "aux")))),
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "()")))))))
else e)
el
in
match el with
- | [] -> Ast.ExId (_loc, Ast.IdUid (_loc, "()"))
+ | [] -> Ast.ExId (_loc, (Ast.IdUid (_loc, "()")))
| [ e ] -> e
| e :: el ->
Ast.ExSeq (_loc,
- List.fold_left (fun acc x -> Ast.ExSem (_loc, acc, x)) e
- el)
+ (List.fold_left (fun acc x -> Ast.ExSem (_loc, acc, x)) e
+ el))
in subst_gmod (let_in_of_extend _loc gram gl el args) gmod
let wildcarder =
@@ -11363,15 +11874,15 @@ module G =
if Ast.is_irrefut_patt p'
then
Ast.ExFun (_loc,
- Ast.McArr (_loc, p', Ast.ExNil _loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "True"))))
+ (Ast.McArr (_loc, p', (Ast.ExNil _loc),
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "True")))))))
else
Ast.ExFun (_loc,
- Ast.McOr (_loc,
- Ast.McArr (_loc, p', Ast.ExNil _loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "True"))),
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "False"))))) in
+ (Ast.McOr (_loc,
+ (Ast.McArr (_loc, p', (Ast.ExNil _loc),
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "True")))))),
+ (Ast.McArr (_loc, (Ast.PaAny _loc), (Ast.ExNil _loc),
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "False"))))))))) in
let descr = string_of_patt p' in
let text = TXtok (_loc, match_fun, descr)
in { used = []; text = text; styp = t; pattern = Some p; }
@@ -11508,9 +12019,9 @@ module G =
'semi_sep Gram.Entry.t)) ],
(Gram.Action.mk
(fun _ (e : 'entry)
- (_loc : Gram.Loc.t) -> (e : 'e__9)))) ]) ],
+ (_loc : Gram.Loc.t) -> (e : 'e__16)))) ]) ],
(Gram.Action.mk
- (fun (el : 'e__9 list)
+ (fun (el : 'e__16 list)
(global_list : 'global option)
((gram, g) : 'extend_header)
(_loc : Gram.Loc.t) ->
@@ -11529,12 +12040,12 @@ module G =
(Gram.Entry.obj (name : 'name Gram.Entry.t));
Gram.Skeyword ":";
Gram.Slist0sep
+ ((Gram.Snterm
+ (Gram.Entry.obj
+ (symbol : 'symbol Gram.Entry.t))),
(Gram.Snterm
(Gram.Entry.obj
- (symbol : 'symbol Gram.Entry.t)),
- Gram.Snterm
- (Gram.Entry.obj
- (semi_sep : 'semi_sep Gram.Entry.t))) ],
+ (semi_sep : 'semi_sep Gram.Entry.t)))) ],
(Gram.Action.mk
(fun (sl : 'symbol list) _ (n : 'name)
(g : 'qualuid) (_loc : Gram.Loc.t) ->
@@ -11542,12 +12053,13 @@ module G =
in
subst_gmod
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, gm),
- Ast.IdLid (_loc, "delete_rule"))),
- e),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, gm)),
+ (Ast.IdLid (_loc,
+ "delete_rule")))))),
+ e)),
b))
g :
'delete_rule_body)))) ]) ]))
@@ -11566,7 +12078,7 @@ module G =
(fun (__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | UIDENT "GLOBAL" -> (() : 'e__10)
+ | UIDENT "GLOBAL" -> (() : 'e__17)
| _ -> assert false)));
([ Gram.Stoken
(((function
@@ -11577,7 +12089,7 @@ module G =
(fun (__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | LIDENT ((_)) -> (() : 'e__10)
+ | LIDENT ((_)) -> (() : 'e__17)
| _ -> assert false))) ] ],
(Gram.Action.mk
(fun _ (_loc : Gram.Loc.t) ->
@@ -11601,7 +12113,9 @@ module G =
(fun (xs : 'qualuid) _ (x : Gram.Token.t)
(_loc : Gram.Loc.t) ->
(let x = Gram.Token.extract_string x
- in Ast.IdAcc (_loc, Ast.IdUid (_loc, x), xs) :
+ in
+ Ast.IdAcc (_loc, (Ast.IdUid (_loc, x)),
+ xs) :
'qualuid)))) ]) ]))
());
Gram.extend (qualuid : 'qualuid Gram.Entry.t)
@@ -11618,7 +12132,7 @@ module G =
(fun (__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | UIDENT "GLOBAL" -> (() : 'e__11)
+ | UIDENT "GLOBAL" -> (() : 'e__18)
| _ -> assert false)));
([ Gram.Stoken
(((function
@@ -11629,7 +12143,7 @@ module G =
(fun (__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | LIDENT ((_)) -> (() : 'e__11)
+ | LIDENT ((_)) -> (() : 'e__18)
| _ -> assert false))) ] ],
(Gram.Action.mk
(fun _ (_loc : Gram.Loc.t) ->
@@ -11653,7 +12167,9 @@ module G =
(fun (xs : 'qualuid) _ (x : Gram.Token.t)
(_loc : Gram.Loc.t) ->
(let x = Gram.Token.extract_string x
- in Ast.IdAcc (_loc, Ast.IdUid (_loc, x), xs) :
+ in
+ Ast.IdAcc (_loc, (Ast.IdUid (_loc, x)),
+ xs) :
'qualuid)))) ]) ]))
());
Gram.extend (qualid : 'qualid Gram.Entry.t)
@@ -11682,7 +12198,9 @@ module G =
(fun (xs : 'qualid) _ (x : Gram.Token.t)
(_loc : Gram.Loc.t) ->
(let x = Gram.Token.extract_string x
- in Ast.IdAcc (_loc, Ast.IdUid (_loc, x), xs) :
+ in
+ Ast.IdAcc (_loc, (Ast.IdUid (_loc, x)),
+ xs) :
'qualid)))) ]) ]))
());
Gram.extend (t_qualid : 't_qualid Gram.Entry.t)
@@ -11729,7 +12247,9 @@ module G =
(fun (xs : 't_qualid) _ (x : Gram.Token.t)
(_loc : Gram.Loc.t) ->
(let x = Gram.Token.extract_string x
- in Ast.IdAcc (_loc, Ast.IdUid (_loc, x), xs) :
+ in
+ Ast.IdAcc (_loc, (Ast.IdUid (_loc, x)),
+ xs) :
't_qualid)))) ]) ]))
());
Gram.extend (global : 'global Gram.Entry.t)
@@ -11793,14 +12313,15 @@ module G =
match __camlp4_0 with
| UIDENT "LEVEL" ->
(Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Camlp4"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Sig"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Grammar"),
- Ast.IdUid (_loc, "Level"))))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Camlp4")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Sig")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc,
+ "Grammar")),
+ (Ast.IdUid (_loc, "Level")))))))))),
n) :
'position)
| _ -> assert false)));
@@ -11817,14 +12338,15 @@ module G =
match __camlp4_0 with
| UIDENT "AFTER" ->
(Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Camlp4"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Sig"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Grammar"),
- Ast.IdUid (_loc, "After"))))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Camlp4")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Sig")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc,
+ "Grammar")),
+ (Ast.IdUid (_loc, "After")))))))))),
n) :
'position)
| _ -> assert false)));
@@ -11841,14 +12363,16 @@ module G =
match __camlp4_0 with
| UIDENT "BEFORE" ->
(Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Camlp4"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Sig"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Grammar"),
- Ast.IdUid (_loc, "Before"))))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Camlp4")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Sig")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc,
+ "Grammar")),
+ (Ast.IdUid (_loc,
+ "Before")))))))))),
n) :
'position)
| _ -> assert false)));
@@ -11863,13 +12387,13 @@ module G =
match __camlp4_0 with
| UIDENT "LAST" ->
(Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Camlp4"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Sig"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Grammar"),
- Ast.IdUid (_loc, "Last"))))) :
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Camlp4")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Sig")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Grammar")),
+ (Ast.IdUid (_loc, "Last"))))))))) :
'position)
| _ -> assert false)));
([ Gram.Stoken
@@ -11883,13 +12407,13 @@ module G =
match __camlp4_0 with
| UIDENT "FIRST" ->
(Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Camlp4"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Sig"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Grammar"),
- Ast.IdUid (_loc, "First"))))) :
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Camlp4")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Sig")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Grammar")),
+ (Ast.IdUid (_loc, "First"))))))))) :
'position)
| _ -> assert false))) ]) ]))
());
@@ -11899,10 +12423,10 @@ module G =
[ (None, None,
[ ([ Gram.Skeyword "[";
Gram.Slist0sep
- (Gram.Snterm
- (Gram.Entry.obj
- (level : 'level Gram.Entry.t)),
- Gram.Skeyword "|");
+ ((Gram.Snterm
+ (Gram.Entry.obj
+ (level : 'level Gram.Entry.t))),
+ (Gram.Skeyword "|"));
Gram.Skeyword "]" ],
(Gram.Action.mk
(fun _ (ll : 'level list) _ (_loc : Gram.Loc.t)
@@ -11924,7 +12448,7 @@ module G =
(_loc : Gram.Loc.t) ->
(let x =
Gram.Token.extract_string x
- in x : 'e__12)))) ]);
+ in x : 'e__19)))) ]);
Gram.Sopt
(Gram.Snterm
(Gram.Entry.obj
@@ -11934,7 +12458,7 @@ module G =
(rule_list : 'rule_list Gram.Entry.t)) ],
(Gram.Action.mk
(fun (rules : 'rule_list) (ass : 'assoc option)
- (lab : 'e__12 option) (_loc : Gram.Loc.t) ->
+ (lab : 'e__19 option) (_loc : Gram.Loc.t) ->
({ label = lab; assoc = ass; rules = rules; } :
'level)))) ]) ]))
());
@@ -11953,13 +12477,13 @@ module G =
match __camlp4_0 with
| UIDENT "NONA" ->
(Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Camlp4"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Sig"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Grammar"),
- Ast.IdUid (_loc, "NonA"))))) :
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Camlp4")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Sig")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Grammar")),
+ (Ast.IdUid (_loc, "NonA"))))))))) :
'assoc)
| _ -> assert false)));
([ Gram.Stoken
@@ -11973,13 +12497,13 @@ module G =
match __camlp4_0 with
| UIDENT "RIGHTA" ->
(Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Camlp4"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Sig"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Grammar"),
- Ast.IdUid (_loc, "RightA"))))) :
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Camlp4")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Sig")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Grammar")),
+ (Ast.IdUid (_loc, "RightA"))))))))) :
'assoc)
| _ -> assert false)));
([ Gram.Stoken
@@ -11993,13 +12517,13 @@ module G =
match __camlp4_0 with
| UIDENT "LEFTA" ->
(Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Camlp4"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Sig"),
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Grammar"),
- Ast.IdUid (_loc, "LeftA"))))) :
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Camlp4")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Sig")),
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Grammar")),
+ (Ast.IdUid (_loc, "LeftA"))))))))) :
'assoc)
| _ -> assert false))) ]) ]))
());
@@ -12009,9 +12533,9 @@ module G =
[ (None, None,
[ ([ Gram.Skeyword "[";
Gram.Slist1sep
- (Gram.Snterm
- (Gram.Entry.obj (rule : 'rule Gram.Entry.t)),
- Gram.Skeyword "|");
+ ((Gram.Snterm
+ (Gram.Entry.obj (rule : 'rule Gram.Entry.t))),
+ (Gram.Skeyword "|"));
Gram.Skeyword "]" ],
(Gram.Action.mk
(fun _ (rules : 'rule list) _
@@ -12028,22 +12552,22 @@ module G =
(None,
[ (None, None,
[ ([ Gram.Slist0sep
+ ((Gram.Snterm
+ (Gram.Entry.obj
+ (psymbol : 'psymbol Gram.Entry.t))),
(Gram.Snterm
(Gram.Entry.obj
- (psymbol : 'psymbol Gram.Entry.t)),
- Gram.Snterm
- (Gram.Entry.obj
- (semi_sep : 'semi_sep Gram.Entry.t))) ],
+ (semi_sep : 'semi_sep Gram.Entry.t)))) ],
(Gram.Action.mk
(fun (psl : 'psymbol list) (_loc : Gram.Loc.t)
-> ({ prod = psl; action = None; } : 'rule))));
([ Gram.Slist0sep
+ ((Gram.Snterm
+ (Gram.Entry.obj
+ (psymbol : 'psymbol Gram.Entry.t))),
(Gram.Snterm
(Gram.Entry.obj
- (psymbol : 'psymbol Gram.Entry.t)),
- Gram.Snterm
- (Gram.Entry.obj
- (semi_sep : 'semi_sep Gram.Entry.t)));
+ (semi_sep : 'semi_sep Gram.Entry.t))));
Gram.Skeyword "->";
Gram.Snterm
(Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
@@ -12078,8 +12602,8 @@ module G =
->
mk_tok _loc
(Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdUid (_loc, u)),
+ (Ast.PaId (_loc,
+ (Ast.IdUid (_loc, u)))),
p))
s.styp
| _ -> { (s) with pattern = Some p; } :
@@ -12107,10 +12631,10 @@ module G =
| UIDENT "LEVEL" ->
(let s =
Gram.Token.extract_string s
- in s : 'e__13)
+ in s : 'e__20)
| _ -> assert false))) ]) ],
(Gram.Action.mk
- (fun (lev : 'e__13 option) (i : Gram.Token.t)
+ (fun (lev : 'e__20 option) (i : Gram.Token.t)
(_loc : Gram.Loc.t) ->
(let i = Gram.Token.extract_string i in
let name =
@@ -12145,19 +12669,21 @@ module G =
->
let match_fun =
Ast.ExFun (_loc,
- Ast.McOr (_loc,
- Ast.McArr (_loc, p',
- Ast.ExNil _loc,
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "True"))),
- Ast.McArr (_loc, Ast.PaAny _loc,
- Ast.ExNil _loc,
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "False"))))) in
+ (Ast.McOr (_loc,
+ (Ast.McArr (_loc, p',
+ (Ast.ExNil _loc),
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "True")))))),
+ (Ast.McArr (_loc,
+ (Ast.PaAny _loc),
+ (Ast.ExNil _loc),
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc,
+ "False"))))))))) in
let p' =
Ast.PaAli (_loc, p',
- Ast.PaId (_loc,
- Ast.IdLid (_loc, p))) in
+ (Ast.PaId (_loc,
+ (Ast.IdLid (_loc, p))))) in
let descr = u ^ " _" in
let text =
TXtok (_loc, match_fun, descr)
@@ -12175,7 +12701,7 @@ module G =
pattern =
Some
(Ast.PaId (_loc,
- Ast.IdLid (_loc, p)));
+ (Ast.IdLid (_loc, p))));
} :
'psymbol)))) ]) ]))
());
@@ -12184,6 +12710,25 @@ module G =
(None,
[ ((Some "top"), (Some Camlp4.Sig.Grammar.NonA),
[ ([ Gram.Stoken
+ (((function | UIDENT "TRY" -> true | _ -> false),
+ "UIDENT \"TRY\""));
+ Gram.Sself ],
+ (Gram.Action.mk
+ (fun (s : 'symbol) (__camlp4_0 : Gram.Token.t)
+ (_loc : Gram.Loc.t) ->
+ match __camlp4_0 with
+ | UIDENT "TRY" ->
+ (let text = TXtry (_loc, s.text)
+ in
+ {
+ used = s.used;
+ text = text;
+ styp = s.styp;
+ pattern = None;
+ } :
+ 'symbol)
+ | _ -> assert false)));
+ ([ Gram.Stoken
(((function | UIDENT "OPT" -> true | _ -> false),
"UIDENT \"OPT\""));
Gram.Sself ],
@@ -12194,7 +12739,7 @@ module G =
| UIDENT "OPT" ->
(let () = check_not_tok s in
let styp =
- STapp (_loc, STlid (_loc, "option"),
+ STapp (_loc, (STlid (_loc, "option")),
s.styp) in
let text = TXopt (_loc, s.text)
in
@@ -12227,10 +12772,10 @@ module G =
(__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | UIDENT "SEP" -> (t : 'e__15)
+ | UIDENT "SEP" -> (t : 'e__22)
| _ -> assert false))) ]) ],
(Gram.Action.mk
- (fun (sep : 'e__15 option) (s : 'symbol)
+ (fun (sep : 'e__22 option) (s : 'symbol)
(__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
@@ -12241,7 +12786,7 @@ module G =
| Some symb -> symb.used @ s.used
| None -> s.used) in
let styp =
- STapp (_loc, STlid (_loc, "list"),
+ STapp (_loc, (STlid (_loc, "list")),
s.styp) in
let text = slist _loc true sep s
in
@@ -12274,10 +12819,10 @@ module G =
(__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
- | UIDENT "SEP" -> (t : 'e__14)
+ | UIDENT "SEP" -> (t : 'e__21)
| _ -> assert false))) ]) ],
(Gram.Action.mk
- (fun (sep : 'e__14 option) (s : 'symbol)
+ (fun (sep : 'e__21 option) (s : 'symbol)
(__camlp4_0 : Gram.Token.t)
(_loc : Gram.Loc.t) ->
match __camlp4_0 with
@@ -12288,7 +12833,7 @@ module G =
| Some symb -> symb.used @ s.used
| None -> s.used) in
let styp =
- STapp (_loc, STlid (_loc, "list"),
+ STapp (_loc, (STlid (_loc, "list")),
s.styp) in
let text = slist _loc false sep s
in
@@ -12327,10 +12872,10 @@ module G =
| UIDENT "LEVEL" ->
(let s =
Gram.Token.extract_string s
- in s : 'e__17)
+ in s : 'e__24)
| _ -> assert false))) ]) ],
(Gram.Action.mk
- (fun (lev : 'e__17 option) (n : 'name)
+ (fun (lev : 'e__24 option) (n : 'name)
(_loc : Gram.Loc.t) ->
({
used = [ n.tvar ];
@@ -12364,15 +12909,15 @@ module G =
| UIDENT "LEVEL" ->
(let s =
Gram.Token.extract_string s
- in s : 'e__16)
+ in s : 'e__23)
| _ -> assert false))) ]) ],
(Gram.Action.mk
- (fun (lev : 'e__16 option) (il : 'qualid) _
+ (fun (lev : 'e__23 option) (il : 'qualid) _
(i : Gram.Token.t) (_loc : Gram.Loc.t) ->
(let i = Gram.Token.extract_string i in
let n =
mk_name _loc
- (Ast.IdAcc (_loc, Ast.IdUid (_loc, i),
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, i)),
il))
in
{
@@ -12414,34 +12959,38 @@ module G =
AntiquotSyntax.parse_expr _loc s in
let match_fun =
Ast.ExFun (_loc,
- Ast.McOr (_loc,
- Ast.McArr (_loc,
- Ast.PaApp (_loc,
- Ast.PaId (_loc,
- Ast.IdUid (_loc, x)),
- Ast.PaId (_loc,
- Ast.IdLid (_loc, "camlp4_x"))),
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdLid (_loc, "=")),
- Ast.ExId (_loc,
- Ast.IdLid (_loc,
- "camlp4_x"))),
- e),
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "True"))),
- Ast.McArr (_loc, Ast.PaAny _loc,
- Ast.ExNil _loc,
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "False"))))) in
+ (Ast.McOr (_loc,
+ (Ast.McArr (_loc,
+ (Ast.PaApp (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdUid (_loc, x)))),
+ (Ast.PaId (_loc,
+ (Ast.IdLid (_loc,
+ "camlp4_x")))))),
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc,
+ "=")))),
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc,
+ "camlp4_x")))))),
+ e)),
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "True")))))),
+ (Ast.McArr (_loc,
+ (Ast.PaAny _loc),
+ (Ast.ExNil _loc),
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "False"))))))))) in
let descr = "$" ^ (x ^ (" " ^ s)) in
let text =
TXtok (_loc, match_fun, descr) in
let p =
Ast.PaApp (_loc,
- Ast.PaId (_loc, Ast.IdUid (_loc, x)),
- Ast.PaTup (_loc, Ast.PaAny _loc))
+ (Ast.PaId (_loc,
+ (Ast.IdUid (_loc, x)))),
+ (Ast.PaTup (_loc, (Ast.PaAny _loc))))
in
{
used = [];
@@ -12465,8 +13014,9 @@ module G =
in
mk_tok _loc
(Ast.PaApp (_loc,
- Ast.PaId (_loc, Ast.IdUid (_loc, x)),
- Ast.PaStr (_loc, s)))
+ (Ast.PaId (_loc,
+ (Ast.IdUid (_loc, x)))),
+ (Ast.PaStr (_loc, s))))
(STtok _loc) :
'symbol))));
([ Gram.Stoken
@@ -12478,8 +13028,9 @@ module G =
in
mk_tok _loc
(Ast.PaApp (_loc,
- Ast.PaId (_loc, Ast.IdUid (_loc, x)),
- Ast.PaTup (_loc, Ast.PaAny _loc)))
+ (Ast.PaId (_loc,
+ (Ast.IdUid (_loc, x)))),
+ (Ast.PaTup (_loc, (Ast.PaAny _loc)))))
(STstring_tok _loc) :
'symbol))));
([ Gram.Skeyword "`";
@@ -12490,9 +13041,9 @@ module G =
(mk_tok _loc p (STtok _loc) : 'symbol))));
([ Gram.Skeyword "[";
Gram.Slist0sep
- (Gram.Snterm
- (Gram.Entry.obj (rule : 'rule Gram.Entry.t)),
- Gram.Skeyword "|");
+ ((Gram.Snterm
+ (Gram.Entry.obj (rule : 'rule Gram.Entry.t))),
+ (Gram.Skeyword "|"));
Gram.Skeyword "]" ],
(Gram.Action.mk
(fun _ (rl : 'rule list) _ (_loc : Gram.Loc.t)
@@ -12504,7 +13055,7 @@ module G =
{
used = used_of_rule_list rl;
text =
- TXrules (_loc, srules _loc t rl "");
+ TXrules (_loc, (srules _loc t rl ""));
styp = STquo (_loc, t);
pattern = None;
} :
@@ -12556,7 +13107,7 @@ module G =
(Gram.Action.mk
(fun _ (p2 : 'comma_patt) _ (p1 : 'pattern) _
(_loc : Gram.Loc.t) ->
- (Ast.PaTup (_loc, Ast.PaCom (_loc, p1, p2)) :
+ (Ast.PaTup (_loc, (Ast.PaCom (_loc, p1, p2))) :
'pattern))));
([ Gram.Skeyword "("; Gram.Sself; Gram.Skeyword ")" ],
(Gram.Action.mk
@@ -12572,7 +13123,7 @@ module G =
(Gram.Action.mk
(fun (i : Gram.Token.t) (_loc : Gram.Loc.t) ->
(let i = Gram.Token.extract_string i
- in Ast.PaId (_loc, Ast.IdLid (_loc, i)) :
+ in Ast.PaId (_loc, (Ast.IdLid (_loc, i))) :
'pattern)))) ]) ]))
());
Gram.extend (comma_patt : 'comma_patt Gram.Entry.t)
@@ -12648,25 +13199,25 @@ module G =
END;
*)
let sfold _loc n foldfun f e s =
- let styp = STquo (_loc, new_type_var ()) in
+ let styp = STquo (_loc, (new_type_var ())) in
let e =
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdLid (_loc, foldfun))),
- f),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdLid (_loc, foldfun)))))),
+ f)),
e) in
let t =
STapp (_loc,
- STapp (_loc,
- STtyp
- (Ast.TyApp (_loc,
- Ast.TyId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdLid (_loc, "fold"))),
- Ast.TyAny _loc)),
- s.styp),
+ (STapp (_loc,
+ (STtyp
+ (Ast.TyApp (_loc,
+ (Ast.TyId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdLid (_loc, "fold")))))),
+ (Ast.TyAny _loc)))),
+ s.styp)),
styp)
in
{
@@ -12677,25 +13228,25 @@ module G =
}
let sfoldsep _loc n foldfun f e s sep =
- let styp = STquo (_loc, new_type_var ()) in
+ let styp = STquo (_loc, (new_type_var ())) in
let e =
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdLid (_loc, foldfun))),
- f),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdLid (_loc, foldfun)))))),
+ f)),
e) in
let t =
STapp (_loc,
- STapp (_loc,
- STtyp
- (Ast.TyApp (_loc,
- Ast.TyId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
- Ast.IdLid (_loc, "foldsep"))),
- Ast.TyAny _loc)),
- s.styp),
+ (STapp (_loc,
+ (STtyp
+ (Ast.TyApp (_loc,
+ (Ast.TyId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, gm)),
+ (Ast.IdLid (_loc, "foldsep")))))),
+ (Ast.TyAny _loc)))),
+ s.styp)),
styp)
in
{
@@ -12832,7 +13383,7 @@ module G =
(a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
(Gram.Action.mk
(fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) ->
- (Ast.ExId (_loc, Ast.IdLid (_loc, i)) :
+ (Ast.ExId (_loc, (Ast.IdLid (_loc, i))) :
'simple_expr)))) ]) ]))
()))
@@ -12978,26 +13529,26 @@ Added statements:
let substp _loc env =
let rec loop =
function
- | Ast.ExApp (_, e1, e2) -> Ast.PaApp (_loc, loop e1, loop e2)
+ | Ast.ExApp (_, e1, e2) -> Ast.PaApp (_loc, (loop e1), (loop e2))
| Ast.ExNil _ -> Ast.PaNil _loc
| Ast.ExId (_, (Ast.IdLid (_, x))) ->
(try List.assoc x env
- with | Not_found -> Ast.PaId (_loc, Ast.IdLid (_loc, x)))
+ with | Not_found -> Ast.PaId (_loc, (Ast.IdLid (_loc, x))))
| Ast.ExId (_, (Ast.IdUid (_, x))) ->
(try List.assoc x env
- with | Not_found -> Ast.PaId (_loc, Ast.IdUid (_loc, x)))
+ with | Not_found -> Ast.PaId (_loc, (Ast.IdUid (_loc, x))))
| Ast.ExInt (_, x) -> Ast.PaInt (_loc, x)
| Ast.ExStr (_, s) -> Ast.PaStr (_loc, s)
- | Ast.ExTup (_, x) -> Ast.PaTup (_loc, loop x)
- | Ast.ExCom (_, x1, x2) -> Ast.PaCom (_loc, loop x1, loop x2)
+ | Ast.ExTup (_, x) -> Ast.PaTup (_loc, (loop x))
+ | Ast.ExCom (_, x1, x2) -> Ast.PaCom (_loc, (loop x1), (loop x2))
| Ast.ExRec (_, bi, (Ast.ExNil _)) ->
let rec substbi =
(function
| Ast.RbSem (_, b1, b2) ->
- Ast.PaSem (_loc, substbi b1, substbi b2)
- | Ast.RbEq (_, i, e) -> Ast.PaEq (_loc, i, loop e)
+ Ast.PaSem (_loc, (substbi b1), (substbi b2))
+ | Ast.RbEq (_, i, e) -> Ast.PaEq (_loc, i, (loop e))
| _ -> bad_patt _loc)
- in Ast.PaRec (_loc, substbi bi)
+ in Ast.PaRec (_loc, (substbi bi))
| _ -> bad_patt _loc
in loop
@@ -13519,7 +14070,7 @@ Added statements:
(Gram.Entry.obj (endif : 'endif Gram.Entry.t)) ],
(Gram.Action.mk
(fun _ (_loc : Gram.Loc.t) ->
- (Ast.ExId (_loc, Ast.IdUid (_loc, "()")) :
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "()"))) :
'else_expr))));
([ Gram.Skeyword "ELSE";
Gram.Snterm
@@ -13546,7 +14097,7 @@ Added statements:
(Gram.Action.mk
(fun _ (si : 'str_item)
(_loc : Gram.Loc.t) ->
- (SdStr si : 'e__18))));
+ (SdStr si : 'e__25))));
([ Gram.Snterm
(Gram.Entry.obj
(macro_def :
@@ -13562,9 +14113,9 @@ Added statements:
(fun a b ->
Ast.StSem (_loc, a, b))
Then d :
- 'e__18)))) ]) ],
+ 'e__25)))) ]) ],
(Gram.Action.mk
- (fun (sml : 'e__18 list) (_loc : Gram.Loc.t) ->
+ (fun (sml : 'e__25 list) (_loc : Gram.Loc.t) ->
(sml : 'smlist_then)))) ]) ]))
());
Gram.extend (smlist_else : 'smlist_else Gram.Entry.t)
@@ -13583,7 +14134,7 @@ Added statements:
(Gram.Action.mk
(fun _ (si : 'str_item)
(_loc : Gram.Loc.t) ->
- (SdStr si : 'e__19))));
+ (SdStr si : 'e__26))));
([ Gram.Snterm
(Gram.Entry.obj
(macro_def :
@@ -13599,9 +14150,9 @@ Added statements:
(fun a b ->
Ast.StSem (_loc, a, b))
Else d :
- 'e__19)))) ]) ],
+ 'e__26)))) ]) ],
(Gram.Action.mk
- (fun (sml : 'e__19 list) (_loc : Gram.Loc.t) ->
+ (fun (sml : 'e__26 list) (_loc : Gram.Loc.t) ->
(sml : 'smlist_else)))) ]) ]))
());
Gram.extend (sglist_then : 'sglist_then Gram.Entry.t)
@@ -13620,7 +14171,7 @@ Added statements:
(Gram.Action.mk
(fun _ (si : 'sig_item)
(_loc : Gram.Loc.t) ->
- (SdStr si : 'e__20))));
+ (SdStr si : 'e__27))));
([ Gram.Snterm
(Gram.Entry.obj
(macro_def_sig :
@@ -13636,9 +14187,9 @@ Added statements:
(fun a b ->
Ast.SgSem (_loc, a, b))
Then d :
- 'e__20)))) ]) ],
+ 'e__27)))) ]) ],
(Gram.Action.mk
- (fun (sgl : 'e__20 list) (_loc : Gram.Loc.t) ->
+ (fun (sgl : 'e__27 list) (_loc : Gram.Loc.t) ->
(sgl : 'sglist_then)))) ]) ]))
());
Gram.extend (sglist_else : 'sglist_else Gram.Entry.t)
@@ -13657,7 +14208,7 @@ Added statements:
(Gram.Action.mk
(fun _ (si : 'sig_item)
(_loc : Gram.Loc.t) ->
- (SdStr si : 'e__21))));
+ (SdStr si : 'e__28))));
([ Gram.Snterm
(Gram.Entry.obj
(macro_def_sig :
@@ -13673,9 +14224,9 @@ Added statements:
(fun a b ->
Ast.SgSem (_loc, a, b))
Else d :
- 'e__21)))) ]) ],
+ 'e__28)))) ]) ],
(Gram.Action.mk
- (fun (sgl : 'e__21 list) (_loc : Gram.Loc.t) ->
+ (fun (sgl : 'e__28 list) (_loc : Gram.Loc.t) ->
(sgl : 'sglist_else)))) ]) ]))
());
Gram.extend (endif : 'endif Gram.Entry.t)
@@ -13705,24 +14256,24 @@ Added statements:
(Some (([], e)) : 'opt_macro_value))));
([ Gram.Skeyword "(";
Gram.Slist1sep
- (Gram.srules opt_macro_value
- [ ([ Gram.Stoken
- (((function
- | LIDENT ((_)) -> true
- | _ -> false),
- "LIDENT _")) ],
- (Gram.Action.mk
- (fun (x : Gram.Token.t)
- (_loc : Gram.Loc.t) ->
- (let x =
- Gram.Token.extract_string x
- in x : 'e__22)))) ],
- Gram.Skeyword ",");
+ ((Gram.srules opt_macro_value
+ [ ([ Gram.Stoken
+ (((function
+ | LIDENT ((_)) -> true
+ | _ -> false),
+ "LIDENT _")) ],
+ (Gram.Action.mk
+ (fun (x : Gram.Token.t)
+ (_loc : Gram.Loc.t) ->
+ (let x =
+ Gram.Token.extract_string x
+ in x : 'e__29)))) ]),
+ (Gram.Skeyword ","));
Gram.Skeyword ")"; Gram.Skeyword "=";
Gram.Snterm
(Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
(Gram.Action.mk
- (fun (e : 'expr) _ _ (pl : 'e__22 list) _
+ (fun (e : 'expr) _ _ (pl : 'e__29 list) _
(_loc : Gram.Loc.t) ->
(Some ((pl, e)) : 'opt_macro_value)))) ]) ]))
());
@@ -13783,39 +14334,51 @@ Added statements:
Loc.to_tuple _loc
in
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc,
- Ast.IdUid (_loc, "Loc"),
- Ast.IdLid (_loc, "of_tuple"))),
- Ast.ExTup (_loc,
- Ast.ExCom (_loc,
- Ast.ExStr (_loc,
- Ast.safe_string_escaped a),
- Ast.ExCom (_loc,
- Ast.ExCom (_loc,
- Ast.ExCom (_loc,
- Ast.ExCom (_loc,
- Ast.ExCom (_loc,
- Ast.ExCom (_loc,
- Ast.ExInt (_loc,
- string_of_int b),
- Ast.ExInt (_loc,
- string_of_int c)),
- Ast.ExInt (_loc,
- string_of_int d)),
- Ast.ExInt (_loc,
- string_of_int e)),
- Ast.ExInt (_loc,
- string_of_int f)),
- Ast.ExInt (_loc,
- string_of_int g)),
- if h
- then
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "True"))
- else
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "False")))))) :
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc,
+ (Ast.IdUid (_loc, "Loc")),
+ (Ast.IdLid (_loc, "of_tuple")))))),
+ (Ast.ExTup (_loc,
+ (Ast.ExCom (_loc,
+ (Ast.ExStr (_loc,
+ (Ast.safe_string_escaped a))),
+ (Ast.ExCom (_loc,
+ (Ast.ExCom (_loc,
+ (Ast.ExCom (_loc,
+ (Ast.ExCom (_loc,
+ (Ast.ExCom (_loc,
+ (Ast.ExCom
+ (_loc,
+ (Ast.ExInt
+ (_loc,
+ (
+ string_of_int
+ b))),
+ (Ast.ExInt
+ (_loc,
+ (
+ string_of_int
+ c))))),
+ (Ast.ExInt
+ (_loc,
+ (string_of_int
+ d))))),
+ (Ast.ExInt (_loc,
+ (string_of_int
+ e))))),
+ (Ast.ExInt (_loc,
+ (string_of_int f))))),
+ (Ast.ExInt (_loc,
+ (string_of_int g))))),
+ (if h
+ then
+ Ast.ExId (_loc,
+ (Ast.IdUid (_loc,
+ "True")))
+ else
+ Ast.ExId (_loc,
+ (Ast.IdUid (_loc,
+ "False"))))))))))) :
'expr)
| _ -> assert false)));
([ Gram.Stoken
@@ -13829,8 +14392,8 @@ Added statements:
match __camlp4_0 with
| LIDENT "__FILE__" ->
(Ast.ExStr (_loc,
- Ast.safe_string_escaped
- (Loc.file_name _loc)) :
+ (Ast.safe_string_escaped
+ (Loc.file_name _loc))) :
'expr)
| _ -> assert false))) ]) ]))
());
@@ -13980,30 +14543,30 @@ module D =
function
| None ->
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Debug"),
- Ast.IdLid (_loc, "mode")))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Debug")),
+ (Ast.IdLid (_loc, "mode")))))
| Some m ->
Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, m),
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Debug"),
- Ast.IdLid (_loc, "mode"))))
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, m)),
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Debug")),
+ (Ast.IdLid (_loc, "mode")))))))
let mk_debug _loc m fmt section args =
let call =
apply
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "Debug"),
- Ast.IdLid (_loc, "printf"))),
- Ast.ExStr (_loc, section)),
- Ast.ExStr (_loc, fmt)))
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "Debug")),
+ (Ast.IdLid (_loc, "printf")))))),
+ (Ast.ExStr (_loc, section)))),
+ (Ast.ExStr (_loc, fmt))))
args
in
Ast.ExIfe (_loc,
- Ast.ExApp (_loc, mk_debug_mode _loc m,
- Ast.ExStr (_loc, section)),
- call, Ast.ExId (_loc, Ast.IdUid (_loc, "()")))
+ (Ast.ExApp (_loc, (mk_debug_mode _loc m),
+ (Ast.ExStr (_loc, section)))),
+ call, (Ast.ExId (_loc, (Ast.IdUid (_loc, "()")))))
let _ =
let _ = (expr : 'expr Gram.Entry.t) in
@@ -14028,7 +14591,7 @@ module D =
"STRING _"));
Gram.Slist0
(Gram.Snterml
- (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
+ ((Gram.Entry.obj (expr : 'expr Gram.Entry.t)),
"."));
Gram.Snterm
(Gram.Entry.obj
@@ -14044,16 +14607,16 @@ module D =
match (x, (debug_mode section)) with
| (None, false) ->
Ast.ExId (_loc,
- Ast.IdUid (_loc, "()"))
+ (Ast.IdUid (_loc, "()")))
| (Some e, false) -> e
| (None, _) ->
mk_debug _loc m fmt section args
| (Some e, _) ->
- Ast.ExLet (_loc, Ast.BFalse,
- Ast.BiEq (_loc,
- Ast.PaId (_loc,
- Ast.IdUid (_loc, "()")),
- mk_debug _loc m fmt section args),
+ Ast.ExLet (_loc, Ast.ReNil,
+ (Ast.BiEq (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdUid (_loc, "()")))),
+ (mk_debug _loc m fmt section args))),
e) :
'expr)))) ]) ]))
());
@@ -14188,79 +14751,88 @@ module L =
if Ast.is_irrefut_patt p
then
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "List"),
- Ast.IdLid (_loc, "map"))),
- Ast.ExFun (_loc, Ast.McArr (_loc, p, Ast.ExNil _loc, e))),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "List")),
+ (Ast.IdLid (_loc, "map")))))),
+ (Ast.ExFun (_loc,
+ (Ast.McArr (_loc, p, (Ast.ExNil _loc), e)))))),
l)
else
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "List"),
- Ast.IdLid (_loc, "fold_right"))),
- Ast.ExFun (_loc,
- Ast.McOr (_loc,
- Ast.McArr (_loc, p,
- Ast.ExId (_loc, Ast.IdUid (_loc, "True")),
- Ast.ExApp (_loc,
- Ast.ExFun (_loc,
- Ast.McArr (_loc,
- Ast.PaId (_loc, Ast.IdLid (_loc, "x")),
- Ast.ExNil _loc,
- Ast.ExFun (_loc,
- Ast.McArr (_loc,
- Ast.PaId (_loc, Ast.IdLid (_loc, "xs")),
- Ast.ExNil _loc,
- Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "::")),
- Ast.ExId (_loc,
- Ast.IdLid (_loc, "x"))),
- Ast.ExId (_loc,
- Ast.IdLid (_loc, "xs"))))))),
- e)),
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc,
- Ast.ExFun (_loc,
- Ast.McArr (_loc,
- Ast.PaId (_loc, Ast.IdLid (_loc, "l")),
- Ast.ExNil _loc,
- Ast.ExId (_loc, Ast.IdLid (_loc, "l")))))))),
- l),
- Ast.ExId (_loc, Ast.IdUid (_loc, "[]")))
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "List")),
+ (Ast.IdLid (_loc, "fold_right")))))),
+ (Ast.ExFun (_loc,
+ (Ast.McOr (_loc,
+ (Ast.McArr (_loc, p,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "True")))),
+ (Ast.ExApp (_loc,
+ (Ast.ExFun (_loc,
+ (Ast.McArr (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdLid (_loc, "x")))),
+ (Ast.ExNil _loc),
+ (Ast.ExFun (_loc,
+ (Ast.McArr (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdLid (_loc, "xs")))),
+ (Ast.ExNil _loc),
+ (Ast.ExApp (_loc,
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc,
+ "::")))),
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc,
+ "x")))))),
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "xs")))))))))))))),
+ e)))),
+ (Ast.McArr (_loc, (Ast.PaAny _loc),
+ (Ast.ExNil _loc),
+ (Ast.ExFun (_loc,
+ (Ast.McArr (_loc,
+ (Ast.PaId (_loc,
+ (Ast.IdLid (_loc, "l")))),
+ (Ast.ExNil _loc),
+ (Ast.ExId (_loc,
+ (Ast.IdLid (_loc, "l")))))))))))))))),
+ l)),
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "[]")))))
let filter _loc p b l =
if Ast.is_irrefut_patt p
then
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "List"),
- Ast.IdLid (_loc, "filter"))),
- Ast.ExFun (_loc, Ast.McArr (_loc, p, Ast.ExNil _loc, b))),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "List")),
+ (Ast.IdLid (_loc, "filter")))))),
+ (Ast.ExFun (_loc,
+ (Ast.McArr (_loc, p, (Ast.ExNil _loc), b)))))),
l)
else
Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "List"),
- Ast.IdLid (_loc, "filter"))),
- Ast.ExFun (_loc,
- Ast.McOr (_loc,
- Ast.McArr (_loc, p,
- Ast.ExId (_loc, Ast.IdUid (_loc, "True")), b),
- Ast.McArr (_loc, Ast.PaAny _loc, Ast.ExNil _loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "False")))))),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "List")),
+ (Ast.IdLid (_loc, "filter")))))),
+ (Ast.ExFun (_loc,
+ (Ast.McOr (_loc,
+ (Ast.McArr (_loc, p,
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "True")))), b)),
+ (Ast.McArr (_loc, (Ast.PaAny _loc), (Ast.ExNil _loc),
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "False")))))))))))),
l)
let concat _loc l =
Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdAcc (_loc, Ast.IdUid (_loc, "List"),
- Ast.IdLid (_loc, "concat"))),
+ (Ast.ExId (_loc,
+ (Ast.IdAcc (_loc, (Ast.IdUid (_loc, "List")),
+ (Ast.IdLid (_loc, "concat")))))),
l)
let rec compr _loc e =
@@ -14326,43 +14898,45 @@ module L =
(None,
[ (None, None,
[ ([ Gram.Snterml
- (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
+ ((Gram.Entry.obj (expr : 'expr Gram.Entry.t)),
"top") ],
(Gram.Action.mk
(fun (e : 'expr) (_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "::")),
- e),
- Ast.ExId (_loc, Ast.IdUid (_loc, "[]"))) :
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "::")))),
+ e)),
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "[]"))))) :
'comprehension_or_sem_expr_for_list))));
([ Gram.Snterml
- (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
+ ((Gram.Entry.obj (expr : 'expr Gram.Entry.t)),
"top");
Gram.Skeyword "|";
Gram.Slist1sep
- (Gram.Snterm
- (Gram.Entry.obj (item : 'item Gram.Entry.t)),
- Gram.Skeyword ";") ],
+ ((Gram.Snterm
+ (Gram.Entry.obj (item : 'item Gram.Entry.t))),
+ (Gram.Skeyword ";")) ],
(Gram.Action.mk
(fun (l : 'item list) _ (e : 'expr)
(_loc : Gram.Loc.t) ->
(compr _loc e l :
'comprehension_or_sem_expr_for_list))));
([ Gram.Snterml
- (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
+ ((Gram.Entry.obj (expr : 'expr Gram.Entry.t)),
"top");
Gram.Skeyword ";" ],
(Gram.Action.mk
(fun _ (e : 'expr) (_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "::")),
- e),
- Ast.ExId (_loc, Ast.IdUid (_loc, "[]"))) :
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "::")))),
+ e)),
+ (Ast.ExId (_loc, (Ast.IdUid (_loc, "[]"))))) :
'comprehension_or_sem_expr_for_list))));
([ Gram.Snterml
- (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
+ ((Gram.Entry.obj (expr : 'expr Gram.Entry.t)),
"top");
Gram.Skeyword ";";
Gram.Snterm
@@ -14373,35 +14947,41 @@ module L =
(fun (mk : 'sem_expr_for_list) _ (e : 'expr)
(_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc, Ast.IdUid (_loc, "::")),
- e),
- mk
- (Ast.ExId (_loc, Ast.IdUid (_loc, "[]")))) :
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "::")))),
+ e)),
+ (mk
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "[]")))))) :
'comprehension_or_sem_expr_for_list)))) ]) ]))
());
Gram.extend (item : 'item Gram.Entry.t)
((fun () ->
(None,
[ (None, None,
- [ ([ Gram.Snterml
- (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
- "top") ],
+ [ ([ (* NP: These rules rely on being on this particular order. Which should
+ be improved. *)
+ Gram.Snterml
+ ((Gram.Entry.obj (expr : 'expr Gram.Entry.t)),
+ "top") ],
(Gram.Action.mk
(fun (e : 'expr) (_loc : Gram.Loc.t) ->
(`cond e : 'item))));
- ([ Gram.Snterm
- (Gram.Entry.obj
- (test_patt_lessminus :
- 'test_patt_lessminus Gram.Entry.t));
- Gram.Snterm
- (Gram.Entry.obj (patt : 'patt Gram.Entry.t));
- Gram.Skeyword "<-";
+ ([ Gram.Stry
+ (Gram.srules item
+ [ ([ Gram.Snterm
+ (Gram.Entry.obj
+ (patt : 'patt Gram.Entry.t));
+ Gram.Skeyword "<-" ],
+ (Gram.Action.mk
+ (fun _ (p : 'patt) (_loc : Gram.Loc.t)
+ -> (p : 'e__30)))) ]);
Gram.Snterml
- (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
+ ((Gram.Entry.obj (expr : 'expr Gram.Entry.t)),
"top") ],
(Gram.Action.mk
- (fun (e : 'expr) _ (p : 'patt) _
+ (fun (e : 'expr) (p : 'e__30)
(_loc : Gram.Loc.t) ->
(`gen ((p, e)) : 'item)))) ]) ]))
()))
@@ -14421,7 +15001,7 @@ module L =
(None,
[ (None, None,
[ ([ Gram.Snterml
- (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
+ ((Gram.Entry.obj (expr : 'expr Gram.Entry.t)),
"top");
Gram.Skeyword "::";
Gram.Snterm
@@ -14430,14 +15010,14 @@ module L =
(fun (last : 'expr) _ (e : 'expr)
(_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "::")),
- e),
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "::")))),
+ e)),
last) :
'comprehension_or_sem_expr_for_list))));
([ Gram.Snterml
- (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
+ ((Gram.Entry.obj (expr : 'expr Gram.Entry.t)),
"top");
Gram.Skeyword ";";
Gram.Snterm
@@ -14452,11 +15032,11 @@ module L =
(mk : 'sem_expr_for_list) _ (e : 'expr)
(_loc : Gram.Loc.t) ->
(Ast.ExApp (_loc,
- Ast.ExApp (_loc,
- Ast.ExId (_loc,
- Ast.IdUid (_loc, "::")),
- e),
- mk last) :
+ (Ast.ExApp (_loc,
+ (Ast.ExId (_loc,
+ (Ast.IdUid (_loc, "::")))),
+ e)),
+ (mk last)) :
'comprehension_or_sem_expr_for_list)))) ]) ]))
()))
else ()
@@ -14814,6 +15394,8 @@ You should give the -noassert option to the ocaml compiler instead.@."
("-v", (Arg.Unit print_version), "Print Camlp4 version and exit.");
("-version", (Arg.Unit just_print_the_version),
"Print Camlp4 version number and exit.");
+ ("-vnum", (Arg.Unit just_print_the_version),
+ "Print Camlp4 version number and exit.");
("-no_quot", (Arg.Clear Camlp4_config.quotations),
"Don't parse quotations, allowing to use, e.g. \"<:>\" as token.");
("-loaded-modules", (Arg.Set print_loaded_modules),
diff --git a/config/Makefile.msvc b/config/Makefile.msvc
index b2dee22420..8f0a50ce43 100644
--- a/config/Makefile.msvc
+++ b/config/Makefile.msvc
@@ -98,7 +98,7 @@ FLEXLINK=flexlink -merge-manifest
FLEXDIR=$(shell $(FLEXLINK) -where)
IFLEXDIR=-I"$(FLEXDIR)"
MKDLL=$(FLEXLINK)
-MKEXE=$(FLEXLINK) -exe
+MKEXE=$(FLEXLINK) -exe -link /STACK:16777216
MKMAINDLL=$(FLEXLINK) -maindll
### How to build a static library
diff --git a/config/Makefile.msvc64 b/config/Makefile.msvc64
index 3c19e59221..e91b26f724 100644
--- a/config/Makefile.msvc64
+++ b/config/Makefile.msvc64
@@ -103,7 +103,7 @@ FLEXLINK=flexlink -x64 -merge-manifest
FLEXDIR=$(shell $(FLEXLINK) -where)
IFLEXDIR=-I"$(FLEXDIR)"
MKDLL=$(FLEXLINK)
-MKEXE=$(FLEXLINK) -exe
+MKEXE=$(FLEXLINK) -exe -link /STACK:33554432
MKMAINDLL=$(FLEXLINK) -maindll
### How to build a static library
diff --git a/configure b/configure
index cf8c55610f..56a209ce37 100755
--- a/configure
+++ b/configure
@@ -433,10 +433,11 @@ esac
# Determine alignment constraints
case "$host" in
- sparc*-*-*|hppa*-*-*)
+ sparc*-*-*|hppa*-*-*|arm*-*-*)
# On Sparc V9 with certain versions of gcc, determination of double
# alignment is not reliable (PR#1521), hence force it.
# Same goes for hppa.
+ # PR#5088 suggests same problem on ARM.
# But there's a knack (PR#2572):
# if we're in 64-bit mode (sizeof(long) == 8),
# we must not doubleword-align floats...
@@ -464,7 +465,8 @@ esac
if $int64_native; then
case "$host" in
- sparc*-*-*|hppa*-*-*)
+ # PR#5088: autodetection is unreliable on ARM
+ sparc*-*-*|hppa*-*-*|arm*-*-*)
if test $2 = 8; then
echo "64-bit integers can be word-aligned."
echo "#undef ARCH_ALIGN_INT64" >> m.h
@@ -574,14 +576,11 @@ if test $withsharedlibs = "yes"; then
mksharedlibrpath="-rpath "
shared_libraries_supported=true;;
i[3456]86-*-darwin10.*)
- if test $arch64 == true; then
- mksharedlib="$bytecc -bundle -flat_namespace -undefined suppress"
- bytecccompopts="$dl_defs $bytecccompopts"
- dl_needs_underscore=false
- shared_libraries_supported=true
- else
- shared_libraries_supported=false
- fi;;
+ mksharedlib="$bytecc -bundle -flat_namespace -undefined suppress"
+ bytecccompopts="$dl_defs $bytecccompopts"
+ dl_needs_underscore=false
+ shared_libraries_supported=true
+ ;;
i[3456]86-*-darwin*)
mksharedlib="$bytecc -bundle -flat_namespace -undefined suppress -read_only_relocs suppress"
bytecccompopts="$dl_defs $bytecccompopts"
@@ -1571,10 +1570,11 @@ fi
# Look for BFD library
-if ./hasgot -i bfd.h -lbfd -ldl; then
+if ./hasgot -i bfd.h && \
+ ./hasgot -lbfd -ldl -liberty -lz bfd_openr; then
echo "BFD library found."
echo "#define HAS_LIBBFD" >> s.h
- echo "LIBBFD_LINK=-lbfd -ldl -liberty" >> Makefile
+ echo "LIBBFD_LINK=-lbfd -ldl -liberty -lz" >> Makefile
else
echo "BFD library not found, 'objinfo' will be unable to display info on .cmxs files"
echo "LIBBFD_LINK=" >> Makefile
diff --git a/driver/main_args.ml b/driver/main_args.ml
index 578367f3bb..279a46328e 100644
--- a/driver/main_args.ml
+++ b/driver/main_args.ml
@@ -712,6 +712,7 @@ struct
mk_nopervasives F._nopervasives;
mk_dparsetree F._dparsetree;
mk_drawlambda F._drawlambda;
+ mk_dlambda F._dlambda;
mk_dcmm F._dcmm;
mk_dsel F._dsel;
mk_dcombine F._dcombine;
diff --git a/myocamlbuild.ml b/myocamlbuild.ml
index 0e3d9a2e27..ec4299c034 100644
--- a/myocamlbuild.ml
+++ b/myocamlbuild.ml
@@ -283,7 +283,7 @@ Pathname.define_context "toplevel" ["toplevel"; "parsing"; "typing"; "bytecomp";
Pathname.define_context "driver" ["driver"; "asmcomp"; "bytecomp"; "typing"; "utils"; "parsing"; "stdlib"];;
Pathname.define_context "debugger" ["bytecomp"; "utils"; "typing"; "parsing"; "toplevel"; "stdlib"];;
Pathname.define_context "otherlibs/dynlink" ["otherlibs/dynlink"; "bytecomp"; "utils"; "typing"; "parsing"; "stdlib"];;
-Pathname.define_context "otherlibs/dynlink/nat" ["otherlibs/dynlink/nat"; "stdlib"];;
+Pathname.define_context "otherlibs/dynlink/nat" ["otherlibs/dynlink/nat"; "asmcomp"; "stdlib"];;
Pathname.define_context "asmcomp" ["asmcomp"; "bytecomp"; "parsing"; "typing"; "utils"; "stdlib"];;
Pathname.define_context "ocamlbuild" ["ocamlbuild"; "stdlib"; "."];;
Pathname.define_context "lex" ["lex"; "stdlib"];;
diff --git a/ocamlbuild/discard_printf.ml b/ocamlbuild/discard_printf.ml
index 0d2e925d9c..b48b43c253 100644
--- a/ocamlbuild/discard_printf.ml
+++ b/ocamlbuild/discard_printf.ml
@@ -11,6 +11,5 @@
(* Original author: Nicolas Pouillard *)
-let rec greedy _ = greedy
-let discard_printf _fmt = Obj.magic greedy
+let discard_printf fmt = Format.ifprintf Format.std_formatter fmt;;
diff --git a/ocamlbuild/ocamlbuild_unix_plugin.ml b/ocamlbuild/ocamlbuild_unix_plugin.ml
index 3eaaf1743c..cb2f0101ae 100644
--- a/ocamlbuild/ocamlbuild_unix_plugin.ml
+++ b/ocamlbuild/ocamlbuild_unix_plugin.ml
@@ -82,4 +82,4 @@ let setup () =
implem.at_exit_once <- at_exit_once;
implem.is_link <- is_link;
implem.stat <- mkstat Unix.stat;
- implem.lstat <- mkstat Unix.lstat;
+ implem.lstat <- mkstat Unix.lstat;;
diff --git a/ocamldoc/.depend b/ocamldoc/.depend
index c05f40336e..355a0a2fc3 100644
--- a/ocamldoc/.depend
+++ b/ocamldoc/.depend
@@ -214,8 +214,6 @@ odoc_value.cmo: ../typing/types.cmi ../typing/printtyp.cmi odoc_types.cmi \
odoc_parameter.cmo odoc_name.cmi
odoc_value.cmx: ../typing/types.cmx ../typing/printtyp.cmx odoc_types.cmx \
odoc_parameter.cmx odoc_name.cmx
-t.cmo:
-t.cmx:
odoc_analyse.cmi: odoc_module.cmo odoc_args.cmi
odoc_args.cmi: odoc_types.cmi odoc_module.cmo
odoc_ast.cmi: ../typing/types.cmi ../typing/typedtree.cmi ../typing/path.cmi \
diff --git a/ocamldoc/Makefile b/ocamldoc/Makefile
index a9ce895918..7ed30908df 100644
--- a/ocamldoc/Makefile
+++ b/ocamldoc/Makefile
@@ -282,7 +282,7 @@ installopt_really:
###########
test: dummy
$(MKDIR) $@
- $(OCAMLDOC_RUN) -html -colorize-code -sort -d $@ $(INCLUDES) -dump $@/ocamldoc.odoc test.txt test2.txt odoc*.ml odoc*.mli -v
+ $(OCAMLDOC_RUN) -html -colorize-code -sort -d $@ $(INCLUDES) -dump $@/ocamldoc.odoc odoc*.ml odoc*.mli -v
test_stdlib: dummy
$(MKDIR) $@
diff --git a/ocamldoc/odoc_cross.ml b/ocamldoc/odoc_cross.ml
index 4d9f3ca291..962da359eb 100644
--- a/ocamldoc/odoc_cross.ml
+++ b/ocamldoc/odoc_cross.ml
@@ -646,6 +646,7 @@ let rec assoc_comments_text_elements parent_name module_list t_ele =
| Ref (initial_name, None, text_option) ->
(
let rec iter_parent ?parent_name name =
+ let name = Odoc_name.normalize_name name in
let res =
match get_known_elements name with
[] ->
diff --git a/ocamldoc/odoc_name.ml b/ocamldoc/odoc_name.ml
index 672203ff67..b82cf87458 100644
--- a/ocamldoc/odoc_name.ml
+++ b/ocamldoc/odoc_name.ml
@@ -33,14 +33,39 @@ let infix_chars = [ '|' ;
type t = string
+let strip_string s =
+ let len = String.length s in
+ let rec iter_first n =
+ if n >= len then
+ None
+ else
+ match s.[n] with
+ ' ' | '\t' | '\n' | '\r' -> iter_first (n+1)
+ | _ -> Some n
+ in
+ match iter_first 0 with
+ None -> ""
+ | Some first ->
+ let rec iter_last n =
+ if n <= first then
+ None
+ else
+ match s.[n] with
+ ' ' | '\t' | '\n' | '\r' -> iter_last (n-1)
+ | _ -> Some n
+ in
+ match iter_last (len-1) with
+ None -> String.sub s first 1
+ | Some last -> String.sub s first ((last-first)+1)
+
let parens_if_infix name =
- match name with
+ match strip_string name with
| "" -> ""
| s when s.[0] = '*' || s.[String.length s - 1] = '*' -> "( " ^ s ^ " )"
| s when List.mem s.[0] infix_chars -> "(" ^ s ^ ")"
| "or" | "mod" | "land" | "lor" | "lxor" | "lsl" | "lsr" | "asr" ->
"(" ^ name ^ ")"
- | _ -> name
+ | name -> name
;;
let cut name =
@@ -80,6 +105,22 @@ let father name = fst (cut name)
let concat n1 n2 = n1^"."^n2
+let normalize_name name =
+ let (p,s) = cut name in
+ let len = String.length s in
+ let s =
+ if len >= 2 &&
+ s.[0] = '(' && s.[len - 1] = ')'
+ then
+ parens_if_infix (strip_string (String.sub s 1 (len - 2)))
+ else
+ s
+ in
+ match p with
+ "" -> s
+ | p -> concat p s
+ ;;
+
let head_and_tail n =
try
let pos = String.index n '.' in
diff --git a/ocamldoc/odoc_name.mli b/ocamldoc/odoc_name.mli
index 0feb3b83e2..e3b43a7867 100644
--- a/ocamldoc/odoc_name.mli
+++ b/ocamldoc/odoc_name.mli
@@ -27,6 +27,10 @@ val father : t -> t
(** Concatenates two names. *)
val concat : t -> t -> t
+(** Normalize the given name by removing the beginning and ending spaces
+ of the simple name and adding parenthesis if needed. *)
+val normalize_name : t -> t
+
(** Returns the head of a name. *)
val head : t -> t
diff --git a/ocamldoc/odoc_text_lexer.mll b/ocamldoc/odoc_text_lexer.mll
index 9108c5e606..f229f08a66 100644
--- a/ocamldoc/odoc_text_lexer.mll
+++ b/ocamldoc/odoc_text_lexer.mll
@@ -777,7 +777,9 @@ rule main = parse
Char (Lexing.lexeme lexbuf)
else
let s = Lexing.lexeme lexbuf in
- let tag = Odoc_misc.no_blanks s in
+ let len = String.length s in
+ (* remove this starting '{' *)
+ let tag = Odoc_misc.no_blanks (String.sub s 1 (len - 1)) in
CUSTOM tag
}
diff --git a/otherlibs/bigarray/.depend b/otherlibs/bigarray/.depend
index 5026d55ef4..92f29e8c68 100644
--- a/otherlibs/bigarray/.depend
+++ b/otherlibs/bigarray/.depend
@@ -1,21 +1,21 @@
bigarray_stubs.o: bigarray_stubs.c ../../byterun/alloc.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h bigarray.h \
- ../../byterun/config.h ../../byterun/mlvalues.h ../../byterun/custom.h \
- ../../byterun/fail.h ../../byterun/intext.h ../../byterun/io.h \
- ../../byterun/fix_code.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h bigarray.h \
+ ../../byterun/config.h ../../byterun/mlvalues.h ../../byterun/custom.h \
+ ../../byterun/fail.h ../../byterun/intext.h ../../byterun/io.h \
+ ../../byterun/fix_code.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h
mmap_unix.o: mmap_unix.c bigarray.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/mlvalues.h ../../byterun/config.h ../../byterun/misc.h \
- ../../byterun/custom.h ../../byterun/mlvalues.h ../../byterun/fail.h \
- ../../byterun/io.h ../../byterun/sys.h
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/mlvalues.h ../../byterun/config.h ../../byterun/misc.h \
+ ../../byterun/custom.h ../../byterun/mlvalues.h ../../byterun/fail.h \
+ ../../byterun/io.h ../../byterun/sys.h
mmap_win32.o: mmap_win32.c bigarray.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/mlvalues.h ../../byterun/config.h ../../byterun/misc.h \
- ../../byterun/alloc.h ../../byterun/mlvalues.h ../../byterun/custom.h \
- ../../byterun/fail.h ../../byterun/sys.h ../unix/unixsupport.h
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/mlvalues.h ../../byterun/config.h ../../byterun/misc.h \
+ ../../byterun/alloc.h ../../byterun/mlvalues.h ../../byterun/custom.h \
+ ../../byterun/fail.h ../../byterun/sys.h ../unix/unixsupport.h
bigarray.cmi:
bigarray.cmo: bigarray.cmi
bigarray.cmx: bigarray.cmi
diff --git a/otherlibs/graph/.depend b/otherlibs/graph/.depend
index e71de3418e..54df0691ff 100644
--- a/otherlibs/graph/.depend
+++ b/otherlibs/graph/.depend
@@ -1,63 +1,103 @@
-color.o: color.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h
-draw.o: draw.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h
-dump_img.o: dump_img.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h image.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h
-events.o: events.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/signals.h
-fill.o: fill.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/mlvalues.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h
-image.o: image.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h image.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/custom.h
-make_img.o: make_img.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h image.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/mlvalues.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h
-open.o: open.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/callback.h ../../byterun/fail.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h
-point_col.o: point_col.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h
-sound.o: sound.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h
-subwindow.o: subwindow.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h
-text.o: text.c libgraph.h ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h
+color.o: color.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h \
+
+draw.o: draw.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h
+dump_img.o: dump_img.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h image.h \
+ ../../byterun/alloc.h ../../byterun/mlvalues.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h
+events.o: events.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/signals.h
+fill.o: fill.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h
+image.o: image.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h image.h \
+ ../../byterun/alloc.h ../../byterun/mlvalues.h ../../byterun/custom.h
+make_img.o: make_img.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h image.h \
+ ../../byterun/memory.h ../../byterun/gc.h ../../byterun/mlvalues.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h
+open.o: open.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/callback.h ../../byterun/fail.h \
+ ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h
+point_col.o: point_col.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h
+sound.o: sound.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h
+subwindow.o: subwindow.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h
+text.o: text.c libgraph.h \
+ \
+ \
+ \
+ ../../byterun/mlvalues.h ../../byterun/compatibility.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h
graphics.cmi:
graphicsX11.cmi:
graphics.cmo: graphics.cmi
diff --git a/otherlibs/labltk/lib/Makefile b/otherlibs/labltk/lib/Makefile
index 91f477fcf2..b82bcddfaf 100644
--- a/otherlibs/labltk/lib/Makefile
+++ b/otherlibs/labltk/lib/Makefile
@@ -57,14 +57,23 @@ $(LIBNAME): Makefile $(TOPDIR)/config/Makefile
@echo "#!/bin/sh" > $@
@echo 'exec $(INSTALLDIR)/$(LIBNAME)top$(EXE) -I $(INSTALLDIR) $$*' >> $@
+install-script: $(LIBNAME)
+ cp $(LIBNAME) $(BINDIR)
+ chmod 755 $(BINDIR)/$(LIBNAME)
+
+install-batch:
+ cp labltk.bat $(BINDIR)
+
install:
if test -d $(INSTALLDIR); then : ; else mkdir $(INSTALLDIR); fi
cp $(LIBNAME).cma $(LIBNAME)top$(EXE) $(INSTALLDIR)
chmod 644 $(INSTALLDIR)/$(LIBNAME).cma
chmod 755 $(INSTALLDIR)/$(LIBNAME)top$(EXE)
@if test -d $(BINDIR); then : ; else mkdir $(BINDIR); fi
- cp $(LIBNAME) $(BINDIR)
- chmod 755 $(BINDIR)/$(LIBNAME)
+ @case x$(TOOLCHAIN) in \
+ xmingw|xmsvc) $(MAKE) install-batch ;; \
+ *) $(MAKE) install-script ;; \
+ esac
installopt:
@if test -d $(INSTALLDIR); then : ; else mkdir $(INSTALLDIR); fi
diff --git a/otherlibs/labltk/lib/labltk.bat b/otherlibs/labltk/lib/labltk.bat
new file mode 100755
index 0000000000..f760e80006
--- /dev/null
+++ b/otherlibs/labltk/lib/labltk.bat
@@ -0,0 +1 @@
+@ocaml -I +labltk labltk.cma %1 %2 %3 %4 %5 %6 %7 %8 %9 \ No newline at end of file
diff --git a/otherlibs/num/.depend b/otherlibs/num/.depend
index bfd028c0ad..1e783ec0f9 100644
--- a/otherlibs/num/.depend
+++ b/otherlibs/num/.depend
@@ -1,6 +1,6 @@
bng.o: bng.c bng.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/compatibility.h bng_amd64.c \
- bng_digit.c
+ ../../byterun/../config/s.h ../../byterun/compatibility.h bng_amd64.c \
+ bng_digit.c
bng_alpha.o: bng_alpha.c
bng_amd64.o: bng_amd64.c
bng_digit.o: bng_digit.c
@@ -9,14 +9,14 @@ bng_mips.o: bng_mips.c
bng_ppc.o: bng_ppc.c
bng_sparc.o: bng_sparc.c
nat_stubs.o: nat_stubs.c ../../byterun/alloc.h \
- ../../byterun/compatibility.h ../../byterun/misc.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/config.h ../../byterun/custom.h ../../byterun/intext.h \
- ../../byterun/io.h ../../byterun/fix_code.h ../../byterun/fail.h \
- ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h \
- ../../byterun/mlvalues.h bng.h nat.h
+ ../../byterun/compatibility.h ../../byterun/misc.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/config.h ../../byterun/custom.h ../../byterun/intext.h \
+ ../../byterun/io.h ../../byterun/fix_code.h ../../byterun/fail.h \
+ ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h \
+ ../../byterun/mlvalues.h bng.h nat.h
arith_flags.cmi:
arith_status.cmi:
big_int.cmi: nat.cmi
diff --git a/otherlibs/str/.depend b/otherlibs/str/.depend
index c9eb99514b..df6eb9af08 100644
--- a/otherlibs/str/.depend
+++ b/otherlibs/str/.depend
@@ -1,9 +1,9 @@
strstubs.o: strstubs.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h ../../byterun/fail.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h ../../byterun/fail.h
str.cmi:
str.cmo: str.cmi
str.cmx: str.cmi
diff --git a/otherlibs/systhreads/.depend b/otherlibs/systhreads/.depend
index dc859aa81f..9c6889b708 100644
--- a/otherlibs/systhreads/.depend
+++ b/otherlibs/systhreads/.depend
@@ -1,14 +1,14 @@
st_stubs.o: st_stubs.c ../../byterun/alloc.h \
- ../../byterun/compatibility.h ../../byterun/misc.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/backtrace.h ../../byterun/callback.h \
- ../../byterun/custom.h ../../byterun/fail.h ../../byterun/io.h \
- ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h ../../byterun/misc.h \
- ../../byterun/mlvalues.h ../../byterun/printexc.h ../../byterun/roots.h \
- ../../byterun/memory.h ../../byterun/signals.h ../../byterun/stacks.h \
- ../../byterun/sys.h threads.h st_posix.h
+ ../../byterun/compatibility.h ../../byterun/misc.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/backtrace.h ../../byterun/callback.h \
+ ../../byterun/custom.h ../../byterun/fail.h ../../byterun/io.h \
+ ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h ../../byterun/misc.h \
+ ../../byterun/mlvalues.h ../../byterun/printexc.h ../../byterun/roots.h \
+ ../../byterun/memory.h ../../byterun/signals.h ../../byterun/stacks.h \
+ ../../byterun/sys.h threads.h st_posix.h
condition.cmi: mutex.cmi
event.cmi:
mutex.cmi:
diff --git a/otherlibs/threads/.depend b/otherlibs/threads/.depend
index 8adb2095fa..7ce4479a41 100644
--- a/otherlibs/threads/.depend
+++ b/otherlibs/threads/.depend
@@ -1,35 +1,32 @@
scheduler.o: scheduler.c ../../byterun/alloc.h \
- ../../byterun/compatibility.h ../../byterun/misc.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/backtrace.h ../../byterun/callback.h \
- ../../byterun/config.h ../../byterun/fail.h ../../byterun/io.h \
- ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h ../../byterun/misc.h \
- ../../byterun/mlvalues.h ../../byterun/printexc.h ../../byterun/roots.h \
- ../../byterun/memory.h ../../byterun/signals.h ../../byterun/stacks.h \
- ../../byterun/sys.h
+ ../../byterun/compatibility.h ../../byterun/misc.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/backtrace.h ../../byterun/callback.h \
+ ../../byterun/config.h ../../byterun/fail.h ../../byterun/io.h \
+ ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h ../../byterun/misc.h \
+ ../../byterun/mlvalues.h ../../byterun/printexc.h ../../byterun/roots.h \
+ ../../byterun/memory.h ../../byterun/signals.h ../../byterun/stacks.h \
+ ../../byterun/sys.h
condition.cmi: mutex.cmi
event.cmi:
-marshal.cmi:
mutex.cmi:
-pervasives.cmi:
-thread.cmi: unix.cmi
-threadUnix.cmi: unix.cmi
-unix.cmi:
+thread.cmi: unix.cmo
+threadUnix.cmi: unix.cmo
condition.cmo: thread.cmi mutex.cmi condition.cmi
condition.cmx: thread.cmx mutex.cmx condition.cmi
event.cmo: mutex.cmi condition.cmi event.cmi
event.cmx: mutex.cmx condition.cmx event.cmi
-marshal.cmo: pervasives.cmi marshal.cmi
-marshal.cmx: pervasives.cmx marshal.cmi
+marshal.cmo: pervasives.cmo
+marshal.cmx: pervasives.cmx
mutex.cmo: thread.cmi mutex.cmi
mutex.cmx: thread.cmx mutex.cmi
-pervasives.cmo: unix.cmi pervasives.cmi
-pervasives.cmx: unix.cmx pervasives.cmi
-thread.cmo: unix.cmi thread.cmi
+pervasives.cmo: unix.cmo
+pervasives.cmx: unix.cmx
+thread.cmo: unix.cmo thread.cmi
thread.cmx: unix.cmx thread.cmi
-threadUnix.cmo: unix.cmi thread.cmi threadUnix.cmi
+threadUnix.cmo: unix.cmo thread.cmi threadUnix.cmi
threadUnix.cmx: unix.cmx thread.cmx threadUnix.cmi
-unix.cmo: unix.cmi
-unix.cmx: unix.cmi
+unix.cmo:
+unix.cmx:
diff --git a/otherlibs/unix/.depend b/otherlibs/unix/.depend
index cf80dc6992..42875bdcc8 100644
--- a/otherlibs/unix/.depend
+++ b/otherlibs/unix/.depend
@@ -1,449 +1,453 @@
accept.o: accept.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/fail.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h \
- socketaddr.h ../../byterun/misc.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/fail.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h \
+ socketaddr.h ../../byterun/misc.h
access.o: access.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h unixsupport.h
addrofstr.o: addrofstr.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/fail.h ../../byterun/mlvalues.h \
- unixsupport.h socketaddr.h ../../byterun/misc.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/fail.h ../../byterun/mlvalues.h \
+ unixsupport.h socketaddr.h ../../byterun/misc.h
alarm.o: alarm.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
bind.o: bind.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h socketaddr.h ../../byterun/misc.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h socketaddr.h \
+ ../../byterun/misc.h
chdir.o: chdir.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
chmod.o: chmod.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
chown.o: chown.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
chroot.o: chroot.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
close.o: close.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
closedir.o: closedir.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h unixsupport.h
connect.o: connect.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h ../../byterun/signals.h unixsupport.h \
- socketaddr.h ../../byterun/misc.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h ../../byterun/signals.h unixsupport.h \
+ socketaddr.h ../../byterun/misc.h
cst2constr.o: cst2constr.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/fail.h ../../byterun/mlvalues.h \
- cst2constr.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/fail.h ../../byterun/mlvalues.h \
+ cst2constr.h
cstringv.o: cstringv.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/mlvalues.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/mlvalues.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h unixsupport.h
dup.o: dup.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
dup2.o: dup2.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
envir.o: envir.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h
errmsg.o: errmsg.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h
execv.o: execv.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h unixsupport.h
execve.o: execve.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h unixsupport.h
execvp.o: execvp.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h unixsupport.h
exit.o: exit.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
fchmod.o: fchmod.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h
fchown.o: fchown.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h
fcntl.o: fcntl.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h
fork.o: fork.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h \
- ../../byterun/debugger.h ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h \
+ ../../byterun/debugger.h ../../byterun/mlvalues.h unixsupport.h
ftruncate.o: ftruncate.c ../../byterun/fail.h \
- ../../byterun/compatibility.h ../../byterun/misc.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h ../../byterun/io.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/misc.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h ../../byterun/io.h unixsupport.h
getaddrinfo.o: getaddrinfo.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h \
- cst2constr.h socketaddr.h ../../byterun/misc.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h \
+ cst2constr.h socketaddr.h ../../byterun/misc.h
getcwd.o: getcwd.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/fail.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/fail.h unixsupport.h
getegid.o: getegid.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h unixsupport.h
geteuid.o: geteuid.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h unixsupport.h
getgid.o: getgid.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
getgr.o: getgr.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/fail.h \
- ../../byterun/mlvalues.h ../../byterun/alloc.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/fail.h \
+ ../../byterun/mlvalues.h ../../byterun/alloc.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h unixsupport.h
getgroups.o: getgroups.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h unixsupport.h
gethost.o: gethost.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h \
- socketaddr.h ../../byterun/misc.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h \
+ socketaddr.h ../../byterun/misc.h
gethostname.o: gethostname.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h unixsupport.h
getlogin.o: getlogin.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ unixsupport.h
getnameinfo.o: getnameinfo.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h \
- socketaddr.h ../../byterun/misc.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h \
+ socketaddr.h ../../byterun/misc.h
getpeername.o: getpeername.c ../../byterun/fail.h \
- ../../byterun/compatibility.h ../../byterun/misc.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h socketaddr.h ../../byterun/misc.h
+ ../../byterun/compatibility.h ../../byterun/misc.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h socketaddr.h \
+ ../../byterun/misc.h
getpid.o: getpid.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
getppid.o: getppid.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h unixsupport.h
getproto.o: getproto.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h unixsupport.h
getpw.o: getpw.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h ../../byterun/fail.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h ../../byterun/fail.h unixsupport.h
getserv.o: getserv.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h unixsupport.h
getsockname.o: getsockname.c ../../byterun/fail.h \
- ../../byterun/compatibility.h ../../byterun/misc.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h socketaddr.h ../../byterun/misc.h
+ ../../byterun/compatibility.h ../../byterun/misc.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h socketaddr.h \
+ ../../byterun/misc.h
gettimeofday.o: gettimeofday.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h unixsupport.h
getuid.o: getuid.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
gmtime.o: gmtime.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/fail.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/fail.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h unixsupport.h
initgroups.o: initgroups.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h unixsupport.h
isatty.o: isatty.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
itimer.o: itimer.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/fail.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/fail.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h unixsupport.h
kill.o: kill.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/fail.h \
- ../../byterun/mlvalues.h unixsupport.h ../../byterun/signals.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/fail.h \
+ ../../byterun/mlvalues.h unixsupport.h ../../byterun/signals.h
link.o: link.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
listen.o: listen.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h
lockf.o: lockf.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h ../../byterun/signals.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h ../../byterun/signals.h unixsupport.h
lseek.o: lseek.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/io.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/io.h unixsupport.h
mkdir.o: mkdir.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
mkfifo.o: mkfifo.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h
nice.o: nice.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
open.o: open.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h
opendir.o: opendir.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ unixsupport.h
pipe.o: pipe.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h unixsupport.h
putenv.o: putenv.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h \
+ ../../byterun/mlvalues.h unixsupport.h
read.o: read.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h \
- ../../byterun/signals.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h \
+ ../../byterun/signals.h unixsupport.h
readdir.o: readdir.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/fail.h ../../byterun/mlvalues.h \
- ../../byterun/alloc.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/fail.h ../../byterun/mlvalues.h \
+ ../../byterun/alloc.h unixsupport.h
readlink.o: readlink.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h unixsupport.h
rename.o: rename.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
rewinddir.o: rewinddir.c ../../byterun/fail.h \
- ../../byterun/compatibility.h ../../byterun/misc.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/misc.h \
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h
rmdir.o: rmdir.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
select.o: select.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/fail.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/fail.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h
sendrecv.o: sendrecv.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h \
- socketaddr.h ../../byterun/misc.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h \
+ socketaddr.h ../../byterun/misc.h
setgid.o: setgid.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
setgroups.o: setgroups.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h unixsupport.h
setsid.o: setsid.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h
setuid.o: setuid.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
shutdown.o: shutdown.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h
signals.o: signals.c ../../byterun/alloc.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h ../../byterun/mlvalues.h \
- ../../byterun/signals.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h ../../byterun/mlvalues.h \
+ ../../byterun/signals.h unixsupport.h
sleep.o: sleep.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/signals.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h \
+ ../../byterun/signals.h ../../byterun/mlvalues.h unixsupport.h
socket.o: socket.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h
socketaddr.o: socketaddr.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h unixsupport.h \
- socketaddr.h ../../byterun/misc.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h unixsupport.h \
+ socketaddr.h ../../byterun/misc.h
socketpair.o: socketpair.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h unixsupport.h
sockopt.o: sockopt.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/mlvalues.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h ../../byterun/alloc.h \
- ../../byterun/fail.h unixsupport.h socketaddr.h ../../byterun/misc.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/mlvalues.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h ../../byterun/alloc.h \
+ ../../byterun/fail.h unixsupport.h socketaddr.h ../../byterun/misc.h
stat.o: stat.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h ../../byterun/alloc.h \
- unixsupport.h cst2constr.h ../../byterun/io.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h ../../byterun/alloc.h \
+ unixsupport.h cst2constr.h ../../byterun/io.h
strofaddr.o: strofaddr.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h unixsupport.h socketaddr.h ../../byterun/misc.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h unixsupport.h socketaddr.h ../../byterun/misc.h
symlink.o: symlink.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h
termios.o: termios.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/fail.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/fail.h unixsupport.h
time.o: time.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h unixsupport.h
times.o: times.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h unixsupport.h
truncate.o: truncate.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/fail.h ../../byterun/mlvalues.h \
- ../../byterun/io.h unixsupport.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/fail.h ../../byterun/mlvalues.h \
+ ../../byterun/io.h unixsupport.h
umask.o: umask.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
unixsupport.o: unixsupport.c ../../byterun/mlvalues.h \
- ../../byterun/compatibility.h ../../byterun/config.h \
- ../../byterun/../config/m.h ../../byterun/../config/s.h \
- ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
- ../../byterun/callback.h ../../byterun/memory.h ../../byterun/gc.h \
- ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h ../../byterun/fail.h unixsupport.h cst2constr.h
+ ../../byterun/compatibility.h ../../byterun/config.h \
+ ../../byterun/../config/m.h ../../byterun/../config/s.h \
+ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/mlvalues.h \
+ ../../byterun/callback.h ../../byterun/memory.h ../../byterun/gc.h \
+ ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h ../../byterun/fail.h unixsupport.h \
+ cst2constr.h
unlink.o: unlink.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h unixsupport.h
utimes.o: utimes.c ../../byterun/fail.h ../../byterun/compatibility.h \
- ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/mlvalues.h \
- ../../byterun/mlvalues.h unixsupport.h
+ ../../byterun/misc.h ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/mlvalues.h \
+ ../../byterun/mlvalues.h unixsupport.h
wait.o: wait.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
- ../../byterun/mlvalues.h ../../byterun/fail.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
- ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
+ ../../byterun/mlvalues.h ../../byterun/fail.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/major_gc.h ../../byterun/freelist.h \
+ ../../byterun/minor_gc.h ../../byterun/signals.h unixsupport.h
write.o: write.c ../../byterun/mlvalues.h ../../byterun/compatibility.h \
- ../../byterun/config.h ../../byterun/../config/m.h \
- ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
- ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
- ../../byterun/freelist.h ../../byterun/minor_gc.h \
- ../../byterun/signals.h unixsupport.h
+ ../../byterun/config.h ../../byterun/../config/m.h \
+ ../../byterun/../config/s.h ../../byterun/misc.h ../../byterun/memory.h \
+ ../../byterun/gc.h ../../byterun/mlvalues.h ../../byterun/major_gc.h \
+ ../../byterun/freelist.h ../../byterun/minor_gc.h \
+ ../../byterun/signals.h unixsupport.h
unix.cmi:
unixLabels.cmi: unix.cmi
unix.cmo: unix.cmi
diff --git a/stdlib/map.mli b/stdlib/map.mli
index 5029c7b363..b025b8c0a6 100644
--- a/stdlib/map.mli
+++ b/stdlib/map.mli
@@ -147,7 +147,7 @@ module type S =
*)
val max_binding: 'a t -> (key * 'a)
- (** Same as {!Map.S.max_binding}, but returns the largest binding
+ (** Same as {!Map.S.min_binding}, but returns the largest binding
of the given map.
@since 3.12.0
*)
diff --git a/stdlib/pervasives.ml b/stdlib/pervasives.ml
index a6cec7b644..7a1c0aeab8 100644
--- a/stdlib/pervasives.ml
+++ b/stdlib/pervasives.ml
@@ -52,6 +52,7 @@ external ( || ) : bool -> bool -> bool = "%sequor"
external ( ~- ) : int -> int = "%negint"
external ( ~+ ) : int -> int = "%identity"
+external (~+) : int -> int = "%identity"
external succ : int -> int = "%succint"
external pred : int -> int = "%predint"
external ( + ) : int -> int -> int = "%addint"
diff --git a/testsuite/tests/typing-objects-bugs/pr4824_ok.ml b/testsuite/tests/typing-objects-bugs/pr4824_ok.ml
new file mode 100644
index 0000000000..906959374b
--- /dev/null
+++ b/testsuite/tests/typing-objects-bugs/pr4824_ok.ml
@@ -0,0 +1,10 @@
+module M :
+ sig
+ class x : int -> object method m : int end
+ end
+=
+struct
+ class x _ = object
+ method m = 42
+ end
+end;;
diff --git a/testsuite/tests/typing-objects-bugs/pr4824a_bad.ml b/testsuite/tests/typing-objects-bugs/pr4824a_bad.ml
new file mode 100644
index 0000000000..983455b4b4
--- /dev/null
+++ b/testsuite/tests/typing-objects-bugs/pr4824a_bad.ml
@@ -0,0 +1,6 @@
+module M : sig class c : 'a -> object val x : 'b end end =
+ struct class c x = object val x = x end end
+
+class c (x : int) = object inherit M.c x method x : bool = x end
+
+let r = (new c 2)#x;;
diff --git a/testsuite/tests/typing-poly/poly.ml b/testsuite/tests/typing-poly/poly.ml
index d1a9ee1698..13c5363697 100644
--- a/testsuite/tests/typing-poly/poly.ml
+++ b/testsuite/tests/typing-poly/poly.ml
@@ -612,3 +612,13 @@ and transf_alist : 'a. _ -> ('a*t) list -> ('a*t) list = fun f -> function
| [] -> []
| (k,v)::tl -> (k, transf f v) :: transf_alist f tl
;;
+
+(* PR#4862 *)
+
+type t = {f: 'a. ('a list -> int) Lazy.t}
+let l : t = { f = lazy (raise Not_found)};;
+
+(* variant *)
+type t = {f: 'a. 'a -> unit};;
+{f=fun ?x y -> ()};;
+{f=fun ?x y -> y};; (* fail *)
diff --git a/testsuite/tests/typing-poly/poly.ml.principal.reference b/testsuite/tests/typing-poly/poly.ml.principal.reference
index 7d9fd321ac..63281ae0db 100644
--- a/testsuite/tests/typing-poly/poly.ml.principal.reference
+++ b/testsuite/tests/typing-poly/poly.ml.principal.reference
@@ -587,4 +587,13 @@ val neg : int -> bool -> int * bool = <fun>
# type t = A of int | B of (int * t) list | C of (string * t) list
val transf : (int -> t) -> t -> t = <fun>
val transf_alist : (int -> t) -> ('a * t) list -> ('a * t) list = <fun>
+# type t = { f : 'a. ('a list -> int) Lazy.t; }
+val l : t = {f = <lazy>}
+# type t = { f : 'a. 'a -> unit; }
+# - : t = {f = <fun>}
+# Characters 3-16:
+ {f=fun ?x y -> y};; (* fail *)
+ ^^^^^^^^^^^^^
+Error: This field value has type unit -> unit which is less general than
+ 'a. 'a -> unit
#
diff --git a/testsuite/tests/typing-poly/poly.ml.reference b/testsuite/tests/typing-poly/poly.ml.reference
index 6fb4845513..6e4fce853b 100644
--- a/testsuite/tests/typing-poly/poly.ml.reference
+++ b/testsuite/tests/typing-poly/poly.ml.reference
@@ -570,4 +570,13 @@ val neg : int -> bool -> int * bool = <fun>
# type t = A of int | B of (int * t) list | C of (string * t) list
val transf : (int -> t) -> t -> t = <fun>
val transf_alist : (int -> t) -> ('a * t) list -> ('a * t) list = <fun>
+# type t = { f : 'a. ('a list -> int) Lazy.t; }
+val l : t = {f = <lazy>}
+# type t = { f : 'a. 'a -> unit; }
+# - : t = {f = <fun>}
+# Characters 3-16:
+ {f=fun ?x y -> y};; (* fail *)
+ ^^^^^^^^^^^^^
+Error: This field value has type unit -> unit which is less general than
+ 'a. 'a -> unit
#
diff --git a/tools/.cvsignore b/tools/.cvsignore
index 83a5a5c62e..cf3c69515d 100644
--- a/tools/.cvsignore
+++ b/tools/.cvsignore
@@ -1,5 +1,6 @@
ocamldep
ocamldep.opt
+ocamldep.bak
ocamlprof
opnames.ml
dumpobj
diff --git a/tools/.depend b/tools/.depend
index 9a5ab8be13..36c177ed43 100644
--- a/tools/.depend
+++ b/tools/.depend
@@ -10,10 +10,6 @@ depend.cmo: ../parsing/parsetree.cmi ../parsing/longident.cmi \
../parsing/location.cmi depend.cmi
depend.cmx: ../parsing/parsetree.cmi ../parsing/longident.cmx \
../parsing/location.cmx depend.cmi
-dumpapprox.cmo: ../utils/config.cmi ../asmcomp/compilenv.cmi \
- ../asmcomp/clambda.cmi
-dumpapprox.cmx: ../utils/config.cmx ../asmcomp/compilenv.cmx \
- ../asmcomp/clambda.cmx
dumpobj.cmo: ../utils/tbl.cmi opnames.cmo ../bytecomp/opcodes.cmo \
../parsing/location.cmi ../bytecomp/lambda.cmi ../bytecomp/instruct.cmi \
../typing/ident.cmi ../bytecomp/emitcode.cmi ../utils/config.cmi \
@@ -24,12 +20,14 @@ dumpobj.cmx: ../utils/tbl.cmx opnames.cmx ../bytecomp/opcodes.cmx \
../typing/ident.cmx ../bytecomp/emitcode.cmx ../utils/config.cmx \
../bytecomp/cmo_format.cmi ../bytecomp/bytesections.cmx \
../parsing/asttypes.cmi
-lexer301.cmo: ../utils/warnings.cmi ../utils/misc.cmi ../parsing/location.cmi
-lexer301.cmx: ../utils/warnings.cmx ../utils/misc.cmx ../parsing/location.cmx
myocamlbuild_config.cmo:
myocamlbuild_config.cmx:
-objinfo.cmo: ../utils/config.cmi ../bytecomp/cmo_format.cmi
-objinfo.cmx: ../utils/config.cmx ../bytecomp/cmo_format.cmi
+objinfo.cmo: ../utils/misc.cmi ../utils/config.cmi ../asmcomp/cmx_format.cmi \
+ ../bytecomp/cmo_format.cmi ../asmcomp/clambda.cmi \
+ ../bytecomp/bytesections.cmi
+objinfo.cmx: ../utils/misc.cmx ../utils/config.cmx ../asmcomp/cmx_format.cmi \
+ ../bytecomp/cmo_format.cmi ../asmcomp/clambda.cmx \
+ ../bytecomp/bytesections.cmx
ocaml299to3.cmo:
ocaml299to3.cmx:
ocamlcp.cmo: ../driver/main_args.cmi
@@ -60,5 +58,5 @@ primreq.cmo: ../utils/config.cmi ../bytecomp/cmo_format.cmi
primreq.cmx: ../utils/config.cmx ../bytecomp/cmo_format.cmi
profiling.cmo: profiling.cmi
profiling.cmx: profiling.cmi
-scrapelabels.cmo: lexer301.cmo
-scrapelabels.cmx: lexer301.cmx
+scrapelabels.cmo:
+scrapelabels.cmx:
diff --git a/tools/Makefile.shared b/tools/Makefile.shared
index fa32e46134..12bf76f0d0 100644
--- a/tools/Makefile.shared
+++ b/tools/Makefile.shared
@@ -270,7 +270,7 @@ clean::
$(CAMLOPT) $(COMPFLAGS) -c $<
clean::
- rm -f *.cmo *.cmi *.cma
+ rm -f *.cmo *.cmi *.cma *.dll *.so *.lib *.a
depend: beforedepend
$(CAMLRUN) ./ocamldep $(INCLUDES) *.mli *.ml > .depend
diff --git a/typing/ctype.ml b/typing/ctype.ml
index b65de95476..a722522d3c 100644
--- a/typing/ctype.ml
+++ b/typing/ctype.ml
@@ -126,15 +126,20 @@ let increase_global_level () =
let restore_global_level gl =
global_level := gl
-(* Abbreviations without parameters *)
+(**** Whether a path points to an object type (with hidden row variable) ****)
+let is_object_type path =
+ let name =
+ match path with Path.Pident id -> Ident.name id
+ | Path.Pdot(_, s,_) -> s
+ | Path.Papply _ -> assert false
+ in name.[0] = '#'
+
+(**** Abbreviations without parameters ****)
(* Shall reset after generalizing *)
let simple_abbrevs = ref Mnil
let proper_abbrevs path tl abbrev =
- if !Clflags.principal || tl <> [] then abbrev else
- let name = match path with Path.Pident id -> Ident.name id
- | Path.Pdot(_, s,_) -> s
- | Path.Papply _ -> assert false in
- if name.[0] <> '#' then simple_abbrevs else abbrev
+ if !Clflags.principal || tl <> [] || is_object_type path then abbrev
+ else simple_abbrevs
(**** Some type creators ****)
@@ -2291,6 +2296,7 @@ let rec eqtype rename type_pairs subst env t1 t2 =
normalize_subst subst;
if List.assq t1 !subst != t2 then raise (Unify [])
with Not_found ->
+ if List.exists (fun (_, t) -> t == t2) !subst then raise (Unify []);
subst := (t1, t2) :: !subst
end
| (Tconstr (p1, [], _), Tconstr (p2, [], _)) when Path.same p1 p2 ->
@@ -2311,6 +2317,7 @@ let rec eqtype rename type_pairs subst env t1 t2 =
normalize_subst subst;
if List.assq t1' !subst != t2' then raise (Unify [])
with Not_found ->
+ if List.exists (fun (_, t) -> t == t2') !subst then raise (Unify []);
subst := (t1', t2') :: !subst
end
| (Tarrow (l1, t1, u1, _), Tarrow (l2, t2, u2, _)) when l1 = l2
@@ -2485,10 +2492,10 @@ let rec moregen_clty trace type_pairs env cty1 cty2 =
| _ ->
raise (Failure [])
with
- Failure error when trace ->
+ Failure error when trace || error = [] ->
raise (Failure (CM_Class_type_mismatch (cty1, cty2)::error))
-let match_class_types env pat_sch subj_sch =
+let match_class_types ?(trace=true) env pat_sch subj_sch =
let type_pairs = TypePairs.create 53 in
let old_level = !current_level in
current_level := generic_level - 1;
@@ -2572,7 +2579,7 @@ let match_class_types env pat_sch subj_sch =
match error with
[] ->
begin try
- moregen_clty true type_pairs env patt subj;
+ moregen_clty trace type_pairs env patt subj;
[]
with
Failure r -> r
@@ -2614,7 +2621,7 @@ let rec equal_clty trace type_pairs subst env cty1 cty2 =
Vars.iter
(fun lab (_, _, ty) ->
let (_, _, ty') = Vars.find lab sign1.cty_vars in
- try eqtype true type_pairs subst env ty ty' with Unify trace ->
+ try eqtype true type_pairs subst env ty' ty with Unify trace ->
raise (Failure [CM_Val_type_mismatch
(lab, expand_trace env trace)]))
sign2.cty_vars
@@ -2626,8 +2633,6 @@ let rec equal_clty trace type_pairs subst env cty1 cty2 =
Failure error when trace ->
raise (Failure (CM_Class_type_mismatch (cty1, cty2)::error))
-(* XXX On pourrait autoriser l'instantiation du type des parametres... *)
-(* XXX Correct ? (variables de type dans parametres et corps de classe *)
let match_class_declarations env patt_params patt_type subj_params subj_type =
let type_pairs = TypePairs.create 53 in
let subst = ref [] in
@@ -2714,8 +2719,14 @@ let match_class_declarations env patt_params patt_type subj_params subj_type =
raise (Failure [CM_Type_parameter_mismatch
(expand_trace env trace)]))
patt_params subj_params;
- equal_clty false type_pairs subst env patt_type subj_type;
- []
+ (* old code: equal_clty false type_pairs subst env patt_type subj_type; *)
+ equal_clty false type_pairs subst env
+ (Tcty_signature sign1) (Tcty_signature sign2);
+ (* Use moregeneral for class parameters, need to recheck everything to
+ keeps relationships (PR#4824) *)
+ let clty_params = List.fold_right (fun ty cty -> Tcty_fun ("*",ty,cty)) in
+ match_class_types ~trace:false env
+ (clty_params patt_params patt_type) (clty_params subj_params subj_type)
with
Failure r -> r
end
@@ -3162,15 +3173,6 @@ let unalias ty =
| _ ->
newty2 ty.level ty.desc
-let unroll_abbrev id tl ty =
- let ty = repr ty in
- if (ty.desc = Tvar) || (List.exists (deep_occur ty) tl) then
- ty
- else
- let ty' = newty2 ty.level ty.desc in
- link_type ty (newty2 ty.level (Tconstr (Path.Pident id, tl, ref Mnil)));
- ty'
-
(* Return the arity (as for curried functions) of the given type. *)
let rec arity ty =
match (repr ty).desc with
@@ -3343,6 +3345,16 @@ let nondep_type env id ty =
clear_hash ();
raise Not_found
+let unroll_abbrev id tl ty =
+ let ty = repr ty and path = Path.Pident id in
+ if (ty.desc = Tvar) || (List.exists (deep_occur ty) tl)
+ || is_object_type path then
+ ty
+ else
+ let ty' = newty2 ty.level ty.desc in
+ link_type ty (newty2 ty.level (Tconstr (path, tl, ref Mnil)));
+ ty'
+
(* Preserve sharing inside type declarations. *)
let nondep_type_decl env mid id is_covariant decl =
try
diff --git a/typing/ctype.mli b/typing/ctype.mli
index 32b1b16669..af2c7fd0c2 100644
--- a/typing/ctype.mli
+++ b/typing/ctype.mli
@@ -183,7 +183,7 @@ type class_match_failure =
| CM_Private_method of string
| CM_Virtual_method of string
val match_class_types:
- Env.t -> class_type -> class_type -> class_match_failure list
+ ?trace:bool -> Env.t -> class_type -> class_type -> class_match_failure list
(* Check if the first class type is more general than the second. *)
val equal: Env.t -> bool -> type_expr list -> type_expr list -> bool
(* [equal env [x1...xn] tau [y1...yn] sigma]
diff --git a/typing/includeclass.ml b/typing/includeclass.ml
index ca860ffc44..0bb47b52ed 100644
--- a/typing/includeclass.ml
+++ b/typing/includeclass.ml
@@ -36,6 +36,12 @@ let class_declarations env cty1 cty2 =
open Format
open Ctype
+(*
+let rec hide_params = function
+ Tcty_fun ("*", _, cty) -> hide_params cty
+ | cty -> cty
+*)
+
let include_err ppf =
function
| CM_Virtual_class ->
diff --git a/typing/typecore.ml b/typing/typecore.ml
index 5aff9c07eb..486115488a 100644
--- a/typing/typecore.ml
+++ b/typing/typecore.ml
@@ -690,8 +690,32 @@ let rec is_nonexpansive exp =
Vars.fold (fun _ (mut,_,_) b -> decr count; b && mut = Immutable)
vars true &&
!count = 0
+ | Texp_pack mexp ->
+ is_nonexpansive_mod mexp
| _ -> false
+and is_nonexpansive_mod mexp =
+ match mexp.mod_desc with
+ | Tmod_ident _ -> true
+ | Tmod_functor _ -> true
+ | Tmod_unpack (e, _) -> is_nonexpansive e
+ | Tmod_constraint (m, _, _) -> is_nonexpansive_mod m
+ | Tmod_structure items ->
+ List.for_all
+ (function
+ | Tstr_eval _ | Tstr_primitive _ | Tstr_type _ | Tstr_modtype _
+ | Tstr_open _ | Tstr_cltype _ | Tstr_exn_rebind _ -> true
+ | Tstr_value (_, pat_exp_list) ->
+ List.for_all (fun (_, exp) -> is_nonexpansive exp) pat_exp_list
+ | Tstr_module (_, m) | Tstr_include (m, _) -> is_nonexpansive_mod m
+ | Tstr_recmodule id_mod_list ->
+ List.for_all (fun (_, m) -> is_nonexpansive_mod m) id_mod_list
+ | Tstr_exception _ -> false (* true would be unsound *)
+ | Tstr_class _ -> false (* could be more precise *)
+ )
+ items
+ | Tmod_apply _ -> false
+
and is_nonexpansive_opt = function
None -> true
| Some e -> is_nonexpansive e
@@ -1135,31 +1159,9 @@ let rec type_exp env sexp =
row_name = None});
exp_env = env }
| Pexp_record(lid_sexp_list, opt_sexp) ->
- let ty = newvar() in
- let num_fields = ref 0 in
- let type_label_exp (lid, sarg) =
- let label = Typetexp.find_label env loc lid in
- begin_def ();
- if !Clflags.principal then begin_def ();
- let (vars, ty_arg, ty_res) = instance_label true label in
- if !Clflags.principal then begin
- end_def ();
- generalize_structure ty_arg;
- generalize_structure ty_res
- end;
- begin try
- unify env (instance ty_res) ty
- with Unify trace ->
- raise(Error(loc, Label_mismatch(lid, trace)))
- end;
- let arg = type_argument env sarg ty_arg in
- end_def ();
- check_univars env (vars <> []) "field value" arg label.lbl_arg vars;
- num_fields := Array.length label.lbl_all;
- if label.lbl_private = Private then
- raise(Error(loc, Private_type ty));
- (label, {arg with exp_type = instance arg.exp_type}) in
- let lbl_exp_list = type_label_a_list type_label_exp lid_sexp_list in
+ let ty = newvar () in
+ let lbl_exp_list =
+ type_label_a_list (type_label_exp true env loc ty) lid_sexp_list in
let rec check_duplicates seen_pos lid_sexp lbl_exp =
match (lid_sexp, lbl_exp) with
((lid, _) :: rem1, (lbl, _) :: rem2) ->
@@ -1187,7 +1189,10 @@ let rec type_exp env sexp =
Some(type_expect env sexp ty_exp)
| _ -> assert false
in
- if opt_sexp = None && List.length lid_sexp_list <> !num_fields then begin
+ let num_fields =
+ match lbl_exp_list with [] -> assert false
+ | (lbl,_)::_ -> Array.length lbl.lbl_all in
+ if opt_sexp = None && List.length lid_sexp_list <> num_fields then begin
let present_indices =
List.map (fun (lbl, _) -> lbl.lbl_pos) lbl_exp_list in
let label_names = extract_label_names sexp env ty in
@@ -1200,7 +1205,7 @@ let rec type_exp env sexp =
let missing = missing_labels 0 label_names in
raise(Error(loc, Label_missing missing))
end
- else if opt_sexp <> None && List.length lid_sexp_list = !num_fields then
+ else if opt_sexp <> None && List.length lid_sexp_list = num_fields then
Location.prerr_warning loc Warnings.Useless_record_with;
re {
exp_desc = Texp_record(lbl_exp_list, opt_exp);
@@ -1219,17 +1224,10 @@ let rec type_exp env sexp =
exp_env = env }
| Pexp_setfield(srecord, lid, snewval) ->
let record = type_exp env srecord in
- let label = Typetexp.find_label env loc lid in
+ let (label, newval) =
+ type_label_exp false env loc record.exp_type (lid, snewval) in
if label.lbl_mut = Immutable then
raise(Error(loc, Label_not_mutable lid));
- begin_def ();
- let (vars, ty_arg, ty_res) = instance_label true label in
- unify_exp env record ty_res;
- let newval = type_expect env snewval ty_arg in
- end_def ();
- check_univars env (vars <> []) "field value" newval label.lbl_arg vars;
- if label.lbl_private = Private then
- raise(Error(loc, Private_label(lid, ty_res)));
re {
exp_desc = Texp_setfield(record, label, newval);
exp_loc = loc;
@@ -1643,6 +1641,45 @@ let rec type_exp env sexp =
| Pexp_open (lid, e) ->
type_exp (!type_open env sexp.pexp_loc lid) e
+and type_label_exp create env loc ty (lid, sarg) =
+ let label = Typetexp.find_label env sarg.pexp_loc lid in
+ begin_def ();
+ if !Clflags.principal then begin_def ();
+ let (vars, ty_arg, ty_res) = instance_label true label in
+ if !Clflags.principal then begin
+ end_def ();
+ generalize_structure ty_arg;
+ generalize_structure ty_res
+ end;
+ begin try
+ unify env (instance ty_res) ty
+ with Unify trace ->
+ raise(Error(loc , Label_mismatch(lid, trace)))
+ end;
+ if label.lbl_private = Private then
+ raise(Error(loc, if create then Private_type ty else Private_label (lid, ty)));
+ let arg =
+ let snap = if vars = [] then None else Some (Btype.snapshot ()) in
+ let arg = type_argument env sarg ty_arg in
+ end_def ();
+ try
+ check_univars env (vars <> []) "field value" arg label.lbl_arg vars;
+ arg
+ with exn when not (is_nonexpansive arg) -> try
+ (* Try to retype without propagating ty_arg, cf PR#4862 *)
+ may Btype.backtrack snap;
+ begin_def ();
+ let arg = type_exp env sarg in
+ end_def ();
+ generalize_expansive env arg.exp_type;
+ unify_exp env arg ty_arg;
+ check_univars env false "field value" arg label.lbl_arg vars;
+ arg
+ with Error (_, Less_general _) as e -> raise e
+ | _ -> raise exn (* In case of failure return the first error *)
+ in
+ (label, {arg with exp_type = instance arg.exp_type})
+
and type_argument env sarg ty_expected' =
(* ty_expected' may be generic *)
let no_labels ty =
diff --git a/typing/typemod.ml b/typing/typemod.ml
index c42315d356..0dcd4aad01 100644
--- a/typing/typemod.ml
+++ b/typing/typemod.ml
@@ -633,16 +633,17 @@ let check_recmodule_inclusion env bindings =
(* Type a module value expression *)
-let rec type_module funct_body anchor env smod =
+let rec type_module sttn funct_body anchor env smod =
match smod.pmod_desc with
Pmod_ident lid ->
let (path, mty) = Typetexp.find_module env smod.pmod_loc lid in
rm { mod_desc = Tmod_ident path;
- mod_type = Mtype.strengthen env mty path;
+ mod_type = if sttn then Mtype.strengthen env mty path else mty;
mod_env = env;
mod_loc = smod.pmod_loc }
| Pmod_structure sstr ->
- let (str, sg, finalenv) = type_structure funct_body anchor env sstr smod.pmod_loc in
+ let (str, sg, finalenv) =
+ type_structure funct_body anchor env sstr smod.pmod_loc in
rm { mod_desc = Tmod_structure str;
mod_type = Tmty_signature sg;
mod_env = env;
@@ -650,14 +651,16 @@ let rec type_module funct_body anchor env smod =
| Pmod_functor(name, smty, sbody) ->
let mty = transl_modtype env smty in
let (id, newenv) = Env.enter_module name mty env in
- let body = type_module true None newenv sbody in
+ let body = type_module sttn true None newenv sbody in
rm { mod_desc = Tmod_functor(id, mty, body);
mod_type = Tmty_functor(id, mty, body.mod_type);
mod_env = env;
mod_loc = smod.pmod_loc }
| Pmod_apply(sfunct, sarg) ->
- let funct = type_module funct_body None env sfunct in
- let arg = type_module funct_body None env sarg in
+ let arg = type_module true funct_body None env sarg in
+ let path = try Some (path_of_module arg) with Not_a_path -> None in
+ let funct =
+ type_module (sttn && path <> None) funct_body None env sfunct in
begin match Mtype.scrape env funct.mod_type with
Tmty_functor(param, mty_param, mty_res) as mty_functor ->
let coercion =
@@ -666,17 +669,18 @@ let rec type_module funct_body anchor env smod =
with Includemod.Error msg ->
raise(Error(sarg.pmod_loc, Not_included msg)) in
let mty_appl =
- try
- let path = path_of_module arg in
- Subst.modtype (Subst.add_module param path Subst.identity)
- mty_res
- with Not_a_path ->
- try
- Mtype.nondep_supertype
- (Env.add_module param arg.mod_type env) param mty_res
- with Not_found ->
- raise(Error(smod.pmod_loc,
- Cannot_eliminate_dependency mty_functor)) in
+ match path with
+ Some path ->
+ Subst.modtype (Subst.add_module param path Subst.identity)
+ mty_res
+ | None ->
+ try
+ Mtype.nondep_supertype
+ (Env.add_module param arg.mod_type env) param mty_res
+ with Not_found ->
+ raise(Error(smod.pmod_loc,
+ Cannot_eliminate_dependency mty_functor))
+ in
rm { mod_desc = Tmod_apply(funct, arg, coercion);
mod_type = mty_appl;
mod_env = env;
@@ -685,7 +689,7 @@ let rec type_module funct_body anchor env smod =
raise(Error(sfunct.pmod_loc, Cannot_apply funct.mod_type))
end
| Pmod_constraint(sarg, smty) ->
- let arg = type_module funct_body anchor env sarg in
+ let arg = type_module true funct_body anchor env sarg in
let mty = transl_modtype env smty in
let coercion =
try
@@ -698,10 +702,12 @@ let rec type_module funct_body anchor env smod =
mod_loc = smod.pmod_loc }
| Pmod_unpack (sexp, (p, l)) ->
- if funct_body then raise (Error (smod.pmod_loc, Not_allowed_in_functor_body));
+ if funct_body then
+ raise (Error (smod.pmod_loc, Not_allowed_in_functor_body));
let l, mty = Typetexp.create_package_mty smod.pmod_loc env (p, l) in
let mty = transl_modtype env mty in
- let exp = Typecore.type_expect env sexp (Typecore.create_package_type smod.pmod_loc env (p, l)) in
+ let exp = Typecore.type_expect env sexp
+ (Typecore.create_package_type smod.pmod_loc env (p, l)) in
rm { mod_desc = Tmod_unpack(exp, mty);
mod_type = mty;
mod_env = env;
@@ -775,7 +781,9 @@ and type_structure funct_body anchor env sstr scope =
final_env)
| {pstr_desc = Pstr_module(name, smodl); pstr_loc = loc} :: srem ->
check "module" loc module_names name;
- let modl = type_module funct_body (anchor_submodule name anchor) env smodl in
+ let modl =
+ type_module true funct_body (anchor_submodule name anchor) env
+ smodl in
let mty = enrich_module_type anchor name modl.mod_type env in
let (id, newenv) = Env.enter_module name mty env in
let (str_rem, sig_rem, final_env) = type_struct newenv srem in
@@ -793,9 +801,11 @@ and type_structure funct_body anchor env sstr scope =
List.map2
(fun (id, mty) (name, smty, smodl) ->
let modl =
- type_module funct_body (anchor_recmodule id anchor) newenv smodl in
+ type_module true funct_body (anchor_recmodule id anchor) newenv
+ smodl in
let mty' =
- enrich_module_type anchor (Ident.name id) modl.mod_type newenv in
+ enrich_module_type anchor (Ident.name id) modl.mod_type newenv
+ in
(id, mty, modl, mty'))
decls sbind in
let bindings2 =
@@ -863,7 +873,7 @@ and type_structure funct_body anchor env sstr scope =
classes [sig_rem]),
final_env)
| {pstr_desc = Pstr_include smodl; pstr_loc = loc} :: srem ->
- let modl = type_module funct_body None env smodl in
+ let modl = type_module true funct_body None env smodl in
(* Rename all identifiers bound by this signature to avoid clashes *)
let sg = Subst.signature Subst.identity
(extract_sig_open env smodl.pmod_loc modl.mod_type) in
@@ -879,7 +889,7 @@ and type_structure funct_body anchor env sstr scope =
then List.iter (function {pstr_loc = l} -> Stypes.record_phrase l) sstr;
type_struct env sstr
-let type_module = type_module false None
+let type_module = type_module true false None
let type_structure = type_structure false None
(* Normalize types in a signature *)
diff --git a/typing/typetexp.ml b/typing/typetexp.ml
index e3a2e5b7fc..838719b7c4 100644
--- a/typing/typetexp.ml
+++ b/typing/typetexp.ml
@@ -76,7 +76,8 @@ let find_component lookup make_error env loc lid =
| Longident.Ldot (Longident.Lident "*predef*", s) -> lookup (Longident.Lident s) Env.initial
| _ -> lookup lid env
with Not_found ->
- narrow_unbound_lid_error env loc lid make_error;
+ (narrow_unbound_lid_error env loc lid make_error
+ : unit (* to avoid a warning *));
assert false
let find_type = find_component Env.lookup_type (fun lid -> Unbound_type_constructor lid)