diff --git a/.depend b/.depend index 62d5dc5955b..3bfb0387d2d 100644 --- a/.depend +++ b/.depend @@ -265,6 +265,7 @@ parsing/ast_mapper.cmo : \ utils/load_path.cmi \ utils/config.cmi \ utils/clflags.cmi \ + parsing/builtin_attributes.cmi \ parsing/asttypes.cmi \ parsing/ast_helper.cmi \ parsing/ast_mapper.cmi @@ -276,6 +277,7 @@ parsing/ast_mapper.cmx : \ utils/load_path.cmx \ utils/config.cmx \ utils/clflags.cmx \ + parsing/builtin_attributes.cmx \ parsing/asttypes.cmi \ parsing/ast_helper.cmx \ parsing/ast_mapper.cmi @@ -287,11 +289,13 @@ parsing/asttypes.cmi : \ parsing/attr_helper.cmo : \ parsing/parsetree.cmi \ parsing/location.cmi \ + parsing/builtin_attributes.cmi \ parsing/asttypes.cmi \ parsing/attr_helper.cmi parsing/attr_helper.cmx : \ parsing/parsetree.cmi \ parsing/location.cmx \ + parsing/builtin_attributes.cmx \ parsing/asttypes.cmi \ parsing/attr_helper.cmi parsing/attr_helper.cmi : \ @@ -307,6 +311,7 @@ parsing/builtin_attributes.cmo : \ utils/config.cmi \ utils/clflags.cmi \ parsing/asttypes.cmi \ + parsing/ast_helper.cmi \ parsing/builtin_attributes.cmi parsing/builtin_attributes.cmx : \ utils/warnings.cmx \ @@ -317,6 +322,7 @@ parsing/builtin_attributes.cmx : \ utils/config.cmx \ utils/clflags.cmx \ parsing/asttypes.cmi \ + parsing/ast_helper.cmx \ parsing/builtin_attributes.cmi parsing/builtin_attributes.cmi : \ parsing/parsetree.cmi \ @@ -448,6 +454,7 @@ parsing/parser.cmo : \ parsing/docstrings.cmi \ utils/clflags.cmi \ parsing/camlinternalMenhirLib.cmi \ + parsing/builtin_attributes.cmi \ parsing/asttypes.cmi \ parsing/ast_helper.cmi \ parsing/parser.cmi @@ -460,6 +467,7 @@ parsing/parser.cmx : \ parsing/docstrings.cmx \ utils/clflags.cmx \ parsing/camlinternalMenhirLib.cmx \ + parsing/builtin_attributes.cmx \ parsing/asttypes.cmi \ parsing/ast_helper.cmx \ parsing/parser.cmi @@ -3522,6 +3530,7 @@ lambda/translattribute.cmo : \ parsing/location.cmi \ lambda/lambda.cmi \ utils/config.cmi \ + parsing/builtin_attributes.cmi \ lambda/translattribute.cmi lambda/translattribute.cmx : \ utils/warnings.cmx \ @@ -3532,6 +3541,7 @@ lambda/translattribute.cmx : \ parsing/location.cmx \ lambda/lambda.cmx \ utils/config.cmx \ + parsing/builtin_attributes.cmx \ lambda/translattribute.cmi lambda/translattribute.cmi : \ typing/typedtree.cmi \ diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000000..3da67f0a63a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,110 @@ +name: build +on: [push, pull_request] +jobs: + build: + name: ${{ matrix.name }} + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + include: + - name: closure-nnp-local + config: --enable-stack-allocation + os: ubuntu-latest + ocamlparam: '' + check_arch: true + + - name: flambda-local + config: --enable-flambda --enable-stack-allocation + os: ubuntu-latest + + - name: i386 + config: CC='cc32' AS='as --32' ASPP='gcc -m32 -c' -host i386-linux PARTIALLD='ld -r -melf_i386' + os: ubuntu-latest + ocamlparam: '' + boot_config: CC='cc32' AS='as --32' ASPP='gcc -m32 -c' -host i386-linux PARTIALLD='ld -r -melf_i386' + boot_cachekey: 32bit + + env: + J: "3" + + steps: + - name: Install GNU parallel + if: matrix.os == 'macos-latest' + run: HOMEBREW_NO_INSTALL_CLEANUP=TRUE brew install parallel + + - name: Install GCC 32-bit libraries + if: matrix.name == 'i386' + run: | + sudo apt-get install gcc-multilib gfortran-multilib + + - name: Checkout the ocaml-jst repo + uses: actions/checkout@master + with: + path: 'ocaml-jst' + + - name: Cache OCaml 4.12 and dune + uses: actions/cache@v1 + id: cache + with: + path: ${{ github.workspace }}/ocaml-412/_install + key: ${{ matrix.os }}-cache-ocaml-412-dune-341-bits-${{ matrix.boot_cachekey }} + + - name: Checkout OCaml 4.12 + uses: actions/checkout@master + if: steps.cache.outputs.cache-hit != 'true' + with: + repository: 'ocaml/ocaml' + path: 'ocaml-412' + ref: '4.12' + + - name: Setup 32-bit C compiler + if: matrix.name == 'i386' && steps.cache.outputs.cache-hit != 'true' + run: | + mkdir -p ocaml-412/_install/bin + { echo '#!/bin/sh'; echo 'exec gcc -m32 "$@"'; } > ocaml-412/_install/bin/cc32 + chmod +x ocaml-412/_install/bin/cc32 + + - name: Build OCaml 4.12 + if: steps.cache.outputs.cache-hit != 'true' + working-directory: ocaml-412 + run: | + export PATH=$GITHUB_WORKSPACE/ocaml-412/_install/bin:$PATH + ./configure --prefix=$GITHUB_WORKSPACE/ocaml-412/_install ${{ matrix.boot_config }} + make -j $J world.opt + make install + # Remove unneeded parts to shrink cache file + rm -rf $GITHUB_WORKSPACE/ocaml-412/_install/{lib/ocaml/compiler-libs,lib/ocaml/expunge,bin/*.byte} + + - name: Checkout dune github repo + uses: actions/checkout@master + if: steps.cache.outputs.cache-hit != 'true' + with: + repository: 'ocaml/dune' + ref: '3.4.1' + path: 'dune' + + - name: Build dune + working-directory: dune + if: steps.cache.outputs.cache-hit != 'true' + run: | + PATH=$GITHUB_WORKSPACE/ocaml-412/_install/bin:$PATH make release + cp dune.exe $GITHUB_WORKSPACE/ocaml-412/_install/bin/dune + + - name: Configure OCaml + working-directory: ocaml-jst + run: | + export PATH=$GITHUB_WORKSPACE/ocaml-412/_install/bin:$PATH + autoconf + ./configure \ + --prefix=$GITHUB_WORKSPACE/_install \ + ${{ matrix.config }} + + - name: Build, install and test ocaml-jst + working-directory: ocaml-jst + run: | + export PATH=$GITHUB_WORKSPACE/ocaml-412/_install/bin:$PATH + make -f Makefile.jst runtest-upstream + env: + BUILD_OCAMLPARAM: ${{ matrix.ocamlparam }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 0077e5119e7..00000000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,107 +0,0 @@ -name: main - -on: [push, pull_request] - -jobs: - no-naked-pointers-local: - runs-on: ubuntu-latest - env: - OCAMLPARAM: "_,extension=local" - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: configure tree - run: ./configure --disable-naked-pointers --disable-stdlib-manpages --disable-dependency-generation --enable-ocamltest - - name: Build - run: | - make -j world.opt - - name: Run the testsuite - run: | - make -C testsuite USE_RUNTIME=d all - i386-static-local: - runs-on: ubuntu-latest - env: - OCAMLPARAM: "_,extension=local" - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Packages - run: | - sudo apt-get update -y && sudo apt-get install -y gcc-multilib gfortran-multilib - - name: configure tree - run: | - XARCH=i386 CONFIG_ARG='--disable-stdlib-manpages --disable-shared' bash -xe tools/ci/actions/runner.sh configure - - name: Build - run: | - bash -xe tools/ci/actions/runner.sh build - - name: Run the testsuite - run: | - bash -xe tools/ci/actions/runner.sh test - - name: Install - run: | - bash -xe tools/ci/actions/runner.sh install - - name: Other checks - run: | - bash -xe tools/ci/actions/runner.sh other-checks - full-flambda: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Packages - run: | - sudo apt-get update -y && sudo apt-get install -y texlive-latex-extra texlive-fonts-recommended - # Ensure that make distclean can be run from an empty tree - - name: distclean - run: | - MAKE_ARG=-j make distclean - - name: configure tree - run: | - MAKE_ARG=-j XARCH=x64 CONFIG_ARG='--enable-flambda --enable-dependency-generation' OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh configure - - name: Build - run: | - MAKE_ARG=-j OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh build - - name: Run the testsuite - run: | - MAKE_ARG=-j OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh test - - name: Build API Documentation - run: | - MAKE_ARG=-j OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh api-docs - - name: Install - run: | - MAKE_ARG=-j OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh install - - name: Other checks - run: | - MAKE_ARG=-j OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh other-checks - full-flambda-local: - runs-on: ubuntu-latest - env: - OCAMLPARAM: "_,extension=local" - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Packages - run: | - sudo apt-get update -y && sudo apt-get install -y texlive-latex-extra texlive-fonts-recommended - # Ensure that make distclean can be run from an empty tree - - name: distclean - run: | - MAKE_ARG=-j make distclean - - name: configure tree - run: | - MAKE_ARG=-j XARCH=x64 CONFIG_ARG='--enable-flambda --enable-dependency-generation' OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh configure - - name: Build - run: | - MAKE_ARG=-j OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh build - - name: Run the testsuite - run: | - MAKE_ARG=-j OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh test - - name: Build API Documentation - run: | - MAKE_ARG=-j OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh api-docs - - name: Install - run: | - MAKE_ARG=-j OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh install - - name: Other checks - run: | - MAKE_ARG=-j OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh other-checks diff --git a/.gitignore b/.gitignore index 2005d871000..48fdb29001c 100644 --- a/.gitignore +++ b/.gitignore @@ -56,6 +56,10 @@ _build /ocamlopt.opt /ocamlnat /dirs-to-ignore.inc +/dune-project +/*.sexp +/_install +/_runtest # specific files and patterns in sub-directories diff --git a/HACKING.jst.adoc b/HACKING.jst.adoc new file mode 100644 index 00000000000..864c48bfd3d --- /dev/null +++ b/HACKING.jst.adoc @@ -0,0 +1,30 @@ += Hacking on ocaml-jst + +ocaml-jst has a dune-based build system which is different from +upstream OCaml. To get started, you'll need a working install of OCaml +4.12 and dune, e.g. via OPAM: + + $ opam switch create 4.12.0 + $ eval $(opam env) + $ opam install dune + +You should also install merlin: + + $ opam install merlin + +and follow its instructions for how to set up your editor. + +Once you have OCaml and dune, you can build and test ocaml-jst with: + + $ ./configure --prefix=/where/to/install + $ make -f Makefile.jst runtest-upstream + +Other useful Makefile targets are: + + $ make -f Makefile.jst compiler + +to build without running the testsuite, or: + + $ make -f Makefile.jst hacking + +to start a continuously polling build of the compiler. diff --git a/Makefile.common-jst b/Makefile.common-jst index c3d2cbcd46b..944e5a16b9f 100644 --- a/Makefile.common-jst +++ b/Makefile.common-jst @@ -244,6 +244,11 @@ runtest-upstream: _install mkdir _runtest/tools ln -s ../_install/bin/ocamlmklib.byte _runtest/tools/ocamlmklib ln -s ../_install/bin/ocamlobjinfo.byte _runtest/tools/ocamlobjinfo + # ocamldoc + rm _runtest/ocamldoc + mkdir _runtest/ocamldoc + ln -s ../../_install/bin/ocamldoc.byte _runtest/ocamldoc/ocamldoc + cp $(main_build)/$(ocamldir)/ocamldoc/.odoc_lib.objs/byte/*.cm* _runtest/ocamldoc # ocamltest itself mkdir _runtest/ocamltest cp $(main_build)/$(ocamldir)/ocamltest/ocamltest.byte _runtest/ocamltest/ocamltest @@ -280,4 +285,4 @@ runtest-upstream: _install # This target is like a polling version of upstream "make ocamlopt" .PHONY: hacking hacking: _build/_bootinstall - $(dune) build $(ws_boot) -w boot_ocamlopt.exe + $(dune) build $(ws_boot) -w $(boot_ocamlopt) diff --git a/Makefile.config.in b/Makefile.config.in index 5a10e7840a5..be16362b513 100644 --- a/Makefile.config.in +++ b/Makefile.config.in @@ -247,6 +247,7 @@ STDLIB_MANPAGES=@stdlib_manpages@ NAKED_POINTERS=@naked_pointers@ INTEL_JCC_BUG_CFLAGS=@intel_jcc_bug_cflags@ STACK_ALLOCATION=@stack_allocation@ +DUNE=@dune@ ### Native command to build ocamlrun.exe diff --git a/Makefile.jst b/Makefile.jst new file mode 100644 index 00000000000..e0bec7070fd --- /dev/null +++ b/Makefile.jst @@ -0,0 +1,32 @@ +SHELL = /usr/bin/env bash +include Makefile.config +export ARCH + + +ifeq ($(shell test -x '$(DUNE)' || echo fail), fail) + $(error Dune not found. Run ./configure --with-dune=/path/to/dune.exe (See HACKING.jst)) +endif + +dune = $(DUNE) + +ifeq ($(shell which ocamlopt >& /dev/null || echo fail), fail) + $(error ocamlopt not found. See HACKING.jst) +endif + +boot_ocamlc = main_native.exe +boot_ocamlopt = optmain_native.exe +boot_ocamlmklib = tools/ocamlmklib.exe +boot_ocamldep = tools/ocamldep.exe +boot_ocamlobjinfo = tools/objinfo.exe +ocamldir = . +#toplevels_installed = top opttop +toplevels_installed = top + + +dune-project: dune-project.jst + cp $^ $@ + +duneconf/jst-extra.inc: + echo '(include ../jst.dune)' > $@ + +include Makefile.common-jst diff --git a/boot/menhir/parser.ml b/boot/menhir/parser.ml index 171373a29b6..630e370362d 100644 --- a/boot/menhir/parser.ml +++ b/boot/menhir/parser.ml @@ -16,7 +16,7 @@ module MenhirBasics = struct | VAL | UNDERSCORE | UIDENT of ( -# 785 "parsing/parser.mly" +# 788 "parsing/parser.mly" (string) # 22 "parsing/parser.ml" ) @@ -28,7 +28,7 @@ module MenhirBasics = struct | THEN | STRUCT | STRING of ( -# 773 "parsing/parser.mly" +# 776 "parsing/parser.mly" (string * Location.t * string option) # 34 "parsing/parser.ml" ) @@ -41,12 +41,12 @@ module MenhirBasics = struct | RBRACKET | RBRACE | QUOTED_STRING_ITEM of ( -# 777 "parsing/parser.mly" +# 780 "parsing/parser.mly" (string * Location.t * string * Location.t * string option) # 47 "parsing/parser.ml" ) | QUOTED_STRING_EXPR of ( -# 775 "parsing/parser.mly" +# 778 "parsing/parser.mly" (string * Location.t * string * Location.t * string option) # 52 "parsing/parser.ml" ) @@ -54,7 +54,7 @@ module MenhirBasics = struct | QUESTION | PRIVATE | PREFIXOP of ( -# 759 "parsing/parser.mly" +# 762 "parsing/parser.mly" (string) # 60 "parsing/parser.ml" ) @@ -64,7 +64,7 @@ module MenhirBasics = struct | PERCENT | OR | OPTLABEL of ( -# 752 "parsing/parser.mly" +# 755 "parsing/parser.mly" (string) # 70 "parsing/parser.ml" ) @@ -84,12 +84,12 @@ module MenhirBasics = struct | LPAREN | LOCAL | LIDENT of ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) # 90 "parsing/parser.ml" ) | LETOP of ( -# 715 "parsing/parser.mly" +# 718 "parsing/parser.mly" (string) # 95 "parsing/parser.ml" ) @@ -109,39 +109,39 @@ module MenhirBasics = struct | LBRACE | LAZY | LABEL of ( -# 720 "parsing/parser.mly" +# 723 "parsing/parser.mly" (string) # 115 "parsing/parser.ml" ) | INT of ( -# 719 "parsing/parser.mly" +# 722 "parsing/parser.mly" (string * char option) # 120 "parsing/parser.ml" ) | INITIALIZER | INHERIT | INFIXOP4 of ( -# 713 "parsing/parser.mly" +# 716 "parsing/parser.mly" (string) # 127 "parsing/parser.ml" ) | INFIXOP3 of ( -# 712 "parsing/parser.mly" +# 715 "parsing/parser.mly" (string) # 132 "parsing/parser.ml" ) | INFIXOP2 of ( -# 711 "parsing/parser.mly" +# 714 "parsing/parser.mly" (string) # 137 "parsing/parser.ml" ) | INFIXOP1 of ( -# 710 "parsing/parser.mly" +# 713 "parsing/parser.mly" (string) # 142 "parsing/parser.ml" ) | INFIXOP0 of ( -# 709 "parsing/parser.mly" +# 712 "parsing/parser.mly" (string) # 147 "parsing/parser.ml" ) @@ -149,7 +149,7 @@ module MenhirBasics = struct | IN | IF | HASHOP of ( -# 770 "parsing/parser.mly" +# 773 "parsing/parser.mly" (string) # 155 "parsing/parser.ml" ) @@ -163,7 +163,7 @@ module MenhirBasics = struct | FUN | FOR | FLOAT of ( -# 697 "parsing/parser.mly" +# 700 "parsing/parser.mly" (string * char option) # 169 "parsing/parser.ml" ) @@ -177,7 +177,7 @@ module MenhirBasics = struct | ELSE | DOWNTO | DOTOP of ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) # 183 "parsing/parser.ml" ) @@ -185,14 +185,14 @@ module MenhirBasics = struct | DOT | DONE | DOCSTRING of ( -# 793 "parsing/parser.mly" +# 796 "parsing/parser.mly" (Docstrings.docstring) # 191 "parsing/parser.ml" ) | DO | CONSTRAINT | COMMENT of ( -# 792 "parsing/parser.mly" +# 795 "parsing/parser.mly" (string * Location.t) # 198 "parsing/parser.ml" ) @@ -203,7 +203,7 @@ module MenhirBasics = struct | COLON | CLASS | CHAR of ( -# 677 "parsing/parser.mly" +# 680 "parsing/parser.mly" (char) # 209 "parsing/parser.ml" ) @@ -216,7 +216,7 @@ module MenhirBasics = struct | ASSERT | AS | ANDOP of ( -# 716 "parsing/parser.mly" +# 719 "parsing/parser.mly" (string) # 222 "parsing/parser.ml" ) @@ -375,84 +375,87 @@ let mkuplus ~oploc name arg = Pexp_apply(mkoperator ~loc:oploc ("~" ^ name), [Nolabel, arg]) -let local_ext_loc = mknoloc "extension.local" +let local_ext_loc loc = mkloc "extension.local" loc -let local_attr = - Attr.mk ~loc:Location.none local_ext_loc (PStr []) +let local_attr loc = + Builtin_attributes.mk_internal ~loc (local_ext_loc loc) (PStr []) let local_extension = - Exp.mk ~loc:Location.none (Pexp_extension(local_ext_loc, PStr [])) + Exp.mk ~loc:Location.none + (Pexp_extension(local_ext_loc Location.none, PStr [])) -let include_functor_ext_loc = mknoloc "extension.include_functor" +let include_functor_ext_loc loc = mkloc "extension.include_functor" loc -let include_functor_attr = - Attr.mk ~loc:Location.none include_functor_ext_loc (PStr []) +let include_functor_attr loc = + Builtin_attributes.mk_internal ~loc:loc (include_functor_ext_loc loc) + (PStr []) let mkexp_stack ~loc exp = ghexp ~loc (Pexp_apply(local_extension, [Nolabel, exp])) -let mkpat_stack pat = - {pat with ppat_attributes = local_attr :: pat.ppat_attributes} +let mkpat_stack pat loc = + {pat with ppat_attributes = local_attr loc :: pat.ppat_attributes} -let mktyp_stack typ = - {typ with ptyp_attributes = local_attr :: typ.ptyp_attributes} +let mktyp_stack typ loc = + {typ with ptyp_attributes = local_attr loc :: typ.ptyp_attributes} -let wrap_exp_stack exp = - {exp with pexp_attributes = local_attr :: exp.pexp_attributes} +let wrap_exp_stack exp loc = + {exp with pexp_attributes = local_attr loc :: exp.pexp_attributes} let mkexp_local_if p ~loc exp = if p then mkexp_stack ~loc exp else exp -let mkpat_local_if p pat = - if p then mkpat_stack pat else pat +let mkpat_local_if p pat loc = + if p then mkpat_stack pat (make_loc loc) else pat -let mktyp_local_if p typ = - if p then mktyp_stack typ else typ +let mktyp_local_if p typ loc = + if p then mktyp_stack typ (make_loc loc) else typ -let wrap_exp_local_if p exp = - if p then wrap_exp_stack exp else exp +let wrap_exp_local_if p exp loc = + if p then wrap_exp_stack exp (make_loc loc) else exp -let curry_attr = - Attr.mk ~loc:Location.none (mknoloc "extension.curry") (PStr []) +let curry_attr loc = + Builtin_attributes.mk_internal ~loc:Location.none + (mkloc "extension.curry" loc) (PStr []) let is_curry_attr attr = attr.attr_name.txt = "extension.curry" -let mktyp_curry typ = - {typ with ptyp_attributes = curry_attr :: typ.ptyp_attributes} +let mktyp_curry typ loc = + {typ with ptyp_attributes = curry_attr loc :: typ.ptyp_attributes} -let maybe_curry_typ typ = +let maybe_curry_typ typ loc = match typ.ptyp_desc with | Ptyp_arrow _ -> if List.exists is_curry_attr typ.ptyp_attributes then typ - else mktyp_curry typ + else mktyp_curry typ (make_loc loc) | _ -> typ -let global_loc = mknoloc "extension.global" +let global_loc loc = mkloc "extension.global" loc -let global_attr = - Attr.mk ~loc:Location.none global_loc (PStr []) +let global_attr loc = + Builtin_attributes.mk_internal ~loc:loc (global_loc loc) (PStr []) -let nonlocal_loc = mknoloc "extension.nonlocal" +let nonlocal_loc loc = mkloc "extension.nonlocal" loc -let nonlocal_attr = - Attr.mk ~loc:Location.none nonlocal_loc (PStr []) +let nonlocal_attr loc = + Builtin_attributes.mk_internal ~loc:Location.none (nonlocal_loc loc) (PStr []) -let mkld_global ld = - { ld with pld_attributes = global_attr :: ld.pld_attributes } +let mkld_global ld loc = + { ld with pld_attributes = global_attr loc :: ld.pld_attributes } -let mkld_nonlocal ld = - { ld with pld_attributes = nonlocal_attr :: ld.pld_attributes } +let mkld_nonlocal ld loc = + { ld with pld_attributes = nonlocal_attr loc :: ld.pld_attributes } type global_flag = | Global | Nonlocal | Nothing -let mkld_global_maybe gbl ld = +let mkld_global_maybe gbl ld loc = match gbl with - | Global -> mkld_global ld - | Nonlocal -> mkld_nonlocal ld + | Global -> mkld_global ld loc + | Nonlocal -> mkld_nonlocal ld loc | Nothing -> ld (* TODO define an abstraction boundary between locations-as-pairs @@ -877,7 +880,7 @@ let mk_directive ~loc name arg = } -# 881 "parsing/parser.ml" +# 884 "parsing/parser.ml" module Tables = struct @@ -1432,9 +1435,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3853 "parsing/parser.mly" +# 3864 "parsing/parser.mly" ( "+" ) -# 1438 "parsing/parser.ml" +# 1441 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1457,9 +1460,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3854 "parsing/parser.mly" +# 3865 "parsing/parser.mly" ( "+." ) -# 1463 "parsing/parser.ml" +# 1466 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1482,9 +1485,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.core_type) = -# 3379 "parsing/parser.mly" +# 3389 "parsing/parser.mly" ( _1 ) -# 1488 "parsing/parser.ml" +# 1491 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1529,24 +1532,24 @@ module Tables = struct let _endpos = _endpos_tyvar_ in let _v : (Parsetree.core_type) = let _1 = let _1 = -# 3382 "parsing/parser.mly" +# 3392 "parsing/parser.mly" ( Ptyp_alias(ty, tyvar) ) -# 1535 "parsing/parser.ml" +# 1538 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_tyvar_, _startpos_ty_) in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 1544 "parsing/parser.ml" +# 1547 "parsing/parser.ml" in -# 3384 "parsing/parser.mly" +# 3394 "parsing/parser.mly" ( _1 ) -# 1550 "parsing/parser.ml" +# 1553 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1592,30 +1595,30 @@ module Tables = struct let _v : (let_binding) = let attrs2 = let _1 = _1_inlined2 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 1598 "parsing/parser.ml" +# 1601 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined2_ in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 1607 "parsing/parser.ml" +# 1610 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2626 "parsing/parser.mly" +# 2634 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in mklb ~loc:_sloc false body attrs ) -# 1619 "parsing/parser.ml" +# 1622 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1638,9 +1641,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3734 "parsing/parser.mly" +# 3745 "parsing/parser.mly" ( _1 ) -# 1644 "parsing/parser.ml" +# 1647 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1663,9 +1666,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3735 "parsing/parser.mly" +# 3746 "parsing/parser.mly" ( Lident _1 ) -# 1669 "parsing/parser.ml" +# 1672 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1702,9 +1705,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.core_type) = -# 3465 "parsing/parser.mly" +# 3476 "parsing/parser.mly" ( _2 ) -# 1708 "parsing/parser.ml" +# 1711 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1767,11 +1770,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3525 "parsing/parser.mly" +# 3536 "parsing/parser.mly" ( let (lid, cstrs, attrs) = package_type_of_module_type _1 in let descr = Ptyp_package (lid, cstrs) in mktyp ~loc:_sloc ~attrs descr ) -# 1775 "parsing/parser.ml" +# 1778 "parsing/parser.ml" in let _3 = @@ -1779,24 +1782,24 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 1785 "parsing/parser.ml" +# 1788 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 1791 "parsing/parser.ml" +# 1794 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3467 "parsing/parser.mly" +# 3478 "parsing/parser.mly" ( wrap_typ_attrs ~loc:_sloc (reloc_typ ~loc:_sloc _4) _3 ) -# 1800 "parsing/parser.ml" +# 1803 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1827,24 +1830,24 @@ module Tables = struct let _endpos = _endpos__2_ in let _v : (Parsetree.core_type) = let _1 = let _1 = -# 3470 "parsing/parser.mly" +# 3481 "parsing/parser.mly" ( Ptyp_var _2 ) -# 1833 "parsing/parser.ml" +# 1836 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 1842 "parsing/parser.ml" +# 1845 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 1848 "parsing/parser.ml" +# 1851 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1868,23 +1871,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.core_type) = let _1 = let _1 = -# 3472 "parsing/parser.mly" +# 3483 "parsing/parser.mly" ( Ptyp_any ) -# 1874 "parsing/parser.ml" +# 1877 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 1882 "parsing/parser.ml" +# 1885 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 1888 "parsing/parser.ml" +# 1891 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1913,35 +1916,35 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 1919 "parsing/parser.ml" +# 1922 "parsing/parser.ml" in let tys = -# 3517 "parsing/parser.mly" +# 3528 "parsing/parser.mly" ( [] ) -# 1925 "parsing/parser.ml" +# 1928 "parsing/parser.ml" in -# 3475 "parsing/parser.mly" +# 3486 "parsing/parser.mly" ( Ptyp_constr(tid, tys) ) -# 1930 "parsing/parser.ml" +# 1933 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 1939 "parsing/parser.ml" +# 1942 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 1945 "parsing/parser.ml" +# 1948 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -1977,20 +1980,20 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 1983 "parsing/parser.ml" +# 1986 "parsing/parser.ml" in let tys = -# 3519 "parsing/parser.mly" +# 3530 "parsing/parser.mly" ( [ty] ) -# 1989 "parsing/parser.ml" +# 1992 "parsing/parser.ml" in -# 3475 "parsing/parser.mly" +# 3486 "parsing/parser.mly" ( Ptyp_constr(tid, tys) ) -# 1994 "parsing/parser.ml" +# 1997 "parsing/parser.ml" in let _startpos__1_ = _startpos_ty_ in @@ -1998,15 +2001,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2004 "parsing/parser.ml" +# 2007 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2010 "parsing/parser.ml" +# 2013 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2057,9 +2060,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 2063 "parsing/parser.ml" +# 2066 "parsing/parser.ml" in let tys = @@ -2067,24 +2070,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 2071 "parsing/parser.ml" +# 2074 "parsing/parser.ml" in -# 1065 "parsing/parser.mly" +# 1068 "parsing/parser.mly" ( xs ) -# 2076 "parsing/parser.ml" +# 2079 "parsing/parser.ml" in -# 3521 "parsing/parser.mly" +# 3532 "parsing/parser.mly" ( tys ) -# 2082 "parsing/parser.ml" +# 2085 "parsing/parser.ml" in -# 3475 "parsing/parser.mly" +# 3486 "parsing/parser.mly" ( Ptyp_constr(tid, tys) ) -# 2088 "parsing/parser.ml" +# 2091 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined1_ in @@ -2092,15 +2095,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2098 "parsing/parser.ml" +# 2101 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2104 "parsing/parser.ml" +# 2107 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2138,24 +2141,24 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Parsetree.core_type) = let _1 = let _1 = -# 3477 "parsing/parser.mly" +# 3488 "parsing/parser.mly" ( let (f, c) = _2 in Ptyp_object (f, c) ) -# 2144 "parsing/parser.ml" +# 2147 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2153 "parsing/parser.ml" +# 2156 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2159 "parsing/parser.ml" +# 2162 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2186,24 +2189,24 @@ module Tables = struct let _endpos = _endpos__2_ in let _v : (Parsetree.core_type) = let _1 = let _1 = -# 3479 "parsing/parser.mly" +# 3490 "parsing/parser.mly" ( Ptyp_object ([], Closed) ) -# 2192 "parsing/parser.ml" +# 2195 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2201 "parsing/parser.ml" +# 2204 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2207 "parsing/parser.ml" +# 2210 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2239,20 +2242,20 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 2245 "parsing/parser.ml" +# 2248 "parsing/parser.ml" in let tys = -# 3517 "parsing/parser.mly" +# 3528 "parsing/parser.mly" ( [] ) -# 2251 "parsing/parser.ml" +# 2254 "parsing/parser.ml" in -# 3483 "parsing/parser.mly" +# 3494 "parsing/parser.mly" ( Ptyp_class(cid, tys) ) -# 2256 "parsing/parser.ml" +# 2259 "parsing/parser.ml" in let _startpos__1_ = _startpos__2_ in @@ -2260,15 +2263,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2266 "parsing/parser.ml" +# 2269 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2272 "parsing/parser.ml" +# 2275 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2311,20 +2314,20 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 2317 "parsing/parser.ml" +# 2320 "parsing/parser.ml" in let tys = -# 3519 "parsing/parser.mly" +# 3530 "parsing/parser.mly" ( [ty] ) -# 2323 "parsing/parser.ml" +# 2326 "parsing/parser.ml" in -# 3483 "parsing/parser.mly" +# 3494 "parsing/parser.mly" ( Ptyp_class(cid, tys) ) -# 2328 "parsing/parser.ml" +# 2331 "parsing/parser.ml" in let _startpos__1_ = _startpos_ty_ in @@ -2332,15 +2335,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2338 "parsing/parser.ml" +# 2341 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2344 "parsing/parser.ml" +# 2347 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2398,9 +2401,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 2404 "parsing/parser.ml" +# 2407 "parsing/parser.ml" in let tys = @@ -2408,24 +2411,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 2412 "parsing/parser.ml" +# 2415 "parsing/parser.ml" in -# 1065 "parsing/parser.mly" +# 1068 "parsing/parser.mly" ( xs ) -# 2417 "parsing/parser.ml" +# 2420 "parsing/parser.ml" in -# 3521 "parsing/parser.mly" +# 3532 "parsing/parser.mly" ( tys ) -# 2423 "parsing/parser.ml" +# 2426 "parsing/parser.ml" in -# 3483 "parsing/parser.mly" +# 3494 "parsing/parser.mly" ( Ptyp_class(cid, tys) ) -# 2429 "parsing/parser.ml" +# 2432 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined1_ in @@ -2433,15 +2436,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2439 "parsing/parser.ml" +# 2442 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2445 "parsing/parser.ml" +# 2448 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2479,24 +2482,24 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Parsetree.core_type) = let _1 = let _1 = -# 3486 "parsing/parser.mly" +# 3497 "parsing/parser.mly" ( Ptyp_variant([_2], Closed, None) ) -# 2485 "parsing/parser.ml" +# 2488 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2494 "parsing/parser.ml" +# 2497 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2500 "parsing/parser.ml" +# 2503 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2546,24 +2549,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 2550 "parsing/parser.ml" +# 2553 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 2555 "parsing/parser.ml" +# 2558 "parsing/parser.ml" in -# 3531 "parsing/parser.mly" +# 3542 "parsing/parser.mly" ( _1 ) -# 2561 "parsing/parser.ml" +# 2564 "parsing/parser.ml" in -# 3488 "parsing/parser.mly" +# 3499 "parsing/parser.mly" ( Ptyp_variant(_3, Closed, None) ) -# 2567 "parsing/parser.ml" +# 2570 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in @@ -2571,15 +2574,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2577 "parsing/parser.ml" +# 2580 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2583 "parsing/parser.ml" +# 2586 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2636,24 +2639,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 2640 "parsing/parser.ml" +# 2643 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 2645 "parsing/parser.ml" +# 2648 "parsing/parser.ml" in -# 3531 "parsing/parser.mly" +# 3542 "parsing/parser.mly" ( _1 ) -# 2651 "parsing/parser.ml" +# 2654 "parsing/parser.ml" in -# 3490 "parsing/parser.mly" +# 3501 "parsing/parser.mly" ( Ptyp_variant(_2 :: _4, Closed, None) ) -# 2657 "parsing/parser.ml" +# 2660 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -2661,15 +2664,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2667 "parsing/parser.ml" +# 2670 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2673 "parsing/parser.ml" +# 2676 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2719,24 +2722,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 2723 "parsing/parser.ml" +# 2726 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 2728 "parsing/parser.ml" +# 2731 "parsing/parser.ml" in -# 3531 "parsing/parser.mly" +# 3542 "parsing/parser.mly" ( _1 ) -# 2734 "parsing/parser.ml" +# 2737 "parsing/parser.ml" in -# 3492 "parsing/parser.mly" +# 3503 "parsing/parser.mly" ( Ptyp_variant(_3, Open, None) ) -# 2740 "parsing/parser.ml" +# 2743 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in @@ -2744,15 +2747,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2750 "parsing/parser.ml" +# 2753 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2756 "parsing/parser.ml" +# 2759 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2783,24 +2786,24 @@ module Tables = struct let _endpos = _endpos__2_ in let _v : (Parsetree.core_type) = let _1 = let _1 = -# 3494 "parsing/parser.mly" +# 3505 "parsing/parser.mly" ( Ptyp_variant([], Open, None) ) -# 2789 "parsing/parser.ml" +# 2792 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2798 "parsing/parser.ml" +# 2801 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2804 "parsing/parser.ml" +# 2807 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2850,24 +2853,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 2854 "parsing/parser.ml" +# 2857 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 2859 "parsing/parser.ml" +# 2862 "parsing/parser.ml" in -# 3531 "parsing/parser.mly" +# 3542 "parsing/parser.mly" ( _1 ) -# 2865 "parsing/parser.ml" +# 2868 "parsing/parser.ml" in -# 3496 "parsing/parser.mly" +# 3507 "parsing/parser.mly" ( Ptyp_variant(_3, Closed, Some []) ) -# 2871 "parsing/parser.ml" +# 2874 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in @@ -2875,15 +2878,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2881 "parsing/parser.ml" +# 2884 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 2887 "parsing/parser.ml" +# 2890 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -2948,18 +2951,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 2952 "parsing/parser.ml" +# 2955 "parsing/parser.ml" in -# 1005 "parsing/parser.mly" +# 1008 "parsing/parser.mly" ( xs ) -# 2957 "parsing/parser.ml" +# 2960 "parsing/parser.ml" in -# 3559 "parsing/parser.mly" +# 3570 "parsing/parser.mly" ( _1 ) -# 2963 "parsing/parser.ml" +# 2966 "parsing/parser.ml" in let _3 = @@ -2967,24 +2970,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 2971 "parsing/parser.ml" +# 2974 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 2976 "parsing/parser.ml" +# 2979 "parsing/parser.ml" in -# 3531 "parsing/parser.mly" +# 3542 "parsing/parser.mly" ( _1 ) -# 2982 "parsing/parser.ml" +# 2985 "parsing/parser.ml" in -# 3498 "parsing/parser.mly" +# 3509 "parsing/parser.mly" ( Ptyp_variant(_3, Closed, Some _5) ) -# 2988 "parsing/parser.ml" +# 2991 "parsing/parser.ml" in let _endpos__1_ = _endpos__6_ in @@ -2992,15 +2995,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 2998 "parsing/parser.ml" +# 3001 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 3004 "parsing/parser.ml" +# 3007 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3024,23 +3027,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.core_type) = let _1 = let _1 = -# 3500 "parsing/parser.mly" +# 3511 "parsing/parser.mly" ( Ptyp_extension _1 ) -# 3030 "parsing/parser.ml" +# 3033 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 3038 "parsing/parser.ml" +# 3041 "parsing/parser.ml" in -# 3502 "parsing/parser.mly" +# 3513 "parsing/parser.mly" ( _1 ) -# 3044 "parsing/parser.ml" +# 3047 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3064,23 +3067,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (string Asttypes.loc) = let _1 = let _1 = -# 3922 "parsing/parser.mly" +# 3933 "parsing/parser.mly" ( _1 ) -# 3070 "parsing/parser.ml" +# 3073 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 933 "parsing/parser.mly" +# 936 "parsing/parser.mly" ( mkloc _1 (make_loc _sloc) ) -# 3078 "parsing/parser.ml" +# 3081 "parsing/parser.ml" in -# 3924 "parsing/parser.mly" +# 3935 "parsing/parser.mly" ( _1 ) -# 3084 "parsing/parser.ml" +# 3087 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3118,24 +3121,24 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (string Asttypes.loc) = let _1 = let _1 = -# 3923 "parsing/parser.mly" +# 3934 "parsing/parser.mly" ( _1 ^ "." ^ _3.txt ) -# 3124 "parsing/parser.ml" +# 3127 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 933 "parsing/parser.mly" +# 936 "parsing/parser.mly" ( mkloc _1 (make_loc _sloc) ) -# 3133 "parsing/parser.ml" +# 3136 "parsing/parser.ml" in -# 3924 "parsing/parser.mly" +# 3935 "parsing/parser.mly" ( _1 ) -# 3139 "parsing/parser.ml" +# 3142 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3182,9 +3185,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3928 "parsing/parser.mly" - ( Attr.mk ~loc:(make_loc _sloc) _2 _3 ) -# 3188 "parsing/parser.ml" +# 3939 "parsing/parser.mly" + ( Builtin_attributes.mk_internal ~loc:(make_loc _sloc) _2 _3 ) +# 3191 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3207,9 +3210,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.class_expr) = -# 1861 "parsing/parser.mly" +# 1864 "parsing/parser.mly" ( _1 ) -# 3213 "parsing/parser.ml" +# 3216 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3248,18 +3251,18 @@ module Tables = struct let _v : (Parsetree.class_expr) = let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 3254 "parsing/parser.ml" +# 3257 "parsing/parser.ml" in let _endpos = _endpos__3_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1863 "parsing/parser.mly" +# 1866 "parsing/parser.mly" ( wrap_class_attrs ~loc:_sloc _3 _2 ) -# 3263 "parsing/parser.ml" +# 3266 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3299,9 +3302,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1865 "parsing/parser.mly" +# 1868 "parsing/parser.mly" ( class_of_let_bindings ~loc:_sloc _1 _3 ) -# 3305 "parsing/parser.ml" +# 3308 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3364,34 +3367,34 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 3370 "parsing/parser.ml" +# 3373 "parsing/parser.ml" in let _endpos__5_ = _endpos__1_inlined2_ in let _4 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 3379 "parsing/parser.ml" +# 3382 "parsing/parser.ml" in let _3 = -# 3845 "parsing/parser.mly" +# 3856 "parsing/parser.mly" ( Fresh ) -# 3385 "parsing/parser.ml" +# 3388 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1867 "parsing/parser.mly" +# 1870 "parsing/parser.mly" ( let loc = (_startpos__2_, _endpos__5_) in let od = Opn.mk ~override:_3 ~loc:(make_loc loc) _5 in mkclass ~loc:_sloc ~attrs:_4 (Pcl_open(od, _7)) ) -# 3395 "parsing/parser.ml" +# 3398 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3461,34 +3464,34 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 3467 "parsing/parser.ml" +# 3470 "parsing/parser.ml" in let _endpos__5_ = _endpos__1_inlined3_ in let _4 = let _1 = _1_inlined2 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 3476 "parsing/parser.ml" +# 3479 "parsing/parser.ml" in let _3 = -# 3846 "parsing/parser.mly" +# 3857 "parsing/parser.mly" ( Override ) -# 3482 "parsing/parser.ml" +# 3485 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1867 "parsing/parser.mly" +# 1870 "parsing/parser.mly" ( let loc = (_startpos__2_, _endpos__5_) in let od = Opn.mk ~override:_3 ~loc:(make_loc loc) _5 in mkclass ~loc:_sloc ~attrs:_4 (Pcl_open(od, _7)) ) -# 3492 "parsing/parser.ml" +# 3495 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3518,9 +3521,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.class_expr) = -# 1871 "parsing/parser.mly" +# 1874 "parsing/parser.mly" ( Cl.attr _1 _2 ) -# 3524 "parsing/parser.ml" +# 3527 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3555,18 +3558,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 3559 "parsing/parser.ml" +# 3562 "parsing/parser.ml" in -# 1005 "parsing/parser.mly" +# 1008 "parsing/parser.mly" ( xs ) -# 3564 "parsing/parser.ml" +# 3567 "parsing/parser.ml" in -# 1874 "parsing/parser.mly" +# 1877 "parsing/parser.mly" ( Pcl_apply(_1, _2) ) -# 3570 "parsing/parser.ml" +# 3573 "parsing/parser.ml" in let _endpos__1_ = _endpos_xs_ in @@ -3574,15 +3577,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 956 "parsing/parser.mly" +# 959 "parsing/parser.mly" ( mkclass ~loc:_sloc _1 ) -# 3580 "parsing/parser.ml" +# 3583 "parsing/parser.ml" in -# 1877 "parsing/parser.mly" +# 1880 "parsing/parser.mly" ( _1 ) -# 3586 "parsing/parser.ml" +# 3589 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3606,23 +3609,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.class_expr) = let _1 = let _1 = -# 1876 "parsing/parser.mly" +# 1879 "parsing/parser.mly" ( Pcl_extension _1 ) -# 3612 "parsing/parser.ml" +# 3615 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 956 "parsing/parser.mly" +# 959 "parsing/parser.mly" ( mkclass ~loc:_sloc _1 ) -# 3620 "parsing/parser.ml" +# 3623 "parsing/parser.ml" in -# 1877 "parsing/parser.mly" +# 1880 "parsing/parser.mly" ( _1 ) -# 3626 "parsing/parser.ml" +# 3629 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3675,33 +3678,33 @@ module Tables = struct let _v : (Parsetree.class_field) = let _6 = let _1 = _1_inlined2 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 3681 "parsing/parser.ml" +# 3684 "parsing/parser.ml" in let _endpos__6_ = _endpos__1_inlined2_ in let _3 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 3690 "parsing/parser.ml" +# 3693 "parsing/parser.ml" in let _2 = -# 3845 "parsing/parser.mly" +# 3856 "parsing/parser.mly" ( Fresh ) -# 3696 "parsing/parser.ml" +# 3699 "parsing/parser.ml" in let _endpos = _endpos__6_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1926 "parsing/parser.mly" +# 1929 "parsing/parser.mly" ( let docs = symbol_docs _sloc in mkcf ~loc:_sloc (Pcf_inherit (_2, _4, self)) ~attrs:(_3@_6) ~docs ) -# 3705 "parsing/parser.ml" +# 3708 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3761,33 +3764,33 @@ module Tables = struct let _v : (Parsetree.class_field) = let _6 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 3767 "parsing/parser.ml" +# 3770 "parsing/parser.ml" in let _endpos__6_ = _endpos__1_inlined3_ in let _3 = let _1 = _1_inlined2 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 3776 "parsing/parser.ml" +# 3779 "parsing/parser.ml" in let _2 = -# 3846 "parsing/parser.mly" +# 3857 "parsing/parser.mly" ( Override ) -# 3782 "parsing/parser.ml" +# 3785 "parsing/parser.ml" in let _endpos = _endpos__6_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1926 "parsing/parser.mly" +# 1929 "parsing/parser.mly" ( let docs = symbol_docs _sloc in mkcf ~loc:_sloc (Pcf_inherit (_2, _4, self)) ~attrs:(_3@_6) ~docs ) -# 3791 "parsing/parser.ml" +# 3794 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3828,9 +3831,9 @@ module Tables = struct let _v : (Parsetree.class_field) = let _3 = let _1 = _1_inlined1 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 3834 "parsing/parser.ml" +# 3837 "parsing/parser.ml" in let _endpos__3_ = _endpos__1_inlined1_ in @@ -3838,11 +3841,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1929 "parsing/parser.mly" +# 1932 "parsing/parser.mly" ( let v, attrs = _2 in let docs = symbol_docs _sloc in mkcf ~loc:_sloc (Pcf_val v) ~attrs:(attrs@_3) ~docs ) -# 3846 "parsing/parser.ml" +# 3849 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3883,9 +3886,9 @@ module Tables = struct let _v : (Parsetree.class_field) = let _3 = let _1 = _1_inlined1 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 3889 "parsing/parser.ml" +# 3892 "parsing/parser.ml" in let _endpos__3_ = _endpos__1_inlined1_ in @@ -3893,11 +3896,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1933 "parsing/parser.mly" +# 1936 "parsing/parser.mly" ( let meth, attrs = _2 in let docs = symbol_docs _sloc in mkcf ~loc:_sloc (Pcf_method meth) ~attrs:(attrs@_3) ~docs ) -# 3901 "parsing/parser.ml" +# 3904 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -3943,28 +3946,28 @@ module Tables = struct let _v : (Parsetree.class_field) = let _4 = let _1 = _1_inlined2 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 3949 "parsing/parser.ml" +# 3952 "parsing/parser.ml" in let _endpos__4_ = _endpos__1_inlined2_ in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 3958 "parsing/parser.ml" +# 3961 "parsing/parser.ml" in let _endpos = _endpos__4_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1937 "parsing/parser.mly" +# 1940 "parsing/parser.mly" ( let docs = symbol_docs _sloc in mkcf ~loc:_sloc (Pcf_constraint _3) ~attrs:(_2@_4) ~docs ) -# 3968 "parsing/parser.ml" +# 3971 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4010,28 +4013,28 @@ module Tables = struct let _v : (Parsetree.class_field) = let _4 = let _1 = _1_inlined2 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 4016 "parsing/parser.ml" +# 4019 "parsing/parser.ml" in let _endpos__4_ = _endpos__1_inlined2_ in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 4025 "parsing/parser.ml" +# 4028 "parsing/parser.ml" in let _endpos = _endpos__4_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1940 "parsing/parser.mly" +# 1943 "parsing/parser.mly" ( let docs = symbol_docs _sloc in mkcf ~loc:_sloc (Pcf_initializer _3) ~attrs:(_2@_4) ~docs ) -# 4035 "parsing/parser.ml" +# 4038 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4063,9 +4066,9 @@ module Tables = struct let _v : (Parsetree.class_field) = let _2 = let _1 = _1_inlined1 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 4069 "parsing/parser.ml" +# 4072 "parsing/parser.ml" in let _endpos__2_ = _endpos__1_inlined1_ in @@ -4073,10 +4076,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1943 "parsing/parser.mly" +# 1946 "parsing/parser.mly" ( let docs = symbol_docs _sloc in mkcf ~loc:_sloc (Pcf_extension _1) ~attrs:_2 ~docs ) -# 4080 "parsing/parser.ml" +# 4083 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4100,23 +4103,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.class_field) = let _1 = let _1 = -# 1946 "parsing/parser.mly" +# 1949 "parsing/parser.mly" ( Pcf_attribute _1 ) -# 4106 "parsing/parser.ml" +# 4109 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 954 "parsing/parser.mly" +# 957 "parsing/parser.mly" ( mkcf ~loc:_sloc _1 ) -# 4114 "parsing/parser.ml" +# 4117 "parsing/parser.ml" in -# 1947 "parsing/parser.mly" +# 1950 "parsing/parser.mly" ( _1 ) -# 4120 "parsing/parser.ml" +# 4123 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4146,9 +4149,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.class_expr) = -# 1841 "parsing/parser.mly" +# 1844 "parsing/parser.mly" ( _2 ) -# 4152 "parsing/parser.ml" +# 4155 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4193,24 +4196,24 @@ module Tables = struct let _endpos = _endpos__4_ in let _v : (Parsetree.class_expr) = let _1 = let _1 = -# 1844 "parsing/parser.mly" +# 1847 "parsing/parser.mly" ( Pcl_constraint(_4, _2) ) -# 4199 "parsing/parser.ml" +# 4202 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 956 "parsing/parser.mly" +# 959 "parsing/parser.mly" ( mkclass ~loc:_sloc _1 ) -# 4208 "parsing/parser.ml" +# 4211 "parsing/parser.ml" in -# 1847 "parsing/parser.mly" +# 1850 "parsing/parser.mly" ( _1 ) -# 4214 "parsing/parser.ml" +# 4217 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4241,24 +4244,24 @@ module Tables = struct let _endpos = _endpos__2_ in let _v : (Parsetree.class_expr) = let _1 = let _1 = -# 1846 "parsing/parser.mly" +# 1849 "parsing/parser.mly" ( let (l,o,p) = _1 in Pcl_fun(l, o, p, _2) ) -# 4247 "parsing/parser.ml" +# 4250 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 956 "parsing/parser.mly" +# 959 "parsing/parser.mly" ( mkclass ~loc:_sloc _1 ) -# 4256 "parsing/parser.ml" +# 4259 "parsing/parser.ml" in -# 1847 "parsing/parser.mly" +# 1850 "parsing/parser.mly" ( _1 ) -# 4262 "parsing/parser.ml" +# 4265 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4296,24 +4299,24 @@ module Tables = struct let _endpos = _endpos_e_ in let _v : (Parsetree.class_expr) = let _1 = let _1 = -# 1902 "parsing/parser.mly" +# 1905 "parsing/parser.mly" ( let (l,o,p) = _1 in Pcl_fun(l, o, p, e) ) -# 4302 "parsing/parser.ml" +# 4305 "parsing/parser.ml" in let _endpos__1_ = _endpos_e_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 956 "parsing/parser.mly" +# 959 "parsing/parser.mly" ( mkclass ~loc:_sloc _1 ) -# 4311 "parsing/parser.ml" +# 4314 "parsing/parser.ml" in -# 1903 "parsing/parser.mly" +# 1906 "parsing/parser.mly" ( _1 ) -# 4317 "parsing/parser.ml" +# 4320 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4344,24 +4347,24 @@ module Tables = struct let _endpos = _endpos_e_ in let _v : (Parsetree.class_expr) = let _1 = let _1 = -# 1902 "parsing/parser.mly" +# 1905 "parsing/parser.mly" ( let (l,o,p) = _1 in Pcl_fun(l, o, p, e) ) -# 4350 "parsing/parser.ml" +# 4353 "parsing/parser.ml" in let _endpos__1_ = _endpos_e_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 956 "parsing/parser.mly" +# 959 "parsing/parser.mly" ( mkclass ~loc:_sloc _1 ) -# 4359 "parsing/parser.ml" +# 4362 "parsing/parser.ml" in -# 1903 "parsing/parser.mly" +# 1906 "parsing/parser.mly" ( _1 ) -# 4365 "parsing/parser.ml" +# 4368 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4384,9 +4387,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3725 "parsing/parser.mly" +# 3736 "parsing/parser.mly" ( _1 ) -# 4390 "parsing/parser.ml" +# 4393 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4426,9 +4429,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1911 "parsing/parser.mly" +# 1914 "parsing/parser.mly" ( reloc_pat ~loc:_sloc _2 ) -# 4432 "parsing/parser.ml" +# 4435 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4480,24 +4483,24 @@ module Tables = struct let _endpos = _endpos__5_ in let _v : (Parsetree.pattern) = let _1 = let _1 = -# 1913 "parsing/parser.mly" +# 1916 "parsing/parser.mly" ( Ppat_constraint(_2, _4) ) -# 4486 "parsing/parser.ml" +# 4489 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 4495 "parsing/parser.ml" +# 4498 "parsing/parser.ml" in -# 1914 "parsing/parser.mly" +# 1917 "parsing/parser.mly" ( _1 ) -# 4501 "parsing/parser.ml" +# 4504 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4516,9 +4519,9 @@ module Tables = struct let _symbolstartpos = _endpos in let _sloc = (_symbolstartpos, _endpos) in -# 1916 "parsing/parser.mly" +# 1919 "parsing/parser.mly" ( ghpat ~loc:_sloc Ppat_any ) -# 4522 "parsing/parser.ml" +# 4525 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4555,9 +4558,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.core_type) = -# 2041 "parsing/parser.mly" +# 2044 "parsing/parser.mly" ( _2 ) -# 4561 "parsing/parser.ml" +# 4564 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4574,24 +4577,24 @@ module Tables = struct let _endpos = _startpos in let _v : (Parsetree.core_type) = let _1 = let _1 = -# 2042 "parsing/parser.mly" +# 2045 "parsing/parser.mly" ( Ptyp_any ) -# 4580 "parsing/parser.ml" +# 4583 "parsing/parser.ml" in let _endpos__1_ = _endpos__0_ in let _endpos = _endpos__1_ in let _symbolstartpos = _endpos in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 4589 "parsing/parser.ml" +# 4592 "parsing/parser.ml" in -# 2043 "parsing/parser.mly" +# 2046 "parsing/parser.mly" ( _1 ) -# 4595 "parsing/parser.ml" +# 4598 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4637,28 +4640,28 @@ module Tables = struct let _v : (Parsetree.class_type_field) = let _4 = let _1 = _1_inlined2 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 4643 "parsing/parser.ml" +# 4646 "parsing/parser.ml" in let _endpos__4_ = _endpos__1_inlined2_ in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 4652 "parsing/parser.ml" +# 4655 "parsing/parser.ml" in let _endpos = _endpos__4_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2051 "parsing/parser.mly" +# 2054 "parsing/parser.mly" ( let docs = symbol_docs _sloc in mkctf ~loc:_sloc (Pctf_inherit _3) ~attrs:(_2@_4) ~docs ) -# 4662 "parsing/parser.ml" +# 4665 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4716,9 +4719,9 @@ module Tables = struct let ty : (Parsetree.core_type) = Obj.magic ty in let _3 : unit = Obj.magic _3 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 4722 "parsing/parser.ml" +# 4725 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let flags : (Asttypes.mutable_flag * Asttypes.virtual_flag) = Obj.magic flags in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in @@ -4729,9 +4732,9 @@ module Tables = struct let _v : (Parsetree.class_type_field) = let _4 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 4735 "parsing/parser.ml" +# 4738 "parsing/parser.ml" in let _endpos__4_ = _endpos__1_inlined3_ in @@ -4739,44 +4742,44 @@ module Tables = struct let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in let label = let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 4745 "parsing/parser.ml" +# 4748 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 4753 "parsing/parser.ml" +# 4756 "parsing/parser.ml" in -# 2076 "parsing/parser.mly" +# 2079 "parsing/parser.mly" ( let mut, virt = flags in label, mut, virt, ty ) -# 4762 "parsing/parser.ml" +# 4765 "parsing/parser.ml" in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 4770 "parsing/parser.ml" +# 4773 "parsing/parser.ml" in let _endpos = _endpos__4_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2054 "parsing/parser.mly" +# 2057 "parsing/parser.mly" ( let docs = symbol_docs _sloc in mkctf ~loc:_sloc (Pctf_val _3) ~attrs:(_2@_4) ~docs ) -# 4780 "parsing/parser.ml" +# 4783 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4834,9 +4837,9 @@ module Tables = struct let _1_inlined3 : (Parsetree.core_type) = Obj.magic _1_inlined3 in let _5 : unit = Obj.magic _5 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 4840 "parsing/parser.ml" +# 4843 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let _3 : (Asttypes.private_flag * Asttypes.virtual_flag) = Obj.magic _3 in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in @@ -4847,53 +4850,53 @@ module Tables = struct let _v : (Parsetree.class_type_field) = let _7 = let _1 = _1_inlined4 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 4853 "parsing/parser.ml" +# 4856 "parsing/parser.ml" in let _endpos__7_ = _endpos__1_inlined4_ in let _6 = let _1 = _1_inlined3 in -# 3345 "parsing/parser.mly" +# 3355 "parsing/parser.mly" ( _1 ) -# 4862 "parsing/parser.ml" +# 4865 "parsing/parser.ml" in let _4 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 4870 "parsing/parser.ml" +# 4873 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 4878 "parsing/parser.ml" +# 4881 "parsing/parser.ml" in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 4886 "parsing/parser.ml" +# 4889 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2058 "parsing/parser.mly" +# 2061 "parsing/parser.mly" ( let (p, v) = _3 in let docs = symbol_docs _sloc in mkctf ~loc:_sloc (Pctf_method (_4, p, v, _6)) ~attrs:(_2@_7) ~docs ) -# 4897 "parsing/parser.ml" +# 4900 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4939,28 +4942,28 @@ module Tables = struct let _v : (Parsetree.class_type_field) = let _4 = let _1 = _1_inlined2 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 4945 "parsing/parser.ml" +# 4948 "parsing/parser.ml" in let _endpos__4_ = _endpos__1_inlined2_ in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 4954 "parsing/parser.ml" +# 4957 "parsing/parser.ml" in let _endpos = _endpos__4_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2062 "parsing/parser.mly" +# 2065 "parsing/parser.mly" ( let docs = symbol_docs _sloc in mkctf ~loc:_sloc (Pctf_constraint _3) ~attrs:(_2@_4) ~docs ) -# 4964 "parsing/parser.ml" +# 4967 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -4992,9 +4995,9 @@ module Tables = struct let _v : (Parsetree.class_type_field) = let _2 = let _1 = _1_inlined1 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 4998 "parsing/parser.ml" +# 5001 "parsing/parser.ml" in let _endpos__2_ = _endpos__1_inlined1_ in @@ -5002,10 +5005,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2065 "parsing/parser.mly" +# 2068 "parsing/parser.mly" ( let docs = symbol_docs _sloc in mkctf ~loc:_sloc (Pctf_extension _1) ~attrs:_2 ~docs ) -# 5009 "parsing/parser.ml" +# 5012 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5029,23 +5032,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.class_type_field) = let _1 = let _1 = -# 2068 "parsing/parser.mly" +# 2071 "parsing/parser.mly" ( Pctf_attribute _1 ) -# 5035 "parsing/parser.ml" +# 5038 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 952 "parsing/parser.mly" +# 955 "parsing/parser.mly" ( mkctf ~loc:_sloc _1 ) -# 5043 "parsing/parser.ml" +# 5046 "parsing/parser.ml" in -# 2069 "parsing/parser.mly" +# 2072 "parsing/parser.mly" ( _1 ) -# 5049 "parsing/parser.ml" +# 5052 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5074,42 +5077,42 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 5080 "parsing/parser.ml" +# 5083 "parsing/parser.ml" in let tys = let tys = -# 2027 "parsing/parser.mly" +# 2030 "parsing/parser.mly" ( [] ) -# 5087 "parsing/parser.ml" +# 5090 "parsing/parser.ml" in -# 2033 "parsing/parser.mly" +# 2036 "parsing/parser.mly" ( tys ) -# 5092 "parsing/parser.ml" +# 5095 "parsing/parser.ml" in -# 2010 "parsing/parser.mly" +# 2013 "parsing/parser.mly" ( Pcty_constr (cid, tys) ) -# 5098 "parsing/parser.ml" +# 5101 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 950 "parsing/parser.mly" +# 953 "parsing/parser.mly" ( mkcty ~loc:_sloc _1 ) -# 5107 "parsing/parser.ml" +# 5110 "parsing/parser.ml" in -# 2013 "parsing/parser.mly" +# 2016 "parsing/parser.mly" ( _1 ) -# 5113 "parsing/parser.ml" +# 5116 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5160,9 +5163,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 5166 "parsing/parser.ml" +# 5169 "parsing/parser.ml" in let tys = @@ -5171,30 +5174,30 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 5175 "parsing/parser.ml" +# 5178 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 5180 "parsing/parser.ml" +# 5183 "parsing/parser.ml" in -# 2029 "parsing/parser.mly" +# 2032 "parsing/parser.mly" ( params ) -# 5186 "parsing/parser.ml" +# 5189 "parsing/parser.ml" in -# 2033 "parsing/parser.mly" +# 2036 "parsing/parser.mly" ( tys ) -# 5192 "parsing/parser.ml" +# 5195 "parsing/parser.ml" in -# 2010 "parsing/parser.mly" +# 2013 "parsing/parser.mly" ( Pcty_constr (cid, tys) ) -# 5198 "parsing/parser.ml" +# 5201 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined1_ in @@ -5202,15 +5205,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 950 "parsing/parser.mly" +# 953 "parsing/parser.mly" ( mkcty ~loc:_sloc _1 ) -# 5208 "parsing/parser.ml" +# 5211 "parsing/parser.ml" in -# 2013 "parsing/parser.mly" +# 2016 "parsing/parser.mly" ( _1 ) -# 5214 "parsing/parser.ml" +# 5217 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5234,23 +5237,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.class_type) = let _1 = let _1 = -# 2012 "parsing/parser.mly" +# 2015 "parsing/parser.mly" ( Pcty_extension _1 ) -# 5240 "parsing/parser.ml" +# 5243 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 950 "parsing/parser.mly" +# 953 "parsing/parser.mly" ( mkcty ~loc:_sloc _1 ) -# 5248 "parsing/parser.ml" +# 5251 "parsing/parser.ml" in -# 2013 "parsing/parser.mly" +# 2016 "parsing/parser.mly" ( _1 ) -# 5254 "parsing/parser.ml" +# 5257 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5307,44 +5310,44 @@ module Tables = struct let _1 = # 260 "" ( List.flatten xss ) -# 5311 "parsing/parser.ml" +# 5314 "parsing/parser.ml" in -# 2047 "parsing/parser.mly" +# 2050 "parsing/parser.mly" ( _1 ) -# 5316 "parsing/parser.ml" +# 5319 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_xss_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 898 "parsing/parser.mly" +# 901 "parsing/parser.mly" ( extra_csig _startpos _endpos _1 ) -# 5325 "parsing/parser.ml" +# 5328 "parsing/parser.ml" in -# 2037 "parsing/parser.mly" +# 2040 "parsing/parser.mly" ( Csig.mk _1 _2 ) -# 5331 "parsing/parser.ml" +# 5334 "parsing/parser.ml" in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 5339 "parsing/parser.ml" +# 5342 "parsing/parser.ml" in let _endpos = _endpos__4_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2015 "parsing/parser.mly" +# 2018 "parsing/parser.mly" ( mkcty ~loc:_sloc ~attrs:_2 (Pcty_signature _3) ) -# 5348 "parsing/parser.ml" +# 5351 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5401,43 +5404,43 @@ module Tables = struct let _1 = # 260 "" ( List.flatten xss ) -# 5405 "parsing/parser.ml" +# 5408 "parsing/parser.ml" in -# 2047 "parsing/parser.mly" +# 2050 "parsing/parser.mly" ( _1 ) -# 5410 "parsing/parser.ml" +# 5413 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_xss_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 898 "parsing/parser.mly" +# 901 "parsing/parser.mly" ( extra_csig _startpos _endpos _1 ) -# 5419 "parsing/parser.ml" +# 5422 "parsing/parser.ml" in -# 2037 "parsing/parser.mly" +# 2040 "parsing/parser.mly" ( Csig.mk _1 _2 ) -# 5425 "parsing/parser.ml" +# 5428 "parsing/parser.ml" in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 5433 "parsing/parser.ml" +# 5436 "parsing/parser.ml" in let _loc__4_ = (_startpos__4_, _endpos__4_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2017 "parsing/parser.mly" +# 2020 "parsing/parser.mly" ( unclosed "object" _loc__1_ "end" _loc__4_ ) -# 5441 "parsing/parser.ml" +# 5444 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5467,9 +5470,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.class_type) = -# 2019 "parsing/parser.mly" +# 2022 "parsing/parser.mly" ( Cty.attr _1 _2 ) -# 5473 "parsing/parser.ml" +# 5476 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5532,34 +5535,34 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 5538 "parsing/parser.ml" +# 5541 "parsing/parser.ml" in let _endpos__5_ = _endpos__1_inlined2_ in let _4 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 5547 "parsing/parser.ml" +# 5550 "parsing/parser.ml" in let _3 = -# 3845 "parsing/parser.mly" +# 3856 "parsing/parser.mly" ( Fresh ) -# 5553 "parsing/parser.ml" +# 5556 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2021 "parsing/parser.mly" +# 2024 "parsing/parser.mly" ( let loc = (_startpos__2_, _endpos__5_) in let od = Opn.mk ~override:_3 ~loc:(make_loc loc) _5 in mkcty ~loc:_sloc ~attrs:_4 (Pcty_open(od, _7)) ) -# 5563 "parsing/parser.ml" +# 5566 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5629,34 +5632,34 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 5635 "parsing/parser.ml" +# 5638 "parsing/parser.ml" in let _endpos__5_ = _endpos__1_inlined3_ in let _4 = let _1 = _1_inlined2 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 5644 "parsing/parser.ml" +# 5647 "parsing/parser.ml" in let _3 = -# 3846 "parsing/parser.mly" +# 3857 "parsing/parser.mly" ( Override ) -# 5650 "parsing/parser.ml" +# 5653 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2021 "parsing/parser.mly" +# 2024 "parsing/parser.mly" ( let loc = (_startpos__2_, _endpos__5_) in let od = Opn.mk ~override:_3 ~loc:(make_loc loc) _5 in mkcty ~loc:_sloc ~attrs:_4 (Pcty_open(od, _7)) ) -# 5660 "parsing/parser.ml" +# 5663 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5693,9 +5696,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.class_expr) = -# 1881 "parsing/parser.mly" +# 1884 "parsing/parser.mly" ( _2 ) -# 5699 "parsing/parser.ml" +# 5702 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5734,9 +5737,9 @@ module Tables = struct let _v : (Parsetree.class_expr) = let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1883 "parsing/parser.mly" +# 1886 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__3_ ) -# 5740 "parsing/parser.ml" +# 5743 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5765,42 +5768,42 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 5771 "parsing/parser.ml" +# 5774 "parsing/parser.ml" in let tys = let tys = -# 2027 "parsing/parser.mly" +# 2030 "parsing/parser.mly" ( [] ) -# 5778 "parsing/parser.ml" +# 5781 "parsing/parser.ml" in -# 2033 "parsing/parser.mly" +# 2036 "parsing/parser.mly" ( tys ) -# 5783 "parsing/parser.ml" +# 5786 "parsing/parser.ml" in -# 1886 "parsing/parser.mly" +# 1889 "parsing/parser.mly" ( Pcl_constr(cid, tys) ) -# 5789 "parsing/parser.ml" +# 5792 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 956 "parsing/parser.mly" +# 959 "parsing/parser.mly" ( mkclass ~loc:_sloc _1 ) -# 5798 "parsing/parser.ml" +# 5801 "parsing/parser.ml" in -# 1893 "parsing/parser.mly" +# 1896 "parsing/parser.mly" ( _1 ) -# 5804 "parsing/parser.ml" +# 5807 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5851,9 +5854,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 5857 "parsing/parser.ml" +# 5860 "parsing/parser.ml" in let tys = @@ -5862,30 +5865,30 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 5866 "parsing/parser.ml" +# 5869 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 5871 "parsing/parser.ml" +# 5874 "parsing/parser.ml" in -# 2029 "parsing/parser.mly" +# 2032 "parsing/parser.mly" ( params ) -# 5877 "parsing/parser.ml" +# 5880 "parsing/parser.ml" in -# 2033 "parsing/parser.mly" +# 2036 "parsing/parser.mly" ( tys ) -# 5883 "parsing/parser.ml" +# 5886 "parsing/parser.ml" in -# 1886 "parsing/parser.mly" +# 1889 "parsing/parser.mly" ( Pcl_constr(cid, tys) ) -# 5889 "parsing/parser.ml" +# 5892 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined1_ in @@ -5893,15 +5896,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 956 "parsing/parser.mly" +# 959 "parsing/parser.mly" ( mkclass ~loc:_sloc _1 ) -# 5899 "parsing/parser.ml" +# 5902 "parsing/parser.ml" in -# 1893 "parsing/parser.mly" +# 1896 "parsing/parser.mly" ( _1 ) -# 5905 "parsing/parser.ml" +# 5908 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -5960,43 +5963,43 @@ module Tables = struct let _1 = # 260 "" ( List.flatten xss ) -# 5964 "parsing/parser.ml" +# 5967 "parsing/parser.ml" in -# 1920 "parsing/parser.mly" +# 1923 "parsing/parser.mly" ( _1 ) -# 5969 "parsing/parser.ml" +# 5972 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_xss_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 897 "parsing/parser.mly" +# 900 "parsing/parser.mly" ( extra_cstr _startpos _endpos _1 ) -# 5978 "parsing/parser.ml" +# 5981 "parsing/parser.ml" in -# 1907 "parsing/parser.mly" +# 1910 "parsing/parser.mly" ( Cstr.mk _1 _2 ) -# 5984 "parsing/parser.ml" +# 5987 "parsing/parser.ml" in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 5992 "parsing/parser.ml" +# 5995 "parsing/parser.ml" in let _loc__4_ = (_startpos__4_, _endpos__4_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1888 "parsing/parser.mly" +# 1891 "parsing/parser.mly" ( unclosed "object" _loc__1_ "end" _loc__4_ ) -# 6000 "parsing/parser.ml" +# 6003 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in @@ -6004,15 +6007,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 956 "parsing/parser.mly" +# 959 "parsing/parser.mly" ( mkclass ~loc:_sloc _1 ) -# 6010 "parsing/parser.ml" +# 6013 "parsing/parser.ml" in -# 1893 "parsing/parser.mly" +# 1896 "parsing/parser.mly" ( _1 ) -# 6016 "parsing/parser.ml" +# 6019 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6064,24 +6067,24 @@ module Tables = struct let _endpos = _endpos__5_ in let _v : (Parsetree.class_expr) = let _1 = let _1 = -# 1890 "parsing/parser.mly" +# 1893 "parsing/parser.mly" ( Pcl_constraint(_2, _4) ) -# 6070 "parsing/parser.ml" +# 6073 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 956 "parsing/parser.mly" +# 959 "parsing/parser.mly" ( mkclass ~loc:_sloc _1 ) -# 6079 "parsing/parser.ml" +# 6082 "parsing/parser.ml" in -# 1893 "parsing/parser.mly" +# 1896 "parsing/parser.mly" ( _1 ) -# 6085 "parsing/parser.ml" +# 6088 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6136,9 +6139,9 @@ module Tables = struct let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1892 "parsing/parser.mly" +# 1895 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__5_ ) -# 6142 "parsing/parser.ml" +# 6145 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -6146,15 +6149,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 956 "parsing/parser.mly" +# 959 "parsing/parser.mly" ( mkclass ~loc:_sloc _1 ) -# 6152 "parsing/parser.ml" +# 6155 "parsing/parser.ml" in -# 1893 "parsing/parser.mly" +# 1896 "parsing/parser.mly" ( _1 ) -# 6158 "parsing/parser.ml" +# 6161 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6211,44 +6214,44 @@ module Tables = struct let _1 = # 260 "" ( List.flatten xss ) -# 6215 "parsing/parser.ml" +# 6218 "parsing/parser.ml" in -# 1920 "parsing/parser.mly" +# 1923 "parsing/parser.mly" ( _1 ) -# 6220 "parsing/parser.ml" +# 6223 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_xss_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 897 "parsing/parser.mly" +# 900 "parsing/parser.mly" ( extra_cstr _startpos _endpos _1 ) -# 6229 "parsing/parser.ml" +# 6232 "parsing/parser.ml" in -# 1907 "parsing/parser.mly" +# 1910 "parsing/parser.mly" ( Cstr.mk _1 _2 ) -# 6235 "parsing/parser.ml" +# 6238 "parsing/parser.ml" in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 6243 "parsing/parser.ml" +# 6246 "parsing/parser.ml" in let _endpos = _endpos__4_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1895 "parsing/parser.mly" +# 1898 "parsing/parser.mly" ( mkclass ~loc:_sloc ~attrs:_2 (Pcl_structure _3) ) -# 6252 "parsing/parser.ml" +# 6255 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6271,9 +6274,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.class_type) = -# 1998 "parsing/parser.mly" +# 2001 "parsing/parser.mly" ( _1 ) -# 6277 "parsing/parser.ml" +# 6280 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6319,14 +6322,14 @@ module Tables = struct let _v : (Parsetree.class_type) = let _1 = let _1 = let label = -# 3427 "parsing/parser.mly" +# 3438 "parsing/parser.mly" ( Optional label ) -# 6325 "parsing/parser.ml" +# 6328 "parsing/parser.ml" in -# 2004 "parsing/parser.mly" +# 2007 "parsing/parser.mly" ( Pcty_arrow(label, domain, codomain) ) -# 6330 "parsing/parser.ml" +# 6333 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -6334,15 +6337,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 950 "parsing/parser.mly" +# 953 "parsing/parser.mly" ( mkcty ~loc:_sloc _1 ) -# 6340 "parsing/parser.ml" +# 6343 "parsing/parser.ml" in -# 2005 "parsing/parser.mly" +# 2008 "parsing/parser.mly" ( _1 ) -# 6346 "parsing/parser.ml" +# 6349 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6389,9 +6392,9 @@ module Tables = struct let domain : (Parsetree.core_type) = Obj.magic domain in let _2 : unit = Obj.magic _2 in let label : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 6395 "parsing/parser.ml" +# 6398 "parsing/parser.ml" ) = Obj.magic label in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_label_ in @@ -6399,14 +6402,14 @@ module Tables = struct let _v : (Parsetree.class_type) = let _1 = let _1 = let label = -# 3429 "parsing/parser.mly" +# 3440 "parsing/parser.mly" ( Labelled label ) -# 6405 "parsing/parser.ml" +# 6408 "parsing/parser.ml" in -# 2004 "parsing/parser.mly" +# 2007 "parsing/parser.mly" ( Pcty_arrow(label, domain, codomain) ) -# 6410 "parsing/parser.ml" +# 6413 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -6414,15 +6417,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 950 "parsing/parser.mly" +# 953 "parsing/parser.mly" ( mkcty ~loc:_sloc _1 ) -# 6420 "parsing/parser.ml" +# 6423 "parsing/parser.ml" in -# 2005 "parsing/parser.mly" +# 2008 "parsing/parser.mly" ( _1 ) -# 6426 "parsing/parser.ml" +# 6429 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6461,14 +6464,14 @@ module Tables = struct let _v : (Parsetree.class_type) = let _1 = let _1 = let label = -# 3431 "parsing/parser.mly" +# 3442 "parsing/parser.mly" ( Nolabel ) -# 6467 "parsing/parser.ml" +# 6470 "parsing/parser.ml" in -# 2004 "parsing/parser.mly" +# 2007 "parsing/parser.mly" ( Pcty_arrow(label, domain, codomain) ) -# 6472 "parsing/parser.ml" +# 6475 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_domain_) in @@ -6476,15 +6479,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 950 "parsing/parser.mly" +# 953 "parsing/parser.mly" ( mkcty ~loc:_sloc _1 ) -# 6482 "parsing/parser.ml" +# 6485 "parsing/parser.ml" in -# 2005 "parsing/parser.mly" +# 2008 "parsing/parser.mly" ( _1 ) -# 6488 "parsing/parser.ml" +# 6491 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6567,9 +6570,9 @@ module Tables = struct let csig : (Parsetree.class_type) = Obj.magic csig in let _8 : unit = Obj.magic _8 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 6573 "parsing/parser.ml" +# 6576 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let virt : (Asttypes.virtual_flag) = Obj.magic virt in @@ -6585,9 +6588,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 6591 "parsing/parser.ml" +# 6594 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -6597,24 +6600,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 6603 "parsing/parser.ml" +# 6606 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 6611 "parsing/parser.ml" +# 6614 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2143 "parsing/parser.mly" +# 2146 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in @@ -6622,19 +6625,19 @@ module Tables = struct ext, Ci.mk id csig ~virt ~params ~attrs ~loc ~docs ) -# 6626 "parsing/parser.ml" +# 6629 "parsing/parser.ml" in -# 1134 "parsing/parser.mly" +# 1137 "parsing/parser.mly" ( let (x, b) = a in x, b :: bs ) -# 6632 "parsing/parser.ml" +# 6635 "parsing/parser.ml" in -# 2131 "parsing/parser.mly" +# 2134 "parsing/parser.mly" ( _1 ) -# 6638 "parsing/parser.ml" +# 6641 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6657,9 +6660,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3722 "parsing/parser.mly" +# 3733 "parsing/parser.mly" ( _1 ) -# 6663 "parsing/parser.ml" +# 6666 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6727,21 +6730,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 6733 "parsing/parser.ml" +# 6736 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 6739 "parsing/parser.ml" +# 6742 "parsing/parser.ml" in -# 2414 "parsing/parser.mly" +# 2418 "parsing/parser.mly" ( Extensions.From_to(_2, _4, _6, _5) ) -# 6745 "parsing/parser.ml" +# 6748 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6795,21 +6798,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 6801 "parsing/parser.ml" +# 6804 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 6807 "parsing/parser.ml" +# 6810 "parsing/parser.ml" in -# 2415 "parsing/parser.mly" +# 2419 "parsing/parser.mly" ( Extensions.In(_2, _4) ) -# 6813 "parsing/parser.ml" +# 6816 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6849,18 +6852,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 6853 "parsing/parser.ml" +# 6856 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 6858 "parsing/parser.ml" +# 6861 "parsing/parser.ml" in -# 2420 "parsing/parser.mly" +# 2424 "parsing/parser.mly" ( [({clauses= _2; guard=None} : Extensions.comprehension)] ) -# 6864 "parsing/parser.ml" +# 6867 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6914,18 +6917,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 6918 "parsing/parser.ml" +# 6921 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 6923 "parsing/parser.ml" +# 6926 "parsing/parser.ml" in -# 2422 "parsing/parser.mly" +# 2426 "parsing/parser.mly" ( [({clauses= _2; guard= Some _4} : Extensions.comprehension)] ) -# 6929 "parsing/parser.ml" +# 6932 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -6965,18 +6968,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 6969 "parsing/parser.ml" +# 6972 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 6974 "parsing/parser.ml" +# 6977 "parsing/parser.ml" in -# 2424 "parsing/parser.mly" +# 2428 "parsing/parser.mly" ( ({clauses= _2; guard=None} : Extensions.comprehension) :: _3 ) -# 6980 "parsing/parser.ml" +# 6983 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7030,18 +7033,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 7034 "parsing/parser.ml" +# 7037 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 7039 "parsing/parser.ml" +# 7042 "parsing/parser.ml" in -# 2426 "parsing/parser.mly" +# 2430 "parsing/parser.mly" ( ({clauses= _2; guard= Some _4}: Extensions.comprehension) :: _5 ) -# 7045 "parsing/parser.ml" +# 7048 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7081,18 +7084,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 7085 "parsing/parser.ml" +# 7088 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 7090 "parsing/parser.ml" +# 7093 "parsing/parser.ml" in -# 2420 "parsing/parser.mly" +# 2424 "parsing/parser.mly" ( [({clauses= _2; guard=None} : Extensions.comprehension)] ) -# 7096 "parsing/parser.ml" +# 7099 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7146,18 +7149,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 7150 "parsing/parser.ml" +# 7153 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 7155 "parsing/parser.ml" +# 7158 "parsing/parser.ml" in -# 2422 "parsing/parser.mly" +# 2426 "parsing/parser.mly" ( [({clauses= _2; guard= Some _4} : Extensions.comprehension)] ) -# 7161 "parsing/parser.ml" +# 7164 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7197,18 +7200,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 7201 "parsing/parser.ml" +# 7204 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 7206 "parsing/parser.ml" +# 7209 "parsing/parser.ml" in -# 2424 "parsing/parser.mly" +# 2428 "parsing/parser.mly" ( ({clauses= _2; guard=None} : Extensions.comprehension) :: _3 ) -# 7212 "parsing/parser.ml" +# 7215 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7262,18 +7265,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 7266 "parsing/parser.ml" +# 7269 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 7271 "parsing/parser.ml" +# 7274 "parsing/parser.ml" in -# 2426 "parsing/parser.mly" +# 2430 "parsing/parser.mly" ( ({clauses= _2; guard= Some _4}: Extensions.comprehension) :: _5 ) -# 7277 "parsing/parser.ml" +# 7280 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7292,17 +7295,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 719 "parsing/parser.mly" +# 722 "parsing/parser.mly" (string * char option) -# 7298 "parsing/parser.ml" +# 7301 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.constant) = -# 3605 "parsing/parser.mly" +# 3616 "parsing/parser.mly" ( let (n, m) = _1 in Pconst_integer (n, m) ) -# 7306 "parsing/parser.ml" +# 7309 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7321,17 +7324,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 677 "parsing/parser.mly" +# 680 "parsing/parser.mly" (char) -# 7327 "parsing/parser.ml" +# 7330 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.constant) = -# 3606 "parsing/parser.mly" +# 3617 "parsing/parser.mly" ( Pconst_char _1 ) -# 7335 "parsing/parser.ml" +# 7338 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7350,17 +7353,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 773 "parsing/parser.mly" +# 776 "parsing/parser.mly" (string * Location.t * string option) -# 7356 "parsing/parser.ml" +# 7359 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.constant) = -# 3607 "parsing/parser.mly" +# 3618 "parsing/parser.mly" ( let (s, strloc, d) = _1 in Pconst_string (s, strloc, d) ) -# 7364 "parsing/parser.ml" +# 7367 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7379,17 +7382,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 697 "parsing/parser.mly" +# 700 "parsing/parser.mly" (string * char option) -# 7385 "parsing/parser.ml" +# 7388 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.constant) = -# 3608 "parsing/parser.mly" +# 3619 "parsing/parser.mly" ( let (f, m) = _1 in Pconst_float (f, m) ) -# 7393 "parsing/parser.ml" +# 7396 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7419,9 +7422,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.label) = -# 3679 "parsing/parser.mly" +# 3690 "parsing/parser.mly" ( "[]" ) -# 7425 "parsing/parser.ml" +# 7428 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7451,9 +7454,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.label) = -# 3680 "parsing/parser.mly" +# 3691 "parsing/parser.mly" ( "()" ) -# 7457 "parsing/parser.ml" +# 7460 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7476,9 +7479,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3681 "parsing/parser.mly" +# 3692 "parsing/parser.mly" ( "false" ) -# 7482 "parsing/parser.ml" +# 7485 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7501,9 +7504,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3682 "parsing/parser.mly" +# 3693 "parsing/parser.mly" ( "true" ) -# 7507 "parsing/parser.ml" +# 7510 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7522,17 +7525,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 785 "parsing/parser.mly" +# 788 "parsing/parser.mly" (string) -# 7528 "parsing/parser.ml" +# 7531 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3685 "parsing/parser.mly" +# 3696 "parsing/parser.mly" ( _1 ) -# 7536 "parsing/parser.ml" +# 7539 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7569,14 +7572,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Asttypes.label) = let _1 = -# 3676 "parsing/parser.mly" +# 3687 "parsing/parser.mly" ( "::" ) -# 7575 "parsing/parser.ml" +# 7578 "parsing/parser.ml" in -# 3686 "parsing/parser.mly" +# 3697 "parsing/parser.mly" ( _1 ) -# 7580 "parsing/parser.ml" +# 7583 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7599,9 +7602,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3687 "parsing/parser.mly" +# 3698 "parsing/parser.mly" ( _1 ) -# 7605 "parsing/parser.ml" +# 7608 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7624,9 +7627,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3690 "parsing/parser.mly" +# 3701 "parsing/parser.mly" ( _1 ) -# 7630 "parsing/parser.ml" +# 7633 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7677,14 +7680,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Longident.t) = let _3 = -# 3676 "parsing/parser.mly" +# 3687 "parsing/parser.mly" ( "::" ) -# 7683 "parsing/parser.ml" +# 7686 "parsing/parser.ml" in -# 3691 "parsing/parser.mly" +# 3702 "parsing/parser.mly" ( Ldot(_1,_3) ) -# 7688 "parsing/parser.ml" +# 7691 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7721,14 +7724,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Longident.t) = let _1 = -# 3676 "parsing/parser.mly" +# 3687 "parsing/parser.mly" ( "::" ) -# 7727 "parsing/parser.ml" +# 7730 "parsing/parser.ml" in -# 3692 "parsing/parser.mly" +# 3703 "parsing/parser.mly" ( Lident _1 ) -# 7732 "parsing/parser.ml" +# 7735 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7751,9 +7754,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3693 "parsing/parser.mly" +# 3704 "parsing/parser.mly" ( Lident _1 ) -# 7757 "parsing/parser.ml" +# 7760 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7790,9 +7793,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.core_type * Parsetree.core_type) = -# 2087 "parsing/parser.mly" +# 2090 "parsing/parser.mly" ( _1, _3 ) -# 7796 "parsing/parser.ml" +# 7799 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7817,26 +7820,26 @@ module Tables = struct let _v : (Parsetree.constructor_arguments) = let tys = let xs = let xs = -# 1021 "parsing/parser.mly" +# 1024 "parsing/parser.mly" ( [ x ] ) -# 7823 "parsing/parser.ml" +# 7826 "parsing/parser.ml" in # 253 "" ( List.rev xs ) -# 7828 "parsing/parser.ml" +# 7831 "parsing/parser.ml" in -# 1041 "parsing/parser.mly" +# 1044 "parsing/parser.mly" ( xs ) -# 7834 "parsing/parser.ml" +# 7837 "parsing/parser.ml" in -# 3210 "parsing/parser.mly" +# 3218 "parsing/parser.mly" ( Pcstr_tuple tys ) -# 7840 "parsing/parser.ml" +# 7843 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7875,26 +7878,26 @@ module Tables = struct let _v : (Parsetree.constructor_arguments) = let tys = let xs = let xs = -# 1025 "parsing/parser.mly" +# 1028 "parsing/parser.mly" ( x :: xs ) -# 7881 "parsing/parser.ml" +# 7884 "parsing/parser.ml" in # 253 "" ( List.rev xs ) -# 7886 "parsing/parser.ml" +# 7889 "parsing/parser.ml" in -# 1041 "parsing/parser.mly" +# 1044 "parsing/parser.mly" ( xs ) -# 7892 "parsing/parser.ml" +# 7895 "parsing/parser.ml" in -# 3210 "parsing/parser.mly" +# 3218 "parsing/parser.mly" ( Pcstr_tuple tys ) -# 7898 "parsing/parser.ml" +# 7901 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7931,9 +7934,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.constructor_arguments) = -# 3212 "parsing/parser.mly" +# 3220 "parsing/parser.mly" ( Pcstr_record _2 ) -# 7937 "parsing/parser.ml" +# 7940 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7956,9 +7959,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.constructor_declaration list) = -# 3131 "parsing/parser.mly" +# 3139 "parsing/parser.mly" ( [] ) -# 7962 "parsing/parser.ml" +# 7965 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -7981,14 +7984,14 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_xs_ in let _v : (Parsetree.constructor_declaration list) = let cs = -# 1126 "parsing/parser.mly" +# 1129 "parsing/parser.mly" ( List.rev xs ) -# 7987 "parsing/parser.ml" +# 7990 "parsing/parser.ml" in -# 3133 "parsing/parser.mly" +# 3141 "parsing/parser.mly" ( cs ) -# 7992 "parsing/parser.ml" +# 7995 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8011,14 +8014,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.core_type) = let _1 = -# 3370 "parsing/parser.mly" +# 3380 "parsing/parser.mly" ( _1 ) -# 8017 "parsing/parser.ml" +# 8020 "parsing/parser.ml" in -# 3360 "parsing/parser.mly" +# 3370 "parsing/parser.mly" ( _1 ) -# 8022 "parsing/parser.ml" +# 8025 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8048,9 +8051,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.core_type) = -# 3362 "parsing/parser.mly" +# 3372 "parsing/parser.mly" ( Typ.attr _1 _2 ) -# 8054 "parsing/parser.ml" +# 8057 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8073,9 +8076,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.direction_flag) = -# 3784 "parsing/parser.mly" +# 3795 "parsing/parser.mly" ( Upto ) -# 8079 "parsing/parser.ml" +# 8082 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8098,9 +8101,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.direction_flag) = -# 3785 "parsing/parser.mly" +# 3796 "parsing/parser.mly" ( Downto ) -# 8104 "parsing/parser.ml" +# 8107 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8123,9 +8126,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.expression) = -# 2238 "parsing/parser.mly" +# 2242 "parsing/parser.mly" ( _1 ) -# 8129 "parsing/parser.ml" +# 8132 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8203,9 +8206,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 8209 "parsing/parser.ml" +# 8212 "parsing/parser.ml" in let _3 = @@ -8213,21 +8216,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 8219 "parsing/parser.ml" +# 8222 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 8225 "parsing/parser.ml" +# 8228 "parsing/parser.ml" in -# 2288 "parsing/parser.mly" +# 2292 "parsing/parser.mly" ( Pexp_letmodule(_4, _5, _7), _3 ) -# 8231 "parsing/parser.ml" +# 8234 "parsing/parser.ml" in let _endpos__1_ = _endpos__7_ in @@ -8235,10 +8238,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 8242 "parsing/parser.ml" +# 8245 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8322,9 +8325,9 @@ module Tables = struct let _3 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 8328 "parsing/parser.ml" +# 8331 "parsing/parser.ml" in let _endpos__3_ = _endpos__1_inlined1_ in @@ -8333,19 +8336,19 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 8339 "parsing/parser.ml" +# 8342 "parsing/parser.ml" in let _endpos = _endpos__3_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3195 "parsing/parser.mly" +# 3203 "parsing/parser.mly" ( let args, res = _2 in Te.decl _1 ~args ?res ~attrs:_3 ~loc:(make_loc _sloc) ) -# 8349 "parsing/parser.ml" +# 8352 "parsing/parser.ml" in let _3 = @@ -8353,21 +8356,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 8359 "parsing/parser.ml" +# 8362 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 8365 "parsing/parser.ml" +# 8368 "parsing/parser.ml" in -# 2290 "parsing/parser.mly" +# 2294 "parsing/parser.mly" ( Pexp_letexception(_4, _6), _3 ) -# 8371 "parsing/parser.ml" +# 8374 "parsing/parser.ml" in let _endpos__1_ = _endpos__6_ in @@ -8375,10 +8378,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 8382 "parsing/parser.ml" +# 8385 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8448,28 +8451,28 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 8454 "parsing/parser.ml" +# 8457 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 8460 "parsing/parser.ml" +# 8463 "parsing/parser.ml" in let _3 = -# 3845 "parsing/parser.mly" +# 3856 "parsing/parser.mly" ( Fresh ) -# 8466 "parsing/parser.ml" +# 8469 "parsing/parser.ml" in -# 2292 "parsing/parser.mly" +# 2296 "parsing/parser.mly" ( let open_loc = make_loc (_startpos__2_, _endpos__5_) in let od = Opn.mk _5 ~override:_3 ~loc:open_loc in Pexp_open(od, _7), _4 ) -# 8473 "parsing/parser.ml" +# 8476 "parsing/parser.ml" in let _endpos__1_ = _endpos__7_ in @@ -8477,10 +8480,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 8484 "parsing/parser.ml" +# 8487 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8557,28 +8560,28 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 8563 "parsing/parser.ml" +# 8566 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 8569 "parsing/parser.ml" +# 8572 "parsing/parser.ml" in let _3 = -# 3846 "parsing/parser.mly" +# 3857 "parsing/parser.mly" ( Override ) -# 8575 "parsing/parser.ml" +# 8578 "parsing/parser.ml" in -# 2292 "parsing/parser.mly" +# 2296 "parsing/parser.mly" ( let open_loc = make_loc (_startpos__2_, _endpos__5_) in let od = Opn.mk _5 ~override:_3 ~loc:open_loc in Pexp_open(od, _7), _4 ) -# 8582 "parsing/parser.ml" +# 8585 "parsing/parser.ml" in let _endpos__1_ = _endpos__7_ in @@ -8586,10 +8589,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 8593 "parsing/parser.ml" +# 8596 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8638,18 +8641,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 8642 "parsing/parser.ml" +# 8645 "parsing/parser.ml" in -# 1098 "parsing/parser.mly" +# 1101 "parsing/parser.mly" ( xs ) -# 8647 "parsing/parser.ml" +# 8650 "parsing/parser.ml" in -# 2681 "parsing/parser.mly" +# 2689 "parsing/parser.mly" ( xs ) -# 8653 "parsing/parser.ml" +# 8656 "parsing/parser.ml" in let _2 = @@ -8657,21 +8660,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 8663 "parsing/parser.ml" +# 8666 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 8669 "parsing/parser.ml" +# 8672 "parsing/parser.ml" in -# 2296 "parsing/parser.mly" +# 2300 "parsing/parser.mly" ( Pexp_function _3, _2 ) -# 8675 "parsing/parser.ml" +# 8678 "parsing/parser.ml" in let _endpos__1_ = _endpos_xs_ in @@ -8679,10 +8682,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 8686 "parsing/parser.ml" +# 8689 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8738,22 +8741,22 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 8744 "parsing/parser.ml" +# 8747 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 8750 "parsing/parser.ml" +# 8753 "parsing/parser.ml" in -# 2298 "parsing/parser.mly" +# 2302 "parsing/parser.mly" ( let (l,o,p) = _3 in Pexp_fun(l, o, p, _4), _2 ) -# 8757 "parsing/parser.ml" +# 8760 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in @@ -8761,10 +8764,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 8768 "parsing/parser.ml" +# 8771 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8837,33 +8840,33 @@ module Tables = struct let _endpos = _endpos__7_ in let _v : (Parsetree.expression) = let _1 = let _5 = -# 2550 "parsing/parser.mly" +# 2554 "parsing/parser.mly" ( xs ) -# 8843 "parsing/parser.ml" +# 8846 "parsing/parser.ml" in let _2 = let (_1_inlined1, _1) = (_1_inlined2, _1_inlined1) in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 8852 "parsing/parser.ml" +# 8855 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 8858 "parsing/parser.ml" +# 8861 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2301 "parsing/parser.mly" +# 2305 "parsing/parser.mly" ( (mk_newtypes ~loc:_sloc _5 _7).pexp_desc, _2 ) -# 8867 "parsing/parser.ml" +# 8870 "parsing/parser.ml" in let _endpos__1_ = _endpos__7_ in @@ -8871,10 +8874,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 8878 "parsing/parser.ml" +# 8881 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -8937,18 +8940,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 8941 "parsing/parser.ml" +# 8944 "parsing/parser.ml" in -# 1098 "parsing/parser.mly" +# 1101 "parsing/parser.mly" ( xs ) -# 8946 "parsing/parser.ml" +# 8949 "parsing/parser.ml" in -# 2681 "parsing/parser.mly" +# 2689 "parsing/parser.mly" ( xs ) -# 8952 "parsing/parser.ml" +# 8955 "parsing/parser.ml" in let _2 = @@ -8956,21 +8959,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 8962 "parsing/parser.ml" +# 8965 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 8968 "parsing/parser.ml" +# 8971 "parsing/parser.ml" in -# 2303 "parsing/parser.mly" +# 2307 "parsing/parser.mly" ( Pexp_match(_3, _5), _2 ) -# 8974 "parsing/parser.ml" +# 8977 "parsing/parser.ml" in let _endpos__1_ = _endpos_xs_ in @@ -8978,10 +8981,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 8985 "parsing/parser.ml" +# 8988 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -9044,18 +9047,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 9048 "parsing/parser.ml" +# 9051 "parsing/parser.ml" in -# 1098 "parsing/parser.mly" +# 1101 "parsing/parser.mly" ( xs ) -# 9053 "parsing/parser.ml" +# 9056 "parsing/parser.ml" in -# 2681 "parsing/parser.mly" +# 2689 "parsing/parser.mly" ( xs ) -# 9059 "parsing/parser.ml" +# 9062 "parsing/parser.ml" in let _2 = @@ -9063,21 +9066,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 9069 "parsing/parser.ml" +# 9072 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 9075 "parsing/parser.ml" +# 9078 "parsing/parser.ml" in -# 2305 "parsing/parser.mly" +# 2309 "parsing/parser.mly" ( Pexp_try(_3, _5), _2 ) -# 9081 "parsing/parser.ml" +# 9084 "parsing/parser.ml" in let _endpos__1_ = _endpos_xs_ in @@ -9085,10 +9088,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 9092 "parsing/parser.ml" +# 9095 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -9151,21 +9154,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 9157 "parsing/parser.ml" +# 9160 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 9163 "parsing/parser.ml" +# 9166 "parsing/parser.ml" in -# 2307 "parsing/parser.mly" +# 2311 "parsing/parser.mly" ( syntax_error() ) -# 9169 "parsing/parser.ml" +# 9172 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -9173,10 +9176,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 9180 "parsing/parser.ml" +# 9183 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -9253,21 +9256,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 9259 "parsing/parser.ml" +# 9262 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 9265 "parsing/parser.ml" +# 9268 "parsing/parser.ml" in -# 2309 "parsing/parser.mly" +# 2313 "parsing/parser.mly" ( Pexp_ifthenelse(_3, _5, Some _7), _2 ) -# 9271 "parsing/parser.ml" +# 9274 "parsing/parser.ml" in let _endpos__1_ = _endpos__7_ in @@ -9275,10 +9278,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 9282 "parsing/parser.ml" +# 9285 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -9341,21 +9344,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 9347 "parsing/parser.ml" +# 9350 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 9353 "parsing/parser.ml" +# 9356 "parsing/parser.ml" in -# 2311 "parsing/parser.mly" +# 2315 "parsing/parser.mly" ( Pexp_ifthenelse(_3, _5, None), _2 ) -# 9359 "parsing/parser.ml" +# 9362 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -9363,10 +9366,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 9370 "parsing/parser.ml" +# 9373 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -9436,21 +9439,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 9442 "parsing/parser.ml" +# 9445 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 9448 "parsing/parser.ml" +# 9451 "parsing/parser.ml" in -# 2313 "parsing/parser.mly" +# 2317 "parsing/parser.mly" ( Pexp_while(_3, _5), _2 ) -# 9454 "parsing/parser.ml" +# 9457 "parsing/parser.ml" in let _endpos__1_ = _endpos__6_ in @@ -9458,10 +9461,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 9465 "parsing/parser.ml" +# 9468 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -9559,21 +9562,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 9565 "parsing/parser.ml" +# 9568 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 9571 "parsing/parser.ml" +# 9574 "parsing/parser.ml" in -# 2316 "parsing/parser.mly" +# 2320 "parsing/parser.mly" ( Pexp_for(_3, _5, _7, _6, _9), _2 ) -# 9577 "parsing/parser.ml" +# 9580 "parsing/parser.ml" in let _endpos__1_ = _endpos__10_ in @@ -9581,10 +9584,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 9588 "parsing/parser.ml" +# 9591 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -9633,21 +9636,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 9639 "parsing/parser.ml" +# 9642 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 9645 "parsing/parser.ml" +# 9648 "parsing/parser.ml" in -# 2318 "parsing/parser.mly" +# 2322 "parsing/parser.mly" ( Pexp_assert _3, _2 ) -# 9651 "parsing/parser.ml" +# 9654 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -9655,10 +9658,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 9662 "parsing/parser.ml" +# 9665 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -9707,21 +9710,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 9713 "parsing/parser.ml" +# 9716 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 9719 "parsing/parser.ml" +# 9722 "parsing/parser.ml" in -# 2320 "parsing/parser.mly" +# 2324 "parsing/parser.mly" ( Pexp_lazy _3, _2 ) -# 9725 "parsing/parser.ml" +# 9728 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -9729,10 +9732,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 9736 "parsing/parser.ml" +# 9739 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -9797,27 +9800,27 @@ module Tables = struct let _1 = # 260 "" ( List.flatten xss ) -# 9801 "parsing/parser.ml" +# 9804 "parsing/parser.ml" in -# 1920 "parsing/parser.mly" +# 1923 "parsing/parser.mly" ( _1 ) -# 9806 "parsing/parser.ml" +# 9809 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_xss_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 897 "parsing/parser.mly" +# 900 "parsing/parser.mly" ( extra_cstr _startpos _endpos _1 ) -# 9815 "parsing/parser.ml" +# 9818 "parsing/parser.ml" in -# 1907 "parsing/parser.mly" +# 1910 "parsing/parser.mly" ( Cstr.mk _1 _2 ) -# 9821 "parsing/parser.ml" +# 9824 "parsing/parser.ml" in let _2 = @@ -9825,21 +9828,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 9831 "parsing/parser.ml" +# 9834 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 9837 "parsing/parser.ml" +# 9840 "parsing/parser.ml" in -# 2322 "parsing/parser.mly" +# 2326 "parsing/parser.mly" ( Pexp_object _3, _2 ) -# 9843 "parsing/parser.ml" +# 9846 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in @@ -9847,10 +9850,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 9854 "parsing/parser.ml" +# 9857 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -9915,27 +9918,27 @@ module Tables = struct let _1 = # 260 "" ( List.flatten xss ) -# 9919 "parsing/parser.ml" +# 9922 "parsing/parser.ml" in -# 1920 "parsing/parser.mly" +# 1923 "parsing/parser.mly" ( _1 ) -# 9924 "parsing/parser.ml" +# 9927 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_xss_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 897 "parsing/parser.mly" +# 900 "parsing/parser.mly" ( extra_cstr _startpos _endpos _1 ) -# 9933 "parsing/parser.ml" +# 9936 "parsing/parser.ml" in -# 1907 "parsing/parser.mly" +# 1910 "parsing/parser.mly" ( Cstr.mk _1 _2 ) -# 9939 "parsing/parser.ml" +# 9942 "parsing/parser.ml" in let _2 = @@ -9943,23 +9946,23 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 9949 "parsing/parser.ml" +# 9952 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 9955 "parsing/parser.ml" +# 9958 "parsing/parser.ml" in let _loc__4_ = (_startpos__4_, _endpos__4_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2324 "parsing/parser.mly" +# 2328 "parsing/parser.mly" ( unclosed "object" _loc__1_ "end" _loc__4_ ) -# 9963 "parsing/parser.ml" +# 9966 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in @@ -9967,10 +9970,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2240 "parsing/parser.mly" +# 2244 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 9974 "parsing/parser.ml" +# 9977 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10005,18 +10008,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 10009 "parsing/parser.ml" +# 10012 "parsing/parser.ml" in -# 1005 "parsing/parser.mly" +# 1008 "parsing/parser.mly" ( xs ) -# 10014 "parsing/parser.ml" +# 10017 "parsing/parser.ml" in -# 2328 "parsing/parser.mly" +# 2332 "parsing/parser.mly" ( Pexp_apply(_1, _2) ) -# 10020 "parsing/parser.ml" +# 10023 "parsing/parser.ml" in let _endpos__1_ = _endpos_xs_ in @@ -10024,15 +10027,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10030 "parsing/parser.ml" +# 10033 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10036 "parsing/parser.ml" +# 10039 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10061,24 +10064,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 10065 "parsing/parser.ml" +# 10068 "parsing/parser.ml" in -# 1065 "parsing/parser.mly" +# 1068 "parsing/parser.mly" ( xs ) -# 10070 "parsing/parser.ml" +# 10073 "parsing/parser.ml" in -# 2708 "parsing/parser.mly" +# 2716 "parsing/parser.mly" ( es ) -# 10076 "parsing/parser.ml" +# 10079 "parsing/parser.ml" in -# 2330 "parsing/parser.mly" +# 2334 "parsing/parser.mly" ( Pexp_tuple(_1) ) -# 10082 "parsing/parser.ml" +# 10085 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xs_, _startpos_xs_) in @@ -10086,15 +10089,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10092 "parsing/parser.ml" +# 10095 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10098 "parsing/parser.ml" +# 10101 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10130,15 +10133,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 10136 "parsing/parser.ml" +# 10139 "parsing/parser.ml" in -# 2332 "parsing/parser.mly" +# 2336 "parsing/parser.mly" ( Pexp_construct(_1, Some _2) ) -# 10142 "parsing/parser.ml" +# 10145 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in @@ -10146,15 +10149,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10152 "parsing/parser.ml" +# 10155 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10158 "parsing/parser.ml" +# 10161 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10185,24 +10188,24 @@ module Tables = struct let _endpos = _endpos__2_ in let _v : (Parsetree.expression) = let _1 = let _1 = -# 2334 "parsing/parser.mly" +# 2338 "parsing/parser.mly" ( Pexp_variant(_1, Some _2) ) -# 10191 "parsing/parser.ml" +# 10194 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10200 "parsing/parser.ml" +# 10203 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10206 "parsing/parser.ml" +# 10209 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10234,9 +10237,9 @@ module Tables = struct } = _menhir_stack in let e2 : (Parsetree.expression) = Obj.magic e2 in let op : ( -# 709 "parsing/parser.mly" +# 712 "parsing/parser.mly" (string) -# 10240 "parsing/parser.ml" +# 10243 "parsing/parser.ml" ) = Obj.magic op in let e1 : (Parsetree.expression) = Obj.magic e1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -10246,24 +10249,24 @@ module Tables = struct let _1 = let op = let _1 = -# 3649 "parsing/parser.mly" +# 3660 "parsing/parser.mly" ( op ) -# 10252 "parsing/parser.ml" +# 10255 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_op_, _startpos_op_) in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 10261 "parsing/parser.ml" +# 10264 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 10267 "parsing/parser.ml" +# 10270 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -10271,15 +10274,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10277 "parsing/parser.ml" +# 10280 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10283 "parsing/parser.ml" +# 10286 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10311,9 +10314,9 @@ module Tables = struct } = _menhir_stack in let e2 : (Parsetree.expression) = Obj.magic e2 in let op : ( -# 710 "parsing/parser.mly" +# 713 "parsing/parser.mly" (string) -# 10317 "parsing/parser.ml" +# 10320 "parsing/parser.ml" ) = Obj.magic op in let e1 : (Parsetree.expression) = Obj.magic e1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -10323,24 +10326,24 @@ module Tables = struct let _1 = let op = let _1 = -# 3650 "parsing/parser.mly" +# 3661 "parsing/parser.mly" ( op ) -# 10329 "parsing/parser.ml" +# 10332 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_op_, _startpos_op_) in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 10338 "parsing/parser.ml" +# 10341 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 10344 "parsing/parser.ml" +# 10347 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -10348,15 +10351,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10354 "parsing/parser.ml" +# 10357 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10360 "parsing/parser.ml" +# 10363 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10388,9 +10391,9 @@ module Tables = struct } = _menhir_stack in let e2 : (Parsetree.expression) = Obj.magic e2 in let op : ( -# 711 "parsing/parser.mly" +# 714 "parsing/parser.mly" (string) -# 10394 "parsing/parser.ml" +# 10397 "parsing/parser.ml" ) = Obj.magic op in let e1 : (Parsetree.expression) = Obj.magic e1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -10400,24 +10403,24 @@ module Tables = struct let _1 = let op = let _1 = -# 3651 "parsing/parser.mly" +# 3662 "parsing/parser.mly" ( op ) -# 10406 "parsing/parser.ml" +# 10409 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_op_, _startpos_op_) in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 10415 "parsing/parser.ml" +# 10418 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 10421 "parsing/parser.ml" +# 10424 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -10425,15 +10428,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10431 "parsing/parser.ml" +# 10434 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10437 "parsing/parser.ml" +# 10440 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10465,9 +10468,9 @@ module Tables = struct } = _menhir_stack in let e2 : (Parsetree.expression) = Obj.magic e2 in let op : ( -# 712 "parsing/parser.mly" +# 715 "parsing/parser.mly" (string) -# 10471 "parsing/parser.ml" +# 10474 "parsing/parser.ml" ) = Obj.magic op in let e1 : (Parsetree.expression) = Obj.magic e1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -10477,24 +10480,24 @@ module Tables = struct let _1 = let op = let _1 = -# 3652 "parsing/parser.mly" +# 3663 "parsing/parser.mly" ( op ) -# 10483 "parsing/parser.ml" +# 10486 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_op_, _startpos_op_) in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 10492 "parsing/parser.ml" +# 10495 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 10498 "parsing/parser.ml" +# 10501 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -10502,15 +10505,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10508 "parsing/parser.ml" +# 10511 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10514 "parsing/parser.ml" +# 10517 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10542,9 +10545,9 @@ module Tables = struct } = _menhir_stack in let e2 : (Parsetree.expression) = Obj.magic e2 in let op : ( -# 713 "parsing/parser.mly" +# 716 "parsing/parser.mly" (string) -# 10548 "parsing/parser.ml" +# 10551 "parsing/parser.ml" ) = Obj.magic op in let e1 : (Parsetree.expression) = Obj.magic e1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -10554,24 +10557,24 @@ module Tables = struct let _1 = let op = let _1 = -# 3653 "parsing/parser.mly" +# 3664 "parsing/parser.mly" ( op ) -# 10560 "parsing/parser.ml" +# 10563 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_op_, _startpos_op_) in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 10569 "parsing/parser.ml" +# 10572 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 10575 "parsing/parser.ml" +# 10578 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -10579,15 +10582,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10585 "parsing/parser.ml" +# 10588 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10591 "parsing/parser.ml" +# 10594 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10627,23 +10630,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3654 "parsing/parser.mly" +# 3665 "parsing/parser.mly" ("+") -# 10633 "parsing/parser.ml" +# 10636 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 10641 "parsing/parser.ml" +# 10644 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 10647 "parsing/parser.ml" +# 10650 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -10651,15 +10654,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10657 "parsing/parser.ml" +# 10660 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10663 "parsing/parser.ml" +# 10666 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10699,23 +10702,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3655 "parsing/parser.mly" +# 3666 "parsing/parser.mly" ("+.") -# 10705 "parsing/parser.ml" +# 10708 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 10713 "parsing/parser.ml" +# 10716 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 10719 "parsing/parser.ml" +# 10722 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -10723,15 +10726,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10729 "parsing/parser.ml" +# 10732 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10735 "parsing/parser.ml" +# 10738 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10771,23 +10774,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3656 "parsing/parser.mly" +# 3667 "parsing/parser.mly" ("+=") -# 10777 "parsing/parser.ml" +# 10780 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 10785 "parsing/parser.ml" +# 10788 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 10791 "parsing/parser.ml" +# 10794 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -10795,15 +10798,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10801 "parsing/parser.ml" +# 10804 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10807 "parsing/parser.ml" +# 10810 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10843,23 +10846,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3657 "parsing/parser.mly" +# 3668 "parsing/parser.mly" ("-") -# 10849 "parsing/parser.ml" +# 10852 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 10857 "parsing/parser.ml" +# 10860 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 10863 "parsing/parser.ml" +# 10866 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -10867,15 +10870,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10873 "parsing/parser.ml" +# 10876 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10879 "parsing/parser.ml" +# 10882 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10915,23 +10918,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3658 "parsing/parser.mly" +# 3669 "parsing/parser.mly" ("-.") -# 10921 "parsing/parser.ml" +# 10924 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 10929 "parsing/parser.ml" +# 10932 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 10935 "parsing/parser.ml" +# 10938 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -10939,15 +10942,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 10945 "parsing/parser.ml" +# 10948 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 10951 "parsing/parser.ml" +# 10954 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -10987,23 +10990,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3659 "parsing/parser.mly" +# 3670 "parsing/parser.mly" ("*") -# 10993 "parsing/parser.ml" +# 10996 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 11001 "parsing/parser.ml" +# 11004 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 11007 "parsing/parser.ml" +# 11010 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -11011,15 +11014,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11017 "parsing/parser.ml" +# 11020 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11023 "parsing/parser.ml" +# 11026 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11059,23 +11062,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3660 "parsing/parser.mly" +# 3671 "parsing/parser.mly" ("%") -# 11065 "parsing/parser.ml" +# 11068 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 11073 "parsing/parser.ml" +# 11076 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 11079 "parsing/parser.ml" +# 11082 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -11083,15 +11086,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11089 "parsing/parser.ml" +# 11092 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11095 "parsing/parser.ml" +# 11098 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11131,23 +11134,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3661 "parsing/parser.mly" +# 3672 "parsing/parser.mly" ("=") -# 11137 "parsing/parser.ml" +# 11140 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 11145 "parsing/parser.ml" +# 11148 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 11151 "parsing/parser.ml" +# 11154 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -11155,15 +11158,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11161 "parsing/parser.ml" +# 11164 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11167 "parsing/parser.ml" +# 11170 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11203,23 +11206,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3662 "parsing/parser.mly" +# 3673 "parsing/parser.mly" ("<") -# 11209 "parsing/parser.ml" +# 11212 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 11217 "parsing/parser.ml" +# 11220 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 11223 "parsing/parser.ml" +# 11226 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -11227,15 +11230,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11233 "parsing/parser.ml" +# 11236 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11239 "parsing/parser.ml" +# 11242 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11275,23 +11278,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3663 "parsing/parser.mly" +# 3674 "parsing/parser.mly" (">") -# 11281 "parsing/parser.ml" +# 11284 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 11289 "parsing/parser.ml" +# 11292 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 11295 "parsing/parser.ml" +# 11298 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -11299,15 +11302,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11305 "parsing/parser.ml" +# 11308 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11311 "parsing/parser.ml" +# 11314 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11347,23 +11350,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3664 "parsing/parser.mly" +# 3675 "parsing/parser.mly" ("or") -# 11353 "parsing/parser.ml" +# 11356 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 11361 "parsing/parser.ml" +# 11364 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 11367 "parsing/parser.ml" +# 11370 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -11371,15 +11374,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11377 "parsing/parser.ml" +# 11380 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11383 "parsing/parser.ml" +# 11386 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11419,23 +11422,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3665 "parsing/parser.mly" +# 3676 "parsing/parser.mly" ("||") -# 11425 "parsing/parser.ml" +# 11428 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 11433 "parsing/parser.ml" +# 11436 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 11439 "parsing/parser.ml" +# 11442 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -11443,15 +11446,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11449 "parsing/parser.ml" +# 11452 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11455 "parsing/parser.ml" +# 11458 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11491,23 +11494,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3666 "parsing/parser.mly" +# 3677 "parsing/parser.mly" ("&") -# 11497 "parsing/parser.ml" +# 11500 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 11505 "parsing/parser.ml" +# 11508 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 11511 "parsing/parser.ml" +# 11514 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -11515,15 +11518,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11521 "parsing/parser.ml" +# 11524 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11527 "parsing/parser.ml" +# 11530 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11563,23 +11566,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3667 "parsing/parser.mly" +# 3678 "parsing/parser.mly" ("&&") -# 11569 "parsing/parser.ml" +# 11572 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 11577 "parsing/parser.ml" +# 11580 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 11583 "parsing/parser.ml" +# 11586 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -11587,15 +11590,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11593 "parsing/parser.ml" +# 11596 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11599 "parsing/parser.ml" +# 11602 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11635,23 +11638,23 @@ module Tables = struct let _1 = let op = let _1 = -# 3668 "parsing/parser.mly" +# 3679 "parsing/parser.mly" (":=") -# 11641 "parsing/parser.ml" +# 11644 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 11649 "parsing/parser.ml" +# 11652 "parsing/parser.ml" in -# 2336 "parsing/parser.mly" +# 2340 "parsing/parser.mly" ( mkinfix e1 op e2 ) -# 11655 "parsing/parser.ml" +# 11658 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_e2_, _startpos_e1_) in @@ -11659,15 +11662,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11665 "parsing/parser.ml" +# 11668 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11671 "parsing/parser.ml" +# 11674 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11700,9 +11703,9 @@ module Tables = struct let _1 = let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2338 "parsing/parser.mly" +# 2342 "parsing/parser.mly" ( mkuminus ~oploc:_loc__1_ _1 _2 ) -# 11706 "parsing/parser.ml" +# 11709 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in @@ -11710,15 +11713,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11716 "parsing/parser.ml" +# 11719 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11722 "parsing/parser.ml" +# 11725 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11751,9 +11754,9 @@ module Tables = struct let _1 = let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2340 "parsing/parser.mly" +# 2344 "parsing/parser.mly" ( mkuplus ~oploc:_loc__1_ _1 _2 ) -# 11757 "parsing/parser.ml" +# 11760 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in @@ -11761,15 +11764,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 11767 "parsing/parser.ml" +# 11770 "parsing/parser.ml" in -# 2243 "parsing/parser.mly" +# 2247 "parsing/parser.mly" ( _1 ) -# 11773 "parsing/parser.ml" +# 11776 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11809,9 +11812,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2245 "parsing/parser.mly" +# 2249 "parsing/parser.mly" ( expr_of_let_bindings ~loc:_sloc _1 _3 ) -# 11815 "parsing/parser.ml" +# 11818 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11851,9 +11854,9 @@ module Tables = struct let _3 : unit = Obj.magic _3 in let bindings : (Parsetree.pattern * Parsetree.expression * Parsetree.binding_op list) = Obj.magic bindings in let _1 : ( -# 715 "parsing/parser.mly" +# 718 "parsing/parser.mly" (string) -# 11857 "parsing/parser.ml" +# 11860 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -11863,9 +11866,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 11869 "parsing/parser.ml" +# 11872 "parsing/parser.ml" in let _startpos_pbop_op_ = _startpos__1_ in @@ -11873,13 +11876,13 @@ module Tables = struct let _symbolstartpos = _startpos_pbop_op_ in let _sloc = (_symbolstartpos, _endpos) in -# 2247 "parsing/parser.mly" +# 2251 "parsing/parser.mly" ( let (pbop_pat, pbop_exp, rev_ands) = bindings in let ands = List.rev rev_ands in let pbop_loc = make_loc _sloc in let let_ = {pbop_op; pbop_pat; pbop_exp; pbop_loc} in mkexp ~loc:_sloc (Pexp_letop{ let_; ands; body}) ) -# 11883 "parsing/parser.ml" +# 11886 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11920,9 +11923,9 @@ module Tables = struct let _loc__2_ = (_startpos__2_, _endpos__2_) in let _sloc = (_symbolstartpos, _endpos) in -# 2253 "parsing/parser.mly" +# 2257 "parsing/parser.mly" ( mkexp_cons ~loc:_sloc _loc__2_ (ghexp ~loc:_sloc (Pexp_tuple[_1;_3])) ) -# 11926 "parsing/parser.ml" +# 11929 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -11955,35 +11958,35 @@ module Tables = struct let _3 : (Parsetree.expression) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 11961 "parsing/parser.ml" +# 11964 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.expression) = let _1 = let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 11970 "parsing/parser.ml" +# 11973 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 11978 "parsing/parser.ml" +# 11981 "parsing/parser.ml" in let _endpos = _endpos__3_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2255 "parsing/parser.mly" +# 2259 "parsing/parser.mly" ( mkexp ~loc:_sloc (Pexp_setinstvar(_1, _3)) ) -# 11987 "parsing/parser.ml" +# 11990 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12039,18 +12042,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 12045 "parsing/parser.ml" +# 12048 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2257 "parsing/parser.mly" +# 2261 "parsing/parser.mly" ( mkexp ~loc:_sloc (Pexp_setfield(_1, _3, _5)) ) -# 12054 "parsing/parser.ml" +# 12057 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12118,9 +12121,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2259 "parsing/parser.mly" +# 2263 "parsing/parser.mly" ( array_set ~loc:_sloc _1 _4 _7 ) -# 12124 "parsing/parser.ml" +# 12127 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12188,9 +12191,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2261 "parsing/parser.mly" +# 2265 "parsing/parser.mly" ( string_set ~loc:_sloc _1 _4 _7 ) -# 12194 "parsing/parser.ml" +# 12197 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12258,9 +12261,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2263 "parsing/parser.mly" +# 2267 "parsing/parser.mly" ( bigarray_set ~loc:_sloc _1 _4 _7 ) -# 12264 "parsing/parser.ml" +# 12267 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12320,26 +12323,26 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _3 : unit = Obj.magic _3 in let _2 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 12326 "parsing/parser.ml" +# 12329 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : (Parsetree.expression) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : (Parsetree.expression) = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 12335 "parsing/parser.ml" +# 12338 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2265 "parsing/parser.mly" +# 2269 "parsing/parser.mly" ( dotop_set ~loc:_sloc lident bracket _2 _1 _4 _7 ) -# 12343 "parsing/parser.ml" +# 12346 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12399,26 +12402,26 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _3 : unit = Obj.magic _3 in let _2 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 12405 "parsing/parser.ml" +# 12408 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : (Parsetree.expression) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : (Parsetree.expression) = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 12414 "parsing/parser.ml" +# 12417 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2267 "parsing/parser.mly" +# 2271 "parsing/parser.mly" ( dotop_set ~loc:_sloc lident paren _2 _1 _4 _7 ) -# 12422 "parsing/parser.ml" +# 12425 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12478,26 +12481,26 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _3 : unit = Obj.magic _3 in let _2 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 12484 "parsing/parser.ml" +# 12487 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : (Parsetree.expression) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : (Parsetree.expression) = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 12493 "parsing/parser.ml" +# 12496 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2269 "parsing/parser.mly" +# 2273 "parsing/parser.mly" ( dotop_set ~loc:_sloc lident brace _2 _1 _4 _7 ) -# 12501 "parsing/parser.ml" +# 12504 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12569,9 +12572,9 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _5 : unit = Obj.magic _5 in let _4 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 12575 "parsing/parser.ml" +# 12578 "parsing/parser.ml" ) = Obj.magic _4 in let _3 : (Longident.t) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in @@ -12580,17 +12583,17 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : (Parsetree.expression) = let _6 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 12586 "parsing/parser.ml" +# 12589 "parsing/parser.ml" in let _endpos = _endpos__9_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2272 "parsing/parser.mly" +# 2276 "parsing/parser.mly" ( dotop_set ~loc:_sloc (ldot _3) bracket _4 _1 _6 _9 ) -# 12594 "parsing/parser.ml" +# 12597 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12662,9 +12665,9 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _5 : unit = Obj.magic _5 in let _4 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 12668 "parsing/parser.ml" +# 12671 "parsing/parser.ml" ) = Obj.magic _4 in let _3 : (Longident.t) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in @@ -12673,17 +12676,17 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : (Parsetree.expression) = let _6 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 12679 "parsing/parser.ml" +# 12682 "parsing/parser.ml" in let _endpos = _endpos__9_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2275 "parsing/parser.mly" +# 2279 "parsing/parser.mly" ( dotop_set ~loc:_sloc (ldot _3) paren _4 _1 _6 _9 ) -# 12687 "parsing/parser.ml" +# 12690 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12755,9 +12758,9 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _5 : unit = Obj.magic _5 in let _4 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 12761 "parsing/parser.ml" +# 12764 "parsing/parser.ml" ) = Obj.magic _4 in let _3 : (Longident.t) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in @@ -12766,17 +12769,17 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : (Parsetree.expression) = let _6 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 12772 "parsing/parser.ml" +# 12775 "parsing/parser.ml" in let _endpos = _endpos__9_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2278 "parsing/parser.mly" +# 2282 "parsing/parser.mly" ( dotop_set ~loc:_sloc (ldot _3) brace _4 _1 _6 _9 ) -# 12780 "parsing/parser.ml" +# 12783 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12806,9 +12809,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.expression) = -# 2280 "parsing/parser.mly" +# 2284 "parsing/parser.mly" ( Exp.attr _1 _2 ) -# 12812 "parsing/parser.ml" +# 12815 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12832,9 +12835,9 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.expression) = let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2282 "parsing/parser.mly" +# 2286 "parsing/parser.mly" ( not_expecting _loc__1_ "wildcard \"_\"" ) -# 12838 "parsing/parser.ml" +# 12841 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12867,9 +12870,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2284 "parsing/parser.mly" +# 2288 "parsing/parser.mly" ( mkexp_stack ~loc:_sloc _2 ) -# 12873 "parsing/parser.ml" +# 12876 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12885,9 +12888,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (string Asttypes.loc option) = -# 3948 "parsing/parser.mly" +# 3959 "parsing/parser.mly" ( None ) -# 12891 "parsing/parser.ml" +# 12894 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12917,9 +12920,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (string Asttypes.loc option) = -# 3949 "parsing/parser.mly" +# 3960 "parsing/parser.mly" ( Some _2 ) -# 12923 "parsing/parser.ml" +# 12926 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12963,9 +12966,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : (Parsetree.extension) = -# 3959 "parsing/parser.mly" +# 3970 "parsing/parser.mly" ( (_2, _3) ) -# 12969 "parsing/parser.ml" +# 12972 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -12984,9 +12987,9 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 775 "parsing/parser.mly" +# 778 "parsing/parser.mly" (string * Location.t * string * Location.t * string option) -# 12990 "parsing/parser.ml" +# 12993 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -12995,9 +12998,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3961 "parsing/parser.mly" +# 3972 "parsing/parser.mly" ( mk_quotedext ~loc:_sloc _1 ) -# 13001 "parsing/parser.ml" +# 13004 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13050,9 +13053,9 @@ module Tables = struct let _v : (Parsetree.extension_constructor) = let attrs = let _1 = _1_inlined3 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 13056 "parsing/parser.ml" +# 13059 "parsing/parser.ml" in let _endpos_attrs_ = _endpos__1_inlined3_ in @@ -13062,9 +13065,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 13068 "parsing/parser.ml" +# 13071 "parsing/parser.ml" in let cid = @@ -13073,19 +13076,19 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 13079 "parsing/parser.ml" +# 13082 "parsing/parser.ml" in let _endpos = _endpos_attrs_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3284 "parsing/parser.mly" +# 3294 "parsing/parser.mly" ( let info = symbol_info _endpos in Te.rebind cid lid ~attrs ~loc:(make_loc _sloc) ~info ) -# 13089 "parsing/parser.ml" +# 13092 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13131,9 +13134,9 @@ module Tables = struct let _v : (Parsetree.extension_constructor) = let attrs = let _1 = _1_inlined2 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 13137 "parsing/parser.ml" +# 13140 "parsing/parser.ml" in let _endpos_attrs_ = _endpos__1_inlined2_ in @@ -13143,9 +13146,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 13149 "parsing/parser.ml" +# 13152 "parsing/parser.ml" in let cid = @@ -13153,25 +13156,25 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 13159 "parsing/parser.ml" +# 13162 "parsing/parser.ml" in let _startpos_cid_ = _startpos__1_ in let _1 = -# 3760 "parsing/parser.mly" +# 3771 "parsing/parser.mly" ( () ) -# 13166 "parsing/parser.ml" +# 13169 "parsing/parser.ml" in let _endpos = _endpos_attrs_ in let _symbolstartpos = _startpos_cid_ in let _sloc = (_symbolstartpos, _endpos) in -# 3284 "parsing/parser.mly" +# 3294 "parsing/parser.mly" ( let info = symbol_info _endpos in Te.rebind cid lid ~attrs ~loc:(make_loc _sloc) ~info ) -# 13175 "parsing/parser.ml" +# 13178 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13218,10 +13221,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3936 "parsing/parser.mly" +# 3947 "parsing/parser.mly" ( mark_symbol_docs _sloc; - Attr.mk ~loc:(make_loc _sloc) _2 _3 ) -# 13225 "parsing/parser.ml" + Builtin_attributes.mk_internal ~loc:(make_loc _sloc) _2 _3 ) +# 13228 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13237,14 +13240,14 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = let params = -# 2027 "parsing/parser.mly" +# 2030 "parsing/parser.mly" ( [] ) -# 13243 "parsing/parser.ml" +# 13246 "parsing/parser.ml" in -# 1852 "parsing/parser.mly" +# 1855 "parsing/parser.mly" ( params ) -# 13248 "parsing/parser.ml" +# 13251 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13285,24 +13288,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 13289 "parsing/parser.ml" +# 13292 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 13294 "parsing/parser.ml" +# 13297 "parsing/parser.ml" in -# 2029 "parsing/parser.mly" +# 2032 "parsing/parser.mly" ( params ) -# 13300 "parsing/parser.ml" +# 13303 "parsing/parser.ml" in -# 1852 "parsing/parser.mly" +# 1855 "parsing/parser.mly" ( params ) -# 13306 "parsing/parser.ml" +# 13309 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13325,9 +13328,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.expression) = -# 2653 "parsing/parser.mly" +# 2661 "parsing/parser.mly" ( _1 ) -# 13331 "parsing/parser.ml" +# 13334 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13367,9 +13370,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2655 "parsing/parser.mly" +# 2663 "parsing/parser.mly" ( mkexp_constraint ~loc:_sloc _3 _1 ) -# 13373 "parsing/parser.ml" +# 13376 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13399,9 +13402,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.expression) = -# 2693 "parsing/parser.mly" +# 2701 "parsing/parser.mly" ( _2 ) -# 13405 "parsing/parser.ml" +# 13408 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13446,24 +13449,24 @@ module Tables = struct let _endpos = _endpos__4_ in let _v : (Parsetree.expression) = let _1 = let _1 = -# 2695 "parsing/parser.mly" +# 2703 "parsing/parser.mly" ( Pexp_constraint (_4, _2) ) -# 13452 "parsing/parser.ml" +# 13455 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 13461 "parsing/parser.ml" +# 13464 "parsing/parser.ml" in -# 2696 "parsing/parser.mly" +# 2704 "parsing/parser.mly" ( _1 ) -# 13467 "parsing/parser.ml" +# 13470 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13496,12 +13499,12 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2699 "parsing/parser.mly" +# 2707 "parsing/parser.mly" ( let (l,o,p) = _1 in ghexp ~loc:_sloc (Pexp_fun(l, o, p, _2)) ) -# 13505 "parsing/parser.ml" +# 13508 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13552,17 +13555,17 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.expression) = let _3 = -# 2550 "parsing/parser.mly" +# 2554 "parsing/parser.mly" ( xs ) -# 13558 "parsing/parser.ml" +# 13561 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2704 "parsing/parser.mly" +# 2712 "parsing/parser.mly" ( mk_newtypes ~loc:_sloc _3 _5 ) -# 13566 "parsing/parser.ml" +# 13569 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13585,9 +13588,9 @@ module Tables = struct let _startpos = _startpos_ty_ in let _endpos = _endpos_ty_ in let _v : (Parsetree.core_type) = -# 3396 "parsing/parser.mly" +# 3406 "parsing/parser.mly" ( ty ) -# 13591 "parsing/parser.ml" +# 13594 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13610,9 +13613,9 @@ module Tables = struct let _startpos = _startpos_ty_ in let _endpos = _endpos_ty_ in let _v : (Parsetree.core_type) = -# 3398 "parsing/parser.mly" +# 3408 "parsing/parser.mly" ( ty ) -# 13616 "parsing/parser.ml" +# 13619 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13643,9 +13646,9 @@ module Tables = struct let _endpos = _endpos__2_ in let _v : (Lexing.position * Parsetree.functor_parameter) = let _startpos = _startpos__1_ in -# 1276 "parsing/parser.mly" +# 1279 "parsing/parser.mly" ( _startpos, Unit ) -# 13649 "parsing/parser.ml" +# 13652 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13701,16 +13704,16 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 13707 "parsing/parser.ml" +# 13710 "parsing/parser.ml" in let _startpos = _startpos__1_ in -# 1279 "parsing/parser.mly" +# 1282 "parsing/parser.mly" ( _startpos, Named (x, mty) ) -# 13714 "parsing/parser.ml" +# 13717 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13726,9 +13729,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (Parsetree.constructor_arguments * Parsetree.core_type option) = -# 3199 "parsing/parser.mly" +# 3207 "parsing/parser.mly" ( (Pcstr_tuple [],None) ) -# 13732 "parsing/parser.ml" +# 13735 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13758,9 +13761,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.constructor_arguments * Parsetree.core_type option) = -# 3200 "parsing/parser.mly" +# 3208 "parsing/parser.mly" ( (_2,None) ) -# 13764 "parsing/parser.ml" +# 13767 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13804,9 +13807,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : (Parsetree.constructor_arguments * Parsetree.core_type option) = -# 3202 "parsing/parser.mly" +# 3210 "parsing/parser.mly" ( (_2,Some _4) ) -# 13810 "parsing/parser.ml" +# 13813 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13836,9 +13839,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.constructor_arguments * Parsetree.core_type option) = -# 3204 "parsing/parser.mly" +# 3212 "parsing/parser.mly" ( (Pcstr_tuple [],Some _2) ) -# 13842 "parsing/parser.ml" +# 13845 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13886,9 +13889,9 @@ module Tables = struct Docstrings.info) = let attrs = let _1 = _1_inlined2 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 13892 "parsing/parser.ml" +# 13895 "parsing/parser.ml" in let _endpos_attrs_ = _endpos__1_inlined2_ in @@ -13898,23 +13901,23 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 13904 "parsing/parser.ml" +# 13907 "parsing/parser.ml" in let _endpos = _endpos_attrs_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3147 "parsing/parser.mly" +# 3155 "parsing/parser.mly" ( let args, res = args_res in let info = symbol_info _endpos in let loc = make_loc _sloc in cid, args, res, attrs, loc, info ) -# 13918 "parsing/parser.ml" +# 13921 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -13955,9 +13958,9 @@ module Tables = struct Docstrings.info) = let attrs = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 13961 "parsing/parser.ml" +# 13964 "parsing/parser.ml" in let _endpos_attrs_ = _endpos__1_inlined1_ in @@ -13966,29 +13969,29 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 13972 "parsing/parser.ml" +# 13975 "parsing/parser.ml" in let _startpos_cid_ = _startpos__1_ in let _1 = -# 3760 "parsing/parser.mly" +# 3771 "parsing/parser.mly" ( () ) -# 13979 "parsing/parser.ml" +# 13982 "parsing/parser.ml" in let _endpos = _endpos_attrs_ in let _symbolstartpos = _startpos_cid_ in let _sloc = (_symbolstartpos, _endpos) in -# 3147 "parsing/parser.mly" +# 3155 "parsing/parser.mly" ( let args, res = args_res in let info = symbol_info _endpos in let loc = make_loc _sloc in cid, args, res, attrs, loc, info ) -# 13992 "parsing/parser.ml" +# 13995 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14059,9 +14062,9 @@ module Tables = struct let _2 : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = Obj.magic _2 in let _1_inlined3 : unit = Obj.magic _1_inlined3 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 14065 "parsing/parser.ml" +# 14068 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in @@ -14074,9 +14077,9 @@ module Tables = struct Parsetree.type_declaration) = let attrs2 = let _1 = _1_inlined4 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 14080 "parsing/parser.ml" +# 14083 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined4_ in @@ -14085,24 +14088,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 14089 "parsing/parser.ml" +# 14092 "parsing/parser.ml" in -# 987 "parsing/parser.mly" +# 990 "parsing/parser.mly" ( xs ) -# 14094 "parsing/parser.ml" +# 14097 "parsing/parser.ml" in -# 3052 "parsing/parser.mly" +# 3060 "parsing/parser.mly" ( _1 ) -# 14100 "parsing/parser.ml" +# 14103 "parsing/parser.ml" in let kind_priv_manifest = -# 3087 "parsing/parser.mly" +# 3095 "parsing/parser.mly" ( _2 ) -# 14106 "parsing/parser.ml" +# 14109 "parsing/parser.ml" in let id = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in @@ -14110,29 +14113,29 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 14116 "parsing/parser.ml" +# 14119 "parsing/parser.ml" in let flag = -# 3780 "parsing/parser.mly" +# 3791 "parsing/parser.mly" ( Recursive ) -# 14122 "parsing/parser.ml" +# 14125 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 14129 "parsing/parser.ml" +# 14132 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3024 "parsing/parser.mly" +# 3032 "parsing/parser.mly" ( let (kind, priv, manifest) = kind_priv_manifest in let docs = symbol_docs _sloc in @@ -14141,7 +14144,7 @@ module Tables = struct (flag, ext), Type.mk id ~params ~cstrs ~kind ~priv ?manifest ~attrs ~loc ~docs ) -# 14145 "parsing/parser.ml" +# 14148 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14218,9 +14221,9 @@ module Tables = struct let _2 : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = Obj.magic _2 in let _1_inlined4 : unit = Obj.magic _1_inlined4 in let _1_inlined3 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 14224 "parsing/parser.ml" +# 14227 "parsing/parser.ml" ) = Obj.magic _1_inlined3 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let _1_inlined2 : unit = Obj.magic _1_inlined2 in @@ -14234,9 +14237,9 @@ module Tables = struct Parsetree.type_declaration) = let attrs2 = let _1 = _1_inlined5 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 14240 "parsing/parser.ml" +# 14243 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined5_ in @@ -14245,24 +14248,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 14249 "parsing/parser.ml" +# 14252 "parsing/parser.ml" in -# 987 "parsing/parser.mly" +# 990 "parsing/parser.mly" ( xs ) -# 14254 "parsing/parser.ml" +# 14257 "parsing/parser.ml" in -# 3052 "parsing/parser.mly" +# 3060 "parsing/parser.mly" ( _1 ) -# 14260 "parsing/parser.ml" +# 14263 "parsing/parser.ml" in let kind_priv_manifest = -# 3087 "parsing/parser.mly" +# 3095 "parsing/parser.mly" ( _2 ) -# 14266 "parsing/parser.ml" +# 14269 "parsing/parser.ml" in let id = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined3_, _startpos__1_inlined3_, _1_inlined3) in @@ -14270,9 +14273,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 14276 "parsing/parser.ml" +# 14279 "parsing/parser.ml" in let flag = @@ -14281,24 +14284,24 @@ module Tables = struct let _startpos = _startpos__1_ in let _loc = (_startpos, _endpos) in -# 3781 "parsing/parser.mly" +# 3792 "parsing/parser.mly" ( not_expecting _loc "nonrec flag" ) -# 14287 "parsing/parser.ml" +# 14290 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 14295 "parsing/parser.ml" +# 14298 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3024 "parsing/parser.mly" +# 3032 "parsing/parser.mly" ( let (kind, priv, manifest) = kind_priv_manifest in let docs = symbol_docs _sloc in @@ -14307,7 +14310,7 @@ module Tables = struct (flag, ext), Type.mk id ~params ~cstrs ~kind ~priv ?manifest ~attrs ~loc ~docs ) -# 14311 "parsing/parser.ml" +# 14314 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14371,9 +14374,9 @@ module Tables = struct let xs : ((Parsetree.core_type * Parsetree.core_type * Ast_helper.loc) list) = Obj.magic xs in let kind_priv_manifest : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = Obj.magic kind_priv_manifest in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 14377 "parsing/parser.ml" +# 14380 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in @@ -14386,9 +14389,9 @@ module Tables = struct Parsetree.type_declaration) = let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 14392 "parsing/parser.ml" +# 14395 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -14397,18 +14400,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 14401 "parsing/parser.ml" +# 14404 "parsing/parser.ml" in -# 987 "parsing/parser.mly" +# 990 "parsing/parser.mly" ( xs ) -# 14406 "parsing/parser.ml" +# 14409 "parsing/parser.ml" in -# 3052 "parsing/parser.mly" +# 3060 "parsing/parser.mly" ( _1 ) -# 14412 "parsing/parser.ml" +# 14415 "parsing/parser.ml" in let id = @@ -14417,29 +14420,29 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 14423 "parsing/parser.ml" +# 14426 "parsing/parser.ml" in let flag = -# 3776 "parsing/parser.mly" +# 3787 "parsing/parser.mly" ( Recursive ) -# 14429 "parsing/parser.ml" +# 14432 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 14436 "parsing/parser.ml" +# 14439 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3024 "parsing/parser.mly" +# 3032 "parsing/parser.mly" ( let (kind, priv, manifest) = kind_priv_manifest in let docs = symbol_docs _sloc in @@ -14448,7 +14451,7 @@ module Tables = struct (flag, ext), Type.mk id ~params ~cstrs ~kind ~priv ?manifest ~attrs ~loc ~docs ) -# 14452 "parsing/parser.ml" +# 14455 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14518,9 +14521,9 @@ module Tables = struct let xs : ((Parsetree.core_type * Parsetree.core_type * Ast_helper.loc) list) = Obj.magic xs in let kind_priv_manifest : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = Obj.magic kind_priv_manifest in let _1_inlined3 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 14524 "parsing/parser.ml" +# 14527 "parsing/parser.ml" ) = Obj.magic _1_inlined3 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let _1_inlined2 : unit = Obj.magic _1_inlined2 in @@ -14534,9 +14537,9 @@ module Tables = struct Parsetree.type_declaration) = let attrs2 = let _1 = _1_inlined4 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 14540 "parsing/parser.ml" +# 14543 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined4_ in @@ -14545,18 +14548,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 14549 "parsing/parser.ml" +# 14552 "parsing/parser.ml" in -# 987 "parsing/parser.mly" +# 990 "parsing/parser.mly" ( xs ) -# 14554 "parsing/parser.ml" +# 14557 "parsing/parser.ml" in -# 3052 "parsing/parser.mly" +# 3060 "parsing/parser.mly" ( _1 ) -# 14560 "parsing/parser.ml" +# 14563 "parsing/parser.ml" in let id = @@ -14565,29 +14568,29 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 14571 "parsing/parser.ml" +# 14574 "parsing/parser.ml" in let flag = -# 3777 "parsing/parser.mly" +# 3788 "parsing/parser.mly" ( Nonrecursive ) -# 14577 "parsing/parser.ml" +# 14580 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 14584 "parsing/parser.ml" +# 14587 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3024 "parsing/parser.mly" +# 3032 "parsing/parser.mly" ( let (kind, priv, manifest) = kind_priv_manifest in let docs = symbol_docs _sloc in @@ -14596,7 +14599,7 @@ module Tables = struct (flag, ext), Type.mk id ~params ~cstrs ~kind ~priv ?manifest ~attrs ~loc ~docs ) -# 14600 "parsing/parser.ml" +# 14603 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14615,17 +14618,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 785 "parsing/parser.mly" +# 788 "parsing/parser.mly" (string) -# 14621 "parsing/parser.ml" +# 14624 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3621 "parsing/parser.mly" +# 3632 "parsing/parser.mly" ( _1 ) -# 14629 "parsing/parser.ml" +# 14632 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14644,17 +14647,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 14650 "parsing/parser.ml" +# 14653 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3622 "parsing/parser.mly" +# 3633 "parsing/parser.mly" ( _1 ) -# 14658 "parsing/parser.ml" +# 14661 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14684,9 +14687,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.structure) = -# 1158 "parsing/parser.mly" +# 1161 "parsing/parser.mly" ( _1 ) -# 14690 "parsing/parser.ml" +# 14693 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14709,9 +14712,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.attribute list) = -# 1519 "parsing/parser.mly" +# 1522 "parsing/parser.mly" ( [] ) -# 14715 "parsing/parser.ml" +# 14718 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14740,10 +14743,13 @@ module Tables = struct let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : (Parsetree.attribute list) = -# 1521 "parsing/parser.mly" - ( [include_functor_attr] ) -# 14747 "parsing/parser.ml" + let _v : (Parsetree.attribute list) = let _endpos = _endpos__2_ in + let _startpos = _startpos__1_ in + let _loc = (_startpos, _endpos) in + +# 1524 "parsing/parser.mly" + ( [include_functor_attr (make_loc _loc)] ) +# 14753 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14759,9 +14765,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (string) = -# 3671 "parsing/parser.mly" +# 3682 "parsing/parser.mly" ( "" ) -# 14765 "parsing/parser.ml" +# 14771 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14791,9 +14797,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (string) = -# 3672 "parsing/parser.mly" +# 3683 "parsing/parser.mly" ( ";.." ) -# 14797 "parsing/parser.ml" +# 14803 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14823,9 +14829,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.signature) = -# 1164 "parsing/parser.mly" +# 1167 "parsing/parser.mly" ( _1 ) -# 14829 "parsing/parser.ml" +# 14835 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14869,9 +14875,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : (Parsetree.extension) = -# 3964 "parsing/parser.mly" +# 3975 "parsing/parser.mly" ( (_2, _3) ) -# 14875 "parsing/parser.ml" +# 14881 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14890,9 +14896,9 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 777 "parsing/parser.mly" +# 780 "parsing/parser.mly" (string * Location.t * string * Location.t * string option) -# 14896 "parsing/parser.ml" +# 14902 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -14901,9 +14907,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3966 "parsing/parser.mly" +# 3977 "parsing/parser.mly" ( mk_quotedext ~loc:_sloc _1 ) -# 14907 "parsing/parser.ml" +# 14913 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -14949,9 +14955,9 @@ module Tables = struct let _1_inlined2 : (Parsetree.core_type) = Obj.magic _1_inlined2 in let _3 : unit = Obj.magic _3 in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 14955 "parsing/parser.ml" +# 14961 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _1 : (Asttypes.mutable_flag * global_flag) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -14960,34 +14966,34 @@ module Tables = struct let _v : (Parsetree.label_declaration) = let _5 = let _1 = _1_inlined3 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 14966 "parsing/parser.ml" +# 14972 "parsing/parser.ml" in let _endpos__5_ = _endpos__1_inlined3_ in let _4 = let _1 = _1_inlined2 in -# 3349 "parsing/parser.mly" +# 3359 "parsing/parser.mly" ( _1 ) -# 14975 "parsing/parser.ml" +# 14981 "parsing/parser.ml" in let _2 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined1_, _startpos__1_inlined1_, _1_inlined1) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 14983 "parsing/parser.ml" +# 14989 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 14991 "parsing/parser.ml" +# 14997 "parsing/parser.ml" in let _startpos__2_ = _startpos__1_inlined1_ in @@ -14996,14 +15002,16 @@ module Tables = struct _startpos__1_ else _startpos__2_ in + let _loc__1_ = (_startpos__1_, _endpos__1_) in let _sloc = (_symbolstartpos, _endpos) in -# 3221 "parsing/parser.mly" +# 3229 "parsing/parser.mly" ( let info = symbol_info _endpos in let mut, gbl = _1 in mkld_global_maybe gbl - (Type.field _2 _4 ~mut ~attrs:_5 ~loc:(make_loc _sloc) ~info) ) -# 15007 "parsing/parser.ml" + (Type.field _2 _4 ~mut ~attrs:_5 ~loc:(make_loc _sloc) ~info) + (make_loc _loc__1_) ) +# 15015 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15063,9 +15071,9 @@ module Tables = struct let _1_inlined2 : (Parsetree.core_type) = Obj.magic _1_inlined2 in let _3 : unit = Obj.magic _3 in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 15069 "parsing/parser.ml" +# 15077 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _1 : (Asttypes.mutable_flag * global_flag) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -15074,43 +15082,43 @@ module Tables = struct let _v : (Parsetree.label_declaration) = let _7 = let _1 = _1_inlined4 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 15080 "parsing/parser.ml" +# 15088 "parsing/parser.ml" in let _endpos__7_ = _endpos__1_inlined4_ in let _5 = let _1 = _1_inlined3 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 15089 "parsing/parser.ml" +# 15097 "parsing/parser.ml" in let _endpos__5_ = _endpos__1_inlined3_ in let _4 = let _1 = _1_inlined2 in -# 3349 "parsing/parser.mly" +# 3359 "parsing/parser.mly" ( _1 ) -# 15098 "parsing/parser.ml" +# 15106 "parsing/parser.ml" in let _2 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined1_, _startpos__1_inlined1_, _1_inlined1) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 15106 "parsing/parser.ml" +# 15114 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 15114 "parsing/parser.ml" +# 15122 "parsing/parser.ml" in let _startpos__2_ = _startpos__1_inlined1_ in @@ -15119,9 +15127,10 @@ module Tables = struct _startpos__1_ else _startpos__2_ in + let _loc__1_ = (_startpos__1_, _endpos__1_) in let _sloc = (_symbolstartpos, _endpos) in -# 3229 "parsing/parser.mly" +# 3238 "parsing/parser.mly" ( let info = match rhs_info _endpos__5_ with | Some _ as info_before_semi -> info_before_semi @@ -15129,8 +15138,9 @@ module Tables = struct in let mut, gbl = _1 in mkld_global_maybe gbl - (Type.field _2 _4 ~mut ~attrs:(_5 @ _7) ~loc:(make_loc _sloc) ~info) ) -# 15134 "parsing/parser.ml" + (Type.field _2 _4 ~mut ~attrs:(_5 @ _7) ~loc:(make_loc _sloc) ~info) + (make_loc _loc__1_) ) +# 15144 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15153,9 +15163,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.label_declaration list) = -# 3215 "parsing/parser.mly" +# 3223 "parsing/parser.mly" ( [_1] ) -# 15159 "parsing/parser.ml" +# 15169 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15178,9 +15188,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.label_declaration list) = -# 3216 "parsing/parser.mly" +# 3224 "parsing/parser.mly" ( [_1] ) -# 15184 "parsing/parser.ml" +# 15194 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15210,9 +15220,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.label_declaration list) = -# 3217 "parsing/parser.mly" +# 3225 "parsing/parser.mly" ( _1 :: _2 ) -# 15216 "parsing/parser.ml" +# 15226 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15231,9 +15241,9 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 15237 "parsing/parser.ml" +# 15247 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -15244,24 +15254,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 15250 "parsing/parser.ml" +# 15260 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2226 "parsing/parser.mly" +# 2230 "parsing/parser.mly" ( (_1.Location.txt, mkpat ~loc:_sloc (Ppat_var _1)) ) -# 15259 "parsing/parser.ml" +# 15269 "parsing/parser.ml" in -# 2218 "parsing/parser.mly" +# 2222 "parsing/parser.mly" ( x ) -# 15265 "parsing/parser.ml" +# 15275 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15294,9 +15304,9 @@ module Tables = struct let cty : (Parsetree.core_type) = Obj.magic cty in let _2 : unit = Obj.magic _2 in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 15300 "parsing/parser.ml" +# 15310 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -15307,18 +15317,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 15313 "parsing/parser.ml" +# 15323 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2226 "parsing/parser.mly" +# 2230 "parsing/parser.mly" ( (_1.Location.txt, mkpat ~loc:_sloc (Ppat_var _1)) ) -# 15322 "parsing/parser.ml" +# 15332 "parsing/parser.ml" in let _startpos_x_ = _startpos__1_ in @@ -15326,11 +15336,11 @@ module Tables = struct let _symbolstartpos = _startpos_x_ in let _sloc = (_symbolstartpos, _endpos) in -# 2220 "parsing/parser.mly" +# 2224 "parsing/parser.mly" ( let lab, pat = x in lab, mkpat ~loc:_sloc (Ppat_constraint (pat, cty)) ) -# 15334 "parsing/parser.ml" +# 15344 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15353,9 +15363,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3703 "parsing/parser.mly" +# 3714 "parsing/parser.mly" ( _1 ) -# 15359 "parsing/parser.ml" +# 15369 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15378,9 +15388,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.arg_label * Parsetree.expression) = -# 2533 "parsing/parser.mly" +# 2537 "parsing/parser.mly" ( (Nolabel, _1) ) -# 15384 "parsing/parser.ml" +# 15394 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15406,17 +15416,17 @@ module Tables = struct } = _menhir_stack in let _2 : (Parsetree.expression) = Obj.magic _2 in let _1 : ( -# 720 "parsing/parser.mly" +# 723 "parsing/parser.mly" (string) -# 15412 "parsing/parser.ml" +# 15422 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.arg_label * Parsetree.expression) = -# 2535 "parsing/parser.mly" +# 2539 "parsing/parser.mly" ( (Labelled _1, _2) ) -# 15420 "parsing/parser.ml" +# 15430 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15441,9 +15451,9 @@ module Tables = struct }; } = _menhir_stack in let label : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 15447 "parsing/parser.ml" +# 15457 "parsing/parser.ml" ) = Obj.magic label in let _1 : unit = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -15451,10 +15461,10 @@ module Tables = struct let _endpos = _endpos_label_ in let _v : (Asttypes.arg_label * Parsetree.expression) = let _loc_label_ = (_startpos_label_, _endpos_label_) in -# 2537 "parsing/parser.mly" +# 2541 "parsing/parser.mly" ( let loc = _loc_label_ in (Labelled label, mkexpvar ~loc label) ) -# 15458 "parsing/parser.ml" +# 15468 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15499,9 +15509,9 @@ module Tables = struct let _5 : unit = Obj.magic _5 in let ty : (Parsetree.core_type option * Parsetree.core_type option) = Obj.magic ty in let label : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 15505 "parsing/parser.ml" +# 15515 "parsing/parser.ml" ) = Obj.magic label in let _2 : unit = Obj.magic _2 in let _1 : unit = Obj.magic _1 in @@ -15511,10 +15521,10 @@ module Tables = struct let _v : (Asttypes.arg_label * Parsetree.expression) = let _endpos = _endpos__5_ in let _loc_label_ = (_startpos_label_, _endpos_label_) in -# 2540 "parsing/parser.mly" +# 2544 "parsing/parser.mly" ( (Labelled label, mkexp_constraint ~loc:(_startpos__2_, _endpos) (mkexpvar ~loc:_loc_label_ label) ty) ) -# 15518 "parsing/parser.ml" +# 15528 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15539,9 +15549,9 @@ module Tables = struct }; } = _menhir_stack in let label : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 15545 "parsing/parser.ml" +# 15555 "parsing/parser.ml" ) = Obj.magic label in let _1 : unit = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -15549,10 +15559,10 @@ module Tables = struct let _endpos = _endpos_label_ in let _v : (Asttypes.arg_label * Parsetree.expression) = let _loc_label_ = (_startpos_label_, _endpos_label_) in -# 2543 "parsing/parser.mly" +# 2547 "parsing/parser.mly" ( let loc = _loc_label_ in (Optional label, mkexpvar ~loc label) ) -# 15556 "parsing/parser.ml" +# 15566 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15578,17 +15588,17 @@ module Tables = struct } = _menhir_stack in let _2 : (Parsetree.expression) = Obj.magic _2 in let _1 : ( -# 752 "parsing/parser.mly" +# 755 "parsing/parser.mly" (string) -# 15584 "parsing/parser.ml" +# 15594 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.arg_label * Parsetree.expression) = -# 2546 "parsing/parser.mly" +# 2550 "parsing/parser.mly" ( (Optional _1, _2) ) -# 15592 "parsing/parser.ml" +# 15602 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15641,20 +15651,22 @@ module Tables = struct let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = let _5 = let _1 = _1_inlined1 in -# 2214 "parsing/parser.mly" +# 2218 "parsing/parser.mly" ( _1 ) -# 15647 "parsing/parser.ml" +# 15657 "parsing/parser.ml" in let _3 = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 15653 "parsing/parser.ml" +# 15663 "parsing/parser.ml" in + let (_endpos__3_, _startpos__3_) = (_endpos__2_, _endpos__2_) in + let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2184 "parsing/parser.mly" - ( (Optional (fst _4), _5, mkpat_local_if _3 (snd _4)) ) -# 15658 "parsing/parser.ml" +# 2187 "parsing/parser.mly" + ( (Optional (fst _4), _5, mkpat_local_if _3 (snd _4) _loc__3_) ) +# 15670 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15714,20 +15726,22 @@ module Tables = struct let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = let _5 = let _1 = _1_inlined2 in -# 2214 "parsing/parser.mly" +# 2218 "parsing/parser.mly" ( _1 ) -# 15720 "parsing/parser.ml" +# 15732 "parsing/parser.ml" in let _3 = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 15726 "parsing/parser.ml" +# 15738 "parsing/parser.ml" in + let (_endpos__3_, _startpos__3_) = (_endpos__1_inlined1_, _startpos__1_inlined1_) in + let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2184 "parsing/parser.mly" - ( (Optional (fst _4), _5, mkpat_local_if _3 (snd _4)) ) -# 15731 "parsing/parser.ml" +# 2187 "parsing/parser.mly" + ( (Optional (fst _4), _5, mkpat_local_if _3 (snd _4) _loc__3_) ) +# 15745 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15752,9 +15766,9 @@ module Tables = struct }; } = _menhir_stack in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 15758 "parsing/parser.ml" +# 15772 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _1 : unit = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -15767,24 +15781,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 15773 "parsing/parser.ml" +# 15787 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2226 "parsing/parser.mly" +# 2230 "parsing/parser.mly" ( (_1.Location.txt, mkpat ~loc:_sloc (Ppat_var _1)) ) -# 15782 "parsing/parser.ml" +# 15796 "parsing/parser.ml" in -# 2186 "parsing/parser.mly" +# 2189 "parsing/parser.mly" ( (Optional (fst _2), None, snd _2) ) -# 15788 "parsing/parser.ml" +# 15802 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15831,9 +15845,9 @@ module Tables = struct let _4 : (Parsetree.pattern) = Obj.magic _4 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 752 "parsing/parser.mly" +# 755 "parsing/parser.mly" (string) -# 15837 "parsing/parser.ml" +# 15851 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -15841,20 +15855,22 @@ module Tables = struct let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = let _5 = let _1 = _1_inlined1 in -# 2214 "parsing/parser.mly" +# 2218 "parsing/parser.mly" ( _1 ) -# 15847 "parsing/parser.ml" +# 15861 "parsing/parser.ml" in let _3 = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 15853 "parsing/parser.ml" +# 15867 "parsing/parser.ml" in + let (_endpos__3_, _startpos__3_) = (_endpos__2_, _endpos__2_) in + let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2188 "parsing/parser.mly" - ( (Optional _1, _5, mkpat_local_if _3 _4) ) -# 15858 "parsing/parser.ml" +# 2191 "parsing/parser.mly" + ( (Optional _1, _5, mkpat_local_if _3 _4 _loc__3_) ) +# 15874 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15908,9 +15924,9 @@ module Tables = struct let _1_inlined1 : unit = Obj.magic _1_inlined1 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 752 "parsing/parser.mly" +# 755 "parsing/parser.mly" (string) -# 15914 "parsing/parser.ml" +# 15930 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -15918,20 +15934,22 @@ module Tables = struct let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = let _5 = let _1 = _1_inlined2 in -# 2214 "parsing/parser.mly" +# 2218 "parsing/parser.mly" ( _1 ) -# 15924 "parsing/parser.ml" +# 15940 "parsing/parser.ml" in let _3 = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 15930 "parsing/parser.ml" +# 15946 "parsing/parser.ml" in + let (_endpos__3_, _startpos__3_) = (_endpos__1_inlined1_, _startpos__1_inlined1_) in + let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2188 "parsing/parser.mly" - ( (Optional _1, _5, mkpat_local_if _3 _4) ) -# 15935 "parsing/parser.ml" +# 2191 "parsing/parser.mly" + ( (Optional _1, _5, mkpat_local_if _3 _4 _loc__3_) ) +# 15953 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -15957,17 +15975,17 @@ module Tables = struct } = _menhir_stack in let _2 : (Parsetree.pattern) = Obj.magic _2 in let _1 : ( -# 752 "parsing/parser.mly" +# 755 "parsing/parser.mly" (string) -# 15963 "parsing/parser.ml" +# 15981 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = -# 2190 "parsing/parser.mly" +# 2193 "parsing/parser.mly" ( (Optional _1, None, _2) ) -# 15971 "parsing/parser.ml" +# 15989 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16011,14 +16029,17 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = let _3 = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 16017 "parsing/parser.ml" +# 16035 "parsing/parser.ml" in + let (_endpos__3_, _startpos__3_) = (_endpos__2_, _endpos__2_) in + let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2192 "parsing/parser.mly" - ( (Labelled (fst _4), None, mkpat_local_if _3 (snd _4)) ) -# 16022 "parsing/parser.ml" +# 2195 "parsing/parser.mly" + ( (Labelled (fst _4), None, + mkpat_local_if _3 (snd _4) _loc__3_) ) +# 16043 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16069,14 +16090,17 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = let _3 = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 16075 "parsing/parser.ml" +# 16096 "parsing/parser.ml" in + let (_endpos__3_, _startpos__3_) = (_endpos__1_inlined1_, _startpos__1_inlined1_) in + let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2192 "parsing/parser.mly" - ( (Labelled (fst _4), None, mkpat_local_if _3 (snd _4)) ) -# 16080 "parsing/parser.ml" +# 2195 "parsing/parser.mly" + ( (Labelled (fst _4), None, + mkpat_local_if _3 (snd _4) _loc__3_) ) +# 16104 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16101,9 +16125,9 @@ module Tables = struct }; } = _menhir_stack in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 16107 "parsing/parser.ml" +# 16131 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _1 : unit = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -16116,24 +16140,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 16122 "parsing/parser.ml" +# 16146 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2226 "parsing/parser.mly" +# 2230 "parsing/parser.mly" ( (_1.Location.txt, mkpat ~loc:_sloc (Ppat_var _1)) ) -# 16131 "parsing/parser.ml" +# 16155 "parsing/parser.ml" in -# 2194 "parsing/parser.mly" +# 2198 "parsing/parser.mly" ( (Labelled (fst _2), None, snd _2) ) -# 16137 "parsing/parser.ml" +# 16161 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16159,17 +16183,17 @@ module Tables = struct } = _menhir_stack in let _2 : (Parsetree.pattern) = Obj.magic _2 in let _1 : ( -# 720 "parsing/parser.mly" +# 723 "parsing/parser.mly" (string) -# 16165 "parsing/parser.ml" +# 16189 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = -# 2196 "parsing/parser.mly" +# 2200 "parsing/parser.mly" ( (Labelled _1, None, _2) ) -# 16173 "parsing/parser.ml" +# 16197 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16216,17 +16240,18 @@ module Tables = struct let _3 : unit = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 720 "parsing/parser.mly" +# 723 "parsing/parser.mly" (string) -# 16222 "parsing/parser.ml" +# 16246 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in - let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = -# 2198 "parsing/parser.mly" - ( (Labelled _1, None, mkpat_stack _4) ) -# 16230 "parsing/parser.ml" + let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = let _loc__3_ = (_startpos__3_, _endpos__3_) in + +# 2202 "parsing/parser.mly" + ( (Labelled _1, None, mkpat_stack _4 (make_loc _loc__3_)) ) +# 16255 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16249,9 +16274,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = -# 2200 "parsing/parser.mly" +# 2204 "parsing/parser.mly" ( (Nolabel, None, _1) ) -# 16255 "parsing/parser.ml" +# 16280 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16294,10 +16319,11 @@ module Tables = struct let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in - let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = -# 2202 "parsing/parser.mly" - ( (Nolabel, None, mkpat_stack _3) ) -# 16301 "parsing/parser.ml" + let _v : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) = let _loc__2_ = (_startpos__2_, _endpos__2_) in + +# 2206 "parsing/parser.mly" + ( (Nolabel, None, mkpat_stack _3 (make_loc _loc__2_)) ) +# 16327 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16331,15 +16357,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2553 "parsing/parser.mly" +# 2557 "parsing/parser.mly" ( mkpatvar ~loc:_sloc _1 ) -# 16337 "parsing/parser.ml" +# 16363 "parsing/parser.ml" in -# 2557 "parsing/parser.mly" +# 2561 "parsing/parser.mly" ( (_1, _2) ) -# 16343 "parsing/parser.ml" +# 16369 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16387,16 +16413,16 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2553 "parsing/parser.mly" +# 2557 "parsing/parser.mly" ( mkpatvar ~loc:_sloc _1 ) -# 16393 "parsing/parser.ml" +# 16419 "parsing/parser.ml" in let _startpos__2_ = _startpos__1_ in let _1 = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 16400 "parsing/parser.ml" +# 16426 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos__0_, _endpos__0_) in let _endpos = _endpos__5_ in @@ -16404,9 +16430,10 @@ module Tables = struct _startpos__1_ else _startpos__2_ in + let _loc__1_ = (_startpos__1_, _endpos__1_) in let _sloc = (_symbolstartpos, _endpos) in -# 2559 "parsing/parser.mly" +# 2563 "parsing/parser.mly" ( let v = _2 in (* PR#7344 *) let t = match _3 with @@ -16415,17 +16442,20 @@ module Tables = struct | _ -> assert false in let loc = Location.(t.ptyp_loc.loc_start, t.ptyp_loc.loc_end) in + let local_loc = _loc__1_ in let typ = ghtyp ~loc (Ptyp_poly([],t)) in let patloc = (_startpos__2_, _endpos__3_) in let pat = mkpat_local_if _1 (ghpat ~loc:patloc (Ppat_constraint(v, typ))) + local_loc in let exp = mkexp_local_if _1 ~loc:_sloc - (wrap_exp_local_if _1 (mkexp_constraint ~loc:_sloc _5 _3)) + (wrap_exp_local_if _1 (mkexp_constraint ~loc:_sloc _5 _3) + local_loc) in (pat, exp) ) -# 16429 "parsing/parser.ml" +# 16459 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16481,25 +16511,26 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2553 "parsing/parser.mly" +# 2557 "parsing/parser.mly" ( mkpatvar ~loc:_sloc _1 ) -# 16487 "parsing/parser.ml" +# 16517 "parsing/parser.ml" in let _startpos__2_ = _startpos__1_inlined1_ in let _1 = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 16494 "parsing/parser.ml" +# 16524 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = if _startpos__1_ != _endpos__1_ then _startpos__1_ else _startpos__2_ in + let _loc__1_ = (_startpos__1_, _endpos__1_) in let _sloc = (_symbolstartpos, _endpos) in -# 2559 "parsing/parser.mly" +# 2563 "parsing/parser.mly" ( let v = _2 in (* PR#7344 *) let t = match _3 with @@ -16508,17 +16539,20 @@ module Tables = struct | _ -> assert false in let loc = Location.(t.ptyp_loc.loc_start, t.ptyp_loc.loc_end) in + let local_loc = _loc__1_ in let typ = ghtyp ~loc (Ptyp_poly([],t)) in let patloc = (_startpos__2_, _endpos__3_) in let pat = mkpat_local_if _1 (ghpat ~loc:patloc (Ppat_constraint(v, typ))) + local_loc in let exp = mkexp_local_if _1 ~loc:_sloc - (wrap_exp_local_if _1 (mkexp_constraint ~loc:_sloc _5 _3)) + (wrap_exp_local_if _1 (mkexp_constraint ~loc:_sloc _5 _3) + local_loc) in (pat, exp) ) -# 16522 "parsing/parser.ml" +# 16556 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16587,18 +16621,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 16591 "parsing/parser.ml" +# 16625 "parsing/parser.ml" in -# 1005 "parsing/parser.mly" +# 1008 "parsing/parser.mly" ( xs ) -# 16596 "parsing/parser.ml" +# 16630 "parsing/parser.ml" in -# 3331 "parsing/parser.mly" +# 3341 "parsing/parser.mly" ( _1 ) -# 16602 "parsing/parser.ml" +# 16636 "parsing/parser.ml" in let _startpos__4_ = _startpos_xs_ in @@ -16607,16 +16641,16 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2553 "parsing/parser.mly" +# 2557 "parsing/parser.mly" ( mkpatvar ~loc:_sloc _1 ) -# 16613 "parsing/parser.ml" +# 16647 "parsing/parser.ml" in let _startpos__2_ = _startpos__1_ in let _1 = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 16620 "parsing/parser.ml" +# 16654 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos__0_, _endpos__0_) in let _endpos = _endpos__8_ in @@ -16624,19 +16658,21 @@ module Tables = struct _startpos__1_ else _startpos__2_ in + let _loc__1_ = (_startpos__1_, _endpos__1_) in let _sloc = (_symbolstartpos, _endpos) in -# 2581 "parsing/parser.mly" +# 2588 "parsing/parser.mly" ( let typloc = (_startpos__4_, _endpos__6_) in let patloc = (_startpos__2_, _endpos__6_) in let pat = mkpat_local_if _1 (ghpat ~loc:patloc (Ppat_constraint(_2, ghtyp ~loc:typloc (Ptyp_poly(_4,_6))))) + _loc__1_ in let exp = mkexp_local_if _1 ~loc:_sloc _8 in (pat, exp) ) -# 16640 "parsing/parser.ml" +# 16676 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16712,18 +16748,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 16716 "parsing/parser.ml" +# 16752 "parsing/parser.ml" in -# 1005 "parsing/parser.mly" +# 1008 "parsing/parser.mly" ( xs ) -# 16721 "parsing/parser.ml" +# 16757 "parsing/parser.ml" in -# 3331 "parsing/parser.mly" +# 3341 "parsing/parser.mly" ( _1 ) -# 16727 "parsing/parser.ml" +# 16763 "parsing/parser.ml" in let _startpos__4_ = _startpos_xs_ in @@ -16733,35 +16769,37 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2553 "parsing/parser.mly" +# 2557 "parsing/parser.mly" ( mkpatvar ~loc:_sloc _1 ) -# 16739 "parsing/parser.ml" +# 16775 "parsing/parser.ml" in let _startpos__2_ = _startpos__1_inlined1_ in let _1 = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 16746 "parsing/parser.ml" +# 16782 "parsing/parser.ml" in let _endpos = _endpos__8_ in let _symbolstartpos = if _startpos__1_ != _endpos__1_ then _startpos__1_ else _startpos__2_ in + let _loc__1_ = (_startpos__1_, _endpos__1_) in let _sloc = (_symbolstartpos, _endpos) in -# 2581 "parsing/parser.mly" +# 2588 "parsing/parser.mly" ( let typloc = (_startpos__4_, _endpos__6_) in let patloc = (_startpos__2_, _endpos__6_) in let pat = mkpat_local_if _1 (ghpat ~loc:patloc (Ppat_constraint(_2, ghtyp ~loc:typloc (Ptyp_poly(_4,_6))))) + _loc__1_ in let exp = mkexp_local_if _1 ~loc:_sloc _8 in (pat, exp) ) -# 16765 "parsing/parser.ml" +# 16803 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16833,30 +16871,30 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : (Parsetree.pattern * Parsetree.expression) = let _4 = -# 2550 "parsing/parser.mly" +# 2554 "parsing/parser.mly" ( xs ) -# 16839 "parsing/parser.ml" +# 16877 "parsing/parser.ml" in let _1 = let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2553 "parsing/parser.mly" +# 2557 "parsing/parser.mly" ( mkpatvar ~loc:_sloc _1 ) -# 16848 "parsing/parser.ml" +# 16886 "parsing/parser.ml" in let _endpos = _endpos__8_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2591 "parsing/parser.mly" +# 2599 "parsing/parser.mly" ( let exp, poly = wrap_type_annotation ~loc:_sloc _4 _6 _8 in let loc = (_startpos__1_, _endpos__6_) in (ghpat ~loc (Ppat_constraint(_1, poly)), exp) ) -# 16860 "parsing/parser.ml" +# 16898 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16893,9 +16931,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.pattern * Parsetree.expression) = -# 2596 "parsing/parser.mly" +# 2604 "parsing/parser.mly" ( (_1, _3) ) -# 16899 "parsing/parser.ml" +# 16937 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16946,10 +16984,10 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.pattern * Parsetree.expression) = -# 2598 "parsing/parser.mly" +# 2606 "parsing/parser.mly" ( let loc = (_startpos__1_, _endpos__3_) in (ghpat ~loc (Ppat_constraint(_1, _3)), _5) ) -# 16953 "parsing/parser.ml" +# 16991 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -16991,18 +17029,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2553 "parsing/parser.mly" +# 2557 "parsing/parser.mly" ( mkpatvar ~loc:_sloc _1 ) -# 16997 "parsing/parser.ml" +# 17035 "parsing/parser.ml" in let _endpos = _endpos__3_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2601 "parsing/parser.mly" +# 2609 "parsing/parser.mly" ( (_2, mkexp_stack ~loc:_sloc _3) ) -# 17006 "parsing/parser.ml" +# 17044 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17063,36 +17101,36 @@ module Tables = struct let attrs2 = let _1 = _1_inlined2 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 17069 "parsing/parser.ml" +# 17107 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined2_ in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 17078 "parsing/parser.ml" +# 17116 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2616 "parsing/parser.mly" +# 2624 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in mklbs ~loc:_sloc ext rec_flag (mklb ~loc:_sloc true body attrs) ) -# 17090 "parsing/parser.ml" +# 17128 "parsing/parser.ml" in -# 2606 "parsing/parser.mly" +# 2614 "parsing/parser.mly" ( _1 ) -# 17096 "parsing/parser.ml" +# 17134 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17122,9 +17160,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (let_bindings) = -# 2607 "parsing/parser.mly" +# 2615 "parsing/parser.mly" ( addlb _1 _2 ) -# 17128 "parsing/parser.ml" +# 17166 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17178,41 +17216,41 @@ module Tables = struct let attrs2 = let _1 = _1_inlined2 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 17184 "parsing/parser.ml" +# 17222 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined2_ in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 17193 "parsing/parser.ml" +# 17231 "parsing/parser.ml" in let ext = -# 3952 "parsing/parser.mly" +# 3963 "parsing/parser.mly" ( None ) -# 17199 "parsing/parser.ml" +# 17237 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2616 "parsing/parser.mly" +# 2624 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in mklbs ~loc:_sloc ext rec_flag (mklb ~loc:_sloc true body attrs) ) -# 17210 "parsing/parser.ml" +# 17248 "parsing/parser.ml" in -# 2606 "parsing/parser.mly" +# 2614 "parsing/parser.mly" ( _1 ) -# 17216 "parsing/parser.ml" +# 17254 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17280,18 +17318,18 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 17286 "parsing/parser.ml" +# 17324 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in let attrs1 = let _1 = _1_inlined2 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 17295 "parsing/parser.ml" +# 17333 "parsing/parser.ml" in let ext = @@ -17300,27 +17338,27 @@ module Tables = struct let _startpos = _startpos__1_ in let _loc = (_startpos, _endpos) in -# 3953 "parsing/parser.mly" +# 3964 "parsing/parser.mly" ( not_expecting _loc "extension" ) -# 17306 "parsing/parser.ml" +# 17344 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2616 "parsing/parser.mly" +# 2624 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in mklbs ~loc:_sloc ext rec_flag (mklb ~loc:_sloc true body attrs) ) -# 17318 "parsing/parser.ml" +# 17356 "parsing/parser.ml" in -# 2606 "parsing/parser.mly" +# 2614 "parsing/parser.mly" ( _1 ) -# 17324 "parsing/parser.ml" +# 17362 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17350,9 +17388,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (let_bindings) = -# 2607 "parsing/parser.mly" +# 2615 "parsing/parser.mly" ( addlb _1 _2 ) -# 17356 "parsing/parser.ml" +# 17394 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17375,9 +17413,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.pattern) = -# 2230 "parsing/parser.mly" +# 2234 "parsing/parser.mly" ( _1 ) -# 17381 "parsing/parser.ml" +# 17419 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17415,24 +17453,24 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Parsetree.pattern) = let _1 = let _1 = -# 2232 "parsing/parser.mly" +# 2236 "parsing/parser.mly" ( Ppat_constraint(_1, _3) ) -# 17421 "parsing/parser.ml" +# 17459 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 17430 "parsing/parser.ml" +# 17468 "parsing/parser.ml" in -# 2233 "parsing/parser.mly" +# 2237 "parsing/parser.mly" ( _1 ) -# 17436 "parsing/parser.ml" +# 17474 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17466,15 +17504,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2553 "parsing/parser.mly" +# 2557 "parsing/parser.mly" ( mkpatvar ~loc:_sloc _1 ) -# 17472 "parsing/parser.ml" +# 17510 "parsing/parser.ml" in -# 2633 "parsing/parser.mly" +# 2641 "parsing/parser.mly" ( (pat, exp) ) -# 17478 "parsing/parser.ml" +# 17516 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17525,10 +17563,10 @@ module Tables = struct let _startpos = _startpos_pat_ in let _endpos = _endpos_exp_ in let _v : (Parsetree.pattern * Parsetree.expression) = -# 2635 "parsing/parser.mly" +# 2643 "parsing/parser.mly" ( let loc = (_startpos_pat_, _endpos_typ_) in (ghpat ~loc (Ppat_constraint(pat, typ)), exp) ) -# 17532 "parsing/parser.ml" +# 17570 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17565,9 +17603,9 @@ module Tables = struct let _startpos = _startpos_pat_ in let _endpos = _endpos_exp_ in let _v : (Parsetree.pattern * Parsetree.expression) = -# 2638 "parsing/parser.mly" +# 2646 "parsing/parser.mly" ( (pat, exp) ) -# 17571 "parsing/parser.ml" +# 17609 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17590,10 +17628,10 @@ module Tables = struct let _startpos = _startpos_body_ in let _endpos = _endpos_body_ in let _v : (Parsetree.pattern * Parsetree.expression * Parsetree.binding_op list) = -# 2642 "parsing/parser.mly" +# 2650 "parsing/parser.mly" ( let let_pat, let_exp = body in let_pat, let_exp, [] ) -# 17597 "parsing/parser.ml" +# 17635 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17625,9 +17663,9 @@ module Tables = struct } = _menhir_stack in let body : (Parsetree.pattern * Parsetree.expression) = Obj.magic body in let _1 : ( -# 716 "parsing/parser.mly" +# 719 "parsing/parser.mly" (string) -# 17631 "parsing/parser.ml" +# 17669 "parsing/parser.ml" ) = Obj.magic _1 in let bindings : (Parsetree.pattern * Parsetree.expression * Parsetree.binding_op list) = Obj.magic bindings in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -17638,22 +17676,22 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 17644 "parsing/parser.ml" +# 17682 "parsing/parser.ml" in let _endpos = _endpos_body_ in let _symbolstartpos = _startpos_bindings_ in let _sloc = (_symbolstartpos, _endpos) in -# 2645 "parsing/parser.mly" +# 2653 "parsing/parser.mly" ( let let_pat, let_exp, rev_ands = bindings in let pbop_pat, pbop_exp = body in let pbop_loc = make_loc _sloc in let and_ = {pbop_op; pbop_pat; pbop_exp; pbop_loc} in let_pat, let_exp, and_ :: rev_ands ) -# 17657 "parsing/parser.ml" +# 17695 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17671,7 +17709,7 @@ module Tables = struct let _v : (Parsetree.class_declaration list) = # 211 "" ( [] ) -# 17675 "parsing/parser.ml" +# 17713 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17735,9 +17773,9 @@ module Tables = struct let _1_inlined3 : (Parsetree.attributes) = Obj.magic _1_inlined3 in let body : (Parsetree.class_expr) = Obj.magic body in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 17741 "parsing/parser.ml" +# 17779 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let virt : (Asttypes.virtual_flag) = Obj.magic virt in @@ -17750,9 +17788,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 17756 "parsing/parser.ml" +# 17794 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -17762,24 +17800,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 17768 "parsing/parser.ml" +# 17806 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 17776 "parsing/parser.ml" +# 17814 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1830 "parsing/parser.mly" +# 1833 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in @@ -17787,13 +17825,13 @@ module Tables = struct let text = symbol_text _symbolstartpos in Ci.mk id body ~virt ~params ~attrs ~loc ~text ~docs ) -# 17791 "parsing/parser.ml" +# 17829 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 17797 "parsing/parser.ml" +# 17835 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17811,7 +17849,7 @@ module Tables = struct let _v : (Parsetree.class_description list) = # 211 "" ( [] ) -# 17815 "parsing/parser.ml" +# 17853 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17882,9 +17920,9 @@ module Tables = struct let cty : (Parsetree.class_type) = Obj.magic cty in let _6 : unit = Obj.magic _6 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 17888 "parsing/parser.ml" +# 17926 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let virt : (Asttypes.virtual_flag) = Obj.magic virt in @@ -17897,9 +17935,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 17903 "parsing/parser.ml" +# 17941 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -17909,24 +17947,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 17915 "parsing/parser.ml" +# 17953 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 17923 "parsing/parser.ml" +# 17961 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2121 "parsing/parser.mly" +# 2124 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in @@ -17934,13 +17972,13 @@ module Tables = struct let text = symbol_text _symbolstartpos in Ci.mk id cty ~virt ~params ~attrs ~loc ~text ~docs ) -# 17938 "parsing/parser.ml" +# 17976 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 17944 "parsing/parser.ml" +# 17982 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -17958,7 +17996,7 @@ module Tables = struct let _v : (Parsetree.class_type_declaration list) = # 211 "" ( [] ) -# 17962 "parsing/parser.ml" +# 18000 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18029,9 +18067,9 @@ module Tables = struct let csig : (Parsetree.class_type) = Obj.magic csig in let _6 : unit = Obj.magic _6 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 18035 "parsing/parser.ml" +# 18073 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let virt : (Asttypes.virtual_flag) = Obj.magic virt in @@ -18044,9 +18082,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 18050 "parsing/parser.ml" +# 18088 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -18056,24 +18094,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 18062 "parsing/parser.ml" +# 18100 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 18070 "parsing/parser.ml" +# 18108 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2160 "parsing/parser.mly" +# 2163 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in @@ -18081,13 +18119,13 @@ module Tables = struct let text = symbol_text _symbolstartpos in Ci.mk id csig ~virt ~params ~attrs ~loc ~text ~docs ) -# 18085 "parsing/parser.ml" +# 18123 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 18091 "parsing/parser.ml" +# 18129 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18105,7 +18143,7 @@ module Tables = struct let _v : (Parsetree.module_binding list) = # 211 "" ( [] ) -# 18109 "parsing/parser.ml" +# 18147 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18166,9 +18204,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 18172 "parsing/parser.ml" +# 18210 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -18178,24 +18216,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 18184 "parsing/parser.ml" +# 18222 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 18192 "parsing/parser.ml" +# 18230 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1504 "parsing/parser.mly" +# 1507 "parsing/parser.mly" ( let loc = make_loc _sloc in let attrs = attrs1 @ attrs2 in @@ -18203,13 +18241,13 @@ module Tables = struct let text = symbol_text _symbolstartpos in Mb.mk name body ~attrs ~loc ~text ~docs ) -# 18207 "parsing/parser.ml" +# 18245 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 18213 "parsing/parser.ml" +# 18251 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18227,7 +18265,7 @@ module Tables = struct let _v : (Parsetree.module_declaration list) = # 211 "" ( [] ) -# 18231 "parsing/parser.ml" +# 18269 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18295,9 +18333,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 18301 "parsing/parser.ml" +# 18339 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -18307,24 +18345,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 18313 "parsing/parser.ml" +# 18351 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 18321 "parsing/parser.ml" +# 18359 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1788 "parsing/parser.mly" +# 1791 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let docs = symbol_docs _sloc in @@ -18332,13 +18370,13 @@ module Tables = struct let text = symbol_text _symbolstartpos in Md.mk name mty ~attrs ~loc ~text ~docs ) -# 18336 "parsing/parser.ml" +# 18374 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 18342 "parsing/parser.ml" +# 18380 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18356,7 +18394,7 @@ module Tables = struct let _v : (Parsetree.attributes) = # 211 "" ( [] ) -# 18360 "parsing/parser.ml" +# 18398 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18388,7 +18426,7 @@ module Tables = struct let _v : (Parsetree.attributes) = # 213 "" ( x :: xs ) -# 18392 "parsing/parser.ml" +# 18430 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18406,7 +18444,7 @@ module Tables = struct let _v : (Parsetree.type_declaration list) = # 211 "" ( [] ) -# 18410 "parsing/parser.ml" +# 18448 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18471,9 +18509,9 @@ module Tables = struct let xs_inlined1 : ((Parsetree.core_type * Parsetree.core_type * Ast_helper.loc) list) = Obj.magic xs_inlined1 in let kind_priv_manifest : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = Obj.magic kind_priv_manifest in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 18477 "parsing/parser.ml" +# 18515 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in @@ -18486,9 +18524,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 18492 "parsing/parser.ml" +# 18530 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -18497,18 +18535,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 18501 "parsing/parser.ml" +# 18539 "parsing/parser.ml" in -# 987 "parsing/parser.mly" +# 990 "parsing/parser.mly" ( xs ) -# 18506 "parsing/parser.ml" +# 18544 "parsing/parser.ml" in -# 3052 "parsing/parser.mly" +# 3060 "parsing/parser.mly" ( _1 ) -# 18512 "parsing/parser.ml" +# 18550 "parsing/parser.ml" in let id = @@ -18517,24 +18555,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 18523 "parsing/parser.ml" +# 18561 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 18531 "parsing/parser.ml" +# 18569 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3041 "parsing/parser.mly" +# 3049 "parsing/parser.mly" ( let (kind, priv, manifest) = kind_priv_manifest in let docs = symbol_docs _sloc in @@ -18543,13 +18581,13 @@ module Tables = struct let text = symbol_text _symbolstartpos in Type.mk id ~params ~cstrs ~kind ~priv ?manifest ~attrs ~loc ~docs ~text ) -# 18547 "parsing/parser.ml" +# 18585 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 18553 "parsing/parser.ml" +# 18591 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18567,7 +18605,7 @@ module Tables = struct let _v : (Parsetree.type_declaration list) = # 211 "" ( [] ) -# 18571 "parsing/parser.ml" +# 18609 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18639,9 +18677,9 @@ module Tables = struct let _2 : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = Obj.magic _2 in let _1_inlined3 : unit = Obj.magic _1_inlined3 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 18645 "parsing/parser.ml" +# 18683 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in @@ -18654,9 +18692,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined4 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 18660 "parsing/parser.ml" +# 18698 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined4_ in @@ -18665,24 +18703,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 18669 "parsing/parser.ml" +# 18707 "parsing/parser.ml" in -# 987 "parsing/parser.mly" +# 990 "parsing/parser.mly" ( xs ) -# 18674 "parsing/parser.ml" +# 18712 "parsing/parser.ml" in -# 3052 "parsing/parser.mly" +# 3060 "parsing/parser.mly" ( _1 ) -# 18680 "parsing/parser.ml" +# 18718 "parsing/parser.ml" in let kind_priv_manifest = -# 3087 "parsing/parser.mly" +# 3095 "parsing/parser.mly" ( _2 ) -# 18686 "parsing/parser.ml" +# 18724 "parsing/parser.ml" in let id = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in @@ -18690,24 +18728,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 18696 "parsing/parser.ml" +# 18734 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 18704 "parsing/parser.ml" +# 18742 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3041 "parsing/parser.mly" +# 3049 "parsing/parser.mly" ( let (kind, priv, manifest) = kind_priv_manifest in let docs = symbol_docs _sloc in @@ -18716,13 +18754,13 @@ module Tables = struct let text = symbol_text _symbolstartpos in Type.mk id ~params ~cstrs ~kind ~priv ?manifest ~attrs ~loc ~docs ~text ) -# 18720 "parsing/parser.ml" +# 18758 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 18726 "parsing/parser.ml" +# 18764 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18740,7 +18778,7 @@ module Tables = struct let _v : (Parsetree.attributes) = # 211 "" ( [] ) -# 18744 "parsing/parser.ml" +# 18782 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18772,7 +18810,7 @@ module Tables = struct let _v : (Parsetree.attributes) = # 213 "" ( x :: xs ) -# 18776 "parsing/parser.ml" +# 18814 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18790,7 +18828,7 @@ module Tables = struct let _v : (Parsetree.signature_item list list) = # 211 "" ( [] ) -# 18794 "parsing/parser.ml" +# 18832 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18823,21 +18861,21 @@ module Tables = struct let _1 = let _startpos = _startpos__1_ in -# 913 "parsing/parser.mly" +# 916 "parsing/parser.mly" ( text_sig _startpos ) -# 18829 "parsing/parser.ml" +# 18867 "parsing/parser.ml" in -# 1649 "parsing/parser.mly" +# 1652 "parsing/parser.mly" ( _1 ) -# 18835 "parsing/parser.ml" +# 18873 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 18841 "parsing/parser.ml" +# 18879 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18870,21 +18908,21 @@ module Tables = struct let _1 = let _startpos = _startpos__1_ in -# 911 "parsing/parser.mly" +# 914 "parsing/parser.mly" ( text_sig _startpos @ [_1] ) -# 18876 "parsing/parser.ml" +# 18914 "parsing/parser.ml" in -# 1649 "parsing/parser.mly" +# 1652 "parsing/parser.mly" ( _1 ) -# 18882 "parsing/parser.ml" +# 18920 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 18888 "parsing/parser.ml" +# 18926 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18902,7 +18940,7 @@ module Tables = struct let _v : (Parsetree.structure_item list list) = # 211 "" ( [] ) -# 18906 "parsing/parser.ml" +# 18944 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -18935,40 +18973,40 @@ module Tables = struct let _1 = let ys = let items = -# 973 "parsing/parser.mly" +# 976 "parsing/parser.mly" ( [] ) -# 18941 "parsing/parser.ml" +# 18979 "parsing/parser.ml" in -# 1387 "parsing/parser.mly" +# 1390 "parsing/parser.mly" ( items ) -# 18946 "parsing/parser.ml" +# 18984 "parsing/parser.ml" in let xs = let _startpos = _startpos__1_ in -# 909 "parsing/parser.mly" +# 912 "parsing/parser.mly" ( text_str _startpos ) -# 18954 "parsing/parser.ml" +# 18992 "parsing/parser.ml" in # 267 "" ( xs @ ys ) -# 18960 "parsing/parser.ml" +# 18998 "parsing/parser.ml" in -# 1403 "parsing/parser.mly" +# 1406 "parsing/parser.mly" ( _1 ) -# 18966 "parsing/parser.ml" +# 19004 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 18972 "parsing/parser.ml" +# 19010 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19020,70 +19058,70 @@ module Tables = struct let _1 = let _1 = let attrs = -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 19026 "parsing/parser.ml" +# 19064 "parsing/parser.ml" in -# 1394 "parsing/parser.mly" +# 1397 "parsing/parser.mly" ( mkstrexp e attrs ) -# 19031 "parsing/parser.ml" +# 19069 "parsing/parser.ml" in let _startpos__1_ = _startpos_e_ in let _startpos = _startpos__1_ in -# 907 "parsing/parser.mly" +# 910 "parsing/parser.mly" ( text_str _startpos @ [_1] ) -# 19039 "parsing/parser.ml" +# 19077 "parsing/parser.ml" in let _startpos__1_ = _startpos_e_ in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 926 "parsing/parser.mly" +# 929 "parsing/parser.mly" ( mark_rhs_docs _startpos _endpos; _1 ) -# 19049 "parsing/parser.ml" +# 19087 "parsing/parser.ml" in -# 975 "parsing/parser.mly" +# 978 "parsing/parser.mly" ( x ) -# 19055 "parsing/parser.ml" +# 19093 "parsing/parser.ml" in -# 1387 "parsing/parser.mly" +# 1390 "parsing/parser.mly" ( items ) -# 19061 "parsing/parser.ml" +# 19099 "parsing/parser.ml" in let xs = let _startpos = _startpos__1_ in -# 909 "parsing/parser.mly" +# 912 "parsing/parser.mly" ( text_str _startpos ) -# 19069 "parsing/parser.ml" +# 19107 "parsing/parser.ml" in # 267 "" ( xs @ ys ) -# 19075 "parsing/parser.ml" +# 19113 "parsing/parser.ml" in -# 1403 "parsing/parser.mly" +# 1406 "parsing/parser.mly" ( _1 ) -# 19081 "parsing/parser.ml" +# 19119 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 19087 "parsing/parser.ml" +# 19125 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19116,21 +19154,21 @@ module Tables = struct let _1 = let _startpos = _startpos__1_ in -# 907 "parsing/parser.mly" +# 910 "parsing/parser.mly" ( text_str _startpos @ [_1] ) -# 19122 "parsing/parser.ml" +# 19160 "parsing/parser.ml" in -# 1403 "parsing/parser.mly" +# 1406 "parsing/parser.mly" ( _1 ) -# 19128 "parsing/parser.ml" +# 19166 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 19134 "parsing/parser.ml" +# 19172 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19148,7 +19186,7 @@ module Tables = struct let _v : (Parsetree.class_type_field list list) = # 211 "" ( [] ) -# 19152 "parsing/parser.ml" +# 19190 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19180,15 +19218,15 @@ module Tables = struct let _v : (Parsetree.class_type_field list list) = let x = let _startpos = _startpos__1_ in -# 921 "parsing/parser.mly" +# 924 "parsing/parser.mly" ( text_csig _startpos @ [_1] ) -# 19186 "parsing/parser.ml" +# 19224 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 19192 "parsing/parser.ml" +# 19230 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19206,7 +19244,7 @@ module Tables = struct let _v : (Parsetree.class_field list list) = # 211 "" ( [] ) -# 19210 "parsing/parser.ml" +# 19248 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19238,15 +19276,15 @@ module Tables = struct let _v : (Parsetree.class_field list list) = let x = let _startpos = _startpos__1_ in -# 919 "parsing/parser.mly" +# 922 "parsing/parser.mly" ( text_cstr _startpos @ [_1] ) -# 19244 "parsing/parser.ml" +# 19282 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 19250 "parsing/parser.ml" +# 19288 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19264,7 +19302,7 @@ module Tables = struct let _v : (Parsetree.structure_item list list) = # 211 "" ( [] ) -# 19268 "parsing/parser.ml" +# 19306 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19296,15 +19334,15 @@ module Tables = struct let _v : (Parsetree.structure_item list list) = let x = let _startpos = _startpos__1_ in -# 907 "parsing/parser.mly" +# 910 "parsing/parser.mly" ( text_str _startpos @ [_1] ) -# 19302 "parsing/parser.ml" +# 19340 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 19308 "parsing/parser.ml" +# 19346 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19322,7 +19360,7 @@ module Tables = struct let _v : (Parsetree.toplevel_phrase list list) = # 211 "" ( [] ) -# 19326 "parsing/parser.ml" +# 19364 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19355,32 +19393,32 @@ module Tables = struct let _1 = let x = let _1 = -# 973 "parsing/parser.mly" +# 976 "parsing/parser.mly" ( [] ) -# 19361 "parsing/parser.ml" +# 19399 "parsing/parser.ml" in -# 1203 "parsing/parser.mly" +# 1206 "parsing/parser.mly" ( _1 ) -# 19366 "parsing/parser.ml" +# 19404 "parsing/parser.ml" in # 183 "" ( x ) -# 19372 "parsing/parser.ml" +# 19410 "parsing/parser.ml" in -# 1215 "parsing/parser.mly" +# 1218 "parsing/parser.mly" ( _1 ) -# 19378 "parsing/parser.ml" +# 19416 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 19384 "parsing/parser.ml" +# 19422 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19432,58 +19470,58 @@ module Tables = struct let _1 = let _1 = let attrs = -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 19438 "parsing/parser.ml" +# 19476 "parsing/parser.ml" in -# 1394 "parsing/parser.mly" +# 1397 "parsing/parser.mly" ( mkstrexp e attrs ) -# 19443 "parsing/parser.ml" +# 19481 "parsing/parser.ml" in -# 917 "parsing/parser.mly" +# 920 "parsing/parser.mly" ( Ptop_def [_1] ) -# 19449 "parsing/parser.ml" +# 19487 "parsing/parser.ml" in let _startpos__1_ = _startpos_e_ in let _startpos = _startpos__1_ in -# 915 "parsing/parser.mly" +# 918 "parsing/parser.mly" ( text_def _startpos @ [_1] ) -# 19457 "parsing/parser.ml" +# 19495 "parsing/parser.ml" in -# 975 "parsing/parser.mly" +# 978 "parsing/parser.mly" ( x ) -# 19463 "parsing/parser.ml" +# 19501 "parsing/parser.ml" in -# 1203 "parsing/parser.mly" +# 1206 "parsing/parser.mly" ( _1 ) -# 19469 "parsing/parser.ml" +# 19507 "parsing/parser.ml" in # 183 "" ( x ) -# 19475 "parsing/parser.ml" +# 19513 "parsing/parser.ml" in -# 1215 "parsing/parser.mly" +# 1218 "parsing/parser.mly" ( _1 ) -# 19481 "parsing/parser.ml" +# 19519 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 19487 "parsing/parser.ml" +# 19525 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19515,27 +19553,27 @@ module Tables = struct let _v : (Parsetree.toplevel_phrase list list) = let x = let _1 = let _1 = -# 917 "parsing/parser.mly" +# 920 "parsing/parser.mly" ( Ptop_def [_1] ) -# 19521 "parsing/parser.ml" +# 19559 "parsing/parser.ml" in let _startpos = _startpos__1_ in -# 915 "parsing/parser.mly" +# 918 "parsing/parser.mly" ( text_def _startpos @ [_1] ) -# 19527 "parsing/parser.ml" +# 19565 "parsing/parser.ml" in -# 1215 "parsing/parser.mly" +# 1218 "parsing/parser.mly" ( _1 ) -# 19533 "parsing/parser.ml" +# 19571 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 19539 "parsing/parser.ml" +# 19577 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19570,29 +19608,29 @@ module Tables = struct let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 926 "parsing/parser.mly" +# 929 "parsing/parser.mly" ( mark_rhs_docs _startpos _endpos; _1 ) -# 19577 "parsing/parser.ml" +# 19615 "parsing/parser.ml" in let _startpos = _startpos__1_ in -# 915 "parsing/parser.mly" +# 918 "parsing/parser.mly" ( text_def _startpos @ [_1] ) -# 19584 "parsing/parser.ml" +# 19622 "parsing/parser.ml" in -# 1215 "parsing/parser.mly" +# 1218 "parsing/parser.mly" ( _1 ) -# 19590 "parsing/parser.ml" +# 19628 "parsing/parser.ml" in # 213 "" ( x :: xs ) -# 19596 "parsing/parser.ml" +# 19634 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19631,7 +19669,7 @@ module Tables = struct let _v : ((Longident.t Asttypes.loc * Parsetree.pattern) list * unit option) = let _2 = # 124 "" ( None ) -# 19635 "parsing/parser.ml" +# 19673 "parsing/parser.ml" in let x = let label = @@ -19639,9 +19677,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 19645 "parsing/parser.ml" +# 19683 "parsing/parser.ml" in let _startpos_label_ = _startpos__1_ in @@ -19649,7 +19687,7 @@ module Tables = struct let _symbolstartpos = _startpos_label_ in let _sloc = (_symbolstartpos, _endpos) in -# 2927 "parsing/parser.mly" +# 2935 "parsing/parser.mly" ( let label, pat = match opat with | None -> @@ -19663,13 +19701,13 @@ module Tables = struct in label, mkpat_opt_constraint ~loc:_sloc pat octy ) -# 19667 "parsing/parser.ml" +# 19705 "parsing/parser.ml" in -# 1142 "parsing/parser.mly" +# 1145 "parsing/parser.mly" ( [x], None ) -# 19673 "parsing/parser.ml" +# 19711 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19715,7 +19753,7 @@ module Tables = struct let _v : ((Longident.t Asttypes.loc * Parsetree.pattern) list * unit option) = let _2 = # 126 "" ( Some x ) -# 19719 "parsing/parser.ml" +# 19757 "parsing/parser.ml" in let x = let label = @@ -19723,9 +19761,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 19729 "parsing/parser.ml" +# 19767 "parsing/parser.ml" in let _startpos_label_ = _startpos__1_ in @@ -19733,7 +19771,7 @@ module Tables = struct let _symbolstartpos = _startpos_label_ in let _sloc = (_symbolstartpos, _endpos) in -# 2927 "parsing/parser.mly" +# 2935 "parsing/parser.mly" ( let label, pat = match opat with | None -> @@ -19747,13 +19785,13 @@ module Tables = struct in label, mkpat_opt_constraint ~loc:_sloc pat octy ) -# 19751 "parsing/parser.ml" +# 19789 "parsing/parser.ml" in -# 1142 "parsing/parser.mly" +# 1145 "parsing/parser.mly" ( [x], None ) -# 19757 "parsing/parser.ml" +# 19795 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19816,9 +19854,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 19822 "parsing/parser.ml" +# 19860 "parsing/parser.ml" in let _startpos_label_ = _startpos__1_ in @@ -19826,7 +19864,7 @@ module Tables = struct let _symbolstartpos = _startpos_label_ in let _sloc = (_symbolstartpos, _endpos) in -# 2927 "parsing/parser.mly" +# 2935 "parsing/parser.mly" ( let label, pat = match opat with | None -> @@ -19840,13 +19878,13 @@ module Tables = struct in label, mkpat_opt_constraint ~loc:_sloc pat octy ) -# 19844 "parsing/parser.ml" +# 19882 "parsing/parser.ml" in -# 1144 "parsing/parser.mly" +# 1147 "parsing/parser.mly" ( [x], Some y ) -# 19850 "parsing/parser.ml" +# 19888 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19902,9 +19940,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 19908 "parsing/parser.ml" +# 19946 "parsing/parser.ml" in let _startpos_label_ = _startpos__1_ in @@ -19912,7 +19950,7 @@ module Tables = struct let _symbolstartpos = _startpos_label_ in let _sloc = (_symbolstartpos, _endpos) in -# 2927 "parsing/parser.mly" +# 2935 "parsing/parser.mly" ( let label, pat = match opat with | None -> @@ -19926,14 +19964,14 @@ module Tables = struct in label, mkpat_opt_constraint ~loc:_sloc pat octy ) -# 19930 "parsing/parser.ml" +# 19968 "parsing/parser.ml" in -# 1148 "parsing/parser.mly" +# 1151 "parsing/parser.mly" ( let xs, y = tail in x :: xs, y ) -# 19937 "parsing/parser.ml" +# 19975 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19956,9 +19994,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.expression) = -# 2667 "parsing/parser.mly" +# 2675 "parsing/parser.mly" ( _1 ) -# 19962 "parsing/parser.ml" +# 20000 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -19998,9 +20036,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2669 "parsing/parser.mly" - ( wrap_exp_stack (mkexp_constraint ~loc:_sloc _3 _1) ) -# 20004 "parsing/parser.ml" +# 2677 "parsing/parser.mly" + ( wrap_exp_stack (mkexp_constraint ~loc:_sloc _3 _1) (make_loc _sloc) ) +# 20042 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20030,9 +20068,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.expression) = -# 2673 "parsing/parser.mly" +# 2681 "parsing/parser.mly" ( _2 ) -# 20036 "parsing/parser.ml" +# 20074 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20065,9 +20103,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2675 "parsing/parser.mly" +# 2683 "parsing/parser.mly" ( let (l, o, p) = _1 in ghexp ~loc:_sloc (Pexp_fun(l, o, p, _2)) ) -# 20071 "parsing/parser.ml" +# 20109 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20118,17 +20156,17 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.expression) = let _3 = -# 2550 "parsing/parser.mly" +# 2554 "parsing/parser.mly" ( xs ) -# 20124 "parsing/parser.ml" +# 20162 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2677 "parsing/parser.mly" +# 2685 "parsing/parser.mly" ( mk_newtypes ~loc:_sloc _3 _5 ) -# 20132 "parsing/parser.ml" +# 20170 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20165,9 +20203,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.case) = -# 2685 "parsing/parser.mly" +# 2693 "parsing/parser.mly" ( Exp.case _1 _3 ) -# 20171 "parsing/parser.ml" +# 20209 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20218,9 +20256,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.case) = -# 2687 "parsing/parser.mly" +# 2695 "parsing/parser.mly" ( Exp.case _1 ~guard:_3 _5 ) -# 20224 "parsing/parser.ml" +# 20262 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20258,9 +20296,9 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Parsetree.case) = let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2689 "parsing/parser.mly" +# 2697 "parsing/parser.mly" ( Exp.case _1 (Exp.unreachable ~loc:(make_loc _loc__3_) ()) ) -# 20264 "parsing/parser.ml" +# 20302 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20321,9 +20359,9 @@ module Tables = struct let _1_inlined1 : (Parsetree.core_type) = Obj.magic _1_inlined1 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 20327 "parsing/parser.ml" +# 20365 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -20332,49 +20370,49 @@ module Tables = struct let _6 = let _1 = _1_inlined3 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 20338 "parsing/parser.ml" +# 20376 "parsing/parser.ml" in let _endpos__6_ = _endpos__1_inlined3_ in let _4 = let _1 = _1_inlined2 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 20347 "parsing/parser.ml" +# 20385 "parsing/parser.ml" in let _endpos__4_ = _endpos__1_inlined2_ in let _3 = let _1 = _1_inlined1 in -# 3349 "parsing/parser.mly" +# 3359 "parsing/parser.mly" ( _1 ) -# 20356 "parsing/parser.ml" +# 20394 "parsing/parser.ml" in let _1 = let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 20363 "parsing/parser.ml" +# 20401 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 20371 "parsing/parser.ml" +# 20409 "parsing/parser.ml" in let _endpos = _endpos__6_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3584 "parsing/parser.mly" +# 3595 "parsing/parser.mly" ( let info = match rhs_info _endpos__4_ with | Some _ as info_before_semi -> info_before_semi @@ -20382,13 +20420,13 @@ module Tables = struct in let attrs = add_info_attrs info (_4 @ _6) in Of.tag ~loc:(make_loc _sloc) ~attrs _1 _3 ) -# 20386 "parsing/parser.ml" +# 20424 "parsing/parser.ml" in -# 3565 "parsing/parser.mly" +# 3576 "parsing/parser.mly" ( let (f, c) = tail in (head :: f, c) ) -# 20392 "parsing/parser.ml" +# 20430 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20429,15 +20467,15 @@ module Tables = struct let _symbolstartpos = _startpos_ty_ in let _sloc = (_symbolstartpos, _endpos) in -# 3595 "parsing/parser.mly" +# 3606 "parsing/parser.mly" ( Of.inherit_ ~loc:(make_loc _sloc) ty ) -# 20435 "parsing/parser.ml" +# 20473 "parsing/parser.ml" in -# 3565 "parsing/parser.mly" +# 3576 "parsing/parser.mly" ( let (f, c) = tail in (head :: f, c) ) -# 20441 "parsing/parser.ml" +# 20479 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20491,9 +20529,9 @@ module Tables = struct let _1_inlined1 : (Parsetree.core_type) = Obj.magic _1_inlined1 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 20497 "parsing/parser.ml" +# 20535 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -20502,49 +20540,49 @@ module Tables = struct let _6 = let _1 = _1_inlined3 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 20508 "parsing/parser.ml" +# 20546 "parsing/parser.ml" in let _endpos__6_ = _endpos__1_inlined3_ in let _4 = let _1 = _1_inlined2 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 20517 "parsing/parser.ml" +# 20555 "parsing/parser.ml" in let _endpos__4_ = _endpos__1_inlined2_ in let _3 = let _1 = _1_inlined1 in -# 3349 "parsing/parser.mly" +# 3359 "parsing/parser.mly" ( _1 ) -# 20526 "parsing/parser.ml" +# 20564 "parsing/parser.ml" in let _1 = let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 20533 "parsing/parser.ml" +# 20571 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 20541 "parsing/parser.ml" +# 20579 "parsing/parser.ml" in let _endpos = _endpos__6_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3584 "parsing/parser.mly" +# 3595 "parsing/parser.mly" ( let info = match rhs_info _endpos__4_ with | Some _ as info_before_semi -> info_before_semi @@ -20552,13 +20590,13 @@ module Tables = struct in let attrs = add_info_attrs info (_4 @ _6) in Of.tag ~loc:(make_loc _sloc) ~attrs _1 _3 ) -# 20556 "parsing/parser.ml" +# 20594 "parsing/parser.ml" in -# 3568 "parsing/parser.mly" +# 3579 "parsing/parser.mly" ( [head], Closed ) -# 20562 "parsing/parser.ml" +# 20600 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20592,15 +20630,15 @@ module Tables = struct let _symbolstartpos = _startpos_ty_ in let _sloc = (_symbolstartpos, _endpos) in -# 3595 "parsing/parser.mly" +# 3606 "parsing/parser.mly" ( Of.inherit_ ~loc:(make_loc _sloc) ty ) -# 20598 "parsing/parser.ml" +# 20636 "parsing/parser.ml" in -# 3568 "parsing/parser.mly" +# 3579 "parsing/parser.mly" ( [head], Closed ) -# 20604 "parsing/parser.ml" +# 20642 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20640,9 +20678,9 @@ module Tables = struct let _1_inlined1 : (Parsetree.core_type) = Obj.magic _1_inlined1 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 20646 "parsing/parser.ml" +# 20684 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -20651,50 +20689,50 @@ module Tables = struct let _4 = let _1 = _1_inlined2 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 20657 "parsing/parser.ml" +# 20695 "parsing/parser.ml" in let _endpos__4_ = _endpos__1_inlined2_ in let _3 = let _1 = _1_inlined1 in -# 3349 "parsing/parser.mly" +# 3359 "parsing/parser.mly" ( _1 ) -# 20666 "parsing/parser.ml" +# 20704 "parsing/parser.ml" in let _1 = let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 20673 "parsing/parser.ml" +# 20711 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 20681 "parsing/parser.ml" +# 20719 "parsing/parser.ml" in let _endpos = _endpos__4_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3577 "parsing/parser.mly" +# 3588 "parsing/parser.mly" ( let info = symbol_info _endpos in let attrs = add_info_attrs info _4 in Of.tag ~loc:(make_loc _sloc) ~attrs _1 _3 ) -# 20692 "parsing/parser.ml" +# 20730 "parsing/parser.ml" in -# 3571 "parsing/parser.mly" +# 3582 "parsing/parser.mly" ( [head], Closed ) -# 20698 "parsing/parser.ml" +# 20736 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20721,15 +20759,15 @@ module Tables = struct let _symbolstartpos = _startpos_ty_ in let _sloc = (_symbolstartpos, _endpos) in -# 3595 "parsing/parser.mly" +# 3606 "parsing/parser.mly" ( Of.inherit_ ~loc:(make_loc _sloc) ty ) -# 20727 "parsing/parser.ml" +# 20765 "parsing/parser.ml" in -# 3571 "parsing/parser.mly" +# 3582 "parsing/parser.mly" ( [head], Closed ) -# 20733 "parsing/parser.ml" +# 20771 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20752,9 +20790,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.object_field list * Asttypes.closed_flag) = -# 3573 "parsing/parser.mly" +# 3584 "parsing/parser.mly" ( [], Open ) -# 20758 "parsing/parser.ml" +# 20796 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20799,9 +20837,9 @@ module Tables = struct let _1_inlined2 : (Parsetree.core_type) = Obj.magic _1_inlined2 in let _5 : unit = Obj.magic _5 in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 20805 "parsing/parser.ml" +# 20843 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let private_ : (Asttypes.private_flag) = Obj.magic private_ in let _1 : (Parsetree.attributes) = Obj.magic _1 in @@ -20813,41 +20851,41 @@ module Tables = struct Parsetree.attributes) = let ty = let _1 = _1_inlined2 in -# 3345 "parsing/parser.mly" +# 3355 "parsing/parser.mly" ( _1 ) -# 20819 "parsing/parser.ml" +# 20857 "parsing/parser.ml" in let label = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined1_, _startpos__1_inlined1_, _1_inlined1) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 20827 "parsing/parser.ml" +# 20865 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 20835 "parsing/parser.ml" +# 20873 "parsing/parser.ml" in let attrs = -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 20841 "parsing/parser.ml" +# 20879 "parsing/parser.ml" in let _1 = -# 3842 "parsing/parser.mly" +# 3853 "parsing/parser.mly" ( Fresh ) -# 20846 "parsing/parser.ml" +# 20884 "parsing/parser.ml" in -# 1968 "parsing/parser.mly" +# 1971 "parsing/parser.mly" ( (label, private_, Cfk_virtual ty), attrs ) -# 20851 "parsing/parser.ml" +# 20889 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20885,9 +20923,9 @@ module Tables = struct } = _menhir_stack in let _5 : (Parsetree.expression) = Obj.magic _5 in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 20891 "parsing/parser.ml" +# 20929 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _3 : (Asttypes.private_flag) = Obj.magic _3 in let _1 : (Parsetree.attributes) = Obj.magic _1 in @@ -20899,36 +20937,36 @@ module Tables = struct Parsetree.attributes) = let _4 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined1_, _startpos__1_inlined1_, _1_inlined1) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 20905 "parsing/parser.ml" +# 20943 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 20913 "parsing/parser.ml" +# 20951 "parsing/parser.ml" in let _2 = -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 20919 "parsing/parser.ml" +# 20957 "parsing/parser.ml" in let _1 = -# 3845 "parsing/parser.mly" +# 3856 "parsing/parser.mly" ( Fresh ) -# 20924 "parsing/parser.ml" +# 20962 "parsing/parser.ml" in -# 1970 "parsing/parser.mly" +# 1973 "parsing/parser.mly" ( let e = _5 in let loc = Location.(e.pexp_loc.loc_start, e.pexp_loc.loc_end) in (_4, _3, Cfk_concrete (_1, ghexp ~loc (Pexp_poly (e, None)))), _2 ) -# 20932 "parsing/parser.ml" +# 20970 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -20972,9 +21010,9 @@ module Tables = struct } = _menhir_stack in let _5 : (Parsetree.expression) = Obj.magic _5 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 20978 "parsing/parser.ml" +# 21016 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let _3 : (Asttypes.private_flag) = Obj.magic _3 in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in @@ -20987,39 +21025,39 @@ module Tables = struct Parsetree.attributes) = let _4 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 20993 "parsing/parser.ml" +# 21031 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 21001 "parsing/parser.ml" +# 21039 "parsing/parser.ml" in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 21009 "parsing/parser.ml" +# 21047 "parsing/parser.ml" in let _1 = -# 3846 "parsing/parser.mly" +# 3857 "parsing/parser.mly" ( Override ) -# 21015 "parsing/parser.ml" +# 21053 "parsing/parser.ml" in -# 1970 "parsing/parser.mly" +# 1973 "parsing/parser.mly" ( let e = _5 in let loc = Location.(e.pexp_loc.loc_start, e.pexp_loc.loc_end) in (_4, _3, Cfk_concrete (_1, ghexp ~loc (Pexp_poly (e, None)))), _2 ) -# 21023 "parsing/parser.ml" +# 21061 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21078,9 +21116,9 @@ module Tables = struct let _1_inlined2 : (Parsetree.core_type) = Obj.magic _1_inlined2 in let _5 : unit = Obj.magic _5 in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 21084 "parsing/parser.ml" +# 21122 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _3 : (Asttypes.private_flag) = Obj.magic _3 in let _1 : (Parsetree.attributes) = Obj.magic _1 in @@ -21092,45 +21130,45 @@ module Tables = struct Parsetree.attributes) = let _6 = let _1 = _1_inlined2 in -# 3345 "parsing/parser.mly" +# 3355 "parsing/parser.mly" ( _1 ) -# 21098 "parsing/parser.ml" +# 21136 "parsing/parser.ml" in let _startpos__6_ = _startpos__1_inlined2_ in let _4 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined1_, _startpos__1_inlined1_, _1_inlined1) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 21107 "parsing/parser.ml" +# 21145 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 21115 "parsing/parser.ml" +# 21153 "parsing/parser.ml" in let _2 = -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 21121 "parsing/parser.ml" +# 21159 "parsing/parser.ml" in let _1 = -# 3845 "parsing/parser.mly" +# 3856 "parsing/parser.mly" ( Fresh ) -# 21126 "parsing/parser.ml" +# 21164 "parsing/parser.ml" in -# 1976 "parsing/parser.mly" +# 1979 "parsing/parser.mly" ( let poly_exp = let loc = (_startpos__6_, _endpos__8_) in ghexp ~loc (Pexp_poly(_8, Some _6)) in (_4, _3, Cfk_concrete (_1, poly_exp)), _2 ) -# 21134 "parsing/parser.ml" +# 21172 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21195,9 +21233,9 @@ module Tables = struct let _1_inlined3 : (Parsetree.core_type) = Obj.magic _1_inlined3 in let _5 : unit = Obj.magic _5 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 21201 "parsing/parser.ml" +# 21239 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let _3 : (Asttypes.private_flag) = Obj.magic _3 in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in @@ -21210,48 +21248,48 @@ module Tables = struct Parsetree.attributes) = let _6 = let _1 = _1_inlined3 in -# 3345 "parsing/parser.mly" +# 3355 "parsing/parser.mly" ( _1 ) -# 21216 "parsing/parser.ml" +# 21254 "parsing/parser.ml" in let _startpos__6_ = _startpos__1_inlined3_ in let _4 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 21225 "parsing/parser.ml" +# 21263 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 21233 "parsing/parser.ml" +# 21271 "parsing/parser.ml" in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 21241 "parsing/parser.ml" +# 21279 "parsing/parser.ml" in let _1 = -# 3846 "parsing/parser.mly" +# 3857 "parsing/parser.mly" ( Override ) -# 21247 "parsing/parser.ml" +# 21285 "parsing/parser.ml" in -# 1976 "parsing/parser.mly" +# 1979 "parsing/parser.mly" ( let poly_exp = let loc = (_startpos__6_, _endpos__8_) in ghexp ~loc (Pexp_poly(_8, Some _6)) in (_4, _3, Cfk_concrete (_1, poly_exp)), _2 ) -# 21255 "parsing/parser.ml" +# 21293 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21331,9 +21369,9 @@ module Tables = struct let _6 : unit = Obj.magic _6 in let _5 : unit = Obj.magic _5 in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 21337 "parsing/parser.ml" +# 21375 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _3 : (Asttypes.private_flag) = Obj.magic _3 in let _1 : (Parsetree.attributes) = Obj.magic _1 in @@ -21343,38 +21381,38 @@ module Tables = struct let _v : ((Asttypes.label Asttypes.loc * Asttypes.private_flag * Parsetree.class_field_kind) * Parsetree.attributes) = let _7 = -# 2550 "parsing/parser.mly" +# 2554 "parsing/parser.mly" ( xs ) -# 21349 "parsing/parser.ml" +# 21387 "parsing/parser.ml" in let _startpos__7_ = _startpos_xs_ in let _4 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined1_, _startpos__1_inlined1_, _1_inlined1) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 21357 "parsing/parser.ml" +# 21395 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 21365 "parsing/parser.ml" +# 21403 "parsing/parser.ml" in let _startpos__4_ = _startpos__1_inlined1_ in let _2 = -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 21372 "parsing/parser.ml" +# 21410 "parsing/parser.ml" in let (_endpos__2_, _startpos__2_) = (_endpos__1_, _startpos__1_) in let _1 = -# 3845 "parsing/parser.mly" +# 3856 "parsing/parser.mly" ( Fresh ) -# 21378 "parsing/parser.ml" +# 21416 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos__0_, _endpos__0_) in let _endpos = _endpos__11_ in @@ -21390,7 +21428,7 @@ module Tables = struct _startpos__4_ in let _sloc = (_symbolstartpos, _endpos) in -# 1982 "parsing/parser.mly" +# 1985 "parsing/parser.mly" ( let poly_exp_loc = (_startpos__7_, _endpos__11_) in let poly_exp = let exp, poly = @@ -21401,7 +21439,7 @@ module Tables = struct ghexp ~loc:poly_exp_loc (Pexp_poly(exp, Some poly)) in (_4, _3, Cfk_concrete (_1, poly_exp)), _2 ) -# 21405 "parsing/parser.ml" +# 21443 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21487,9 +21525,9 @@ module Tables = struct let _6 : unit = Obj.magic _6 in let _5 : unit = Obj.magic _5 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 21493 "parsing/parser.ml" +# 21531 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let _3 : (Asttypes.private_flag) = Obj.magic _3 in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in @@ -21500,41 +21538,41 @@ module Tables = struct let _v : ((Asttypes.label Asttypes.loc * Asttypes.private_flag * Parsetree.class_field_kind) * Parsetree.attributes) = let _7 = -# 2550 "parsing/parser.mly" +# 2554 "parsing/parser.mly" ( xs ) -# 21506 "parsing/parser.ml" +# 21544 "parsing/parser.ml" in let _startpos__7_ = _startpos_xs_ in let _4 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 21514 "parsing/parser.ml" +# 21552 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 21522 "parsing/parser.ml" +# 21560 "parsing/parser.ml" in let _startpos__4_ = _startpos__1_inlined2_ in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 21531 "parsing/parser.ml" +# 21569 "parsing/parser.ml" in let (_endpos__2_, _startpos__2_) = (_endpos__1_inlined1_, _startpos__1_inlined1_) in let _1 = -# 3846 "parsing/parser.mly" +# 3857 "parsing/parser.mly" ( Override ) -# 21538 "parsing/parser.ml" +# 21576 "parsing/parser.ml" in let _endpos = _endpos__11_ in let _symbolstartpos = if _startpos__1_ != _endpos__1_ then @@ -21549,7 +21587,7 @@ module Tables = struct _startpos__4_ in let _sloc = (_symbolstartpos, _endpos) in -# 1982 "parsing/parser.mly" +# 1985 "parsing/parser.mly" ( let poly_exp_loc = (_startpos__7_, _endpos__11_) in let poly_exp = let exp, poly = @@ -21560,7 +21598,7 @@ module Tables = struct ghexp ~loc:poly_exp_loc (Pexp_poly(exp, Some poly)) in (_4, _3, Cfk_concrete (_1, poly_exp)), _2 ) -# 21564 "parsing/parser.ml" +# 21602 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21579,17 +21617,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 21585 "parsing/parser.ml" +# 21623 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3696 "parsing/parser.mly" +# 3707 "parsing/parser.mly" ( Lident _1 ) -# 21593 "parsing/parser.ml" +# 21631 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21620,9 +21658,9 @@ module Tables = struct }; } = _menhir_stack in let _3 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 21626 "parsing/parser.ml" +# 21664 "parsing/parser.ml" ) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : (Longident.t) = Obj.magic _1 in @@ -21630,9 +21668,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Longident.t) = -# 3697 "parsing/parser.mly" +# 3708 "parsing/parser.mly" ( Ldot(_1,_3) ) -# 21636 "parsing/parser.ml" +# 21674 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21651,17 +21689,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 785 "parsing/parser.mly" +# 788 "parsing/parser.mly" (string) -# 21657 "parsing/parser.ml" +# 21695 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3696 "parsing/parser.mly" +# 3707 "parsing/parser.mly" ( Lident _1 ) -# 21665 "parsing/parser.ml" +# 21703 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21692,9 +21730,9 @@ module Tables = struct }; } = _menhir_stack in let _3 : ( -# 785 "parsing/parser.mly" +# 788 "parsing/parser.mly" (string) -# 21698 "parsing/parser.ml" +# 21736 "parsing/parser.ml" ) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : (Longident.t) = Obj.magic _1 in @@ -21702,9 +21740,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Longident.t) = -# 3697 "parsing/parser.mly" +# 3708 "parsing/parser.mly" ( Ldot(_1,_3) ) -# 21708 "parsing/parser.ml" +# 21746 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21727,14 +21765,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = let _1 = -# 3733 "parsing/parser.mly" +# 3744 "parsing/parser.mly" ( _1 ) -# 21733 "parsing/parser.ml" +# 21771 "parsing/parser.ml" in -# 3696 "parsing/parser.mly" +# 3707 "parsing/parser.mly" ( Lident _1 ) -# 21738 "parsing/parser.ml" +# 21776 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21772,20 +21810,20 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Longident.t) = let _1 = let _1 = -# 3676 "parsing/parser.mly" +# 3687 "parsing/parser.mly" ( "::" ) -# 21778 "parsing/parser.ml" +# 21816 "parsing/parser.ml" in -# 3733 "parsing/parser.mly" +# 3744 "parsing/parser.mly" ( _1 ) -# 21783 "parsing/parser.ml" +# 21821 "parsing/parser.ml" in -# 3696 "parsing/parser.mly" +# 3707 "parsing/parser.mly" ( Lident _1 ) -# 21789 "parsing/parser.ml" +# 21827 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21808,14 +21846,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = let _1 = -# 3733 "parsing/parser.mly" +# 3744 "parsing/parser.mly" ( _1 ) -# 21814 "parsing/parser.ml" +# 21852 "parsing/parser.ml" in -# 3696 "parsing/parser.mly" +# 3707 "parsing/parser.mly" ( Lident _1 ) -# 21819 "parsing/parser.ml" +# 21857 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21854,15 +21892,15 @@ module Tables = struct let _v : (Longident.t) = let _3 = let _1 = _1_inlined1 in -# 3733 "parsing/parser.mly" +# 3744 "parsing/parser.mly" ( _1 ) -# 21860 "parsing/parser.ml" +# 21898 "parsing/parser.ml" in -# 3697 "parsing/parser.mly" +# 3708 "parsing/parser.mly" ( Ldot(_1,_3) ) -# 21866 "parsing/parser.ml" +# 21904 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21914,20 +21952,20 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Longident.t) = let _3 = let _1 = -# 3676 "parsing/parser.mly" +# 3687 "parsing/parser.mly" ( "::" ) -# 21920 "parsing/parser.ml" +# 21958 "parsing/parser.ml" in -# 3733 "parsing/parser.mly" +# 3744 "parsing/parser.mly" ( _1 ) -# 21925 "parsing/parser.ml" +# 21963 "parsing/parser.ml" in -# 3697 "parsing/parser.mly" +# 3708 "parsing/parser.mly" ( Ldot(_1,_3) ) -# 21931 "parsing/parser.ml" +# 21969 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21966,15 +22004,15 @@ module Tables = struct let _v : (Longident.t) = let _3 = let _1 = _1_inlined1 in -# 3733 "parsing/parser.mly" +# 3744 "parsing/parser.mly" ( _1 ) -# 21972 "parsing/parser.ml" +# 22010 "parsing/parser.ml" in -# 3697 "parsing/parser.mly" +# 3708 "parsing/parser.mly" ( Ldot(_1,_3) ) -# 21978 "parsing/parser.ml" +# 22016 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -21997,9 +22035,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3696 "parsing/parser.mly" +# 3707 "parsing/parser.mly" ( Lident _1 ) -# 22003 "parsing/parser.ml" +# 22041 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22036,9 +22074,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Longident.t) = -# 3697 "parsing/parser.mly" +# 3708 "parsing/parser.mly" ( Ldot(_1,_3) ) -# 22042 "parsing/parser.ml" +# 22080 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22057,17 +22095,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 22063 "parsing/parser.ml" +# 22101 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3696 "parsing/parser.mly" +# 3707 "parsing/parser.mly" ( Lident _1 ) -# 22071 "parsing/parser.ml" +# 22109 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22098,9 +22136,9 @@ module Tables = struct }; } = _menhir_stack in let _3 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 22104 "parsing/parser.ml" +# 22142 "parsing/parser.ml" ) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : (Longident.t) = Obj.magic _1 in @@ -22108,9 +22146,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Longident.t) = -# 3697 "parsing/parser.mly" +# 3708 "parsing/parser.mly" ( Ldot(_1,_3) ) -# 22114 "parsing/parser.ml" +# 22152 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22129,17 +22167,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 785 "parsing/parser.mly" +# 788 "parsing/parser.mly" (string) -# 22135 "parsing/parser.ml" +# 22173 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3696 "parsing/parser.mly" +# 3707 "parsing/parser.mly" ( Lident _1 ) -# 22143 "parsing/parser.ml" +# 22181 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22170,9 +22208,9 @@ module Tables = struct }; } = _menhir_stack in let _3 : ( -# 785 "parsing/parser.mly" +# 788 "parsing/parser.mly" (string) -# 22176 "parsing/parser.ml" +# 22214 "parsing/parser.ml" ) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : (Longident.t) = Obj.magic _1 in @@ -22180,9 +22218,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Longident.t) = -# 3697 "parsing/parser.mly" +# 3708 "parsing/parser.mly" ( Ldot(_1,_3) ) -# 22186 "parsing/parser.ml" +# 22224 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22205,9 +22243,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3696 "parsing/parser.mly" +# 3707 "parsing/parser.mly" ( Lident _1 ) -# 22211 "parsing/parser.ml" +# 22249 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22244,9 +22282,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Longident.t) = -# 3697 "parsing/parser.mly" +# 3708 "parsing/parser.mly" ( Ldot(_1,_3) ) -# 22250 "parsing/parser.ml" +# 22288 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22269,9 +22307,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3712 "parsing/parser.mly" +# 3723 "parsing/parser.mly" ( _1 ) -# 22275 "parsing/parser.ml" +# 22313 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22318,9 +22356,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3714 "parsing/parser.mly" +# 3725 "parsing/parser.mly" ( lapply ~loc:_sloc _1 _3 ) -# 22324 "parsing/parser.ml" +# 22362 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22358,9 +22396,9 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Longident.t) = let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 3716 "parsing/parser.mly" +# 3727 "parsing/parser.mly" ( expecting _loc__3_ "module path" ) -# 22364 "parsing/parser.ml" +# 22402 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22383,9 +22421,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3709 "parsing/parser.mly" +# 3720 "parsing/parser.mly" ( _1 ) -# 22389 "parsing/parser.ml" +# 22427 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22415,9 +22453,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos_me_ in let _v : (Parsetree.module_expr) = -# 1463 "parsing/parser.mly" +# 1466 "parsing/parser.mly" ( me ) -# 22421 "parsing/parser.ml" +# 22459 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22462,24 +22500,24 @@ module Tables = struct let _endpos = _endpos_me_ in let _v : (Parsetree.module_expr) = let _1 = let _1 = -# 1466 "parsing/parser.mly" +# 1469 "parsing/parser.mly" ( Pmod_constraint(me, mty) ) -# 22468 "parsing/parser.ml" +# 22506 "parsing/parser.ml" in let _endpos__1_ = _endpos_me_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 946 "parsing/parser.mly" +# 949 "parsing/parser.mly" ( mkmod ~loc:_sloc _1 ) -# 22477 "parsing/parser.ml" +# 22515 "parsing/parser.ml" in -# 1470 "parsing/parser.mly" +# 1473 "parsing/parser.mly" ( _1 ) -# 22483 "parsing/parser.ml" +# 22521 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22510,25 +22548,25 @@ module Tables = struct let _endpos = _endpos_body_ in let _v : (Parsetree.module_expr) = let _1 = let _1 = -# 1468 "parsing/parser.mly" +# 1471 "parsing/parser.mly" ( let (_, arg) = arg_and_pos in Pmod_functor(arg, body) ) -# 22517 "parsing/parser.ml" +# 22555 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_body_, _startpos_arg_and_pos_) in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 946 "parsing/parser.mly" +# 949 "parsing/parser.mly" ( mkmod ~loc:_sloc _1 ) -# 22526 "parsing/parser.ml" +# 22564 "parsing/parser.ml" in -# 1470 "parsing/parser.mly" +# 1473 "parsing/parser.mly" ( _1 ) -# 22532 "parsing/parser.ml" +# 22570 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22558,9 +22596,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos_mty_ in let _v : (Parsetree.module_type) = -# 1714 "parsing/parser.mly" +# 1717 "parsing/parser.mly" ( mty ) -# 22564 "parsing/parser.ml" +# 22602 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22591,25 +22629,25 @@ module Tables = struct let _endpos = _endpos_body_ in let _v : (Parsetree.module_type) = let _1 = let _1 = -# 1717 "parsing/parser.mly" +# 1720 "parsing/parser.mly" ( let (_, arg) = arg_and_pos in Pmty_functor(arg, body) ) -# 22598 "parsing/parser.ml" +# 22636 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_body_, _startpos_arg_and_pos_) in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 948 "parsing/parser.mly" +# 951 "parsing/parser.mly" ( mkmty ~loc:_sloc _1 ) -# 22607 "parsing/parser.ml" +# 22645 "parsing/parser.ml" in -# 1720 "parsing/parser.mly" +# 1723 "parsing/parser.mly" ( _1 ) -# 22613 "parsing/parser.ml" +# 22651 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22655,18 +22693,18 @@ module Tables = struct let _v : (Parsetree.module_expr) = let attrs = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 22661 "parsing/parser.ml" +# 22699 "parsing/parser.ml" in let _endpos = _endpos__4_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1302 "parsing/parser.mly" +# 1305 "parsing/parser.mly" ( mkmod ~loc:_sloc ~attrs (Pmod_structure s) ) -# 22670 "parsing/parser.ml" +# 22708 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22712,17 +22750,17 @@ module Tables = struct let _v : (Parsetree.module_expr) = let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 22718 "parsing/parser.ml" +# 22756 "parsing/parser.ml" in let _loc__4_ = (_startpos__4_, _endpos__4_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1304 "parsing/parser.mly" +# 1307 "parsing/parser.mly" ( unclosed "struct" _loc__1_ "end" _loc__4_ ) -# 22726 "parsing/parser.ml" +# 22764 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22775,30 +22813,30 @@ module Tables = struct let _v : (Parsetree.module_expr) = let args = let _1 = _1_inlined2 in -# 1268 "parsing/parser.mly" +# 1271 "parsing/parser.mly" ( _1 ) -# 22781 "parsing/parser.ml" +# 22819 "parsing/parser.ml" in let attrs = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 22789 "parsing/parser.ml" +# 22827 "parsing/parser.ml" in let _endpos = _endpos_me_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1306 "parsing/parser.mly" +# 1309 "parsing/parser.mly" ( wrap_mod_attrs ~loc:_sloc attrs ( List.fold_left (fun acc (startpos, arg) -> mkmod ~loc:(startpos, _endpos) (Pmod_functor (arg, acc)) ) me args ) ) -# 22802 "parsing/parser.ml" +# 22840 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22821,9 +22859,9 @@ module Tables = struct let _startpos = _startpos_me_ in let _endpos = _endpos_me_ in let _v : (Parsetree.module_expr) = -# 1312 "parsing/parser.mly" +# 1315 "parsing/parser.mly" ( me ) -# 22827 "parsing/parser.ml" +# 22865 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22853,9 +22891,9 @@ module Tables = struct let _startpos = _startpos_me_ in let _endpos = _endpos_attr_ in let _v : (Parsetree.module_expr) = -# 1314 "parsing/parser.mly" +# 1317 "parsing/parser.mly" ( Mod.attr me attr ) -# 22859 "parsing/parser.ml" +# 22897 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22884,30 +22922,30 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 22890 "parsing/parser.ml" +# 22928 "parsing/parser.ml" in -# 1318 "parsing/parser.mly" +# 1321 "parsing/parser.mly" ( Pmod_ident x ) -# 22896 "parsing/parser.ml" +# 22934 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 946 "parsing/parser.mly" +# 949 "parsing/parser.mly" ( mkmod ~loc:_sloc _1 ) -# 22905 "parsing/parser.ml" +# 22943 "parsing/parser.ml" in -# 1330 "parsing/parser.mly" +# 1333 "parsing/parser.mly" ( _1 ) -# 22911 "parsing/parser.ml" +# 22949 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22938,24 +22976,24 @@ module Tables = struct let _endpos = _endpos_me2_ in let _v : (Parsetree.module_expr) = let _1 = let _1 = -# 1321 "parsing/parser.mly" +# 1324 "parsing/parser.mly" ( Pmod_apply(me1, me2) ) -# 22944 "parsing/parser.ml" +# 22982 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_me2_, _startpos_me1_) in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 946 "parsing/parser.mly" +# 949 "parsing/parser.mly" ( mkmod ~loc:_sloc _1 ) -# 22953 "parsing/parser.ml" +# 22991 "parsing/parser.ml" in -# 1330 "parsing/parser.mly" +# 1333 "parsing/parser.mly" ( _1 ) -# 22959 "parsing/parser.ml" +# 22997 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -22997,10 +23035,10 @@ module Tables = struct let _symbolstartpos = _startpos_me1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1324 "parsing/parser.mly" +# 1327 "parsing/parser.mly" ( (* TODO review mkmod location *) Pmod_apply(me1, mkmod ~loc:_sloc (Pmod_structure [])) ) -# 23004 "parsing/parser.ml" +# 23042 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos__3_, _startpos_me1_) in @@ -23008,15 +23046,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 946 "parsing/parser.mly" +# 949 "parsing/parser.mly" ( mkmod ~loc:_sloc _1 ) -# 23014 "parsing/parser.ml" +# 23052 "parsing/parser.ml" in -# 1330 "parsing/parser.mly" +# 1333 "parsing/parser.mly" ( _1 ) -# 23020 "parsing/parser.ml" +# 23058 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23040,24 +23078,24 @@ module Tables = struct let _endpos = _endpos_ex_ in let _v : (Parsetree.module_expr) = let _1 = let _1 = -# 1328 "parsing/parser.mly" +# 1331 "parsing/parser.mly" ( Pmod_extension ex ) -# 23046 "parsing/parser.ml" +# 23084 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_ex_, _startpos_ex_) in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 946 "parsing/parser.mly" +# 949 "parsing/parser.mly" ( mkmod ~loc:_sloc _1 ) -# 23055 "parsing/parser.ml" +# 23093 "parsing/parser.ml" in -# 1330 "parsing/parser.mly" +# 1333 "parsing/parser.mly" ( _1 ) -# 23061 "parsing/parser.ml" +# 23099 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23076,17 +23114,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let x : ( -# 785 "parsing/parser.mly" +# 788 "parsing/parser.mly" (string) -# 23082 "parsing/parser.ml" +# 23120 "parsing/parser.ml" ) = Obj.magic x in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : (string option) = -# 1285 "parsing/parser.mly" +# 1288 "parsing/parser.mly" ( Some x ) -# 23090 "parsing/parser.ml" +# 23128 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23109,9 +23147,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string option) = -# 1288 "parsing/parser.mly" +# 1291 "parsing/parser.mly" ( None ) -# 23115 "parsing/parser.ml" +# 23153 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23169,9 +23207,9 @@ module Tables = struct let _1_inlined3 : (Longident.t) = Obj.magic _1_inlined3 in let _5 : unit = Obj.magic _5 in let _1_inlined2 : ( -# 785 "parsing/parser.mly" +# 788 "parsing/parser.mly" (string) -# 23175 "parsing/parser.ml" +# 23213 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in let ext : (string Asttypes.loc option) = Obj.magic ext in @@ -23182,9 +23220,9 @@ module Tables = struct let _v : (Parsetree.module_substitution * string Asttypes.loc option) = let attrs2 = let _1 = _1_inlined4 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 23188 "parsing/parser.ml" +# 23226 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined4_ in @@ -23194,9 +23232,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 23200 "parsing/parser.ml" +# 23238 "parsing/parser.ml" in let uid = @@ -23205,31 +23243,31 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 23211 "parsing/parser.ml" +# 23249 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 23219 "parsing/parser.ml" +# 23257 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1750 "parsing/parser.mly" +# 1753 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Ms.mk uid body ~attrs ~loc ~docs, ext ) -# 23233 "parsing/parser.ml" +# 23271 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23280,9 +23318,9 @@ module Tables = struct let _6 : unit = Obj.magic _6 in let _5 : unit = Obj.magic _5 in let _1_inlined2 : ( -# 785 "parsing/parser.mly" +# 788 "parsing/parser.mly" (string) -# 23286 "parsing/parser.ml" +# 23324 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in let _2 : (string Asttypes.loc option) = Obj.magic _2 in @@ -23296,24 +23334,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 23302 "parsing/parser.ml" +# 23340 "parsing/parser.ml" in let _3 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 23310 "parsing/parser.ml" +# 23348 "parsing/parser.ml" in let _loc__6_ = (_startpos__6_, _endpos__6_) in -# 1757 "parsing/parser.mly" +# 1760 "parsing/parser.mly" ( expecting _loc__6_ "module path" ) -# 23317 "parsing/parser.ml" +# 23355 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23359,18 +23397,18 @@ module Tables = struct let _v : (Parsetree.module_type) = let attrs = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 23365 "parsing/parser.ml" +# 23403 "parsing/parser.ml" in let _endpos = _endpos__4_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1602 "parsing/parser.mly" +# 1605 "parsing/parser.mly" ( mkmty ~loc:_sloc ~attrs (Pmty_signature s) ) -# 23374 "parsing/parser.ml" +# 23412 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23416,17 +23454,17 @@ module Tables = struct let _v : (Parsetree.module_type) = let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 23422 "parsing/parser.ml" +# 23460 "parsing/parser.ml" in let _loc__4_ = (_startpos__4_, _endpos__4_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1604 "parsing/parser.mly" +# 1607 "parsing/parser.mly" ( unclosed "sig" _loc__1_ "end" _loc__4_ ) -# 23430 "parsing/parser.ml" +# 23468 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23479,30 +23517,30 @@ module Tables = struct let _v : (Parsetree.module_type) = let args = let _1 = _1_inlined2 in -# 1268 "parsing/parser.mly" +# 1271 "parsing/parser.mly" ( _1 ) -# 23485 "parsing/parser.ml" +# 23523 "parsing/parser.ml" in let attrs = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 23493 "parsing/parser.ml" +# 23531 "parsing/parser.ml" in let _endpos = _endpos_mty_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1608 "parsing/parser.mly" +# 1611 "parsing/parser.mly" ( wrap_mty_attrs ~loc:_sloc attrs ( List.fold_left (fun acc (startpos, arg) -> mkmty ~loc:(startpos, _endpos) (Pmty_functor (arg, acc)) ) mty args ) ) -# 23506 "parsing/parser.ml" +# 23544 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23555,18 +23593,18 @@ module Tables = struct let _v : (Parsetree.module_type) = let _4 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 23561 "parsing/parser.ml" +# 23599 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1614 "parsing/parser.mly" +# 1617 "parsing/parser.mly" ( mkmty ~loc:_sloc ~attrs:_4 (Pmty_typeof _5) ) -# 23570 "parsing/parser.ml" +# 23608 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23603,9 +23641,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.module_type) = -# 1616 "parsing/parser.mly" +# 1619 "parsing/parser.mly" ( _2 ) -# 23609 "parsing/parser.ml" +# 23647 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23644,9 +23682,9 @@ module Tables = struct let _v : (Parsetree.module_type) = let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1618 "parsing/parser.mly" +# 1621 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__3_ ) -# 23650 "parsing/parser.ml" +# 23688 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23676,9 +23714,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.module_type) = -# 1620 "parsing/parser.mly" +# 1623 "parsing/parser.mly" ( Mty.attr _1 _2 ) -# 23682 "parsing/parser.ml" +# 23720 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23707,30 +23745,30 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 23713 "parsing/parser.ml" +# 23751 "parsing/parser.ml" in -# 1623 "parsing/parser.mly" +# 1626 "parsing/parser.mly" ( Pmty_ident _1 ) -# 23719 "parsing/parser.ml" +# 23757 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 948 "parsing/parser.mly" +# 951 "parsing/parser.mly" ( mkmty ~loc:_sloc _1 ) -# 23728 "parsing/parser.ml" +# 23766 "parsing/parser.ml" in -# 1634 "parsing/parser.mly" +# 1637 "parsing/parser.mly" ( _1 ) -# 23734 "parsing/parser.ml" +# 23772 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23768,24 +23806,24 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Parsetree.module_type) = let _1 = let _1 = -# 1626 "parsing/parser.mly" +# 1629 "parsing/parser.mly" ( Pmty_functor(Named (mknoloc None, _1), _3) ) -# 23774 "parsing/parser.ml" +# 23812 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 948 "parsing/parser.mly" +# 951 "parsing/parser.mly" ( mkmty ~loc:_sloc _1 ) -# 23783 "parsing/parser.ml" +# 23821 "parsing/parser.ml" in -# 1634 "parsing/parser.mly" +# 1637 "parsing/parser.mly" ( _1 ) -# 23789 "parsing/parser.ml" +# 23827 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23827,18 +23865,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 23831 "parsing/parser.ml" +# 23869 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 23836 "parsing/parser.ml" +# 23874 "parsing/parser.ml" in -# 1628 "parsing/parser.mly" +# 1631 "parsing/parser.mly" ( Pmty_with(_1, _3) ) -# 23842 "parsing/parser.ml" +# 23880 "parsing/parser.ml" in let _endpos__1_ = _endpos_xs_ in @@ -23846,15 +23884,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 948 "parsing/parser.mly" +# 951 "parsing/parser.mly" ( mkmty ~loc:_sloc _1 ) -# 23852 "parsing/parser.ml" +# 23890 "parsing/parser.ml" in -# 1634 "parsing/parser.mly" +# 1637 "parsing/parser.mly" ( _1 ) -# 23858 "parsing/parser.ml" +# 23896 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23878,23 +23916,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.module_type) = let _1 = let _1 = -# 1632 "parsing/parser.mly" +# 1635 "parsing/parser.mly" ( Pmty_extension _1 ) -# 23884 "parsing/parser.ml" +# 23922 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 948 "parsing/parser.mly" +# 951 "parsing/parser.mly" ( mkmty ~loc:_sloc _1 ) -# 23892 "parsing/parser.ml" +# 23930 "parsing/parser.ml" in -# 1634 "parsing/parser.mly" +# 1637 "parsing/parser.mly" ( _1 ) -# 23898 "parsing/parser.ml" +# 23936 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -23961,9 +23999,9 @@ module Tables = struct let _v : (Parsetree.module_type_declaration * string Asttypes.loc option) = let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 23967 "parsing/parser.ml" +# 24005 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -23973,31 +24011,31 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 23979 "parsing/parser.ml" +# 24017 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 23987 "parsing/parser.ml" +# 24025 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1548 "parsing/parser.mly" +# 1551 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Mtd.mk id ?typ ~attrs ~loc ~docs, ext ) -# 24001 "parsing/parser.ml" +# 24039 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24020,9 +24058,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3719 "parsing/parser.mly" +# 3730 "parsing/parser.mly" ( _1 ) -# 24026 "parsing/parser.ml" +# 24064 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24038,9 +24076,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (Asttypes.mutable_flag) = -# 3796 "parsing/parser.mly" +# 3807 "parsing/parser.mly" ( Immutable ) -# 24044 "parsing/parser.ml" +# 24082 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24063,9 +24101,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.mutable_flag) = -# 3797 "parsing/parser.mly" +# 3808 "parsing/parser.mly" ( Mutable ) -# 24069 "parsing/parser.ml" +# 24107 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24081,9 +24119,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (Asttypes.mutable_flag * global_flag) = -# 3800 "parsing/parser.mly" +# 3811 "parsing/parser.mly" ( Immutable, Nothing ) -# 24087 "parsing/parser.ml" +# 24125 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24106,9 +24144,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.mutable_flag * global_flag) = -# 3801 "parsing/parser.mly" +# 3812 "parsing/parser.mly" ( Mutable, Nothing ) -# 24112 "parsing/parser.ml" +# 24150 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24131,9 +24169,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.mutable_flag * global_flag) = -# 3802 "parsing/parser.mly" +# 3813 "parsing/parser.mly" ( Immutable, Global ) -# 24137 "parsing/parser.ml" +# 24175 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24156,9 +24194,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.mutable_flag * global_flag) = -# 3803 "parsing/parser.mly" +# 3814 "parsing/parser.mly" ( Immutable, Nonlocal ) -# 24162 "parsing/parser.ml" +# 24200 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24174,9 +24212,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (Asttypes.mutable_flag * Asttypes.virtual_flag) = -# 3811 "parsing/parser.mly" +# 3822 "parsing/parser.mly" ( Immutable, Concrete ) -# 24180 "parsing/parser.ml" +# 24218 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24199,9 +24237,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.mutable_flag * Asttypes.virtual_flag) = -# 3813 "parsing/parser.mly" +# 3824 "parsing/parser.mly" ( Mutable, Concrete ) -# 24205 "parsing/parser.ml" +# 24243 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24224,9 +24262,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.mutable_flag * Asttypes.virtual_flag) = -# 3815 "parsing/parser.mly" +# 3826 "parsing/parser.mly" ( Immutable, Virtual ) -# 24230 "parsing/parser.ml" +# 24268 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24256,9 +24294,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.mutable_flag * Asttypes.virtual_flag) = -# 3818 "parsing/parser.mly" +# 3829 "parsing/parser.mly" ( Mutable, Virtual ) -# 24262 "parsing/parser.ml" +# 24300 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24288,9 +24326,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.mutable_flag * Asttypes.virtual_flag) = -# 3818 "parsing/parser.mly" +# 3829 "parsing/parser.mly" ( Mutable, Virtual ) -# 24294 "parsing/parser.ml" +# 24332 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24320,9 +24358,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.label) = -# 3769 "parsing/parser.mly" +# 3780 "parsing/parser.mly" ( _2 ) -# 24326 "parsing/parser.ml" +# 24364 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24341,9 +24379,9 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 24347 "parsing/parser.ml" +# 24385 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -24353,15 +24391,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 24359 "parsing/parser.ml" +# 24397 "parsing/parser.ml" in # 221 "" ( [ x ] ) -# 24365 "parsing/parser.ml" +# 24403 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24387,9 +24425,9 @@ module Tables = struct } = _menhir_stack in let xs : (string Asttypes.loc list) = Obj.magic xs in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 24393 "parsing/parser.ml" +# 24431 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -24399,15 +24437,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 24405 "parsing/parser.ml" +# 24443 "parsing/parser.ml" in # 223 "" ( x :: xs ) -# 24411 "parsing/parser.ml" +# 24449 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24426,22 +24464,22 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 773 "parsing/parser.mly" +# 776 "parsing/parser.mly" (string * Location.t * string option) -# 24432 "parsing/parser.ml" +# 24470 "parsing/parser.ml" ) = Obj.magic s in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : (string list) = let x = -# 3765 "parsing/parser.mly" +# 3776 "parsing/parser.mly" ( let body, _, _ = s in body ) -# 24440 "parsing/parser.ml" +# 24478 "parsing/parser.ml" in # 221 "" ( [ x ] ) -# 24445 "parsing/parser.ml" +# 24483 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24467,22 +24505,22 @@ module Tables = struct } = _menhir_stack in let xs : (string list) = Obj.magic xs in let s : ( -# 773 "parsing/parser.mly" +# 776 "parsing/parser.mly" (string * Location.t * string option) -# 24473 "parsing/parser.ml" +# 24511 "parsing/parser.ml" ) = Obj.magic s in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_s_ in let _endpos = _endpos_xs_ in let _v : (string list) = let x = -# 3765 "parsing/parser.mly" +# 3776 "parsing/parser.mly" ( let body, _, _ = s in body ) -# 24481 "parsing/parser.ml" +# 24519 "parsing/parser.ml" in # 223 "" ( x :: xs ) -# 24486 "parsing/parser.ml" +# 24524 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24505,14 +24543,14 @@ module Tables = struct let _startpos = _startpos_ty_ in let _endpos = _endpos_ty_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3792 "parsing/parser.mly" +# 3803 "parsing/parser.mly" ( Public ) -# 24511 "parsing/parser.ml" +# 24549 "parsing/parser.ml" in -# 3061 "parsing/parser.mly" +# 3069 "parsing/parser.mly" ( (Ptype_abstract, priv, Some ty) ) -# 24516 "parsing/parser.ml" +# 24554 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24542,14 +24580,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos_ty_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3793 "parsing/parser.mly" +# 3804 "parsing/parser.mly" ( Private ) -# 24548 "parsing/parser.ml" +# 24586 "parsing/parser.ml" in -# 3061 "parsing/parser.mly" +# 3069 "parsing/parser.mly" ( (Ptype_abstract, priv, Some ty) ) -# 24553 "parsing/parser.ml" +# 24591 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24572,26 +24610,26 @@ module Tables = struct let _startpos = _startpos_cs_ in let _endpos = _endpos_cs_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3792 "parsing/parser.mly" +# 3803 "parsing/parser.mly" ( Public ) -# 24578 "parsing/parser.ml" +# 24616 "parsing/parser.ml" in let oty = let _1 = # 124 "" ( None ) -# 24584 "parsing/parser.ml" +# 24622 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 24589 "parsing/parser.ml" +# 24627 "parsing/parser.ml" in -# 3065 "parsing/parser.mly" +# 3073 "parsing/parser.mly" ( (Ptype_variant cs, priv, oty) ) -# 24595 "parsing/parser.ml" +# 24633 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24621,26 +24659,26 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos_cs_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3793 "parsing/parser.mly" +# 3804 "parsing/parser.mly" ( Private ) -# 24627 "parsing/parser.ml" +# 24665 "parsing/parser.ml" in let oty = let _1 = # 124 "" ( None ) -# 24633 "parsing/parser.ml" +# 24671 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 24638 "parsing/parser.ml" +# 24676 "parsing/parser.ml" in -# 3065 "parsing/parser.mly" +# 3073 "parsing/parser.mly" ( (Ptype_variant cs, priv, oty) ) -# 24644 "parsing/parser.ml" +# 24682 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24677,33 +24715,33 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_cs_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3792 "parsing/parser.mly" +# 3803 "parsing/parser.mly" ( Public ) -# 24683 "parsing/parser.ml" +# 24721 "parsing/parser.ml" in let oty = let _1 = let x = # 191 "" ( x ) -# 24690 "parsing/parser.ml" +# 24728 "parsing/parser.ml" in # 126 "" ( Some x ) -# 24695 "parsing/parser.ml" +# 24733 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 24701 "parsing/parser.ml" +# 24739 "parsing/parser.ml" in -# 3065 "parsing/parser.mly" +# 3073 "parsing/parser.mly" ( (Ptype_variant cs, priv, oty) ) -# 24707 "parsing/parser.ml" +# 24745 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24747,33 +24785,33 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_cs_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3793 "parsing/parser.mly" +# 3804 "parsing/parser.mly" ( Private ) -# 24753 "parsing/parser.ml" +# 24791 "parsing/parser.ml" in let oty = let _1 = let x = # 191 "" ( x ) -# 24760 "parsing/parser.ml" +# 24798 "parsing/parser.ml" in # 126 "" ( Some x ) -# 24765 "parsing/parser.ml" +# 24803 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 24771 "parsing/parser.ml" +# 24809 "parsing/parser.ml" in -# 3065 "parsing/parser.mly" +# 3073 "parsing/parser.mly" ( (Ptype_variant cs, priv, oty) ) -# 24777 "parsing/parser.ml" +# 24815 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24796,26 +24834,26 @@ module Tables = struct let _startpos = _startpos__3_ in let _endpos = _endpos__3_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3792 "parsing/parser.mly" +# 3803 "parsing/parser.mly" ( Public ) -# 24802 "parsing/parser.ml" +# 24840 "parsing/parser.ml" in let oty = let _1 = # 124 "" ( None ) -# 24808 "parsing/parser.ml" +# 24846 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 24813 "parsing/parser.ml" +# 24851 "parsing/parser.ml" in -# 3069 "parsing/parser.mly" +# 3077 "parsing/parser.mly" ( (Ptype_open, priv, oty) ) -# 24819 "parsing/parser.ml" +# 24857 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24845,26 +24883,26 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3793 "parsing/parser.mly" +# 3804 "parsing/parser.mly" ( Private ) -# 24851 "parsing/parser.ml" +# 24889 "parsing/parser.ml" in let oty = let _1 = # 124 "" ( None ) -# 24857 "parsing/parser.ml" +# 24895 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 24862 "parsing/parser.ml" +# 24900 "parsing/parser.ml" in -# 3069 "parsing/parser.mly" +# 3077 "parsing/parser.mly" ( (Ptype_open, priv, oty) ) -# 24868 "parsing/parser.ml" +# 24906 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24901,33 +24939,33 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos__3_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3792 "parsing/parser.mly" +# 3803 "parsing/parser.mly" ( Public ) -# 24907 "parsing/parser.ml" +# 24945 "parsing/parser.ml" in let oty = let _1 = let x = # 191 "" ( x ) -# 24914 "parsing/parser.ml" +# 24952 "parsing/parser.ml" in # 126 "" ( Some x ) -# 24919 "parsing/parser.ml" +# 24957 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 24925 "parsing/parser.ml" +# 24963 "parsing/parser.ml" in -# 3069 "parsing/parser.mly" +# 3077 "parsing/parser.mly" ( (Ptype_open, priv, oty) ) -# 24931 "parsing/parser.ml" +# 24969 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -24971,33 +25009,33 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos__3_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3793 "parsing/parser.mly" +# 3804 "parsing/parser.mly" ( Private ) -# 24977 "parsing/parser.ml" +# 25015 "parsing/parser.ml" in let oty = let _1 = let x = # 191 "" ( x ) -# 24984 "parsing/parser.ml" +# 25022 "parsing/parser.ml" in # 126 "" ( Some x ) -# 24989 "parsing/parser.ml" +# 25027 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 24995 "parsing/parser.ml" +# 25033 "parsing/parser.ml" in -# 3069 "parsing/parser.mly" +# 3077 "parsing/parser.mly" ( (Ptype_open, priv, oty) ) -# 25001 "parsing/parser.ml" +# 25039 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25034,26 +25072,26 @@ module Tables = struct let _startpos = _startpos__3_ in let _endpos = _endpos__5_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3792 "parsing/parser.mly" +# 3803 "parsing/parser.mly" ( Public ) -# 25040 "parsing/parser.ml" +# 25078 "parsing/parser.ml" in let oty = let _1 = # 124 "" ( None ) -# 25046 "parsing/parser.ml" +# 25084 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 25051 "parsing/parser.ml" +# 25089 "parsing/parser.ml" in -# 3073 "parsing/parser.mly" +# 3081 "parsing/parser.mly" ( (Ptype_record ls, priv, oty) ) -# 25057 "parsing/parser.ml" +# 25095 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25097,26 +25135,26 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3793 "parsing/parser.mly" +# 3804 "parsing/parser.mly" ( Private ) -# 25103 "parsing/parser.ml" +# 25141 "parsing/parser.ml" in let oty = let _1 = # 124 "" ( None ) -# 25109 "parsing/parser.ml" +# 25147 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 25114 "parsing/parser.ml" +# 25152 "parsing/parser.ml" in -# 3073 "parsing/parser.mly" +# 3081 "parsing/parser.mly" ( (Ptype_record ls, priv, oty) ) -# 25120 "parsing/parser.ml" +# 25158 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25167,33 +25205,33 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos__5_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3792 "parsing/parser.mly" +# 3803 "parsing/parser.mly" ( Public ) -# 25173 "parsing/parser.ml" +# 25211 "parsing/parser.ml" in let oty = let _1 = let x = # 191 "" ( x ) -# 25180 "parsing/parser.ml" +# 25218 "parsing/parser.ml" in # 126 "" ( Some x ) -# 25185 "parsing/parser.ml" +# 25223 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 25191 "parsing/parser.ml" +# 25229 "parsing/parser.ml" in -# 3073 "parsing/parser.mly" +# 3081 "parsing/parser.mly" ( (Ptype_record ls, priv, oty) ) -# 25197 "parsing/parser.ml" +# 25235 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25251,33 +25289,33 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos__5_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = let priv = -# 3793 "parsing/parser.mly" +# 3804 "parsing/parser.mly" ( Private ) -# 25257 "parsing/parser.ml" +# 25295 "parsing/parser.ml" in let oty = let _1 = let x = # 191 "" ( x ) -# 25264 "parsing/parser.ml" +# 25302 "parsing/parser.ml" in # 126 "" ( Some x ) -# 25269 "parsing/parser.ml" +# 25307 "parsing/parser.ml" in -# 3077 "parsing/parser.mly" +# 3085 "parsing/parser.mly" ( _1 ) -# 25275 "parsing/parser.ml" +# 25313 "parsing/parser.ml" in -# 3073 "parsing/parser.mly" +# 3081 "parsing/parser.mly" ( (Ptype_record ls, priv, oty) ) -# 25281 "parsing/parser.ml" +# 25319 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25330,37 +25368,37 @@ module Tables = struct let _v : (Parsetree.open_declaration * string Asttypes.loc option) = let attrs2 = let _1 = _1_inlined2 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 25336 "parsing/parser.ml" +# 25374 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined2_ in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 25345 "parsing/parser.ml" +# 25383 "parsing/parser.ml" in let override = -# 3845 "parsing/parser.mly" +# 3856 "parsing/parser.mly" ( Fresh ) -# 25351 "parsing/parser.ml" +# 25389 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1567 "parsing/parser.mly" +# 1570 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Opn.mk me ~override ~attrs ~loc ~docs, ext ) -# 25364 "parsing/parser.ml" +# 25402 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25420,37 +25458,37 @@ module Tables = struct let _v : (Parsetree.open_declaration * string Asttypes.loc option) = let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 25426 "parsing/parser.ml" +# 25464 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in let attrs1 = let _1 = _1_inlined2 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 25435 "parsing/parser.ml" +# 25473 "parsing/parser.ml" in let override = -# 3846 "parsing/parser.mly" +# 3857 "parsing/parser.mly" ( Override ) -# 25441 "parsing/parser.ml" +# 25479 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1567 "parsing/parser.mly" +# 1570 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Opn.mk me ~override ~attrs ~loc ~docs, ext ) -# 25454 "parsing/parser.ml" +# 25492 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25503,9 +25541,9 @@ module Tables = struct let _v : (Parsetree.open_description * string Asttypes.loc option) = let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 25509 "parsing/parser.ml" +# 25547 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -25515,36 +25553,36 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 25521 "parsing/parser.ml" +# 25559 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 25529 "parsing/parser.ml" +# 25567 "parsing/parser.ml" in let override = -# 3845 "parsing/parser.mly" +# 3856 "parsing/parser.mly" ( Fresh ) -# 25535 "parsing/parser.ml" +# 25573 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1582 "parsing/parser.mly" +# 1585 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Opn.mk id ~override ~attrs ~loc ~docs, ext ) -# 25548 "parsing/parser.ml" +# 25586 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25604,9 +25642,9 @@ module Tables = struct let _v : (Parsetree.open_description * string Asttypes.loc option) = let attrs2 = let _1 = _1_inlined4 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 25610 "parsing/parser.ml" +# 25648 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined4_ in @@ -25616,36 +25654,36 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 25622 "parsing/parser.ml" +# 25660 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined2 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 25630 "parsing/parser.ml" +# 25668 "parsing/parser.ml" in let override = -# 3846 "parsing/parser.mly" +# 3857 "parsing/parser.mly" ( Override ) -# 25636 "parsing/parser.ml" +# 25674 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1582 "parsing/parser.mly" +# 1585 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Opn.mk id ~override ~attrs ~loc ~docs, ext ) -# 25649 "parsing/parser.ml" +# 25687 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25664,17 +25702,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 759 "parsing/parser.mly" +# 762 "parsing/parser.mly" (string) -# 25670 "parsing/parser.ml" +# 25708 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3635 "parsing/parser.mly" +# 3646 "parsing/parser.mly" ( _1 ) -# 25678 "parsing/parser.ml" +# 25716 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25693,17 +25731,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 715 "parsing/parser.mly" +# 718 "parsing/parser.mly" (string) -# 25699 "parsing/parser.ml" +# 25737 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3636 "parsing/parser.mly" +# 3647 "parsing/parser.mly" ( _1 ) -# 25707 "parsing/parser.ml" +# 25745 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25722,17 +25760,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 716 "parsing/parser.mly" +# 719 "parsing/parser.mly" (string) -# 25728 "parsing/parser.ml" +# 25766 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3637 "parsing/parser.mly" +# 3648 "parsing/parser.mly" ( _1 ) -# 25736 "parsing/parser.ml" +# 25774 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25772,17 +25810,17 @@ module Tables = struct let _3 : (string) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 25778 "parsing/parser.ml" +# 25816 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : (Asttypes.label) = -# 3638 "parsing/parser.mly" +# 3649 "parsing/parser.mly" ( "."^ _1 ^"(" ^ _3 ^ ")" ) -# 25786 "parsing/parser.ml" +# 25824 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25829,17 +25867,17 @@ module Tables = struct let _3 : (string) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 25835 "parsing/parser.ml" +# 25873 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Asttypes.label) = -# 3639 "parsing/parser.mly" +# 3650 "parsing/parser.mly" ( "."^ _1 ^ "(" ^ _3 ^ ")<-" ) -# 25843 "parsing/parser.ml" +# 25881 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25879,17 +25917,17 @@ module Tables = struct let _3 : (string) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 25885 "parsing/parser.ml" +# 25923 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : (Asttypes.label) = -# 3640 "parsing/parser.mly" +# 3651 "parsing/parser.mly" ( "."^ _1 ^"[" ^ _3 ^ "]" ) -# 25893 "parsing/parser.ml" +# 25931 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25936,17 +25974,17 @@ module Tables = struct let _3 : (string) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 25942 "parsing/parser.ml" +# 25980 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Asttypes.label) = -# 3641 "parsing/parser.mly" +# 3652 "parsing/parser.mly" ( "."^ _1 ^ "[" ^ _3 ^ "]<-" ) -# 25950 "parsing/parser.ml" +# 25988 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -25986,17 +26024,17 @@ module Tables = struct let _3 : (string) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 25992 "parsing/parser.ml" +# 26030 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : (Asttypes.label) = -# 3642 "parsing/parser.mly" +# 3653 "parsing/parser.mly" ( "."^ _1 ^"{" ^ _3 ^ "}" ) -# 26000 "parsing/parser.ml" +# 26038 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26043,17 +26081,17 @@ module Tables = struct let _3 : (string) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in let _1 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 26049 "parsing/parser.ml" +# 26087 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Asttypes.label) = -# 3643 "parsing/parser.mly" +# 3654 "parsing/parser.mly" ( "."^ _1 ^ "{" ^ _3 ^ "}<-" ) -# 26057 "parsing/parser.ml" +# 26095 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26072,17 +26110,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 770 "parsing/parser.mly" +# 773 "parsing/parser.mly" (string) -# 26078 "parsing/parser.ml" +# 26116 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3644 "parsing/parser.mly" +# 3655 "parsing/parser.mly" ( _1 ) -# 26086 "parsing/parser.ml" +# 26124 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26105,9 +26143,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3645 "parsing/parser.mly" +# 3656 "parsing/parser.mly" ( "!" ) -# 26111 "parsing/parser.ml" +# 26149 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26126,22 +26164,22 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let op : ( -# 709 "parsing/parser.mly" +# 712 "parsing/parser.mly" (string) -# 26132 "parsing/parser.ml" +# 26170 "parsing/parser.ml" ) = Obj.magic op in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_op_ in let _endpos = _endpos_op_ in let _v : (Asttypes.label) = let _1 = -# 3649 "parsing/parser.mly" +# 3660 "parsing/parser.mly" ( op ) -# 26140 "parsing/parser.ml" +# 26178 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26145 "parsing/parser.ml" +# 26183 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26160,22 +26198,22 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let op : ( -# 710 "parsing/parser.mly" +# 713 "parsing/parser.mly" (string) -# 26166 "parsing/parser.ml" +# 26204 "parsing/parser.ml" ) = Obj.magic op in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_op_ in let _endpos = _endpos_op_ in let _v : (Asttypes.label) = let _1 = -# 3650 "parsing/parser.mly" +# 3661 "parsing/parser.mly" ( op ) -# 26174 "parsing/parser.ml" +# 26212 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26179 "parsing/parser.ml" +# 26217 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26194,22 +26232,22 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let op : ( -# 711 "parsing/parser.mly" +# 714 "parsing/parser.mly" (string) -# 26200 "parsing/parser.ml" +# 26238 "parsing/parser.ml" ) = Obj.magic op in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_op_ in let _endpos = _endpos_op_ in let _v : (Asttypes.label) = let _1 = -# 3651 "parsing/parser.mly" +# 3662 "parsing/parser.mly" ( op ) -# 26208 "parsing/parser.ml" +# 26246 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26213 "parsing/parser.ml" +# 26251 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26228,22 +26266,22 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let op : ( -# 712 "parsing/parser.mly" +# 715 "parsing/parser.mly" (string) -# 26234 "parsing/parser.ml" +# 26272 "parsing/parser.ml" ) = Obj.magic op in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_op_ in let _endpos = _endpos_op_ in let _v : (Asttypes.label) = let _1 = -# 3652 "parsing/parser.mly" +# 3663 "parsing/parser.mly" ( op ) -# 26242 "parsing/parser.ml" +# 26280 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26247 "parsing/parser.ml" +# 26285 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26262,22 +26300,22 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let op : ( -# 713 "parsing/parser.mly" +# 716 "parsing/parser.mly" (string) -# 26268 "parsing/parser.ml" +# 26306 "parsing/parser.ml" ) = Obj.magic op in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_op_ in let _endpos = _endpos_op_ in let _v : (Asttypes.label) = let _1 = -# 3653 "parsing/parser.mly" +# 3664 "parsing/parser.mly" ( op ) -# 26276 "parsing/parser.ml" +# 26314 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26281 "parsing/parser.ml" +# 26319 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26300,14 +26338,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3654 "parsing/parser.mly" +# 3665 "parsing/parser.mly" ("+") -# 26306 "parsing/parser.ml" +# 26344 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26311 "parsing/parser.ml" +# 26349 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26330,14 +26368,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3655 "parsing/parser.mly" +# 3666 "parsing/parser.mly" ("+.") -# 26336 "parsing/parser.ml" +# 26374 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26341 "parsing/parser.ml" +# 26379 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26360,14 +26398,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3656 "parsing/parser.mly" +# 3667 "parsing/parser.mly" ("+=") -# 26366 "parsing/parser.ml" +# 26404 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26371 "parsing/parser.ml" +# 26409 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26390,14 +26428,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3657 "parsing/parser.mly" +# 3668 "parsing/parser.mly" ("-") -# 26396 "parsing/parser.ml" +# 26434 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26401 "parsing/parser.ml" +# 26439 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26420,14 +26458,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3658 "parsing/parser.mly" +# 3669 "parsing/parser.mly" ("-.") -# 26426 "parsing/parser.ml" +# 26464 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26431 "parsing/parser.ml" +# 26469 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26450,14 +26488,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3659 "parsing/parser.mly" +# 3670 "parsing/parser.mly" ("*") -# 26456 "parsing/parser.ml" +# 26494 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26461 "parsing/parser.ml" +# 26499 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26480,14 +26518,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3660 "parsing/parser.mly" +# 3671 "parsing/parser.mly" ("%") -# 26486 "parsing/parser.ml" +# 26524 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26491 "parsing/parser.ml" +# 26529 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26510,14 +26548,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3661 "parsing/parser.mly" +# 3672 "parsing/parser.mly" ("=") -# 26516 "parsing/parser.ml" +# 26554 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26521 "parsing/parser.ml" +# 26559 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26540,14 +26578,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3662 "parsing/parser.mly" +# 3673 "parsing/parser.mly" ("<") -# 26546 "parsing/parser.ml" +# 26584 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26551 "parsing/parser.ml" +# 26589 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26570,14 +26608,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3663 "parsing/parser.mly" +# 3674 "parsing/parser.mly" (">") -# 26576 "parsing/parser.ml" +# 26614 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26581 "parsing/parser.ml" +# 26619 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26600,14 +26638,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3664 "parsing/parser.mly" +# 3675 "parsing/parser.mly" ("or") -# 26606 "parsing/parser.ml" +# 26644 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26611 "parsing/parser.ml" +# 26649 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26630,14 +26668,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3665 "parsing/parser.mly" +# 3676 "parsing/parser.mly" ("||") -# 26636 "parsing/parser.ml" +# 26674 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26641 "parsing/parser.ml" +# 26679 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26660,14 +26698,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3666 "parsing/parser.mly" +# 3677 "parsing/parser.mly" ("&") -# 26666 "parsing/parser.ml" +# 26704 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26671 "parsing/parser.ml" +# 26709 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26690,14 +26728,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3667 "parsing/parser.mly" +# 3678 "parsing/parser.mly" ("&&") -# 26696 "parsing/parser.ml" +# 26734 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26701 "parsing/parser.ml" +# 26739 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26720,14 +26758,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = let _1 = -# 3668 "parsing/parser.mly" +# 3679 "parsing/parser.mly" (":=") -# 26726 "parsing/parser.ml" +# 26764 "parsing/parser.ml" in -# 3646 "parsing/parser.mly" +# 3657 "parsing/parser.mly" ( _1 ) -# 26731 "parsing/parser.ml" +# 26769 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26750,9 +26788,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (bool) = -# 3550 "parsing/parser.mly" +# 3561 "parsing/parser.mly" ( true ) -# 26756 "parsing/parser.ml" +# 26794 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26768,9 +26806,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (bool) = -# 3551 "parsing/parser.mly" +# 3562 "parsing/parser.mly" ( false ) -# 26774 "parsing/parser.ml" +# 26812 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26788,7 +26826,7 @@ module Tables = struct let _v : (unit option) = # 114 "" ( None ) -# 26792 "parsing/parser.ml" +# 26830 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26813,7 +26851,7 @@ module Tables = struct let _v : (unit option) = # 116 "" ( Some x ) -# 26817 "parsing/parser.ml" +# 26855 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26831,7 +26869,7 @@ module Tables = struct let _v : (unit option) = # 114 "" ( None ) -# 26835 "parsing/parser.ml" +# 26873 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26856,7 +26894,7 @@ module Tables = struct let _v : (unit option) = # 116 "" ( Some x ) -# 26860 "parsing/parser.ml" +# 26898 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26874,7 +26912,7 @@ module Tables = struct let _v : (string Asttypes.loc option) = # 114 "" ( None ) -# 26878 "parsing/parser.ml" +# 26916 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26899,9 +26937,9 @@ module Tables = struct }; } = _menhir_stack in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 26905 "parsing/parser.ml" +# 26943 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _1 : unit = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -26914,21 +26952,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 26920 "parsing/parser.ml" +# 26958 "parsing/parser.ml" in # 183 "" ( x ) -# 26926 "parsing/parser.ml" +# 26964 "parsing/parser.ml" in # 116 "" ( Some x ) -# 26932 "parsing/parser.ml" +# 26970 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26946,7 +26984,7 @@ module Tables = struct let _v : (Parsetree.core_type option) = # 114 "" ( None ) -# 26950 "parsing/parser.ml" +# 26988 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -26978,12 +27016,12 @@ module Tables = struct let _v : (Parsetree.core_type option) = let x = # 183 "" ( x ) -# 26982 "parsing/parser.ml" +# 27020 "parsing/parser.ml" in # 116 "" ( Some x ) -# 26987 "parsing/parser.ml" +# 27025 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27001,7 +27039,7 @@ module Tables = struct let _v : (Parsetree.expression option) = # 114 "" ( None ) -# 27005 "parsing/parser.ml" +# 27043 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27033,12 +27071,12 @@ module Tables = struct let _v : (Parsetree.expression option) = let x = # 183 "" ( x ) -# 27037 "parsing/parser.ml" +# 27075 "parsing/parser.ml" in # 116 "" ( Some x ) -# 27042 "parsing/parser.ml" +# 27080 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27056,7 +27094,7 @@ module Tables = struct let _v : (Parsetree.module_type option) = # 114 "" ( None ) -# 27060 "parsing/parser.ml" +# 27098 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27088,12 +27126,12 @@ module Tables = struct let _v : (Parsetree.module_type option) = let x = # 183 "" ( x ) -# 27092 "parsing/parser.ml" +# 27130 "parsing/parser.ml" in # 116 "" ( Some x ) -# 27097 "parsing/parser.ml" +# 27135 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27111,7 +27149,7 @@ module Tables = struct let _v : (Parsetree.pattern option) = # 114 "" ( None ) -# 27115 "parsing/parser.ml" +# 27153 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27143,12 +27181,12 @@ module Tables = struct let _v : (Parsetree.pattern option) = let x = # 183 "" ( x ) -# 27147 "parsing/parser.ml" +# 27185 "parsing/parser.ml" in # 116 "" ( Some x ) -# 27152 "parsing/parser.ml" +# 27190 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27166,7 +27204,7 @@ module Tables = struct let _v : (Parsetree.expression option) = # 114 "" ( None ) -# 27170 "parsing/parser.ml" +# 27208 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27198,12 +27236,12 @@ module Tables = struct let _v : (Parsetree.expression option) = let x = # 183 "" ( x ) -# 27202 "parsing/parser.ml" +# 27240 "parsing/parser.ml" in # 116 "" ( Some x ) -# 27207 "parsing/parser.ml" +# 27245 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27221,7 +27259,7 @@ module Tables = struct let _v : ((Parsetree.core_type option * Parsetree.core_type option) option) = # 114 "" ( None ) -# 27225 "parsing/parser.ml" +# 27263 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27246,7 +27284,7 @@ module Tables = struct let _v : ((Parsetree.core_type option * Parsetree.core_type option) option) = # 116 "" ( Some x ) -# 27250 "parsing/parser.ml" +# 27288 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27265,17 +27303,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 752 "parsing/parser.mly" +# 755 "parsing/parser.mly" (string) -# 27271 "parsing/parser.ml" +# 27309 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3857 "parsing/parser.mly" +# 3868 "parsing/parser.mly" ( _1 ) -# 27279 "parsing/parser.ml" +# 27317 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27307,18 +27345,18 @@ module Tables = struct } = _menhir_stack in let _3 : unit = Obj.magic _3 in let _2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 27313 "parsing/parser.ml" +# 27351 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : unit = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (string) = -# 3858 "parsing/parser.mly" +# 3869 "parsing/parser.mly" ( _2 ) -# 27322 "parsing/parser.ml" +# 27360 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27372,9 +27410,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1339 "parsing/parser.mly" +# 1342 "parsing/parser.mly" ( mkmod ~loc:_sloc (Pmod_constraint(me, mty)) ) -# 27378 "parsing/parser.ml" +# 27416 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27427,9 +27465,9 @@ module Tables = struct let _v : (Parsetree.module_expr) = let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1341 "parsing/parser.mly" +# 1344 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__5_ ) -# 27433 "parsing/parser.ml" +# 27471 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27466,9 +27504,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.module_expr) = -# 1344 "parsing/parser.mly" +# 1347 "parsing/parser.mly" ( me (* TODO consider reloc *) ) -# 27472 "parsing/parser.ml" +# 27510 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27507,9 +27545,9 @@ module Tables = struct let _v : (Parsetree.module_expr) = let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1346 "parsing/parser.mly" +# 1349 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__3_ ) -# 27513 "parsing/parser.ml" +# 27551 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27560,25 +27598,25 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.module_expr) = let e = -# 1363 "parsing/parser.mly" +# 1366 "parsing/parser.mly" ( e ) -# 27566 "parsing/parser.ml" +# 27604 "parsing/parser.ml" in let attrs = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 27573 "parsing/parser.ml" +# 27611 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1350 "parsing/parser.mly" +# 1353 "parsing/parser.mly" ( mkmod ~loc:_sloc ~attrs (Pmod_unpack e) ) -# 27582 "parsing/parser.ml" +# 27620 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27649,11 +27687,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3525 "parsing/parser.mly" +# 3536 "parsing/parser.mly" ( let (lid, cstrs, attrs) = package_type_of_module_type _1 in let descr = Ptyp_package (lid, cstrs) in mktyp ~loc:_sloc ~attrs descr ) -# 27657 "parsing/parser.ml" +# 27695 "parsing/parser.ml" in let _endpos_ty_ = _endpos__1_ in @@ -27661,26 +27699,26 @@ module Tables = struct let _startpos = _startpos_e_ in let _loc = (_startpos, _endpos) in -# 1365 "parsing/parser.mly" +# 1368 "parsing/parser.mly" ( ghexp ~loc:_loc (Pexp_constraint (e, ty)) ) -# 27667 "parsing/parser.ml" +# 27705 "parsing/parser.ml" in let attrs = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 27675 "parsing/parser.ml" +# 27713 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1350 "parsing/parser.mly" +# 1353 "parsing/parser.mly" ( mkmod ~loc:_sloc ~attrs (Pmod_unpack e) ) -# 27684 "parsing/parser.ml" +# 27722 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27766,11 +27804,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3525 "parsing/parser.mly" +# 3536 "parsing/parser.mly" ( let (lid, cstrs, attrs) = package_type_of_module_type _1 in let descr = Ptyp_package (lid, cstrs) in mktyp ~loc:_sloc ~attrs descr ) -# 27774 "parsing/parser.ml" +# 27812 "parsing/parser.ml" in let _endpos_ty2_ = _endpos__1_inlined1_ in @@ -27779,37 +27817,37 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3525 "parsing/parser.mly" +# 3536 "parsing/parser.mly" ( let (lid, cstrs, attrs) = package_type_of_module_type _1 in let descr = Ptyp_package (lid, cstrs) in mktyp ~loc:_sloc ~attrs descr ) -# 27787 "parsing/parser.ml" +# 27825 "parsing/parser.ml" in let _endpos = _endpos_ty2_ in let _startpos = _startpos_e_ in let _loc = (_startpos, _endpos) in -# 1367 "parsing/parser.mly" +# 1370 "parsing/parser.mly" ( ghexp ~loc:_loc (Pexp_coerce (e, Some ty1, ty2)) ) -# 27796 "parsing/parser.ml" +# 27834 "parsing/parser.ml" in let attrs = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 27804 "parsing/parser.ml" +# 27842 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1350 "parsing/parser.mly" +# 1353 "parsing/parser.mly" ( mkmod ~loc:_sloc ~attrs (Pmod_unpack e) ) -# 27813 "parsing/parser.ml" +# 27851 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27880,11 +27918,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3525 "parsing/parser.mly" +# 3536 "parsing/parser.mly" ( let (lid, cstrs, attrs) = package_type_of_module_type _1 in let descr = Ptyp_package (lid, cstrs) in mktyp ~loc:_sloc ~attrs descr ) -# 27888 "parsing/parser.ml" +# 27926 "parsing/parser.ml" in let _endpos_ty2_ = _endpos__1_ in @@ -27892,26 +27930,26 @@ module Tables = struct let _startpos = _startpos_e_ in let _loc = (_startpos, _endpos) in -# 1369 "parsing/parser.mly" +# 1372 "parsing/parser.mly" ( ghexp ~loc:_loc (Pexp_coerce (e, None, ty2)) ) -# 27898 "parsing/parser.ml" +# 27936 "parsing/parser.ml" in let attrs = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 27906 "parsing/parser.ml" +# 27944 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1350 "parsing/parser.mly" +# 1353 "parsing/parser.mly" ( mkmod ~loc:_sloc ~attrs (Pmod_unpack e) ) -# 27915 "parsing/parser.ml" +# 27953 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -27971,17 +28009,17 @@ module Tables = struct let _v : (Parsetree.module_expr) = let _3 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 27977 "parsing/parser.ml" +# 28015 "parsing/parser.ml" in let _loc__6_ = (_startpos__6_, _endpos__6_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1352 "parsing/parser.mly" +# 1355 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__6_ ) -# 27985 "parsing/parser.ml" +# 28023 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28041,17 +28079,17 @@ module Tables = struct let _v : (Parsetree.module_expr) = let _3 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 28047 "parsing/parser.ml" +# 28085 "parsing/parser.ml" in let _loc__6_ = (_startpos__6_, _endpos__6_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1354 "parsing/parser.mly" +# 1357 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__6_ ) -# 28055 "parsing/parser.ml" +# 28093 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28104,17 +28142,17 @@ module Tables = struct let _v : (Parsetree.module_expr) = let _3 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 28110 "parsing/parser.ml" +# 28148 "parsing/parser.ml" in let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1356 "parsing/parser.mly" +# 1359 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__5_ ) -# 28118 "parsing/parser.ml" +# 28156 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28144,9 +28182,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Longident.t) = -# 1260 "parsing/parser.mly" +# 1263 "parsing/parser.mly" ( _1 ) -# 28150 "parsing/parser.ml" +# 28188 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28176,9 +28214,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Longident.t) = -# 1245 "parsing/parser.mly" +# 1248 "parsing/parser.mly" ( _1 ) -# 28182 "parsing/parser.ml" +# 28220 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28208,9 +28246,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.core_type) = -# 1220 "parsing/parser.mly" +# 1223 "parsing/parser.mly" ( _1 ) -# 28214 "parsing/parser.ml" +# 28252 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28240,9 +28278,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.expression) = -# 1225 "parsing/parser.mly" +# 1228 "parsing/parser.mly" ( _1 ) -# 28246 "parsing/parser.ml" +# 28284 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28272,9 +28310,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Longident.t) = -# 1250 "parsing/parser.mly" +# 1253 "parsing/parser.mly" ( _1 ) -# 28278 "parsing/parser.ml" +# 28316 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28304,9 +28342,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Longident.t) = -# 1255 "parsing/parser.mly" +# 1258 "parsing/parser.mly" ( _1 ) -# 28310 "parsing/parser.ml" +# 28348 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28336,9 +28374,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Longident.t) = -# 1235 "parsing/parser.mly" +# 1238 "parsing/parser.mly" ( _1 ) -# 28342 "parsing/parser.ml" +# 28380 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28368,9 +28406,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.pattern) = -# 1230 "parsing/parser.mly" +# 1233 "parsing/parser.mly" ( _1 ) -# 28374 "parsing/parser.ml" +# 28412 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28400,9 +28438,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Longident.t) = -# 1240 "parsing/parser.mly" +# 1243 "parsing/parser.mly" ( _1 ) -# 28406 "parsing/parser.ml" +# 28444 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28444,15 +28482,15 @@ module Tables = struct let _loc__2_ = (_startpos__2_, _endpos__2_) in let _sloc = (_symbolstartpos, _endpos) in -# 2793 "parsing/parser.mly" +# 2801 "parsing/parser.mly" ( mkpat_cons ~loc:_sloc _loc__2_ (ghpat ~loc:_sloc (Ppat_tuple[_1;_3])) ) -# 28450 "parsing/parser.ml" +# 28488 "parsing/parser.ml" in -# 2781 "parsing/parser.mly" +# 2789 "parsing/parser.mly" ( _1 ) -# 28456 "parsing/parser.ml" +# 28494 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28482,14 +28520,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.pattern) = let _1 = -# 2795 "parsing/parser.mly" +# 2803 "parsing/parser.mly" ( Pat.attr _1 _2 ) -# 28488 "parsing/parser.ml" +# 28526 "parsing/parser.ml" in -# 2781 "parsing/parser.mly" +# 2789 "parsing/parser.mly" ( _1 ) -# 28493 "parsing/parser.ml" +# 28531 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28512,14 +28550,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.pattern) = let _1 = -# 2797 "parsing/parser.mly" +# 2805 "parsing/parser.mly" ( _1 ) -# 28518 "parsing/parser.ml" +# 28556 "parsing/parser.ml" in -# 2781 "parsing/parser.mly" +# 2789 "parsing/parser.mly" ( _1 ) -# 28523 "parsing/parser.ml" +# 28561 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28564,15 +28602,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 28570 "parsing/parser.ml" +# 28608 "parsing/parser.ml" in -# 2800 "parsing/parser.mly" +# 2808 "parsing/parser.mly" ( Ppat_alias(_1, _3) ) -# 28576 "parsing/parser.ml" +# 28614 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined1_ in @@ -28580,21 +28618,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 28586 "parsing/parser.ml" +# 28624 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 28592 "parsing/parser.ml" +# 28630 "parsing/parser.ml" in -# 2781 "parsing/parser.mly" +# 2789 "parsing/parser.mly" ( _1 ) -# 28598 "parsing/parser.ml" +# 28636 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28635,9 +28673,9 @@ module Tables = struct let _1 = let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2802 "parsing/parser.mly" +# 2810 "parsing/parser.mly" ( expecting _loc__3_ "identifier" ) -# 28641 "parsing/parser.ml" +# 28679 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -28645,21 +28683,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 28651 "parsing/parser.ml" +# 28689 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 28657 "parsing/parser.ml" +# 28695 "parsing/parser.ml" in -# 2781 "parsing/parser.mly" +# 2789 "parsing/parser.mly" ( _1 ) -# 28663 "parsing/parser.ml" +# 28701 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28684,29 +28722,29 @@ module Tables = struct let _v : (Parsetree.pattern) = let _1 = let _1 = let _1 = -# 2804 "parsing/parser.mly" +# 2812 "parsing/parser.mly" ( Ppat_tuple(List.rev _1) ) -# 28690 "parsing/parser.ml" +# 28728 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 28698 "parsing/parser.ml" +# 28736 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 28704 "parsing/parser.ml" +# 28742 "parsing/parser.ml" in -# 2781 "parsing/parser.mly" +# 2789 "parsing/parser.mly" ( _1 ) -# 28710 "parsing/parser.ml" +# 28748 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28747,9 +28785,9 @@ module Tables = struct let _1 = let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2806 "parsing/parser.mly" +# 2814 "parsing/parser.mly" ( expecting _loc__3_ "pattern" ) -# 28753 "parsing/parser.ml" +# 28791 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -28757,21 +28795,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 28763 "parsing/parser.ml" +# 28801 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 28769 "parsing/parser.ml" +# 28807 "parsing/parser.ml" in -# 2781 "parsing/parser.mly" +# 2789 "parsing/parser.mly" ( _1 ) -# 28775 "parsing/parser.ml" +# 28813 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28810,30 +28848,30 @@ module Tables = struct let _v : (Parsetree.pattern) = let _1 = let _1 = let _1 = -# 2808 "parsing/parser.mly" +# 2816 "parsing/parser.mly" ( Ppat_or(_1, _3) ) -# 28816 "parsing/parser.ml" +# 28854 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 28825 "parsing/parser.ml" +# 28863 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 28831 "parsing/parser.ml" +# 28869 "parsing/parser.ml" in -# 2781 "parsing/parser.mly" +# 2789 "parsing/parser.mly" ( _1 ) -# 28837 "parsing/parser.ml" +# 28875 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28874,9 +28912,9 @@ module Tables = struct let _1 = let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2810 "parsing/parser.mly" +# 2818 "parsing/parser.mly" ( expecting _loc__3_ "pattern" ) -# 28880 "parsing/parser.ml" +# 28918 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -28884,21 +28922,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 28890 "parsing/parser.ml" +# 28928 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 28896 "parsing/parser.ml" +# 28934 "parsing/parser.ml" in -# 2781 "parsing/parser.mly" +# 2789 "parsing/parser.mly" ( _1 ) -# 28902 "parsing/parser.ml" +# 28940 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -28946,24 +28984,24 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 28952 "parsing/parser.ml" +# 28990 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 28958 "parsing/parser.ml" +# 28996 "parsing/parser.ml" in let _endpos = _endpos__3_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2783 "parsing/parser.mly" +# 2791 "parsing/parser.mly" ( mkpat_attrs ~loc:_sloc (Ppat_exception _3) _2) -# 28967 "parsing/parser.ml" +# 29005 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29000,9 +29038,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.pattern list) = -# 2907 "parsing/parser.mly" +# 2915 "parsing/parser.mly" ( _3 :: _1 ) -# 29006 "parsing/parser.ml" +# 29044 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29039,9 +29077,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.pattern list) = -# 2908 "parsing/parser.mly" +# 2916 "parsing/parser.mly" ( [_3; _1] ) -# 29045 "parsing/parser.ml" +# 29083 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29079,9 +29117,9 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Parsetree.pattern list) = let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2909 "parsing/parser.mly" +# 2917 "parsing/parser.mly" ( expecting _loc__3_ "pattern" ) -# 29085 "parsing/parser.ml" +# 29123 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29118,9 +29156,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.pattern list) = -# 2907 "parsing/parser.mly" +# 2915 "parsing/parser.mly" ( _3 :: _1 ) -# 29124 "parsing/parser.ml" +# 29162 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29157,9 +29195,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Parsetree.pattern list) = -# 2908 "parsing/parser.mly" +# 2916 "parsing/parser.mly" ( [_3; _1] ) -# 29163 "parsing/parser.ml" +# 29201 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29197,9 +29235,9 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Parsetree.pattern list) = let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2909 "parsing/parser.mly" +# 2917 "parsing/parser.mly" ( expecting _loc__3_ "pattern" ) -# 29203 "parsing/parser.ml" +# 29241 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29222,9 +29260,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.pattern) = -# 2816 "parsing/parser.mly" +# 2824 "parsing/parser.mly" ( _1 ) -# 29228 "parsing/parser.ml" +# 29266 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29260,15 +29298,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 29266 "parsing/parser.ml" +# 29304 "parsing/parser.ml" in -# 2819 "parsing/parser.mly" +# 2827 "parsing/parser.mly" ( Ppat_construct(_1, Some _2) ) -# 29272 "parsing/parser.ml" +# 29310 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in @@ -29276,15 +29314,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 29282 "parsing/parser.ml" +# 29320 "parsing/parser.ml" in -# 2822 "parsing/parser.mly" +# 2830 "parsing/parser.mly" ( _1 ) -# 29288 "parsing/parser.ml" +# 29326 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29315,24 +29353,24 @@ module Tables = struct let _endpos = _endpos__2_ in let _v : (Parsetree.pattern) = let _1 = let _1 = -# 2821 "parsing/parser.mly" +# 2829 "parsing/parser.mly" ( Ppat_variant(_1, Some _2) ) -# 29321 "parsing/parser.ml" +# 29359 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 29330 "parsing/parser.ml" +# 29368 "parsing/parser.ml" in -# 2822 "parsing/parser.mly" +# 2830 "parsing/parser.mly" ( _1 ) -# 29336 "parsing/parser.ml" +# 29374 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29380,24 +29418,24 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 29386 "parsing/parser.ml" +# 29424 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 29392 "parsing/parser.ml" +# 29430 "parsing/parser.ml" in let _endpos = _endpos__3_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2824 "parsing/parser.mly" +# 2832 "parsing/parser.mly" ( mkpat_attrs ~loc:_sloc (Ppat_lazy _3) _2) -# 29401 "parsing/parser.ml" +# 29439 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29439,15 +29477,15 @@ module Tables = struct let _loc__2_ = (_startpos__2_, _endpos__2_) in let _sloc = (_symbolstartpos, _endpos) in -# 2793 "parsing/parser.mly" +# 2801 "parsing/parser.mly" ( mkpat_cons ~loc:_sloc _loc__2_ (ghpat ~loc:_sloc (Ppat_tuple[_1;_3])) ) -# 29445 "parsing/parser.ml" +# 29483 "parsing/parser.ml" in -# 2788 "parsing/parser.mly" +# 2796 "parsing/parser.mly" ( _1 ) -# 29451 "parsing/parser.ml" +# 29489 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29477,14 +29515,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.pattern) = let _1 = -# 2795 "parsing/parser.mly" +# 2803 "parsing/parser.mly" ( Pat.attr _1 _2 ) -# 29483 "parsing/parser.ml" +# 29521 "parsing/parser.ml" in -# 2788 "parsing/parser.mly" +# 2796 "parsing/parser.mly" ( _1 ) -# 29488 "parsing/parser.ml" +# 29526 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29507,14 +29545,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.pattern) = let _1 = -# 2797 "parsing/parser.mly" +# 2805 "parsing/parser.mly" ( _1 ) -# 29513 "parsing/parser.ml" +# 29551 "parsing/parser.ml" in -# 2788 "parsing/parser.mly" +# 2796 "parsing/parser.mly" ( _1 ) -# 29518 "parsing/parser.ml" +# 29556 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29559,15 +29597,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 29565 "parsing/parser.ml" +# 29603 "parsing/parser.ml" in -# 2800 "parsing/parser.mly" +# 2808 "parsing/parser.mly" ( Ppat_alias(_1, _3) ) -# 29571 "parsing/parser.ml" +# 29609 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined1_ in @@ -29575,21 +29613,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 29581 "parsing/parser.ml" +# 29619 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 29587 "parsing/parser.ml" +# 29625 "parsing/parser.ml" in -# 2788 "parsing/parser.mly" +# 2796 "parsing/parser.mly" ( _1 ) -# 29593 "parsing/parser.ml" +# 29631 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29630,9 +29668,9 @@ module Tables = struct let _1 = let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2802 "parsing/parser.mly" +# 2810 "parsing/parser.mly" ( expecting _loc__3_ "identifier" ) -# 29636 "parsing/parser.ml" +# 29674 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -29640,21 +29678,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 29646 "parsing/parser.ml" +# 29684 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 29652 "parsing/parser.ml" +# 29690 "parsing/parser.ml" in -# 2788 "parsing/parser.mly" +# 2796 "parsing/parser.mly" ( _1 ) -# 29658 "parsing/parser.ml" +# 29696 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29679,29 +29717,29 @@ module Tables = struct let _v : (Parsetree.pattern) = let _1 = let _1 = let _1 = -# 2804 "parsing/parser.mly" +# 2812 "parsing/parser.mly" ( Ppat_tuple(List.rev _1) ) -# 29685 "parsing/parser.ml" +# 29723 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 29693 "parsing/parser.ml" +# 29731 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 29699 "parsing/parser.ml" +# 29737 "parsing/parser.ml" in -# 2788 "parsing/parser.mly" +# 2796 "parsing/parser.mly" ( _1 ) -# 29705 "parsing/parser.ml" +# 29743 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29742,9 +29780,9 @@ module Tables = struct let _1 = let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2806 "parsing/parser.mly" +# 2814 "parsing/parser.mly" ( expecting _loc__3_ "pattern" ) -# 29748 "parsing/parser.ml" +# 29786 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -29752,21 +29790,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 29758 "parsing/parser.ml" +# 29796 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 29764 "parsing/parser.ml" +# 29802 "parsing/parser.ml" in -# 2788 "parsing/parser.mly" +# 2796 "parsing/parser.mly" ( _1 ) -# 29770 "parsing/parser.ml" +# 29808 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29805,30 +29843,30 @@ module Tables = struct let _v : (Parsetree.pattern) = let _1 = let _1 = let _1 = -# 2808 "parsing/parser.mly" +# 2816 "parsing/parser.mly" ( Ppat_or(_1, _3) ) -# 29811 "parsing/parser.ml" +# 29849 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 29820 "parsing/parser.ml" +# 29858 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 29826 "parsing/parser.ml" +# 29864 "parsing/parser.ml" in -# 2788 "parsing/parser.mly" +# 2796 "parsing/parser.mly" ( _1 ) -# 29832 "parsing/parser.ml" +# 29870 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29869,9 +29907,9 @@ module Tables = struct let _1 = let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2810 "parsing/parser.mly" +# 2818 "parsing/parser.mly" ( expecting _loc__3_ "pattern" ) -# 29875 "parsing/parser.ml" +# 29913 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -29879,21 +29917,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 29885 "parsing/parser.ml" +# 29923 "parsing/parser.ml" in -# 2811 "parsing/parser.mly" +# 2819 "parsing/parser.mly" ( _1 ) -# 29891 "parsing/parser.ml" +# 29929 "parsing/parser.ml" in -# 2788 "parsing/parser.mly" +# 2796 "parsing/parser.mly" ( _1 ) -# 29897 "parsing/parser.ml" +# 29935 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29912,9 +29950,9 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 29918 "parsing/parser.ml" +# 29956 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -29926,30 +29964,30 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 29932 "parsing/parser.ml" +# 29970 "parsing/parser.ml" in -# 2207 "parsing/parser.mly" +# 2211 "parsing/parser.mly" ( Ppat_var _1 ) -# 29938 "parsing/parser.ml" +# 29976 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 29947 "parsing/parser.ml" +# 29985 "parsing/parser.ml" in -# 2209 "parsing/parser.mly" +# 2213 "parsing/parser.mly" ( _1 ) -# 29953 "parsing/parser.ml" +# 29991 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -29973,23 +30011,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.pattern) = let _1 = let _1 = -# 2208 "parsing/parser.mly" +# 2212 "parsing/parser.mly" ( Ppat_any ) -# 29979 "parsing/parser.ml" +# 30017 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 29987 "parsing/parser.ml" +# 30025 "parsing/parser.ml" in -# 2209 "parsing/parser.mly" +# 2213 "parsing/parser.mly" ( _1 ) -# 29993 "parsing/parser.ml" +# 30031 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30012,9 +30050,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.payload) = -# 3969 "parsing/parser.mly" +# 3980 "parsing/parser.mly" ( PStr _1 ) -# 30018 "parsing/parser.ml" +# 30056 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30044,9 +30082,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.payload) = -# 3970 "parsing/parser.mly" +# 3981 "parsing/parser.mly" ( PSig _2 ) -# 30050 "parsing/parser.ml" +# 30088 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30076,9 +30114,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.payload) = -# 3971 "parsing/parser.mly" +# 3982 "parsing/parser.mly" ( PTyp _2 ) -# 30082 "parsing/parser.ml" +# 30120 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30108,9 +30146,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.payload) = -# 3972 "parsing/parser.mly" +# 3983 "parsing/parser.mly" ( PPat (_2, None) ) -# 30114 "parsing/parser.ml" +# 30152 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30154,9 +30192,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : (Parsetree.payload) = -# 3973 "parsing/parser.mly" +# 3984 "parsing/parser.mly" ( PPat (_2, Some _4) ) -# 30160 "parsing/parser.ml" +# 30198 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30179,9 +30217,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.core_type) = -# 3339 "parsing/parser.mly" +# 3349 "parsing/parser.mly" ( _1 ) -# 30185 "parsing/parser.ml" +# 30223 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30224,24 +30262,24 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 30228 "parsing/parser.ml" +# 30266 "parsing/parser.ml" in -# 1005 "parsing/parser.mly" +# 1008 "parsing/parser.mly" ( xs ) -# 30233 "parsing/parser.ml" +# 30271 "parsing/parser.ml" in -# 3331 "parsing/parser.mly" +# 3341 "parsing/parser.mly" ( _1 ) -# 30239 "parsing/parser.ml" +# 30277 "parsing/parser.ml" in -# 3335 "parsing/parser.mly" +# 3345 "parsing/parser.mly" ( Ptyp_poly(_1, _3) ) -# 30245 "parsing/parser.ml" +# 30283 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos__3_, _startpos_xs_) in @@ -30249,15 +30287,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 30255 "parsing/parser.ml" +# 30293 "parsing/parser.ml" in -# 3341 "parsing/parser.mly" +# 3351 "parsing/parser.mly" ( _1 ) -# 30261 "parsing/parser.ml" +# 30299 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30280,14 +30318,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.core_type) = let _1 = -# 3370 "parsing/parser.mly" +# 3380 "parsing/parser.mly" ( _1 ) -# 30286 "parsing/parser.ml" +# 30324 "parsing/parser.ml" in -# 3339 "parsing/parser.mly" +# 3349 "parsing/parser.mly" ( _1 ) -# 30291 "parsing/parser.ml" +# 30329 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30326,33 +30364,33 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let _3 = -# 3370 "parsing/parser.mly" +# 3380 "parsing/parser.mly" ( _1 ) -# 30332 "parsing/parser.ml" +# 30370 "parsing/parser.ml" in let _1 = let _1 = let xs = # 253 "" ( List.rev xs ) -# 30339 "parsing/parser.ml" +# 30377 "parsing/parser.ml" in -# 1005 "parsing/parser.mly" +# 1008 "parsing/parser.mly" ( xs ) -# 30344 "parsing/parser.ml" +# 30382 "parsing/parser.ml" in -# 3331 "parsing/parser.mly" +# 3341 "parsing/parser.mly" ( _1 ) -# 30350 "parsing/parser.ml" +# 30388 "parsing/parser.ml" in -# 3335 "parsing/parser.mly" +# 3345 "parsing/parser.mly" ( Ptyp_poly(_1, _3) ) -# 30356 "parsing/parser.ml" +# 30394 "parsing/parser.ml" in let _startpos__1_ = _startpos_xs_ in @@ -30360,15 +30398,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 30366 "parsing/parser.ml" +# 30404 "parsing/parser.ml" in -# 3341 "parsing/parser.mly" +# 3351 "parsing/parser.mly" ( _1 ) -# 30372 "parsing/parser.ml" +# 30410 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30415,9 +30453,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3932 "parsing/parser.mly" - ( Attr.mk ~loc:(make_loc _sloc) _2 _3 ) -# 30421 "parsing/parser.ml" +# 3943 "parsing/parser.mly" + ( Builtin_attributes.mk_internal ~loc:(make_loc _sloc) _2 _3 ) +# 30459 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30498,9 +30536,9 @@ module Tables = struct let _v : (Parsetree.value_description * string Asttypes.loc option) = let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 30504 "parsing/parser.ml" +# 30542 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -30510,30 +30548,30 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 30516 "parsing/parser.ml" +# 30554 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 30524 "parsing/parser.ml" +# 30562 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2971 "parsing/parser.mly" +# 2979 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Val.mk id ty ~prim ~attrs ~loc ~docs, ext ) -# 30537 "parsing/parser.ml" +# 30575 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30549,14 +30587,14 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (Asttypes.private_flag) = let _1 = -# 3792 "parsing/parser.mly" +# 3803 "parsing/parser.mly" ( Public ) -# 30555 "parsing/parser.ml" +# 30593 "parsing/parser.ml" in -# 3789 "parsing/parser.mly" +# 3800 "parsing/parser.mly" ( _1 ) -# 30560 "parsing/parser.ml" +# 30598 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30579,14 +30617,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.private_flag) = let _1 = -# 3793 "parsing/parser.mly" +# 3804 "parsing/parser.mly" ( Private ) -# 30585 "parsing/parser.ml" +# 30623 "parsing/parser.ml" in -# 3789 "parsing/parser.mly" +# 3800 "parsing/parser.mly" ( _1 ) -# 30590 "parsing/parser.ml" +# 30628 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30602,9 +30640,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (Asttypes.private_flag * Asttypes.virtual_flag) = -# 3821 "parsing/parser.mly" +# 3832 "parsing/parser.mly" ( Public, Concrete ) -# 30608 "parsing/parser.ml" +# 30646 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30627,9 +30665,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.private_flag * Asttypes.virtual_flag) = -# 3822 "parsing/parser.mly" +# 3833 "parsing/parser.mly" ( Private, Concrete ) -# 30633 "parsing/parser.ml" +# 30671 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30652,9 +30690,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.private_flag * Asttypes.virtual_flag) = -# 3823 "parsing/parser.mly" +# 3834 "parsing/parser.mly" ( Public, Virtual ) -# 30658 "parsing/parser.ml" +# 30696 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30684,9 +30722,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.private_flag * Asttypes.virtual_flag) = -# 3824 "parsing/parser.mly" +# 3835 "parsing/parser.mly" ( Private, Virtual ) -# 30690 "parsing/parser.ml" +# 30728 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30716,9 +30754,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.private_flag * Asttypes.virtual_flag) = -# 3825 "parsing/parser.mly" +# 3836 "parsing/parser.mly" ( Private, Virtual ) -# 30722 "parsing/parser.ml" +# 30760 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30734,9 +30772,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (Asttypes.rec_flag) = -# 3772 "parsing/parser.mly" +# 3783 "parsing/parser.mly" ( Nonrecursive ) -# 30740 "parsing/parser.ml" +# 30778 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30759,9 +30797,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.rec_flag) = -# 3773 "parsing/parser.mly" +# 3784 "parsing/parser.mly" ( Recursive ) -# 30765 "parsing/parser.ml" +# 30803 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30787,12 +30825,12 @@ module Tables = struct (Longident.t Asttypes.loc * Parsetree.expression) list) = let eo = # 124 "" ( None ) -# 30791 "parsing/parser.ml" +# 30829 "parsing/parser.ml" in -# 2713 "parsing/parser.mly" +# 2721 "parsing/parser.mly" ( eo, fields ) -# 30796 "parsing/parser.ml" +# 30834 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30833,18 +30871,18 @@ module Tables = struct let x = # 191 "" ( x ) -# 30837 "parsing/parser.ml" +# 30875 "parsing/parser.ml" in # 126 "" ( Some x ) -# 30842 "parsing/parser.ml" +# 30880 "parsing/parser.ml" in -# 2713 "parsing/parser.mly" +# 2721 "parsing/parser.mly" ( eo, fields ) -# 30848 "parsing/parser.ml" +# 30886 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30869,17 +30907,17 @@ module Tables = struct let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : (Parsetree.constructor_declaration list) = let x = -# 3156 "parsing/parser.mly" +# 3164 "parsing/parser.mly" ( let cid, args, res, attrs, loc, info = d in Type.constructor cid ~args ?res ~attrs ~loc ~info ) -# 30878 "parsing/parser.ml" +# 30916 "parsing/parser.ml" in -# 1115 "parsing/parser.mly" +# 1118 "parsing/parser.mly" ( [x] ) -# 30883 "parsing/parser.ml" +# 30921 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30904,17 +30942,17 @@ module Tables = struct let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : (Parsetree.constructor_declaration list) = let x = -# 3156 "parsing/parser.mly" +# 3164 "parsing/parser.mly" ( let cid, args, res, attrs, loc, info = d in Type.constructor cid ~args ?res ~attrs ~loc ~info ) -# 30913 "parsing/parser.ml" +# 30951 "parsing/parser.ml" in -# 1118 "parsing/parser.mly" +# 1121 "parsing/parser.mly" ( [x] ) -# 30918 "parsing/parser.ml" +# 30956 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30946,17 +30984,17 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_d_ in let _v : (Parsetree.constructor_declaration list) = let x = -# 3156 "parsing/parser.mly" +# 3164 "parsing/parser.mly" ( let cid, args, res, attrs, loc, info = d in Type.constructor cid ~args ?res ~attrs ~loc ~info ) -# 30955 "parsing/parser.ml" +# 30993 "parsing/parser.ml" in -# 1122 "parsing/parser.mly" +# 1125 "parsing/parser.mly" ( x :: xs ) -# 30960 "parsing/parser.ml" +# 30998 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -30982,23 +31020,23 @@ module Tables = struct let _endpos = _endpos_d_ in let _v : (Parsetree.extension_constructor list) = let x = let _1 = -# 3273 "parsing/parser.mly" +# 3283 "parsing/parser.mly" ( let cid, args, res, attrs, loc, info = d in Te.decl cid ~args ?res ~attrs ~loc ~info ) -# 30991 "parsing/parser.ml" +# 31029 "parsing/parser.ml" in -# 3267 "parsing/parser.mly" +# 3277 "parsing/parser.mly" ( _1 ) -# 30996 "parsing/parser.ml" +# 31034 "parsing/parser.ml" in -# 1115 "parsing/parser.mly" +# 1118 "parsing/parser.mly" ( [x] ) -# 31002 "parsing/parser.ml" +# 31040 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31021,14 +31059,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.extension_constructor list) = let x = -# 3269 "parsing/parser.mly" +# 3279 "parsing/parser.mly" ( _1 ) -# 31027 "parsing/parser.ml" +# 31065 "parsing/parser.ml" in -# 1115 "parsing/parser.mly" +# 1118 "parsing/parser.mly" ( [x] ) -# 31032 "parsing/parser.ml" +# 31070 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31054,23 +31092,23 @@ module Tables = struct let _endpos = _endpos_d_ in let _v : (Parsetree.extension_constructor list) = let x = let _1 = -# 3273 "parsing/parser.mly" +# 3283 "parsing/parser.mly" ( let cid, args, res, attrs, loc, info = d in Te.decl cid ~args ?res ~attrs ~loc ~info ) -# 31063 "parsing/parser.ml" +# 31101 "parsing/parser.ml" in -# 3267 "parsing/parser.mly" +# 3277 "parsing/parser.mly" ( _1 ) -# 31068 "parsing/parser.ml" +# 31106 "parsing/parser.ml" in -# 1118 "parsing/parser.mly" +# 1121 "parsing/parser.mly" ( [x] ) -# 31074 "parsing/parser.ml" +# 31112 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31093,14 +31131,14 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.extension_constructor list) = let x = -# 3269 "parsing/parser.mly" +# 3279 "parsing/parser.mly" ( _1 ) -# 31099 "parsing/parser.ml" +# 31137 "parsing/parser.ml" in -# 1118 "parsing/parser.mly" +# 1121 "parsing/parser.mly" ( [x] ) -# 31104 "parsing/parser.ml" +# 31142 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31133,23 +31171,23 @@ module Tables = struct let _endpos = _endpos_d_ in let _v : (Parsetree.extension_constructor list) = let x = let _1 = -# 3273 "parsing/parser.mly" +# 3283 "parsing/parser.mly" ( let cid, args, res, attrs, loc, info = d in Te.decl cid ~args ?res ~attrs ~loc ~info ) -# 31142 "parsing/parser.ml" +# 31180 "parsing/parser.ml" in -# 3267 "parsing/parser.mly" +# 3277 "parsing/parser.mly" ( _1 ) -# 31147 "parsing/parser.ml" +# 31185 "parsing/parser.ml" in -# 1122 "parsing/parser.mly" +# 1125 "parsing/parser.mly" ( x :: xs ) -# 31153 "parsing/parser.ml" +# 31191 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31179,14 +31217,14 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos__1_ in let _v : (Parsetree.extension_constructor list) = let x = -# 3269 "parsing/parser.mly" +# 3279 "parsing/parser.mly" ( _1 ) -# 31185 "parsing/parser.ml" +# 31223 "parsing/parser.ml" in -# 1122 "parsing/parser.mly" +# 1125 "parsing/parser.mly" ( x :: xs ) -# 31190 "parsing/parser.ml" +# 31228 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31211,17 +31249,17 @@ module Tables = struct let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : (Parsetree.extension_constructor list) = let x = -# 3273 "parsing/parser.mly" +# 3283 "parsing/parser.mly" ( let cid, args, res, attrs, loc, info = d in Te.decl cid ~args ?res ~attrs ~loc ~info ) -# 31220 "parsing/parser.ml" +# 31258 "parsing/parser.ml" in -# 1115 "parsing/parser.mly" +# 1118 "parsing/parser.mly" ( [x] ) -# 31225 "parsing/parser.ml" +# 31263 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31246,17 +31284,17 @@ module Tables = struct let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : (Parsetree.extension_constructor list) = let x = -# 3273 "parsing/parser.mly" +# 3283 "parsing/parser.mly" ( let cid, args, res, attrs, loc, info = d in Te.decl cid ~args ?res ~attrs ~loc ~info ) -# 31255 "parsing/parser.ml" +# 31293 "parsing/parser.ml" in -# 1118 "parsing/parser.mly" +# 1121 "parsing/parser.mly" ( [x] ) -# 31260 "parsing/parser.ml" +# 31298 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31288,17 +31326,17 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_d_ in let _v : (Parsetree.extension_constructor list) = let x = -# 3273 "parsing/parser.mly" +# 3283 "parsing/parser.mly" ( let cid, args, res, attrs, loc, info = d in Te.decl cid ~args ?res ~attrs ~loc ~info ) -# 31297 "parsing/parser.ml" +# 31335 "parsing/parser.ml" in -# 1122 "parsing/parser.mly" +# 1125 "parsing/parser.mly" ( x :: xs ) -# 31302 "parsing/parser.ml" +# 31340 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31314,9 +31352,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : ((Parsetree.core_type * Parsetree.core_type * Ast_helper.loc) list) = -# 981 "parsing/parser.mly" +# 984 "parsing/parser.mly" ( [] ) -# 31320 "parsing/parser.ml" +# 31358 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31373,21 +31411,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2083 "parsing/parser.mly" +# 2086 "parsing/parser.mly" ( _1, _3, make_loc _sloc ) -# 31379 "parsing/parser.ml" +# 31417 "parsing/parser.ml" in # 183 "" ( x ) -# 31385 "parsing/parser.ml" +# 31423 "parsing/parser.ml" in -# 983 "parsing/parser.mly" +# 986 "parsing/parser.mly" ( x :: xs ) -# 31391 "parsing/parser.ml" +# 31429 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31410,9 +31448,9 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : ((Lexing.position * Parsetree.functor_parameter) list) = -# 995 "parsing/parser.mly" +# 998 "parsing/parser.mly" ( [ x ] ) -# 31416 "parsing/parser.ml" +# 31454 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31442,9 +31480,9 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : ((Lexing.position * Parsetree.functor_parameter) list) = -# 997 "parsing/parser.mly" +# 1000 "parsing/parser.mly" ( x :: xs ) -# 31448 "parsing/parser.ml" +# 31486 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31467,9 +31505,9 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : ((Asttypes.arg_label * Parsetree.expression) list) = -# 995 "parsing/parser.mly" +# 998 "parsing/parser.mly" ( [ x ] ) -# 31473 "parsing/parser.ml" +# 31511 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31499,9 +31537,9 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : ((Asttypes.arg_label * Parsetree.expression) list) = -# 997 "parsing/parser.mly" +# 1000 "parsing/parser.mly" ( x :: xs ) -# 31505 "parsing/parser.ml" +# 31543 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31524,9 +31562,9 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : (Asttypes.label list) = -# 995 "parsing/parser.mly" +# 998 "parsing/parser.mly" ( [ x ] ) -# 31530 "parsing/parser.ml" +# 31568 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31556,9 +31594,9 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : (Asttypes.label list) = -# 997 "parsing/parser.mly" +# 1000 "parsing/parser.mly" ( x :: xs ) -# 31562 "parsing/parser.ml" +# 31600 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31594,21 +31632,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 31600 "parsing/parser.ml" +# 31638 "parsing/parser.ml" in -# 3327 "parsing/parser.mly" +# 3337 "parsing/parser.mly" ( _2 ) -# 31606 "parsing/parser.ml" +# 31644 "parsing/parser.ml" in -# 995 "parsing/parser.mly" +# 998 "parsing/parser.mly" ( [ x ] ) -# 31612 "parsing/parser.ml" +# 31650 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31651,21 +31689,21 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 31657 "parsing/parser.ml" +# 31695 "parsing/parser.ml" in -# 3327 "parsing/parser.mly" +# 3337 "parsing/parser.mly" ( _2 ) -# 31663 "parsing/parser.ml" +# 31701 "parsing/parser.ml" in -# 997 "parsing/parser.mly" +# 1000 "parsing/parser.mly" ( x :: xs ) -# 31669 "parsing/parser.ml" +# 31707 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31690,12 +31728,12 @@ module Tables = struct let _v : (Parsetree.case list) = let _1 = # 124 "" ( None ) -# 31694 "parsing/parser.ml" +# 31732 "parsing/parser.ml" in -# 1086 "parsing/parser.mly" +# 1089 "parsing/parser.mly" ( [x] ) -# 31699 "parsing/parser.ml" +# 31737 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31729,13 +31767,13 @@ module Tables = struct # 126 "" ( Some x ) -# 31733 "parsing/parser.ml" +# 31771 "parsing/parser.ml" in -# 1086 "parsing/parser.mly" +# 1089 "parsing/parser.mly" ( [x] ) -# 31739 "parsing/parser.ml" +# 31777 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31772,9 +31810,9 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : (Parsetree.case list) = -# 1090 "parsing/parser.mly" +# 1093 "parsing/parser.mly" ( x :: xs ) -# 31778 "parsing/parser.ml" +# 31816 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31798,20 +31836,20 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.core_type list) = let xs = let x = -# 3370 "parsing/parser.mly" +# 3380 "parsing/parser.mly" ( _1 ) -# 31804 "parsing/parser.ml" +# 31842 "parsing/parser.ml" in -# 1021 "parsing/parser.mly" +# 1024 "parsing/parser.mly" ( [ x ] ) -# 31809 "parsing/parser.ml" +# 31847 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 31815 "parsing/parser.ml" +# 31853 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31849,20 +31887,20 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.core_type list) = let xs = let x = -# 3370 "parsing/parser.mly" +# 3380 "parsing/parser.mly" ( _1 ) -# 31855 "parsing/parser.ml" +# 31893 "parsing/parser.ml" in -# 1025 "parsing/parser.mly" +# 1028 "parsing/parser.mly" ( x :: xs ) -# 31860 "parsing/parser.ml" +# 31898 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 31866 "parsing/parser.ml" +# 31904 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31885,14 +31923,14 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : (Extensions.comprehension_clause list) = let xs = -# 1021 "parsing/parser.mly" +# 1024 "parsing/parser.mly" ( [ x ] ) -# 31891 "parsing/parser.ml" +# 31929 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 31896 "parsing/parser.ml" +# 31934 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31929,14 +31967,14 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : (Extensions.comprehension_clause list) = let xs = -# 1025 "parsing/parser.mly" +# 1028 "parsing/parser.mly" ( x :: xs ) -# 31935 "parsing/parser.ml" +# 31973 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 31940 "parsing/parser.ml" +# 31978 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -31959,14 +31997,14 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : (Parsetree.with_constraint list) = let xs = -# 1021 "parsing/parser.mly" +# 1024 "parsing/parser.mly" ( [ x ] ) -# 31965 "parsing/parser.ml" +# 32003 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 31970 "parsing/parser.ml" +# 32008 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32003,14 +32041,14 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : (Parsetree.with_constraint list) = let xs = -# 1025 "parsing/parser.mly" +# 1028 "parsing/parser.mly" ( x :: xs ) -# 32009 "parsing/parser.ml" +# 32047 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 32014 "parsing/parser.ml" +# 32052 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32033,14 +32071,14 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : (Parsetree.row_field list) = let xs = -# 1021 "parsing/parser.mly" +# 1024 "parsing/parser.mly" ( [ x ] ) -# 32039 "parsing/parser.ml" +# 32077 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 32044 "parsing/parser.ml" +# 32082 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32077,14 +32115,14 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : (Parsetree.row_field list) = let xs = -# 1025 "parsing/parser.mly" +# 1028 "parsing/parser.mly" ( x :: xs ) -# 32083 "parsing/parser.ml" +# 32121 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 32088 "parsing/parser.ml" +# 32126 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32107,14 +32145,14 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : (Parsetree.core_type list) = let xs = -# 1021 "parsing/parser.mly" +# 1024 "parsing/parser.mly" ( [ x ] ) -# 32113 "parsing/parser.ml" +# 32151 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 32118 "parsing/parser.ml" +# 32156 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32151,14 +32189,14 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : (Parsetree.core_type list) = let xs = -# 1025 "parsing/parser.mly" +# 1028 "parsing/parser.mly" ( x :: xs ) -# 32157 "parsing/parser.ml" +# 32195 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 32162 "parsing/parser.ml" +# 32200 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32181,14 +32219,14 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = let xs = -# 1021 "parsing/parser.mly" +# 1024 "parsing/parser.mly" ( [ x ] ) -# 32187 "parsing/parser.ml" +# 32225 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 32192 "parsing/parser.ml" +# 32230 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32225,14 +32263,14 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = let xs = -# 1025 "parsing/parser.mly" +# 1028 "parsing/parser.mly" ( x :: xs ) -# 32231 "parsing/parser.ml" +# 32269 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 32236 "parsing/parser.ml" +# 32274 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32255,14 +32293,14 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : (Parsetree.core_type list) = let xs = -# 1021 "parsing/parser.mly" +# 1024 "parsing/parser.mly" ( [ x ] ) -# 32261 "parsing/parser.ml" +# 32299 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 32266 "parsing/parser.ml" +# 32304 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32299,14 +32337,14 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : (Parsetree.core_type list) = let xs = -# 1025 "parsing/parser.mly" +# 1028 "parsing/parser.mly" ( x :: xs ) -# 32305 "parsing/parser.ml" +# 32343 "parsing/parser.ml" in -# 1029 "parsing/parser.mly" +# 1032 "parsing/parser.mly" ( xs ) -# 32310 "parsing/parser.ml" +# 32348 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32343,9 +32381,9 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : (Parsetree.core_type list) = -# 1052 "parsing/parser.mly" +# 1055 "parsing/parser.mly" ( x :: xs ) -# 32349 "parsing/parser.ml" +# 32387 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32382,9 +32420,9 @@ module Tables = struct let _startpos = _startpos_x1_ in let _endpos = _endpos_x2_ in let _v : (Parsetree.core_type list) = -# 1056 "parsing/parser.mly" +# 1059 "parsing/parser.mly" ( [ x2; x1 ] ) -# 32388 "parsing/parser.ml" +# 32426 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32421,9 +32459,9 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : (Parsetree.expression list) = -# 1052 "parsing/parser.mly" +# 1055 "parsing/parser.mly" ( x :: xs ) -# 32427 "parsing/parser.ml" +# 32465 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32460,9 +32498,9 @@ module Tables = struct let _startpos = _startpos_x1_ in let _endpos = _endpos_x2_ in let _v : (Parsetree.expression list) = -# 1056 "parsing/parser.mly" +# 1059 "parsing/parser.mly" ( [ x2; x1 ] ) -# 32466 "parsing/parser.ml" +# 32504 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32499,9 +32537,9 @@ module Tables = struct let _startpos = _startpos_xs_ in let _endpos = _endpos_x_ in let _v : (Parsetree.core_type list) = -# 1052 "parsing/parser.mly" +# 1055 "parsing/parser.mly" ( x :: xs ) -# 32505 "parsing/parser.ml" +# 32543 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32538,9 +32576,9 @@ module Tables = struct let _startpos = _startpos_x1_ in let _endpos = _endpos_x2_ in let _v : (Parsetree.core_type list) = -# 1056 "parsing/parser.mly" +# 1059 "parsing/parser.mly" ( [ x2; x1 ] ) -# 32544 "parsing/parser.ml" +# 32582 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32563,9 +32601,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.row_field) = -# 3535 "parsing/parser.mly" +# 3546 "parsing/parser.mly" ( _1 ) -# 32569 "parsing/parser.ml" +# 32607 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32591,9 +32629,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3537 "parsing/parser.mly" +# 3548 "parsing/parser.mly" ( Rf.inherit_ ~loc:(make_loc _sloc) _1 ) -# 32597 "parsing/parser.ml" +# 32635 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32618,12 +32656,12 @@ module Tables = struct let _v : (Parsetree.expression list) = let _2 = # 124 "" ( None ) -# 32622 "parsing/parser.ml" +# 32660 "parsing/parser.ml" in -# 1073 "parsing/parser.mly" +# 1076 "parsing/parser.mly" ( [x] ) -# 32627 "parsing/parser.ml" +# 32665 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32657,13 +32695,13 @@ module Tables = struct # 126 "" ( Some x ) -# 32661 "parsing/parser.ml" +# 32699 "parsing/parser.ml" in -# 1073 "parsing/parser.mly" +# 1076 "parsing/parser.mly" ( [x] ) -# 32667 "parsing/parser.ml" +# 32705 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32700,9 +32738,9 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in let _v : (Parsetree.expression list) = -# 1077 "parsing/parser.mly" +# 1080 "parsing/parser.mly" ( x :: xs ) -# 32706 "parsing/parser.ml" +# 32744 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32728,9 +32766,9 @@ module Tables = struct } = _menhir_stack in let oe : (Parsetree.expression option) = Obj.magic oe in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 32734 "parsing/parser.ml" +# 32772 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -32738,22 +32776,22 @@ module Tables = struct let _v : ((Asttypes.label Asttypes.loc * Parsetree.expression) list) = let _2 = # 124 "" ( None ) -# 32742 "parsing/parser.ml" +# 32780 "parsing/parser.ml" in let x = let label = let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 32749 "parsing/parser.ml" +# 32787 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 32757 "parsing/parser.ml" +# 32795 "parsing/parser.ml" in let _startpos_label_ = _startpos__1_ in @@ -32761,7 +32799,7 @@ module Tables = struct let _symbolstartpos = _startpos_label_ in let _sloc = (_symbolstartpos, _endpos) in -# 2736 "parsing/parser.mly" +# 2744 "parsing/parser.mly" ( let e = match oe with | None -> @@ -32771,13 +32809,13 @@ module Tables = struct e in label, e ) -# 32775 "parsing/parser.ml" +# 32813 "parsing/parser.ml" in -# 1073 "parsing/parser.mly" +# 1076 "parsing/parser.mly" ( [x] ) -# 32781 "parsing/parser.ml" +# 32819 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32810,9 +32848,9 @@ module Tables = struct let x : unit = Obj.magic x in let oe : (Parsetree.expression option) = Obj.magic oe in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 32816 "parsing/parser.ml" +# 32854 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -32820,22 +32858,22 @@ module Tables = struct let _v : ((Asttypes.label Asttypes.loc * Parsetree.expression) list) = let _2 = # 126 "" ( Some x ) -# 32824 "parsing/parser.ml" +# 32862 "parsing/parser.ml" in let x = let label = let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 32831 "parsing/parser.ml" +# 32869 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 32839 "parsing/parser.ml" +# 32877 "parsing/parser.ml" in let _startpos_label_ = _startpos__1_ in @@ -32843,7 +32881,7 @@ module Tables = struct let _symbolstartpos = _startpos_label_ in let _sloc = (_symbolstartpos, _endpos) in -# 2736 "parsing/parser.mly" +# 2744 "parsing/parser.mly" ( let e = match oe with | None -> @@ -32853,13 +32891,13 @@ module Tables = struct e in label, e ) -# 32857 "parsing/parser.ml" +# 32895 "parsing/parser.ml" in -# 1073 "parsing/parser.mly" +# 1076 "parsing/parser.mly" ( [x] ) -# 32863 "parsing/parser.ml" +# 32901 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32899,9 +32937,9 @@ module Tables = struct let _2 : unit = Obj.magic _2 in let oe : (Parsetree.expression option) = Obj.magic oe in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 32905 "parsing/parser.ml" +# 32943 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -32909,17 +32947,17 @@ module Tables = struct let _v : ((Asttypes.label Asttypes.loc * Parsetree.expression) list) = let x = let label = let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 32915 "parsing/parser.ml" +# 32953 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 32923 "parsing/parser.ml" +# 32961 "parsing/parser.ml" in let _startpos_label_ = _startpos__1_ in @@ -32927,7 +32965,7 @@ module Tables = struct let _symbolstartpos = _startpos_label_ in let _sloc = (_symbolstartpos, _endpos) in -# 2736 "parsing/parser.mly" +# 2744 "parsing/parser.mly" ( let e = match oe with | None -> @@ -32937,13 +32975,13 @@ module Tables = struct e in label, e ) -# 32941 "parsing/parser.ml" +# 32979 "parsing/parser.ml" in -# 1077 "parsing/parser.mly" +# 1080 "parsing/parser.mly" ( x :: xs ) -# 32947 "parsing/parser.ml" +# 32985 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -32968,12 +33006,12 @@ module Tables = struct let _v : (Parsetree.pattern list) = let _2 = # 124 "" ( None ) -# 32972 "parsing/parser.ml" +# 33010 "parsing/parser.ml" in -# 1073 "parsing/parser.mly" +# 1076 "parsing/parser.mly" ( [x] ) -# 32977 "parsing/parser.ml" +# 33015 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33007,13 +33045,13 @@ module Tables = struct # 126 "" ( Some x ) -# 33011 "parsing/parser.ml" +# 33049 "parsing/parser.ml" in -# 1073 "parsing/parser.mly" +# 1076 "parsing/parser.mly" ( [x] ) -# 33017 "parsing/parser.ml" +# 33055 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33050,9 +33088,9 @@ module Tables = struct let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in let _v : (Parsetree.pattern list) = -# 1077 "parsing/parser.mly" +# 1080 "parsing/parser.mly" ( x :: xs ) -# 33056 "parsing/parser.ml" +# 33094 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33091,7 +33129,7 @@ module Tables = struct let _v : ((Longident.t Asttypes.loc * Parsetree.expression) list) = let _2 = # 124 "" ( None ) -# 33095 "parsing/parser.ml" +# 33133 "parsing/parser.ml" in let x = let label = @@ -33099,9 +33137,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 33105 "parsing/parser.ml" +# 33143 "parsing/parser.ml" in let _startpos_label_ = _startpos__1_ in @@ -33109,7 +33147,7 @@ module Tables = struct let _symbolstartpos = _startpos_label_ in let _sloc = (_symbolstartpos, _endpos) in -# 2719 "parsing/parser.mly" +# 2727 "parsing/parser.mly" ( let e = match eo with | None -> @@ -33119,13 +33157,13 @@ module Tables = struct e in label, mkexp_opt_constraint ~loc:_sloc e c ) -# 33123 "parsing/parser.ml" +# 33161 "parsing/parser.ml" in -# 1073 "parsing/parser.mly" +# 1076 "parsing/parser.mly" ( [x] ) -# 33129 "parsing/parser.ml" +# 33167 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33171,7 +33209,7 @@ module Tables = struct let _v : ((Longident.t Asttypes.loc * Parsetree.expression) list) = let _2 = # 126 "" ( Some x ) -# 33175 "parsing/parser.ml" +# 33213 "parsing/parser.ml" in let x = let label = @@ -33179,9 +33217,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 33185 "parsing/parser.ml" +# 33223 "parsing/parser.ml" in let _startpos_label_ = _startpos__1_ in @@ -33189,7 +33227,7 @@ module Tables = struct let _symbolstartpos = _startpos_label_ in let _sloc = (_symbolstartpos, _endpos) in -# 2719 "parsing/parser.mly" +# 2727 "parsing/parser.mly" ( let e = match eo with | None -> @@ -33199,13 +33237,13 @@ module Tables = struct e in label, mkexp_opt_constraint ~loc:_sloc e c ) -# 33203 "parsing/parser.ml" +# 33241 "parsing/parser.ml" in -# 1073 "parsing/parser.mly" +# 1076 "parsing/parser.mly" ( [x] ) -# 33209 "parsing/parser.ml" +# 33247 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33261,9 +33299,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 33267 "parsing/parser.ml" +# 33305 "parsing/parser.ml" in let _startpos_label_ = _startpos__1_ in @@ -33271,7 +33309,7 @@ module Tables = struct let _symbolstartpos = _startpos_label_ in let _sloc = (_symbolstartpos, _endpos) in -# 2719 "parsing/parser.mly" +# 2727 "parsing/parser.mly" ( let e = match eo with | None -> @@ -33281,13 +33319,13 @@ module Tables = struct e in label, mkexp_opt_constraint ~loc:_sloc e c ) -# 33285 "parsing/parser.ml" +# 33323 "parsing/parser.ml" in -# 1077 "parsing/parser.mly" +# 1080 "parsing/parser.mly" ( x :: xs ) -# 33291 "parsing/parser.ml" +# 33329 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33310,9 +33348,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.expression) = -# 2172 "parsing/parser.mly" +# 2175 "parsing/parser.mly" ( _1 ) -# 33316 "parsing/parser.ml" +# 33354 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33342,9 +33380,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.expression) = -# 2173 "parsing/parser.mly" +# 2176 "parsing/parser.mly" ( _1 ) -# 33348 "parsing/parser.ml" +# 33386 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33382,24 +33420,24 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Parsetree.expression) = let _1 = let _1 = -# 2175 "parsing/parser.mly" +# 2178 "parsing/parser.mly" ( Pexp_sequence(_1, _3) ) -# 33388 "parsing/parser.ml" +# 33426 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 33397 "parsing/parser.ml" +# 33435 "parsing/parser.ml" in -# 2176 "parsing/parser.mly" +# 2179 "parsing/parser.mly" ( _1 ) -# 33403 "parsing/parser.ml" +# 33441 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33453,11 +33491,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2178 "parsing/parser.mly" +# 2181 "parsing/parser.mly" ( let seq = mkexp ~loc:_sloc (Pexp_sequence (_1, _5)) in let payload = PStr [mkstrexp seq []] in mkexp ~loc:_sloc (Pexp_extension (_4, payload)) ) -# 33461 "parsing/parser.ml" +# 33499 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33524,18 +33562,18 @@ module Tables = struct let _v : (Parsetree.type_exception * string Asttypes.loc option) = let attrs = let _1 = _1_inlined4 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 33530 "parsing/parser.ml" +# 33568 "parsing/parser.ml" in let _endpos_attrs_ = _endpos__1_inlined4_ in let attrs2 = let _1 = _1_inlined3 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 33539 "parsing/parser.ml" +# 33577 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -33545,17 +33583,17 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 33551 "parsing/parser.ml" +# 33589 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 33559 "parsing/parser.ml" +# 33597 "parsing/parser.ml" in let _endpos = _endpos_attrs_ in @@ -33563,14 +33601,14 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3186 "parsing/parser.mly" +# 3194 "parsing/parser.mly" ( let args, res = args_res in let loc = make_loc (_startpos, _endpos_attrs2_) in let docs = symbol_docs _sloc in Te.mk_exception ~attrs (Te.decl id ~args ?res ~attrs:(attrs1 @ attrs2) ~loc ~docs) , ext ) -# 33574 "parsing/parser.ml" +# 33612 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33596,21 +33634,21 @@ module Tables = struct let _1 = # 260 "" ( List.flatten xss ) -# 33600 "parsing/parser.ml" +# 33638 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_xss_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 896 "parsing/parser.mly" +# 899 "parsing/parser.mly" ( extra_sig _startpos _endpos _1 ) -# 33608 "parsing/parser.ml" +# 33646 "parsing/parser.ml" in -# 1640 "parsing/parser.mly" +# 1643 "parsing/parser.mly" ( _1 ) -# 33614 "parsing/parser.ml" +# 33652 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33642,9 +33680,9 @@ module Tables = struct let _v : (Parsetree.signature_item) = let _2 = let _1 = _1_inlined1 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 33648 "parsing/parser.ml" +# 33686 "parsing/parser.ml" in let _endpos__2_ = _endpos__1_inlined1_ in @@ -33652,10 +33690,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1655 "parsing/parser.mly" +# 1658 "parsing/parser.mly" ( let docs = symbol_docs _sloc in mksig ~loc:_sloc (Psig_extension (_1, (add_docs_attrs docs _2))) ) -# 33659 "parsing/parser.ml" +# 33697 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33679,23 +33717,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.signature_item) = let _1 = let _1 = -# 1659 "parsing/parser.mly" +# 1662 "parsing/parser.mly" ( Psig_attribute _1 ) -# 33685 "parsing/parser.ml" +# 33723 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 944 "parsing/parser.mly" +# 947 "parsing/parser.mly" ( mksig ~loc:_sloc _1 ) -# 33693 "parsing/parser.ml" +# 33731 "parsing/parser.ml" in -# 1661 "parsing/parser.mly" +# 1664 "parsing/parser.mly" ( _1 ) -# 33699 "parsing/parser.ml" +# 33737 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33719,23 +33757,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.signature_item) = let _1 = let _1 = -# 1664 "parsing/parser.mly" +# 1667 "parsing/parser.mly" ( psig_value _1 ) -# 33725 "parsing/parser.ml" +# 33763 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 33733 "parsing/parser.ml" +# 33771 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 33739 "parsing/parser.ml" +# 33777 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33759,23 +33797,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.signature_item) = let _1 = let _1 = -# 1666 "parsing/parser.mly" +# 1669 "parsing/parser.mly" ( psig_value _1 ) -# 33765 "parsing/parser.ml" +# 33803 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 33773 "parsing/parser.ml" +# 33811 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 33779 "parsing/parser.ml" +# 33817 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33810,26 +33848,26 @@ module Tables = struct let _1 = let _1 = let _1 = -# 1134 "parsing/parser.mly" +# 1137 "parsing/parser.mly" ( let (x, b) = a in x, b :: bs ) -# 33816 "parsing/parser.ml" +# 33854 "parsing/parser.ml" in -# 3007 "parsing/parser.mly" +# 3015 "parsing/parser.mly" ( _1 ) -# 33821 "parsing/parser.ml" +# 33859 "parsing/parser.ml" in -# 2990 "parsing/parser.mly" +# 2998 "parsing/parser.mly" ( _1 ) -# 33827 "parsing/parser.ml" +# 33865 "parsing/parser.ml" in -# 1668 "parsing/parser.mly" +# 1671 "parsing/parser.mly" ( psig_type _1 ) -# 33833 "parsing/parser.ml" +# 33871 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_bs_, _startpos_a_) in @@ -33837,15 +33875,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 33843 "parsing/parser.ml" +# 33881 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 33849 "parsing/parser.ml" +# 33887 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -33880,26 +33918,26 @@ module Tables = struct let _1 = let _1 = let _1 = -# 1134 "parsing/parser.mly" +# 1137 "parsing/parser.mly" ( let (x, b) = a in x, b :: bs ) -# 33886 "parsing/parser.ml" +# 33924 "parsing/parser.ml" in -# 3007 "parsing/parser.mly" +# 3015 "parsing/parser.mly" ( _1 ) -# 33891 "parsing/parser.ml" +# 33929 "parsing/parser.ml" in -# 2995 "parsing/parser.mly" +# 3003 "parsing/parser.mly" ( _1 ) -# 33897 "parsing/parser.ml" +# 33935 "parsing/parser.ml" in -# 1670 "parsing/parser.mly" +# 1673 "parsing/parser.mly" ( psig_typesubst _1 ) -# 33903 "parsing/parser.ml" +# 33941 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_bs_, _startpos_a_) in @@ -33907,15 +33945,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 33913 "parsing/parser.ml" +# 33951 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 33919 "parsing/parser.ml" +# 33957 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -34000,16 +34038,16 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 34006 "parsing/parser.ml" +# 34044 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in let cs = -# 1126 "parsing/parser.mly" +# 1129 "parsing/parser.mly" ( List.rev xs ) -# 34013 "parsing/parser.ml" +# 34051 "parsing/parser.ml" in let tid = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in @@ -34017,46 +34055,46 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 34023 "parsing/parser.ml" +# 34061 "parsing/parser.ml" in let _4 = -# 3780 "parsing/parser.mly" +# 3791 "parsing/parser.mly" ( Recursive ) -# 34029 "parsing/parser.ml" +# 34067 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 34036 "parsing/parser.ml" +# 34074 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3260 "parsing/parser.mly" +# 3270 "parsing/parser.mly" ( let docs = symbol_docs _sloc in let attrs = attrs1 @ attrs2 in Te.mk tid cs ~params ~priv ~attrs ~docs, ext ) -# 34048 "parsing/parser.ml" +# 34086 "parsing/parser.ml" in -# 3247 "parsing/parser.mly" +# 3257 "parsing/parser.mly" ( _1 ) -# 34054 "parsing/parser.ml" +# 34092 "parsing/parser.ml" in -# 1672 "parsing/parser.mly" +# 1675 "parsing/parser.mly" ( psig_typext _1 ) -# 34060 "parsing/parser.ml" +# 34098 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined3_ in @@ -34064,15 +34102,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 34070 "parsing/parser.ml" +# 34108 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 34076 "parsing/parser.ml" +# 34114 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -34164,16 +34202,16 @@ module Tables = struct let attrs2 = let _1 = _1_inlined4 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 34170 "parsing/parser.ml" +# 34208 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined4_ in let cs = -# 1126 "parsing/parser.mly" +# 1129 "parsing/parser.mly" ( List.rev xs ) -# 34177 "parsing/parser.ml" +# 34215 "parsing/parser.ml" in let tid = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined3_, _startpos__1_inlined3_, _1_inlined3) in @@ -34181,9 +34219,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 34187 "parsing/parser.ml" +# 34225 "parsing/parser.ml" in let _4 = @@ -34192,41 +34230,41 @@ module Tables = struct let _startpos = _startpos__1_ in let _loc = (_startpos, _endpos) in -# 3781 "parsing/parser.mly" +# 3792 "parsing/parser.mly" ( not_expecting _loc "nonrec flag" ) -# 34198 "parsing/parser.ml" +# 34236 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 34206 "parsing/parser.ml" +# 34244 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3260 "parsing/parser.mly" +# 3270 "parsing/parser.mly" ( let docs = symbol_docs _sloc in let attrs = attrs1 @ attrs2 in Te.mk tid cs ~params ~priv ~attrs ~docs, ext ) -# 34218 "parsing/parser.ml" +# 34256 "parsing/parser.ml" in -# 3247 "parsing/parser.mly" +# 3257 "parsing/parser.mly" ( _1 ) -# 34224 "parsing/parser.ml" +# 34262 "parsing/parser.ml" in -# 1672 "parsing/parser.mly" +# 1675 "parsing/parser.mly" ( psig_typext _1 ) -# 34230 "parsing/parser.ml" +# 34268 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined4_ in @@ -34234,15 +34272,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 34240 "parsing/parser.ml" +# 34278 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 34246 "parsing/parser.ml" +# 34284 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -34266,23 +34304,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.signature_item) = let _1 = let _1 = -# 1674 "parsing/parser.mly" +# 1677 "parsing/parser.mly" ( psig_exception _1 ) -# 34272 "parsing/parser.ml" +# 34310 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 34280 "parsing/parser.ml" +# 34318 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 34286 "parsing/parser.ml" +# 34324 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -34345,9 +34383,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 34351 "parsing/parser.ml" +# 34389 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -34357,37 +34395,37 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 34363 "parsing/parser.ml" +# 34401 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 34371 "parsing/parser.ml" +# 34409 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1703 "parsing/parser.mly" +# 1706 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Md.mk name body ~attrs ~loc ~docs, ext ) -# 34385 "parsing/parser.ml" +# 34423 "parsing/parser.ml" in -# 1676 "parsing/parser.mly" +# 1679 "parsing/parser.mly" ( let (body, ext) = _1 in (Psig_module body, ext) ) -# 34391 "parsing/parser.ml" +# 34429 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined3_ in @@ -34395,15 +34433,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 34401 "parsing/parser.ml" +# 34439 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 34407 "parsing/parser.ml" +# 34445 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -34473,9 +34511,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined4 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 34479 "parsing/parser.ml" +# 34517 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined4_ in @@ -34486,9 +34524,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 34492 "parsing/parser.ml" +# 34530 "parsing/parser.ml" in let (_endpos_id_, _startpos_id_) = (_endpos__1_, _startpos__1_) in @@ -34496,9 +34534,9 @@ module Tables = struct let _symbolstartpos = _startpos_id_ in let _sloc = (_symbolstartpos, _endpos) in -# 1740 "parsing/parser.mly" +# 1743 "parsing/parser.mly" ( Mty.alias ~loc:(make_loc _sloc) id ) -# 34502 "parsing/parser.ml" +# 34540 "parsing/parser.ml" in let name = @@ -34507,37 +34545,37 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 34513 "parsing/parser.ml" +# 34551 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 34521 "parsing/parser.ml" +# 34559 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1731 "parsing/parser.mly" +# 1734 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Md.mk name body ~attrs ~loc ~docs, ext ) -# 34535 "parsing/parser.ml" +# 34573 "parsing/parser.ml" in -# 1678 "parsing/parser.mly" +# 1681 "parsing/parser.mly" ( let (body, ext) = _1 in (Psig_module body, ext) ) -# 34541 "parsing/parser.ml" +# 34579 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined4_ in @@ -34545,15 +34583,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 34551 "parsing/parser.ml" +# 34589 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 34557 "parsing/parser.ml" +# 34595 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -34577,23 +34615,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.signature_item) = let _1 = let _1 = -# 1680 "parsing/parser.mly" +# 1683 "parsing/parser.mly" ( let (body, ext) = _1 in (Psig_modsubst body, ext) ) -# 34583 "parsing/parser.ml" +# 34621 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 34591 "parsing/parser.ml" +# 34629 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 34597 "parsing/parser.ml" +# 34635 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -34679,9 +34717,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 34685 "parsing/parser.ml" +# 34723 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -34691,49 +34729,49 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 34697 "parsing/parser.ml" +# 34735 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 34705 "parsing/parser.ml" +# 34743 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1774 "parsing/parser.mly" +# 1777 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in ext, Md.mk name mty ~attrs ~loc ~docs ) -# 34719 "parsing/parser.ml" +# 34757 "parsing/parser.ml" in -# 1134 "parsing/parser.mly" +# 1137 "parsing/parser.mly" ( let (x, b) = a in x, b :: bs ) -# 34725 "parsing/parser.ml" +# 34763 "parsing/parser.ml" in -# 1763 "parsing/parser.mly" +# 1766 "parsing/parser.mly" ( _1 ) -# 34731 "parsing/parser.ml" +# 34769 "parsing/parser.ml" in -# 1682 "parsing/parser.mly" +# 1685 "parsing/parser.mly" ( let (ext, l) = _1 in (Psig_recmodule l, ext) ) -# 34737 "parsing/parser.ml" +# 34775 "parsing/parser.ml" in let _endpos__1_ = _endpos_bs_ in @@ -34741,15 +34779,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 34747 "parsing/parser.ml" +# 34785 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 34753 "parsing/parser.ml" +# 34791 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -34773,23 +34811,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.signature_item) = let _1 = let _1 = -# 1684 "parsing/parser.mly" +# 1687 "parsing/parser.mly" ( let (body, ext) = _1 in (Psig_modtype body, ext) ) -# 34779 "parsing/parser.ml" +# 34817 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 34787 "parsing/parser.ml" +# 34825 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 34793 "parsing/parser.ml" +# 34831 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -34813,23 +34851,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.signature_item) = let _1 = let _1 = -# 1686 "parsing/parser.mly" +# 1689 "parsing/parser.mly" ( let (body, ext) = _1 in (Psig_open body, ext) ) -# 34819 "parsing/parser.ml" +# 34857 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 34827 "parsing/parser.ml" +# 34865 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 34833 "parsing/parser.ml" +# 34871 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -34885,35 +34923,35 @@ module Tables = struct let attrs2 = let _1 = _1_inlined1 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 34891 "parsing/parser.ml" +# 34929 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined1_ in let attrs1 = -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 34898 "parsing/parser.ml" +# 34936 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos_attrs0_ in let _sloc = (_symbolstartpos, _endpos) in -# 1532 "parsing/parser.mly" +# 1535 "parsing/parser.mly" ( let attrs = attrs0 @ attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Incl.mk thing ~attrs ~loc ~docs, ext ) -# 34911 "parsing/parser.ml" +# 34949 "parsing/parser.ml" in -# 1688 "parsing/parser.mly" +# 1691 "parsing/parser.mly" ( psig_include _1 ) -# 34917 "parsing/parser.ml" +# 34955 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos__1_inlined1_, _startpos_attrs0_) in @@ -34921,15 +34959,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 34927 "parsing/parser.ml" +# 34965 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 34933 "parsing/parser.ml" +# 34971 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35006,9 +35044,9 @@ module Tables = struct let cty : (Parsetree.class_type) = Obj.magic cty in let _7 : unit = Obj.magic _7 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 35012 "parsing/parser.ml" +# 35050 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let virt : (Asttypes.virtual_flag) = Obj.magic virt in @@ -35026,9 +35064,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 35032 "parsing/parser.ml" +# 35070 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -35038,24 +35076,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 35044 "parsing/parser.ml" +# 35082 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 35052 "parsing/parser.ml" +# 35090 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2104 "parsing/parser.mly" +# 2107 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in @@ -35063,25 +35101,25 @@ module Tables = struct ext, Ci.mk id cty ~virt ~params ~attrs ~loc ~docs ) -# 35067 "parsing/parser.ml" +# 35105 "parsing/parser.ml" in -# 1134 "parsing/parser.mly" +# 1137 "parsing/parser.mly" ( let (x, b) = a in x, b :: bs ) -# 35073 "parsing/parser.ml" +# 35111 "parsing/parser.ml" in -# 2092 "parsing/parser.mly" +# 2095 "parsing/parser.mly" ( _1 ) -# 35079 "parsing/parser.ml" +# 35117 "parsing/parser.ml" in -# 1690 "parsing/parser.mly" +# 1693 "parsing/parser.mly" ( let (ext, l) = _1 in (Psig_class l, ext) ) -# 35085 "parsing/parser.ml" +# 35123 "parsing/parser.ml" in let _endpos__1_ = _endpos_bs_ in @@ -35089,15 +35127,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 35095 "parsing/parser.ml" +# 35133 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 35101 "parsing/parser.ml" +# 35139 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35121,23 +35159,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.signature_item) = let _1 = let _1 = -# 1692 "parsing/parser.mly" +# 1695 "parsing/parser.mly" ( let (ext, l) = _1 in (Psig_class_type l, ext) ) -# 35127 "parsing/parser.ml" +# 35165 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 961 "parsing/parser.mly" +# 964 "parsing/parser.mly" ( wrap_mksig_ext ~loc:_sloc _1 ) -# 35135 "parsing/parser.ml" +# 35173 "parsing/parser.ml" in -# 1694 "parsing/parser.mly" +# 1697 "parsing/parser.mly" ( _1 ) -# 35141 "parsing/parser.ml" +# 35179 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35160,9 +35198,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.constant) = -# 3611 "parsing/parser.mly" +# 3622 "parsing/parser.mly" ( _1 ) -# 35166 "parsing/parser.ml" +# 35204 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35187,18 +35225,18 @@ module Tables = struct }; } = _menhir_stack in let _2 : ( -# 719 "parsing/parser.mly" +# 722 "parsing/parser.mly" (string * char option) -# 35193 "parsing/parser.ml" +# 35231 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : unit = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.constant) = -# 3612 "parsing/parser.mly" +# 3623 "parsing/parser.mly" ( let (n, m) = _2 in Pconst_integer("-" ^ n, m) ) -# 35202 "parsing/parser.ml" +# 35240 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35223,18 +35261,18 @@ module Tables = struct }; } = _menhir_stack in let _2 : ( -# 697 "parsing/parser.mly" +# 700 "parsing/parser.mly" (string * char option) -# 35229 "parsing/parser.ml" +# 35267 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : unit = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.constant) = -# 3613 "parsing/parser.mly" +# 3624 "parsing/parser.mly" ( let (f, m) = _2 in Pconst_float("-" ^ f, m) ) -# 35238 "parsing/parser.ml" +# 35276 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35259,18 +35297,18 @@ module Tables = struct }; } = _menhir_stack in let _2 : ( -# 719 "parsing/parser.mly" +# 722 "parsing/parser.mly" (string * char option) -# 35265 "parsing/parser.ml" +# 35303 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : unit = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.constant) = -# 3614 "parsing/parser.mly" +# 3625 "parsing/parser.mly" ( let (n, m) = _2 in Pconst_integer (n, m) ) -# 35274 "parsing/parser.ml" +# 35312 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35295,18 +35333,18 @@ module Tables = struct }; } = _menhir_stack in let _2 : ( -# 697 "parsing/parser.mly" +# 700 "parsing/parser.mly" (string * char option) -# 35301 "parsing/parser.ml" +# 35339 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : unit = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.constant) = -# 3615 "parsing/parser.mly" +# 3626 "parsing/parser.mly" ( let (f, m) = _2 in Pconst_float(f, m) ) -# 35310 "parsing/parser.ml" +# 35348 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35347,18 +35385,18 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 2919 "parsing/parser.mly" +# 2927 "parsing/parser.mly" ( let fields, closed = _1 in let closed = match closed with Some () -> Open | None -> Closed in fields, closed ) -# 35355 "parsing/parser.ml" +# 35393 "parsing/parser.ml" in -# 2890 "parsing/parser.mly" +# 2898 "parsing/parser.mly" ( let (fields, closed) = _2 in Ppat_record(fields, closed) ) -# 35362 "parsing/parser.ml" +# 35400 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -35366,15 +35404,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 35372 "parsing/parser.ml" +# 35410 "parsing/parser.ml" in -# 2904 "parsing/parser.mly" +# 2912 "parsing/parser.mly" ( _1 ) -# 35378 "parsing/parser.ml" +# 35416 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35415,19 +35453,19 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 2919 "parsing/parser.mly" +# 2927 "parsing/parser.mly" ( let fields, closed = _1 in let closed = match closed with Some () -> Open | None -> Closed in fields, closed ) -# 35423 "parsing/parser.ml" +# 35461 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2893 "parsing/parser.mly" +# 2901 "parsing/parser.mly" ( unclosed "{" _loc__1_ "}" _loc__3_ ) -# 35431 "parsing/parser.ml" +# 35469 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -35435,15 +35473,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 35441 "parsing/parser.ml" +# 35479 "parsing/parser.ml" in -# 2904 "parsing/parser.mly" +# 2912 "parsing/parser.mly" ( _1 ) -# 35447 "parsing/parser.ml" +# 35485 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35482,15 +35520,15 @@ module Tables = struct let _v : (Parsetree.pattern) = let _1 = let _1 = let _2 = -# 2913 "parsing/parser.mly" +# 2921 "parsing/parser.mly" ( ps ) -# 35488 "parsing/parser.ml" +# 35526 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2895 "parsing/parser.mly" +# 2903 "parsing/parser.mly" ( fst (mktailpat _loc__3_ _2) ) -# 35494 "parsing/parser.ml" +# 35532 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -35498,15 +35536,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 35504 "parsing/parser.ml" +# 35542 "parsing/parser.ml" in -# 2904 "parsing/parser.mly" +# 2912 "parsing/parser.mly" ( _1 ) -# 35510 "parsing/parser.ml" +# 35548 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35545,16 +35583,16 @@ module Tables = struct let _v : (Parsetree.pattern) = let _1 = let _1 = let _2 = -# 2913 "parsing/parser.mly" +# 2921 "parsing/parser.mly" ( ps ) -# 35551 "parsing/parser.ml" +# 35589 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2897 "parsing/parser.mly" +# 2905 "parsing/parser.mly" ( unclosed "[" _loc__1_ "]" _loc__3_ ) -# 35558 "parsing/parser.ml" +# 35596 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -35562,15 +35600,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 35568 "parsing/parser.ml" +# 35606 "parsing/parser.ml" in -# 2904 "parsing/parser.mly" +# 2912 "parsing/parser.mly" ( _1 ) -# 35574 "parsing/parser.ml" +# 35612 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35609,14 +35647,14 @@ module Tables = struct let _v : (Parsetree.pattern) = let _1 = let _1 = let _2 = -# 2913 "parsing/parser.mly" +# 2921 "parsing/parser.mly" ( ps ) -# 35615 "parsing/parser.ml" +# 35653 "parsing/parser.ml" in -# 2899 "parsing/parser.mly" +# 2907 "parsing/parser.mly" ( Ppat_array _2 ) -# 35620 "parsing/parser.ml" +# 35658 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -35624,15 +35662,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 35630 "parsing/parser.ml" +# 35668 "parsing/parser.ml" in -# 2904 "parsing/parser.mly" +# 2912 "parsing/parser.mly" ( _1 ) -# 35636 "parsing/parser.ml" +# 35674 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35663,24 +35701,24 @@ module Tables = struct let _endpos = _endpos__2_ in let _v : (Parsetree.pattern) = let _1 = let _1 = -# 2901 "parsing/parser.mly" +# 2909 "parsing/parser.mly" ( Ppat_array [] ) -# 35669 "parsing/parser.ml" +# 35707 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 35678 "parsing/parser.ml" +# 35716 "parsing/parser.ml" in -# 2904 "parsing/parser.mly" +# 2912 "parsing/parser.mly" ( _1 ) -# 35684 "parsing/parser.ml" +# 35722 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35719,16 +35757,16 @@ module Tables = struct let _v : (Parsetree.pattern) = let _1 = let _1 = let _2 = -# 2913 "parsing/parser.mly" +# 2921 "parsing/parser.mly" ( ps ) -# 35725 "parsing/parser.ml" +# 35763 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2903 "parsing/parser.mly" +# 2911 "parsing/parser.mly" ( unclosed "[|" _loc__1_ "|]" _loc__3_ ) -# 35732 "parsing/parser.ml" +# 35770 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -35736,15 +35774,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 35742 "parsing/parser.ml" +# 35780 "parsing/parser.ml" in -# 2904 "parsing/parser.mly" +# 2912 "parsing/parser.mly" ( _1 ) -# 35748 "parsing/parser.ml" +# 35786 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35784,9 +35822,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2345 "parsing/parser.mly" +# 2349 "parsing/parser.mly" ( reloc_exp ~loc:_sloc _2 ) -# 35790 "parsing/parser.ml" +# 35828 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35825,9 +35863,9 @@ module Tables = struct let _v : (Parsetree.expression) = let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2347 "parsing/parser.mly" +# 2351 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__3_ ) -# 35831 "parsing/parser.ml" +# 35869 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35874,9 +35912,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2349 "parsing/parser.mly" +# 2353 "parsing/parser.mly" ( mkexp_constraint ~loc:_sloc _2 _3 ) -# 35880 "parsing/parser.ml" +# 35918 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35930,9 +35968,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2351 "parsing/parser.mly" +# 2355 "parsing/parser.mly" ( array_get ~loc:_sloc _1 _4 ) -# 35936 "parsing/parser.ml" +# 35974 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -35985,9 +36023,9 @@ module Tables = struct let _v : (Parsetree.expression) = let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2353 "parsing/parser.mly" +# 2357 "parsing/parser.mly" ( unclosed "(" _loc__3_ ")" _loc__5_ ) -# 35991 "parsing/parser.ml" +# 36029 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36041,9 +36079,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2355 "parsing/parser.mly" +# 2359 "parsing/parser.mly" ( string_get ~loc:_sloc _1 _4 ) -# 36047 "parsing/parser.ml" +# 36085 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36096,9 +36134,9 @@ module Tables = struct let _v : (Parsetree.expression) = let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2357 "parsing/parser.mly" +# 2361 "parsing/parser.mly" ( unclosed "[" _loc__3_ "]" _loc__5_ ) -# 36102 "parsing/parser.ml" +# 36140 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36144,26 +36182,26 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _3 : unit = Obj.magic _3 in let _2 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36150 "parsing/parser.ml" +# 36188 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : (Parsetree.expression) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.expression) = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 36159 "parsing/parser.ml" +# 36197 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2359 "parsing/parser.mly" +# 2363 "parsing/parser.mly" ( dotop_get ~loc:_sloc lident bracket _2 _1 _4 ) -# 36167 "parsing/parser.ml" +# 36205 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36209,25 +36247,25 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _3 : unit = Obj.magic _3 in let _2 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36215 "parsing/parser.ml" +# 36253 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : (Parsetree.expression) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.expression) = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 36224 "parsing/parser.ml" +# 36262 "parsing/parser.ml" in let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2361 "parsing/parser.mly" +# 2365 "parsing/parser.mly" ( unclosed "[" _loc__3_ "]" _loc__5_ ) -# 36231 "parsing/parser.ml" +# 36269 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36273,26 +36311,26 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _3 : unit = Obj.magic _3 in let _2 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36279 "parsing/parser.ml" +# 36317 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : (Parsetree.expression) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.expression) = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 36288 "parsing/parser.ml" +# 36326 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2363 "parsing/parser.mly" +# 2367 "parsing/parser.mly" ( dotop_get ~loc:_sloc lident paren _2 _1 _4 ) -# 36296 "parsing/parser.ml" +# 36334 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36338,25 +36376,25 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _3 : unit = Obj.magic _3 in let _2 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36344 "parsing/parser.ml" +# 36382 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : (Parsetree.expression) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.expression) = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 36353 "parsing/parser.ml" +# 36391 "parsing/parser.ml" in let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2365 "parsing/parser.mly" +# 2369 "parsing/parser.mly" ( unclosed "(" _loc__3_ ")" _loc__5_ ) -# 36360 "parsing/parser.ml" +# 36398 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36402,26 +36440,26 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _3 : unit = Obj.magic _3 in let _2 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36408 "parsing/parser.ml" +# 36446 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : (Parsetree.expression) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.expression) = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 36417 "parsing/parser.ml" +# 36455 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2367 "parsing/parser.mly" +# 2371 "parsing/parser.mly" ( dotop_get ~loc:_sloc lident brace _2 _1 _4 ) -# 36425 "parsing/parser.ml" +# 36463 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36467,9 +36505,9 @@ module Tables = struct let _4 : (Parsetree.expression) = Obj.magic _4 in let _3 : unit = Obj.magic _3 in let _2 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36473 "parsing/parser.ml" +# 36511 "parsing/parser.ml" ) = Obj.magic _2 in let _1 : (Parsetree.expression) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -36478,9 +36516,9 @@ module Tables = struct let _v : (Parsetree.expression) = let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2369 "parsing/parser.mly" +# 2373 "parsing/parser.mly" ( unclosed "{" _loc__3_ "}" _loc__5_ ) -# 36484 "parsing/parser.ml" +# 36522 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36538,9 +36576,9 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _5 : unit = Obj.magic _5 in let _4 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36544 "parsing/parser.ml" +# 36582 "parsing/parser.ml" ) = Obj.magic _4 in let _3 : (Longident.t) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in @@ -36549,17 +36587,17 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : (Parsetree.expression) = let _6 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 36555 "parsing/parser.ml" +# 36593 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2371 "parsing/parser.mly" +# 2375 "parsing/parser.mly" ( dotop_get ~loc:_sloc (ldot _3) bracket _4 _1 _6 ) -# 36563 "parsing/parser.ml" +# 36601 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36617,9 +36655,9 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _5 : unit = Obj.magic _5 in let _4 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36623 "parsing/parser.ml" +# 36661 "parsing/parser.ml" ) = Obj.magic _4 in let _3 : (Longident.t) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in @@ -36628,16 +36666,16 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : (Parsetree.expression) = let _6 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 36634 "parsing/parser.ml" +# 36672 "parsing/parser.ml" in let _loc__7_ = (_startpos__7_, _endpos__7_) in let _loc__5_ = (_startpos__5_, _endpos__5_) in -# 2374 "parsing/parser.mly" +# 2378 "parsing/parser.mly" ( unclosed "[" _loc__5_ "]" _loc__7_ ) -# 36641 "parsing/parser.ml" +# 36679 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36695,9 +36733,9 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _5 : unit = Obj.magic _5 in let _4 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36701 "parsing/parser.ml" +# 36739 "parsing/parser.ml" ) = Obj.magic _4 in let _3 : (Longident.t) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in @@ -36706,17 +36744,17 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : (Parsetree.expression) = let _6 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 36712 "parsing/parser.ml" +# 36750 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2376 "parsing/parser.mly" +# 2380 "parsing/parser.mly" ( dotop_get ~loc:_sloc (ldot _3) paren _4 _1 _6 ) -# 36720 "parsing/parser.ml" +# 36758 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36774,9 +36812,9 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _5 : unit = Obj.magic _5 in let _4 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36780 "parsing/parser.ml" +# 36818 "parsing/parser.ml" ) = Obj.magic _4 in let _3 : (Longident.t) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in @@ -36785,16 +36823,16 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : (Parsetree.expression) = let _6 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 36791 "parsing/parser.ml" +# 36829 "parsing/parser.ml" in let _loc__7_ = (_startpos__7_, _endpos__7_) in let _loc__5_ = (_startpos__5_, _endpos__5_) in -# 2379 "parsing/parser.mly" +# 2383 "parsing/parser.mly" ( unclosed "(" _loc__5_ ")" _loc__7_ ) -# 36798 "parsing/parser.ml" +# 36836 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36852,9 +36890,9 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _5 : unit = Obj.magic _5 in let _4 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36858 "parsing/parser.ml" +# 36896 "parsing/parser.ml" ) = Obj.magic _4 in let _3 : (Longident.t) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in @@ -36863,17 +36901,17 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : (Parsetree.expression) = let _6 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 36869 "parsing/parser.ml" +# 36907 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2381 "parsing/parser.mly" +# 2385 "parsing/parser.mly" ( dotop_get ~loc:_sloc (ldot _3) brace _4 _1 _6 ) -# 36877 "parsing/parser.ml" +# 36915 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -36931,9 +36969,9 @@ module Tables = struct let es : (Parsetree.expression list) = Obj.magic es in let _5 : unit = Obj.magic _5 in let _4 : ( -# 714 "parsing/parser.mly" +# 717 "parsing/parser.mly" (string) -# 36937 "parsing/parser.ml" +# 36975 "parsing/parser.ml" ) = Obj.magic _4 in let _3 : (Longident.t) = Obj.magic _3 in let _2 : unit = Obj.magic _2 in @@ -36942,16 +36980,16 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : (Parsetree.expression) = let _6 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 36948 "parsing/parser.ml" +# 36986 "parsing/parser.ml" in let _loc__7_ = (_startpos__7_, _endpos__7_) in let _loc__5_ = (_startpos__5_, _endpos__5_) in -# 2384 "parsing/parser.mly" +# 2388 "parsing/parser.mly" ( unclosed "{" _loc__5_ "}" _loc__7_ ) -# 36955 "parsing/parser.ml" +# 36993 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37005,9 +37043,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2386 "parsing/parser.mly" +# 2390 "parsing/parser.mly" ( bigarray_get ~loc:_sloc _1 _4 ) -# 37011 "parsing/parser.ml" +# 37049 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37060,9 +37098,9 @@ module Tables = struct let _v : (Parsetree.expression) = let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2388 "parsing/parser.mly" +# 2392 "parsing/parser.mly" ( unclosed "{" _loc__3_ "}" _loc__5_ ) -# 37066 "parsing/parser.ml" +# 37104 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37116,15 +37154,15 @@ module Tables = struct let attrs = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 37122 "parsing/parser.ml" +# 37160 "parsing/parser.ml" in -# 2397 "parsing/parser.mly" +# 2401 "parsing/parser.mly" ( e.pexp_desc, (ext, attrs @ e.pexp_attributes) ) -# 37128 "parsing/parser.ml" +# 37166 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -37132,10 +37170,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2390 "parsing/parser.mly" +# 2394 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 37139 "parsing/parser.ml" +# 37177 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37184,24 +37222,24 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 37190 "parsing/parser.ml" +# 37228 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 37196 "parsing/parser.ml" +# 37234 "parsing/parser.ml" in let _endpos = _endpos__3_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2399 "parsing/parser.mly" +# 2403 "parsing/parser.mly" ( Pexp_construct (mkloc (Lident "()") (make_loc _sloc), None), _2 ) -# 37205 "parsing/parser.ml" +# 37243 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -37209,10 +37247,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2390 "parsing/parser.mly" +# 2394 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 37216 "parsing/parser.ml" +# 37254 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37268,23 +37306,23 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 37274 "parsing/parser.ml" +# 37312 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 37280 "parsing/parser.ml" +# 37318 "parsing/parser.ml" in let _loc__4_ = (_startpos__4_, _endpos__4_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2401 "parsing/parser.mly" +# 2405 "parsing/parser.mly" ( unclosed "begin" _loc__1_ "end" _loc__4_ ) -# 37288 "parsing/parser.ml" +# 37326 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in @@ -37292,10 +37330,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2390 "parsing/parser.mly" +# 2394 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 37299 "parsing/parser.ml" +# 37337 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37345,9 +37383,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 37351 "parsing/parser.ml" +# 37389 "parsing/parser.ml" in let _2 = @@ -37355,21 +37393,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 37361 "parsing/parser.ml" +# 37399 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 37367 "parsing/parser.ml" +# 37405 "parsing/parser.ml" in -# 2403 "parsing/parser.mly" +# 2407 "parsing/parser.mly" ( Pexp_new(_3), _2 ) -# 37373 "parsing/parser.ml" +# 37411 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined3_ in @@ -37377,10 +37415,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2390 "parsing/parser.mly" +# 2394 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 37384 "parsing/parser.ml" +# 37422 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37443,21 +37481,21 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 37449 "parsing/parser.ml" +# 37487 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 37455 "parsing/parser.ml" +# 37493 "parsing/parser.ml" in -# 2405 "parsing/parser.mly" +# 2409 "parsing/parser.mly" ( Pexp_pack _4, _3 ) -# 37461 "parsing/parser.ml" +# 37499 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -37465,10 +37503,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2390 "parsing/parser.mly" +# 2394 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 37472 "parsing/parser.ml" +# 37510 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37546,11 +37584,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3525 "parsing/parser.mly" +# 3536 "parsing/parser.mly" ( let (lid, cstrs, attrs) = package_type_of_module_type _1 in let descr = Ptyp_package (lid, cstrs) in mktyp ~loc:_sloc ~attrs descr ) -# 37554 "parsing/parser.ml" +# 37592 "parsing/parser.ml" in let _3 = @@ -37558,24 +37596,24 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 37564 "parsing/parser.ml" +# 37602 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 37570 "parsing/parser.ml" +# 37608 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2407 "parsing/parser.mly" +# 2411 "parsing/parser.mly" ( Pexp_constraint (ghexp ~loc:_sloc (Pexp_pack _4), _6), _3 ) -# 37579 "parsing/parser.ml" +# 37617 "parsing/parser.ml" in let _endpos__1_ = _endpos__7_ in @@ -37583,10 +37621,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2390 "parsing/parser.mly" +# 2394 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 37590 "parsing/parser.ml" +# 37628 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37656,23 +37694,23 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 37662 "parsing/parser.ml" +# 37700 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 37668 "parsing/parser.ml" +# 37706 "parsing/parser.ml" in let _loc__6_ = (_startpos__6_, _endpos__6_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2409 "parsing/parser.mly" +# 2413 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__6_ ) -# 37676 "parsing/parser.ml" +# 37714 "parsing/parser.ml" in let _endpos__1_ = _endpos__6_ in @@ -37680,10 +37718,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2390 "parsing/parser.mly" +# 2394 "parsing/parser.mly" ( let desc, attrs = _1 in mkexp_attrs ~loc:_sloc desc attrs ) -# 37687 "parsing/parser.ml" +# 37725 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37712,30 +37750,30 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 37718 "parsing/parser.ml" +# 37756 "parsing/parser.ml" in -# 2442 "parsing/parser.mly" +# 2446 "parsing/parser.mly" ( Pexp_ident (_1) ) -# 37724 "parsing/parser.ml" +# 37762 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 37733 "parsing/parser.ml" +# 37771 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 37739 "parsing/parser.ml" +# 37777 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37759,23 +37797,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.expression) = let _1 = let _1 = -# 2444 "parsing/parser.mly" +# 2448 "parsing/parser.mly" ( Pexp_constant _1 ) -# 37765 "parsing/parser.ml" +# 37803 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 37773 "parsing/parser.ml" +# 37811 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 37779 "parsing/parser.ml" +# 37817 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37804,30 +37842,30 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 37810 "parsing/parser.ml" +# 37848 "parsing/parser.ml" in -# 2446 "parsing/parser.mly" +# 2450 "parsing/parser.mly" ( Pexp_construct(_1, None) ) -# 37816 "parsing/parser.ml" +# 37854 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 37825 "parsing/parser.ml" +# 37863 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 37831 "parsing/parser.ml" +# 37869 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37851,23 +37889,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.expression) = let _1 = let _1 = -# 2448 "parsing/parser.mly" +# 2452 "parsing/parser.mly" ( Pexp_variant(_1, None) ) -# 37857 "parsing/parser.ml" +# 37895 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 37865 "parsing/parser.ml" +# 37903 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 37871 "parsing/parser.ml" +# 37909 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37893,9 +37931,9 @@ module Tables = struct } = _menhir_stack in let _2 : (Parsetree.expression) = Obj.magic _2 in let _1 : ( -# 759 "parsing/parser.mly" +# 762 "parsing/parser.mly" (string) -# 37899 "parsing/parser.ml" +# 37937 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in @@ -37907,15 +37945,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 37913 "parsing/parser.ml" +# 37951 "parsing/parser.ml" in -# 2450 "parsing/parser.mly" +# 2454 "parsing/parser.mly" ( Pexp_apply(_1, [Nolabel,_2]) ) -# 37919 "parsing/parser.ml" +# 37957 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in @@ -37923,15 +37961,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 37929 "parsing/parser.ml" +# 37967 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 37935 "parsing/parser.ml" +# 37973 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -37964,23 +38002,23 @@ module Tables = struct let _1 = let _1 = let _1 = -# 2451 "parsing/parser.mly" +# 2455 "parsing/parser.mly" ("!") -# 37970 "parsing/parser.ml" +# 38008 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 37978 "parsing/parser.ml" +# 38016 "parsing/parser.ml" in -# 2452 "parsing/parser.mly" +# 2456 "parsing/parser.mly" ( Pexp_apply(_1, [Nolabel,_2]) ) -# 37984 "parsing/parser.ml" +# 38022 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in @@ -37988,15 +38026,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 37994 "parsing/parser.ml" +# 38032 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38000 "parsing/parser.ml" +# 38038 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38035,14 +38073,14 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _2 = -# 2731 "parsing/parser.mly" +# 2739 "parsing/parser.mly" ( xs ) -# 38041 "parsing/parser.ml" +# 38079 "parsing/parser.ml" in -# 2454 "parsing/parser.mly" +# 2458 "parsing/parser.mly" ( Pexp_override _2 ) -# 38046 "parsing/parser.ml" +# 38084 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -38050,15 +38088,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38056 "parsing/parser.ml" +# 38094 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38062 "parsing/parser.ml" +# 38100 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38097,16 +38135,16 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _2 = -# 2731 "parsing/parser.mly" +# 2739 "parsing/parser.mly" ( xs ) -# 38103 "parsing/parser.ml" +# 38141 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2456 "parsing/parser.mly" +# 2460 "parsing/parser.mly" ( unclosed "{<" _loc__1_ ">}" _loc__3_ ) -# 38110 "parsing/parser.ml" +# 38148 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -38114,15 +38152,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38120 "parsing/parser.ml" +# 38158 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38126 "parsing/parser.ml" +# 38164 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38153,24 +38191,24 @@ module Tables = struct let _endpos = _endpos__2_ in let _v : (Parsetree.expression) = let _1 = let _1 = -# 2458 "parsing/parser.mly" +# 2462 "parsing/parser.mly" ( Pexp_override [] ) -# 38159 "parsing/parser.ml" +# 38197 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38168 "parsing/parser.ml" +# 38206 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38174 "parsing/parser.ml" +# 38212 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38214,15 +38252,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 38220 "parsing/parser.ml" +# 38258 "parsing/parser.ml" in -# 2460 "parsing/parser.mly" +# 2464 "parsing/parser.mly" ( Pexp_field(_1, _3) ) -# 38226 "parsing/parser.ml" +# 38264 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined1_ in @@ -38230,15 +38268,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38236 "parsing/parser.ml" +# 38274 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38242 "parsing/parser.ml" +# 38280 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38296,24 +38334,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 38302 "parsing/parser.ml" +# 38340 "parsing/parser.ml" in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1591 "parsing/parser.mly" +# 1594 "parsing/parser.mly" ( let loc = make_loc _loc__1_ in let me = Mod.ident ~loc _1 in Opn.mk ~loc me ) -# 38311 "parsing/parser.ml" +# 38349 "parsing/parser.ml" in -# 2462 "parsing/parser.mly" +# 2466 "parsing/parser.mly" ( Pexp_open(od, _4) ) -# 38317 "parsing/parser.ml" +# 38355 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -38321,15 +38359,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38327 "parsing/parser.ml" +# 38365 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38333 "parsing/parser.ml" +# 38371 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38382,9 +38420,9 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _4 = -# 2731 "parsing/parser.mly" +# 2739 "parsing/parser.mly" ( xs ) -# 38388 "parsing/parser.ml" +# 38426 "parsing/parser.ml" in let od = let _1 = @@ -38392,18 +38430,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 38398 "parsing/parser.ml" +# 38436 "parsing/parser.ml" in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1591 "parsing/parser.mly" +# 1594 "parsing/parser.mly" ( let loc = make_loc _loc__1_ in let me = Mod.ident ~loc _1 in Opn.mk ~loc me ) -# 38407 "parsing/parser.ml" +# 38445 "parsing/parser.ml" in let _startpos_od_ = _startpos__1_ in @@ -38411,10 +38449,10 @@ module Tables = struct let _symbolstartpos = _startpos_od_ in let _sloc = (_symbolstartpos, _endpos) in -# 2464 "parsing/parser.mly" +# 2468 "parsing/parser.mly" ( (* TODO: review the location of Pexp_override *) Pexp_open(od, mkexp ~loc:_sloc (Pexp_override _4)) ) -# 38418 "parsing/parser.ml" +# 38456 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -38422,15 +38460,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38428 "parsing/parser.ml" +# 38466 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38434 "parsing/parser.ml" +# 38472 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38483,16 +38521,16 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _4 = -# 2731 "parsing/parser.mly" +# 2739 "parsing/parser.mly" ( xs ) -# 38489 "parsing/parser.ml" +# 38527 "parsing/parser.ml" in let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2467 "parsing/parser.mly" +# 2471 "parsing/parser.mly" ( unclosed "{<" _loc__3_ ">}" _loc__5_ ) -# 38496 "parsing/parser.ml" +# 38534 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -38500,15 +38538,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38506 "parsing/parser.ml" +# 38544 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38512 "parsing/parser.ml" +# 38550 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38539,9 +38577,9 @@ module Tables = struct }; } = _menhir_stack in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 38545 "parsing/parser.ml" +# 38583 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _2 : unit = Obj.magic _2 in let _1 : (Parsetree.expression) = Obj.magic _1 in @@ -38553,23 +38591,23 @@ module Tables = struct let _3 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined1_, _startpos__1_inlined1_, _1_inlined1) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 38559 "parsing/parser.ml" +# 38597 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 38567 "parsing/parser.ml" +# 38605 "parsing/parser.ml" in -# 2469 "parsing/parser.mly" +# 2473 "parsing/parser.mly" ( Pexp_send(_1, _3) ) -# 38573 "parsing/parser.ml" +# 38611 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined1_ in @@ -38577,15 +38615,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38583 "parsing/parser.ml" +# 38621 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38589 "parsing/parser.ml" +# 38627 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38617,9 +38655,9 @@ module Tables = struct } = _menhir_stack in let _3 : (Parsetree.expression) = Obj.magic _3 in let _1_inlined1 : ( -# 770 "parsing/parser.mly" +# 773 "parsing/parser.mly" (string) -# 38623 "parsing/parser.ml" +# 38661 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _1 : (Parsetree.expression) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in @@ -38633,15 +38671,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 930 "parsing/parser.mly" +# 933 "parsing/parser.mly" ( mkoperator ~loc:_sloc _1 ) -# 38639 "parsing/parser.ml" +# 38677 "parsing/parser.ml" in -# 2471 "parsing/parser.mly" +# 2475 "parsing/parser.mly" ( mkinfix _1 _2 _3 ) -# 38645 "parsing/parser.ml" +# 38683 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -38649,15 +38687,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38655 "parsing/parser.ml" +# 38693 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38661 "parsing/parser.ml" +# 38699 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38681,23 +38719,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.expression) = let _1 = let _1 = -# 2473 "parsing/parser.mly" +# 2477 "parsing/parser.mly" ( Pexp_extension _1 ) -# 38687 "parsing/parser.ml" +# 38725 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38695 "parsing/parser.ml" +# 38733 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38701 "parsing/parser.ml" +# 38739 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38745,18 +38783,18 @@ module Tables = struct let _3 = let (_endpos__2_, _startpos__1_) = (_endpos__2_inlined1_, _startpos__1_inlined1_) in let _1 = -# 2474 "parsing/parser.mly" +# 2478 "parsing/parser.mly" (Lident "()") -# 38751 "parsing/parser.ml" +# 38789 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 38760 "parsing/parser.ml" +# 38798 "parsing/parser.ml" in let (_endpos__3_, _startpos__3_) = (_endpos__2_inlined1_, _startpos__1_inlined1_) in @@ -38766,25 +38804,25 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 38772 "parsing/parser.ml" +# 38810 "parsing/parser.ml" in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1591 "parsing/parser.mly" +# 1594 "parsing/parser.mly" ( let loc = make_loc _loc__1_ in let me = Mod.ident ~loc _1 in Opn.mk ~loc me ) -# 38781 "parsing/parser.ml" +# 38819 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2475 "parsing/parser.mly" +# 2479 "parsing/parser.mly" ( Pexp_open(od, mkexp ~loc:(_loc__3_) (Pexp_construct(_3, None))) ) -# 38788 "parsing/parser.ml" +# 38826 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_inlined1_ in @@ -38792,15 +38830,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38798 "parsing/parser.ml" +# 38836 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38804 "parsing/parser.ml" +# 38842 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38855,9 +38893,9 @@ module Tables = struct let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2477 "parsing/parser.mly" +# 2481 "parsing/parser.mly" ( unclosed "(" _loc__3_ ")" _loc__5_ ) -# 38861 "parsing/parser.ml" +# 38899 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -38865,15 +38903,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38871 "parsing/parser.ml" +# 38909 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38877 "parsing/parser.ml" +# 38915 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38912,25 +38950,25 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Parsetree.expression) = let _1 = let _1 = -# 2479 "parsing/parser.mly" +# 2483 "parsing/parser.mly" ( let (exten, fields) = _2 in Pexp_record(fields, exten) ) -# 38919 "parsing/parser.ml" +# 38957 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38928 "parsing/parser.ml" +# 38966 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38934 "parsing/parser.ml" +# 38972 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -38972,9 +39010,9 @@ module Tables = struct let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2482 "parsing/parser.mly" +# 2486 "parsing/parser.mly" ( unclosed "{" _loc__1_ "}" _loc__3_ ) -# 38978 "parsing/parser.ml" +# 39016 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -38982,15 +39020,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 38988 "parsing/parser.ml" +# 39026 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 38994 "parsing/parser.ml" +# 39032 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39049,27 +39087,27 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 39055 "parsing/parser.ml" +# 39093 "parsing/parser.ml" in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1591 "parsing/parser.mly" +# 1594 "parsing/parser.mly" ( let loc = make_loc _loc__1_ in let me = Mod.ident ~loc _1 in Opn.mk ~loc me ) -# 39064 "parsing/parser.ml" +# 39102 "parsing/parser.ml" in let _endpos = _endpos__5_ in -# 2484 "parsing/parser.mly" +# 2488 "parsing/parser.mly" ( let (exten, fields) = _4 in Pexp_open(od, mkexp ~loc:(_startpos__3_, _endpos) (Pexp_record(fields, exten))) ) -# 39073 "parsing/parser.ml" +# 39111 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -39077,15 +39115,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39083 "parsing/parser.ml" +# 39121 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39089 "parsing/parser.ml" +# 39127 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39141,9 +39179,9 @@ module Tables = struct let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2488 "parsing/parser.mly" +# 2492 "parsing/parser.mly" ( unclosed "{" _loc__3_ "}" _loc__5_ ) -# 39147 "parsing/parser.ml" +# 39185 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -39151,15 +39189,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39157 "parsing/parser.ml" +# 39195 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39163 "parsing/parser.ml" +# 39201 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39198,14 +39236,14 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _2 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 39204 "parsing/parser.ml" +# 39242 "parsing/parser.ml" in -# 2490 "parsing/parser.mly" +# 2494 "parsing/parser.mly" ( Pexp_array(_2) ) -# 39209 "parsing/parser.ml" +# 39247 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -39213,15 +39251,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39219 "parsing/parser.ml" +# 39257 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39225 "parsing/parser.ml" +# 39263 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39260,16 +39298,16 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _2 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 39266 "parsing/parser.ml" +# 39304 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2492 "parsing/parser.mly" +# 2496 "parsing/parser.mly" ( unclosed "[|" _loc__1_ "|]" _loc__3_ ) -# 39273 "parsing/parser.ml" +# 39311 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -39277,15 +39315,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39283 "parsing/parser.ml" +# 39321 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39289 "parsing/parser.ml" +# 39327 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39316,24 +39354,24 @@ module Tables = struct let _endpos = _endpos__2_ in let _v : (Parsetree.expression) = let _1 = let _1 = -# 2494 "parsing/parser.mly" +# 2498 "parsing/parser.mly" ( Pexp_array [] ) -# 39322 "parsing/parser.ml" +# 39360 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39331 "parsing/parser.ml" +# 39369 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39337 "parsing/parser.ml" +# 39375 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39386,9 +39424,9 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 39392 "parsing/parser.ml" +# 39430 "parsing/parser.ml" in let od = let _1 = @@ -39396,25 +39434,25 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 39402 "parsing/parser.ml" +# 39440 "parsing/parser.ml" in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1591 "parsing/parser.mly" +# 1594 "parsing/parser.mly" ( let loc = make_loc _loc__1_ in let me = Mod.ident ~loc _1 in Opn.mk ~loc me ) -# 39411 "parsing/parser.ml" +# 39449 "parsing/parser.ml" in let _endpos = _endpos__5_ in -# 2496 "parsing/parser.mly" +# 2500 "parsing/parser.mly" ( Pexp_open(od, mkexp ~loc:(_startpos__3_, _endpos) (Pexp_array(_4))) ) -# 39418 "parsing/parser.ml" +# 39456 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -39422,15 +39460,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39428 "parsing/parser.ml" +# 39466 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39434 "parsing/parser.ml" +# 39472 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39481,26 +39519,26 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 39487 "parsing/parser.ml" +# 39525 "parsing/parser.ml" in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1591 "parsing/parser.mly" +# 1594 "parsing/parser.mly" ( let loc = make_loc _loc__1_ in let me = Mod.ident ~loc _1 in Opn.mk ~loc me ) -# 39496 "parsing/parser.ml" +# 39534 "parsing/parser.ml" in let _endpos = _endpos__4_ in -# 2498 "parsing/parser.mly" +# 2502 "parsing/parser.mly" ( (* TODO: review the location of Pexp_array *) Pexp_open(od, mkexp ~loc:(_startpos__3_, _endpos) (Pexp_array [])) ) -# 39504 "parsing/parser.ml" +# 39542 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in @@ -39508,15 +39546,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39514 "parsing/parser.ml" +# 39552 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39520 "parsing/parser.ml" +# 39558 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39569,16 +39607,16 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 39575 "parsing/parser.ml" +# 39613 "parsing/parser.ml" in let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2502 "parsing/parser.mly" +# 2506 "parsing/parser.mly" ( unclosed "[|" _loc__3_ "|]" _loc__5_ ) -# 39582 "parsing/parser.ml" +# 39620 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -39586,15 +39624,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39592 "parsing/parser.ml" +# 39630 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39598 "parsing/parser.ml" +# 39636 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39633,15 +39671,15 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _2 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 39639 "parsing/parser.ml" +# 39677 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2504 "parsing/parser.mly" +# 2508 "parsing/parser.mly" ( fst (mktailexp _loc__3_ _2) ) -# 39645 "parsing/parser.ml" +# 39683 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -39649,15 +39687,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39655 "parsing/parser.ml" +# 39693 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39661 "parsing/parser.ml" +# 39699 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39696,16 +39734,16 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _2 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 39702 "parsing/parser.ml" +# 39740 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2506 "parsing/parser.mly" +# 2510 "parsing/parser.mly" ( unclosed "[" _loc__1_ "]" _loc__3_ ) -# 39709 "parsing/parser.ml" +# 39747 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -39713,15 +39751,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39719 "parsing/parser.ml" +# 39757 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39725 "parsing/parser.ml" +# 39763 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39764,17 +39802,17 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2431 "parsing/parser.mly" +# 2435 "parsing/parser.mly" ( Pexp_extension( Extensions.payload_of_extension_expr ~loc:(make_loc _sloc) (Eexp_list_comprehension(_2, _3))) ) -# 39772 "parsing/parser.ml" +# 39810 "parsing/parser.ml" in -# 2507 "parsing/parser.mly" +# 2511 "parsing/parser.mly" ( _1 ) -# 39778 "parsing/parser.ml" +# 39816 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -39782,15 +39820,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39788 "parsing/parser.ml" +# 39826 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39794 "parsing/parser.ml" +# 39832 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39833,17 +39871,17 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2435 "parsing/parser.mly" +# 2439 "parsing/parser.mly" ( Pexp_extension( Extensions.payload_of_extension_expr ~loc:(make_loc _sloc) (Eexp_arr_comprehension(_2, _3))) ) -# 39841 "parsing/parser.ml" +# 39879 "parsing/parser.ml" in -# 2507 "parsing/parser.mly" +# 2511 "parsing/parser.mly" ( _1 ) -# 39847 "parsing/parser.ml" +# 39885 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -39851,15 +39889,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39857 "parsing/parser.ml" +# 39895 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39863 "parsing/parser.ml" +# 39901 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -39917,11 +39955,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2431 "parsing/parser.mly" +# 2435 "parsing/parser.mly" ( Pexp_extension( Extensions.payload_of_extension_expr ~loc:(make_loc _sloc) (Eexp_list_comprehension(_2, _3))) ) -# 39925 "parsing/parser.ml" +# 39963 "parsing/parser.ml" in let _startpos__3_ = _startpos__1_inlined1_ in @@ -39931,25 +39969,25 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 39937 "parsing/parser.ml" +# 39975 "parsing/parser.ml" in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1591 "parsing/parser.mly" +# 1594 "parsing/parser.mly" ( let loc = make_loc _loc__1_ in let me = Mod.ident ~loc _1 in Opn.mk ~loc me ) -# 39946 "parsing/parser.ml" +# 39984 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2509 "parsing/parser.mly" +# 2513 "parsing/parser.mly" ( Pexp_open(od, mkexp ~loc:(_loc__3_) _3) ) -# 39953 "parsing/parser.ml" +# 39991 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -39957,15 +39995,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 39963 "parsing/parser.ml" +# 40001 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 39969 "parsing/parser.ml" +# 40007 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40023,11 +40061,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2435 "parsing/parser.mly" +# 2439 "parsing/parser.mly" ( Pexp_extension( Extensions.payload_of_extension_expr ~loc:(make_loc _sloc) (Eexp_arr_comprehension(_2, _3))) ) -# 40031 "parsing/parser.ml" +# 40069 "parsing/parser.ml" in let _startpos__3_ = _startpos__1_inlined1_ in @@ -40037,25 +40075,25 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 40043 "parsing/parser.ml" +# 40081 "parsing/parser.ml" in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1591 "parsing/parser.mly" +# 1594 "parsing/parser.mly" ( let loc = make_loc _loc__1_ in let me = Mod.ident ~loc _1 in Opn.mk ~loc me ) -# 40052 "parsing/parser.ml" +# 40090 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2509 "parsing/parser.mly" +# 2513 "parsing/parser.mly" ( Pexp_open(od, mkexp ~loc:(_loc__3_) _3) ) -# 40059 "parsing/parser.ml" +# 40097 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -40063,15 +40101,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 40069 "parsing/parser.ml" +# 40107 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 40075 "parsing/parser.ml" +# 40113 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40124,9 +40162,9 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 40130 "parsing/parser.ml" +# 40168 "parsing/parser.ml" in let od = let _1 = @@ -40134,30 +40172,30 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 40140 "parsing/parser.ml" +# 40178 "parsing/parser.ml" in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1591 "parsing/parser.mly" +# 1594 "parsing/parser.mly" ( let loc = make_loc _loc__1_ in let me = Mod.ident ~loc _1 in Opn.mk ~loc me ) -# 40149 "parsing/parser.ml" +# 40187 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _loc__5_ = (_startpos__5_, _endpos__5_) in -# 2511 "parsing/parser.mly" +# 2515 "parsing/parser.mly" ( let list_exp = (* TODO: review the location of list_exp *) let tail_exp, _tail_loc = mktailexp _loc__5_ _4 in mkexp ~loc:(_startpos__3_, _endpos) tail_exp in Pexp_open(od, list_exp) ) -# 40161 "parsing/parser.ml" +# 40199 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -40165,15 +40203,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 40171 "parsing/parser.ml" +# 40209 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 40177 "parsing/parser.ml" +# 40215 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40221,18 +40259,18 @@ module Tables = struct let _3 = let (_endpos__2_, _startpos__1_) = (_endpos__2_inlined1_, _startpos__1_inlined1_) in let _1 = -# 2516 "parsing/parser.mly" +# 2520 "parsing/parser.mly" (Lident "[]") -# 40227 "parsing/parser.ml" +# 40265 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 40236 "parsing/parser.ml" +# 40274 "parsing/parser.ml" in let (_endpos__3_, _startpos__3_) = (_endpos__2_inlined1_, _startpos__1_inlined1_) in @@ -40242,25 +40280,25 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 40248 "parsing/parser.ml" +# 40286 "parsing/parser.ml" in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1591 "parsing/parser.mly" +# 1594 "parsing/parser.mly" ( let loc = make_loc _loc__1_ in let me = Mod.ident ~loc _1 in Opn.mk ~loc me ) -# 40257 "parsing/parser.ml" +# 40295 "parsing/parser.ml" in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2517 "parsing/parser.mly" +# 2521 "parsing/parser.mly" ( Pexp_open(od, mkexp ~loc:_loc__3_ (Pexp_construct(_3, None))) ) -# 40264 "parsing/parser.ml" +# 40302 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_inlined1_ in @@ -40268,15 +40306,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 40274 "parsing/parser.ml" +# 40312 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 40280 "parsing/parser.ml" +# 40318 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40329,16 +40367,16 @@ module Tables = struct let _v : (Parsetree.expression) = let _1 = let _1 = let _4 = -# 2748 "parsing/parser.mly" +# 2756 "parsing/parser.mly" ( es ) -# 40335 "parsing/parser.ml" +# 40373 "parsing/parser.ml" in let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2520 "parsing/parser.mly" +# 2524 "parsing/parser.mly" ( unclosed "[" _loc__3_ "]" _loc__5_ ) -# 40342 "parsing/parser.ml" +# 40380 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -40346,15 +40384,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 40352 "parsing/parser.ml" +# 40390 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 40358 "parsing/parser.ml" +# 40396 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40447,11 +40485,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3525 "parsing/parser.mly" +# 3536 "parsing/parser.mly" ( let (lid, cstrs, attrs) = package_type_of_module_type _1 in let descr = Ptyp_package (lid, cstrs) in mktyp ~loc:_sloc ~attrs descr ) -# 40455 "parsing/parser.ml" +# 40493 "parsing/parser.ml" in let _5 = @@ -40459,15 +40497,15 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 40465 "parsing/parser.ml" +# 40503 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 40471 "parsing/parser.ml" +# 40509 "parsing/parser.ml" in let od = @@ -40476,18 +40514,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 40482 "parsing/parser.ml" +# 40520 "parsing/parser.ml" in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 1591 "parsing/parser.mly" +# 1594 "parsing/parser.mly" ( let loc = make_loc _loc__1_ in let me = Mod.ident ~loc _1 in Opn.mk ~loc me ) -# 40491 "parsing/parser.ml" +# 40529 "parsing/parser.ml" in let _startpos_od_ = _startpos__1_ in @@ -40495,12 +40533,12 @@ module Tables = struct let _symbolstartpos = _startpos_od_ in let _sloc = (_symbolstartpos, _endpos) in -# 2523 "parsing/parser.mly" +# 2527 "parsing/parser.mly" ( let modexp = mkexp_attrs ~loc:(_startpos__3_, _endpos) (Pexp_constraint (ghexp ~loc:_sloc (Pexp_pack _6), _8)) _5 in Pexp_open(od, modexp) ) -# 40504 "parsing/parser.ml" +# 40542 "parsing/parser.ml" in let _endpos__1_ = _endpos__9_ in @@ -40508,15 +40546,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 40514 "parsing/parser.ml" +# 40552 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 40520 "parsing/parser.ml" +# 40558 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40601,23 +40639,23 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 40607 "parsing/parser.ml" +# 40645 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 40613 "parsing/parser.ml" +# 40651 "parsing/parser.ml" in let _loc__8_ = (_startpos__8_, _endpos__8_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2529 "parsing/parser.mly" +# 2533 "parsing/parser.mly" ( unclosed "(" _loc__3_ ")" _loc__8_ ) -# 40621 "parsing/parser.ml" +# 40659 "parsing/parser.ml" in let _endpos__1_ = _endpos__8_ in @@ -40625,15 +40663,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 936 "parsing/parser.mly" +# 939 "parsing/parser.mly" ( mkexp ~loc:_sloc _1 ) -# 40631 "parsing/parser.ml" +# 40669 "parsing/parser.ml" in -# 2393 "parsing/parser.mly" +# 2397 "parsing/parser.mly" ( _1 ) -# 40637 "parsing/parser.ml" +# 40675 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40662,30 +40700,30 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 40668 "parsing/parser.ml" +# 40706 "parsing/parser.ml" in -# 2828 "parsing/parser.mly" +# 2836 "parsing/parser.mly" ( Ppat_var (_1) ) -# 40674 "parsing/parser.ml" +# 40712 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 40683 "parsing/parser.ml" +# 40721 "parsing/parser.ml" in -# 2829 "parsing/parser.mly" +# 2837 "parsing/parser.mly" ( _1 ) -# 40689 "parsing/parser.ml" +# 40727 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40708,9 +40746,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.pattern) = -# 2830 "parsing/parser.mly" +# 2838 "parsing/parser.mly" ( _1 ) -# 40714 "parsing/parser.ml" +# 40752 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40750,9 +40788,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2835 "parsing/parser.mly" +# 2843 "parsing/parser.mly" ( reloc_pat ~loc:_sloc _2 ) -# 40756 "parsing/parser.ml" +# 40794 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40775,9 +40813,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.pattern) = -# 2837 "parsing/parser.mly" +# 2845 "parsing/parser.mly" ( _1 ) -# 40781 "parsing/parser.ml" +# 40819 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40840,9 +40878,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 40846 "parsing/parser.ml" +# 40884 "parsing/parser.ml" in let _3 = @@ -40850,24 +40888,24 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 40856 "parsing/parser.ml" +# 40894 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 40862 "parsing/parser.ml" +# 40900 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2839 "parsing/parser.mly" +# 2847 "parsing/parser.mly" ( mkpat_attrs ~loc:_sloc (Ppat_unpack _4) _3 ) -# 40871 "parsing/parser.ml" +# 40909 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -40944,11 +40982,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3525 "parsing/parser.mly" +# 3536 "parsing/parser.mly" ( let (lid, cstrs, attrs) = package_type_of_module_type _1 in let descr = Ptyp_package (lid, cstrs) in mktyp ~loc:_sloc ~attrs descr ) -# 40952 "parsing/parser.ml" +# 40990 "parsing/parser.ml" in let _4 = @@ -40957,9 +40995,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 40963 "parsing/parser.ml" +# 41001 "parsing/parser.ml" in let (_endpos__4_, _startpos__4_) = (_endpos__1_inlined3_, _startpos__1_inlined3_) in @@ -40968,15 +41006,15 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 40974 "parsing/parser.ml" +# 41012 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 40980 "parsing/parser.ml" +# 41018 "parsing/parser.ml" in let _endpos = _endpos__7_ in @@ -40984,11 +41022,11 @@ module Tables = struct let _loc__4_ = (_startpos__4_, _endpos__4_) in let _sloc = (_symbolstartpos, _endpos) in -# 2841 "parsing/parser.mly" +# 2849 "parsing/parser.mly" ( mkpat_attrs ~loc:_sloc (Ppat_constraint(mkpat ~loc:_loc__4_ (Ppat_unpack _4), _6)) _3 ) -# 40992 "parsing/parser.ml" +# 41030 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41012,23 +41050,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.pattern) = let _1 = let _1 = -# 2849 "parsing/parser.mly" +# 2857 "parsing/parser.mly" ( Ppat_any ) -# 41018 "parsing/parser.ml" +# 41056 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41026 "parsing/parser.ml" +# 41064 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41032 "parsing/parser.ml" +# 41070 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41052,23 +41090,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.pattern) = let _1 = let _1 = -# 2851 "parsing/parser.mly" +# 2859 "parsing/parser.mly" ( Ppat_constant _1 ) -# 41058 "parsing/parser.ml" +# 41096 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41066 "parsing/parser.ml" +# 41104 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41072 "parsing/parser.ml" +# 41110 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41106,24 +41144,24 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Parsetree.pattern) = let _1 = let _1 = -# 2853 "parsing/parser.mly" +# 2861 "parsing/parser.mly" ( Ppat_interval (_1, _3) ) -# 41112 "parsing/parser.ml" +# 41150 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41121 "parsing/parser.ml" +# 41159 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41127 "parsing/parser.ml" +# 41165 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41152,30 +41190,30 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 41158 "parsing/parser.ml" +# 41196 "parsing/parser.ml" in -# 2855 "parsing/parser.mly" +# 2863 "parsing/parser.mly" ( Ppat_construct(_1, None) ) -# 41164 "parsing/parser.ml" +# 41202 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41173 "parsing/parser.ml" +# 41211 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41179 "parsing/parser.ml" +# 41217 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41199,23 +41237,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.pattern) = let _1 = let _1 = -# 2857 "parsing/parser.mly" +# 2865 "parsing/parser.mly" ( Ppat_variant(_1, None) ) -# 41205 "parsing/parser.ml" +# 41243 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41213 "parsing/parser.ml" +# 41251 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41219 "parsing/parser.ml" +# 41257 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41252,15 +41290,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 41258 "parsing/parser.ml" +# 41296 "parsing/parser.ml" in -# 2859 "parsing/parser.mly" +# 2867 "parsing/parser.mly" ( Ppat_type (_2) ) -# 41264 "parsing/parser.ml" +# 41302 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined1_ in @@ -41268,15 +41306,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41274 "parsing/parser.ml" +# 41312 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41280 "parsing/parser.ml" +# 41318 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41319,15 +41357,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 41325 "parsing/parser.ml" +# 41363 "parsing/parser.ml" in -# 2861 "parsing/parser.mly" +# 2869 "parsing/parser.mly" ( Ppat_open(_1, _3) ) -# 41331 "parsing/parser.ml" +# 41369 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -41335,15 +41373,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41341 "parsing/parser.ml" +# 41379 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41347 "parsing/parser.ml" +# 41385 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41391,18 +41429,18 @@ module Tables = struct let _3 = let (_endpos__2_, _startpos__1_) = (_endpos__2_inlined1_, _startpos__1_inlined1_) in let _1 = -# 2862 "parsing/parser.mly" +# 2870 "parsing/parser.mly" (Lident "[]") -# 41397 "parsing/parser.ml" +# 41435 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 41406 "parsing/parser.ml" +# 41444 "parsing/parser.ml" in let _endpos__3_ = _endpos__2_inlined1_ in @@ -41411,18 +41449,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 41417 "parsing/parser.ml" +# 41455 "parsing/parser.ml" in let _endpos = _endpos__3_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2863 "parsing/parser.mly" +# 2871 "parsing/parser.mly" ( Ppat_open(_1, mkpat ~loc:_sloc (Ppat_construct(_3, None))) ) -# 41426 "parsing/parser.ml" +# 41464 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_inlined1_ in @@ -41430,15 +41468,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41436 "parsing/parser.ml" +# 41474 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41442 "parsing/parser.ml" +# 41480 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41486,18 +41524,18 @@ module Tables = struct let _3 = let (_endpos__2_, _startpos__1_) = (_endpos__2_inlined1_, _startpos__1_inlined1_) in let _1 = -# 2864 "parsing/parser.mly" +# 2872 "parsing/parser.mly" (Lident "()") -# 41492 "parsing/parser.ml" +# 41530 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 41501 "parsing/parser.ml" +# 41539 "parsing/parser.ml" in let _endpos__3_ = _endpos__2_inlined1_ in @@ -41506,18 +41544,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 41512 "parsing/parser.ml" +# 41550 "parsing/parser.ml" in let _endpos = _endpos__3_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2865 "parsing/parser.mly" +# 2873 "parsing/parser.mly" ( Ppat_open(_1, mkpat ~loc:_sloc (Ppat_construct(_3, None))) ) -# 41521 "parsing/parser.ml" +# 41559 "parsing/parser.ml" in let _endpos__1_ = _endpos__2_inlined1_ in @@ -41525,15 +41563,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41531 "parsing/parser.ml" +# 41569 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41537 "parsing/parser.ml" +# 41575 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41590,15 +41628,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 41596 "parsing/parser.ml" +# 41634 "parsing/parser.ml" in -# 2867 "parsing/parser.mly" +# 2875 "parsing/parser.mly" ( Ppat_open (_1, _4) ) -# 41602 "parsing/parser.ml" +# 41640 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -41606,15 +41644,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41612 "parsing/parser.ml" +# 41650 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41618 "parsing/parser.ml" +# 41656 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41669,9 +41707,9 @@ module Tables = struct let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 2869 "parsing/parser.mly" +# 2877 "parsing/parser.mly" ( unclosed "(" _loc__3_ ")" _loc__5_ ) -# 41675 "parsing/parser.ml" +# 41713 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -41679,15 +41717,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41685 "parsing/parser.ml" +# 41723 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41691 "parsing/parser.ml" +# 41729 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41734,9 +41772,9 @@ module Tables = struct let _1 = let _loc__4_ = (_startpos__4_, _endpos__4_) in -# 2871 "parsing/parser.mly" +# 2879 "parsing/parser.mly" ( expecting _loc__4_ "pattern" ) -# 41740 "parsing/parser.ml" +# 41778 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in @@ -41744,15 +41782,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41750 "parsing/parser.ml" +# 41788 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41756 "parsing/parser.ml" +# 41794 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41793,9 +41831,9 @@ module Tables = struct let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2873 "parsing/parser.mly" +# 2881 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__3_ ) -# 41799 "parsing/parser.ml" +# 41837 "parsing/parser.ml" in let _endpos__1_ = _endpos__3_ in @@ -41803,15 +41841,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41809 "parsing/parser.ml" +# 41847 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41815 "parsing/parser.ml" +# 41853 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41863,24 +41901,24 @@ module Tables = struct let _endpos = _endpos__5_ in let _v : (Parsetree.pattern) = let _1 = let _1 = -# 2875 "parsing/parser.mly" +# 2883 "parsing/parser.mly" ( Ppat_constraint(_2, _4) ) -# 41869 "parsing/parser.ml" +# 41907 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41878 "parsing/parser.ml" +# 41916 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41884 "parsing/parser.ml" +# 41922 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -41935,9 +41973,9 @@ module Tables = struct let _loc__5_ = (_startpos__5_, _endpos__5_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2877 "parsing/parser.mly" +# 2885 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__5_ ) -# 41941 "parsing/parser.ml" +# 41979 "parsing/parser.ml" in let _endpos__1_ = _endpos__5_ in @@ -41945,15 +41983,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 41951 "parsing/parser.ml" +# 41989 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 41957 "parsing/parser.ml" +# 41995 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42000,9 +42038,9 @@ module Tables = struct let _1 = let _loc__4_ = (_startpos__4_, _endpos__4_) in -# 2879 "parsing/parser.mly" +# 2887 "parsing/parser.mly" ( expecting _loc__4_ "type" ) -# 42006 "parsing/parser.ml" +# 42044 "parsing/parser.ml" in let _endpos__1_ = _endpos__4_ in @@ -42010,15 +42048,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 42016 "parsing/parser.ml" +# 42054 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 42022 "parsing/parser.ml" +# 42060 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42097,11 +42135,11 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3525 "parsing/parser.mly" +# 3536 "parsing/parser.mly" ( let (lid, cstrs, attrs) = package_type_of_module_type _1 in let descr = Ptyp_package (lid, cstrs) in mktyp ~loc:_sloc ~attrs descr ) -# 42105 "parsing/parser.ml" +# 42143 "parsing/parser.ml" in let _3 = @@ -42109,23 +42147,23 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 42115 "parsing/parser.ml" +# 42153 "parsing/parser.ml" in -# 3956 "parsing/parser.mly" +# 3967 "parsing/parser.mly" ( _1, _2 ) -# 42121 "parsing/parser.ml" +# 42159 "parsing/parser.ml" in let _loc__7_ = (_startpos__7_, _endpos__7_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 2882 "parsing/parser.mly" +# 2890 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__7_ ) -# 42129 "parsing/parser.ml" +# 42167 "parsing/parser.ml" in let _endpos__1_ = _endpos__7_ in @@ -42133,15 +42171,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 42139 "parsing/parser.ml" +# 42177 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 42145 "parsing/parser.ml" +# 42183 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42165,23 +42203,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.pattern) = let _1 = let _1 = -# 2884 "parsing/parser.mly" +# 2892 "parsing/parser.mly" ( Ppat_extension _1 ) -# 42171 "parsing/parser.ml" +# 42209 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 938 "parsing/parser.mly" +# 941 "parsing/parser.mly" ( mkpat ~loc:_sloc _1 ) -# 42179 "parsing/parser.ml" +# 42217 "parsing/parser.ml" in -# 2845 "parsing/parser.mly" +# 2853 "parsing/parser.mly" ( _1 ) -# 42185 "parsing/parser.ml" +# 42223 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42200,17 +42238,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 42206 "parsing/parser.ml" +# 42244 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3864 "parsing/parser.mly" +# 3875 "parsing/parser.mly" ( _1 ) -# 42214 "parsing/parser.ml" +# 42252 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42229,17 +42267,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 785 "parsing/parser.mly" +# 788 "parsing/parser.mly" (string) -# 42235 "parsing/parser.ml" +# 42273 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3865 "parsing/parser.mly" +# 3876 "parsing/parser.mly" ( _1 ) -# 42243 "parsing/parser.ml" +# 42281 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42262,9 +42300,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3866 "parsing/parser.mly" +# 3877 "parsing/parser.mly" ( "and" ) -# 42268 "parsing/parser.ml" +# 42306 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42287,9 +42325,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3867 "parsing/parser.mly" +# 3878 "parsing/parser.mly" ( "as" ) -# 42293 "parsing/parser.ml" +# 42331 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42312,9 +42350,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3868 "parsing/parser.mly" +# 3879 "parsing/parser.mly" ( "assert" ) -# 42318 "parsing/parser.ml" +# 42356 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42337,9 +42375,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3869 "parsing/parser.mly" +# 3880 "parsing/parser.mly" ( "begin" ) -# 42343 "parsing/parser.ml" +# 42381 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42362,9 +42400,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3870 "parsing/parser.mly" +# 3881 "parsing/parser.mly" ( "class" ) -# 42368 "parsing/parser.ml" +# 42406 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42387,9 +42425,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3871 "parsing/parser.mly" +# 3882 "parsing/parser.mly" ( "constraint" ) -# 42393 "parsing/parser.ml" +# 42431 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42412,9 +42450,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3872 "parsing/parser.mly" +# 3883 "parsing/parser.mly" ( "do" ) -# 42418 "parsing/parser.ml" +# 42456 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42437,9 +42475,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3873 "parsing/parser.mly" +# 3884 "parsing/parser.mly" ( "done" ) -# 42443 "parsing/parser.ml" +# 42481 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42462,9 +42500,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3874 "parsing/parser.mly" +# 3885 "parsing/parser.mly" ( "downto" ) -# 42468 "parsing/parser.ml" +# 42506 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42487,9 +42525,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3875 "parsing/parser.mly" +# 3886 "parsing/parser.mly" ( "else" ) -# 42493 "parsing/parser.ml" +# 42531 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42512,9 +42550,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3876 "parsing/parser.mly" +# 3887 "parsing/parser.mly" ( "end" ) -# 42518 "parsing/parser.ml" +# 42556 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42537,9 +42575,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3877 "parsing/parser.mly" +# 3888 "parsing/parser.mly" ( "exception" ) -# 42543 "parsing/parser.ml" +# 42581 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42562,9 +42600,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3878 "parsing/parser.mly" +# 3889 "parsing/parser.mly" ( "external" ) -# 42568 "parsing/parser.ml" +# 42606 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42587,9 +42625,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3879 "parsing/parser.mly" +# 3890 "parsing/parser.mly" ( "false" ) -# 42593 "parsing/parser.ml" +# 42631 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42612,9 +42650,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3880 "parsing/parser.mly" +# 3891 "parsing/parser.mly" ( "for" ) -# 42618 "parsing/parser.ml" +# 42656 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42637,9 +42675,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3881 "parsing/parser.mly" +# 3892 "parsing/parser.mly" ( "fun" ) -# 42643 "parsing/parser.ml" +# 42681 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42662,9 +42700,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3882 "parsing/parser.mly" +# 3893 "parsing/parser.mly" ( "function" ) -# 42668 "parsing/parser.ml" +# 42706 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42687,9 +42725,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3883 "parsing/parser.mly" +# 3894 "parsing/parser.mly" ( "functor" ) -# 42693 "parsing/parser.ml" +# 42731 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42712,9 +42750,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3884 "parsing/parser.mly" +# 3895 "parsing/parser.mly" ( "nonlocal_" ) -# 42718 "parsing/parser.ml" +# 42756 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42737,9 +42775,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3885 "parsing/parser.mly" +# 3896 "parsing/parser.mly" ( "if" ) -# 42743 "parsing/parser.ml" +# 42781 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42762,9 +42800,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3886 "parsing/parser.mly" +# 3897 "parsing/parser.mly" ( "in" ) -# 42768 "parsing/parser.ml" +# 42806 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42787,9 +42825,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3887 "parsing/parser.mly" +# 3898 "parsing/parser.mly" ( "include" ) -# 42793 "parsing/parser.ml" +# 42831 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42812,9 +42850,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3888 "parsing/parser.mly" +# 3899 "parsing/parser.mly" ( "inherit" ) -# 42818 "parsing/parser.ml" +# 42856 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42837,9 +42875,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3889 "parsing/parser.mly" +# 3900 "parsing/parser.mly" ( "initializer" ) -# 42843 "parsing/parser.ml" +# 42881 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42862,9 +42900,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3890 "parsing/parser.mly" +# 3901 "parsing/parser.mly" ( "lazy" ) -# 42868 "parsing/parser.ml" +# 42906 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42887,9 +42925,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3891 "parsing/parser.mly" +# 3902 "parsing/parser.mly" ( "let" ) -# 42893 "parsing/parser.ml" +# 42931 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42912,9 +42950,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3892 "parsing/parser.mly" +# 3903 "parsing/parser.mly" ( "local_" ) -# 42918 "parsing/parser.ml" +# 42956 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42937,9 +42975,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3893 "parsing/parser.mly" +# 3904 "parsing/parser.mly" ( "match" ) -# 42943 "parsing/parser.ml" +# 42981 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42962,9 +43000,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3894 "parsing/parser.mly" +# 3905 "parsing/parser.mly" ( "method" ) -# 42968 "parsing/parser.ml" +# 43006 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -42987,9 +43025,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3895 "parsing/parser.mly" +# 3906 "parsing/parser.mly" ( "module" ) -# 42993 "parsing/parser.ml" +# 43031 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43012,9 +43050,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3896 "parsing/parser.mly" +# 3907 "parsing/parser.mly" ( "mutable" ) -# 43018 "parsing/parser.ml" +# 43056 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43037,9 +43075,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3897 "parsing/parser.mly" +# 3908 "parsing/parser.mly" ( "new" ) -# 43043 "parsing/parser.ml" +# 43081 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43062,9 +43100,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3898 "parsing/parser.mly" +# 3909 "parsing/parser.mly" ( "nonrec" ) -# 43068 "parsing/parser.ml" +# 43106 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43087,9 +43125,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3899 "parsing/parser.mly" +# 3910 "parsing/parser.mly" ( "object" ) -# 43093 "parsing/parser.ml" +# 43131 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43112,9 +43150,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3900 "parsing/parser.mly" +# 3911 "parsing/parser.mly" ( "of" ) -# 43118 "parsing/parser.ml" +# 43156 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43137,9 +43175,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3901 "parsing/parser.mly" +# 3912 "parsing/parser.mly" ( "open" ) -# 43143 "parsing/parser.ml" +# 43181 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43162,9 +43200,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3902 "parsing/parser.mly" +# 3913 "parsing/parser.mly" ( "or" ) -# 43168 "parsing/parser.ml" +# 43206 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43187,9 +43225,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3903 "parsing/parser.mly" +# 3914 "parsing/parser.mly" ( "private" ) -# 43193 "parsing/parser.ml" +# 43231 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43212,9 +43250,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3904 "parsing/parser.mly" +# 3915 "parsing/parser.mly" ( "rec" ) -# 43218 "parsing/parser.ml" +# 43256 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43237,9 +43275,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3905 "parsing/parser.mly" +# 3916 "parsing/parser.mly" ( "sig" ) -# 43243 "parsing/parser.ml" +# 43281 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43262,9 +43300,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3906 "parsing/parser.mly" +# 3917 "parsing/parser.mly" ( "struct" ) -# 43268 "parsing/parser.ml" +# 43306 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43287,9 +43325,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3907 "parsing/parser.mly" +# 3918 "parsing/parser.mly" ( "then" ) -# 43293 "parsing/parser.ml" +# 43331 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43312,9 +43350,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3908 "parsing/parser.mly" +# 3919 "parsing/parser.mly" ( "to" ) -# 43318 "parsing/parser.ml" +# 43356 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43337,9 +43375,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3909 "parsing/parser.mly" +# 3920 "parsing/parser.mly" ( "true" ) -# 43343 "parsing/parser.ml" +# 43381 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43362,9 +43400,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3910 "parsing/parser.mly" +# 3921 "parsing/parser.mly" ( "try" ) -# 43368 "parsing/parser.ml" +# 43406 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43387,9 +43425,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3911 "parsing/parser.mly" +# 3922 "parsing/parser.mly" ( "type" ) -# 43393 "parsing/parser.ml" +# 43431 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43412,9 +43450,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3912 "parsing/parser.mly" +# 3923 "parsing/parser.mly" ( "val" ) -# 43418 "parsing/parser.ml" +# 43456 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43437,9 +43475,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3913 "parsing/parser.mly" +# 3924 "parsing/parser.mly" ( "virtual" ) -# 43443 "parsing/parser.ml" +# 43481 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43462,9 +43500,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3914 "parsing/parser.mly" +# 3925 "parsing/parser.mly" ( "when" ) -# 43468 "parsing/parser.ml" +# 43506 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43487,9 +43525,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3915 "parsing/parser.mly" +# 3926 "parsing/parser.mly" ( "while" ) -# 43493 "parsing/parser.ml" +# 43531 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43512,9 +43550,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3916 "parsing/parser.mly" +# 3927 "parsing/parser.mly" ( "with" ) -# 43518 "parsing/parser.ml" +# 43556 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43537,9 +43575,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.type_exception * string Asttypes.loc option) = -# 3163 "parsing/parser.mly" +# 3171 "parsing/parser.mly" ( _1 ) -# 43543 "parsing/parser.ml" +# 43581 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43613,18 +43651,18 @@ module Tables = struct let _v : (Parsetree.type_exception * string Asttypes.loc option) = let attrs = let _1 = _1_inlined5 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 43619 "parsing/parser.ml" +# 43657 "parsing/parser.ml" in let _endpos_attrs_ = _endpos__1_inlined5_ in let attrs2 = let _1 = _1_inlined4 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 43628 "parsing/parser.ml" +# 43666 "parsing/parser.ml" in let lid = @@ -43633,9 +43671,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 43639 "parsing/parser.ml" +# 43677 "parsing/parser.ml" in let id = @@ -43644,30 +43682,30 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 43650 "parsing/parser.ml" +# 43688 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 43658 "parsing/parser.ml" +# 43696 "parsing/parser.ml" in let _endpos = _endpos_attrs_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3172 "parsing/parser.mly" +# 3180 "parsing/parser.mly" ( let loc = make_loc _sloc in let docs = symbol_docs _sloc in Te.mk_exception ~attrs (Te.rebind id lid ~attrs:(attrs1 @ attrs2) ~loc ~docs) , ext ) -# 43671 "parsing/parser.ml" +# 43709 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43697,9 +43735,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.expression) = -# 2659 "parsing/parser.mly" +# 2667 "parsing/parser.mly" ( _2 ) -# 43703 "parsing/parser.ml" +# 43741 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43732,9 +43770,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2661 "parsing/parser.mly" +# 2669 "parsing/parser.mly" ( let (l, o, p) = _1 in ghexp ~loc:_sloc (Pexp_fun(l, o, p, _2)) ) -# 43738 "parsing/parser.ml" +# 43776 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43785,17 +43823,17 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : (Parsetree.expression) = let _3 = -# 2550 "parsing/parser.mly" +# 2554 "parsing/parser.mly" ( xs ) -# 43791 "parsing/parser.ml" +# 43829 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2663 "parsing/parser.mly" +# 2671 "parsing/parser.mly" ( mk_newtypes ~loc:_sloc _3 _5 ) -# 43799 "parsing/parser.ml" +# 43837 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43841,24 +43879,26 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let domain = -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 43847 "parsing/parser.ml" +# 43885 "parsing/parser.ml" in let local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 43852 "parsing/parser.ml" +# 43890 "parsing/parser.ml" in + let (_endpos_local_, _startpos_local_) = (_endpos_label_, _endpos_label_) in let label = -# 3427 "parsing/parser.mly" +# 3438 "parsing/parser.mly" ( Optional label ) -# 43857 "parsing/parser.ml" +# 43896 "parsing/parser.ml" in + let _loc_local_ = (_startpos_local_, _endpos_local_) in -# 3408 "parsing/parser.mly" - ( Ptyp_arrow(label, mktyp_local_if local domain, codomain) ) -# 43862 "parsing/parser.ml" +# 3418 "parsing/parser.mly" + ( Ptyp_arrow(label, mktyp_local_if local domain _loc_local_, codomain) ) +# 43902 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -43866,15 +43906,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 43872 "parsing/parser.ml" +# 43912 "parsing/parser.ml" in -# 3410 "parsing/parser.mly" +# 3420 "parsing/parser.mly" ( _1 ) -# 43878 "parsing/parser.ml" +# 43918 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -43929,25 +43969,27 @@ module Tables = struct let domain = let (_endpos__1_, _1) = (_endpos__1_inlined1_, _1_inlined1) in -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 43935 "parsing/parser.ml" +# 43975 "parsing/parser.ml" in let local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 43941 "parsing/parser.ml" +# 43981 "parsing/parser.ml" in + let (_endpos_local_, _startpos_local_) = (_endpos__1_, _startpos__1_) in let label = -# 3427 "parsing/parser.mly" +# 3438 "parsing/parser.mly" ( Optional label ) -# 43946 "parsing/parser.ml" +# 43987 "parsing/parser.ml" in + let _loc_local_ = (_startpos_local_, _endpos_local_) in -# 3408 "parsing/parser.mly" - ( Ptyp_arrow(label, mktyp_local_if local domain, codomain) ) -# 43951 "parsing/parser.ml" +# 3418 "parsing/parser.mly" + ( Ptyp_arrow(label, mktyp_local_if local domain _loc_local_, codomain) ) +# 43993 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -43955,15 +43997,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 43961 "parsing/parser.ml" +# 44003 "parsing/parser.ml" in -# 3410 "parsing/parser.mly" +# 3420 "parsing/parser.mly" ( _1 ) -# 43967 "parsing/parser.ml" +# 44009 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -44010,9 +44052,9 @@ module Tables = struct let _1 : (Parsetree.core_type) = Obj.magic _1 in let _2 : unit = Obj.magic _2 in let label : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 44016 "parsing/parser.ml" +# 44058 "parsing/parser.ml" ) = Obj.magic label in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_label_ in @@ -44020,24 +44062,26 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let domain = -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 44026 "parsing/parser.ml" +# 44068 "parsing/parser.ml" in let local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 44031 "parsing/parser.ml" +# 44073 "parsing/parser.ml" in + let (_endpos_local_, _startpos_local_) = (_endpos__2_, _endpos__2_) in let label = -# 3429 "parsing/parser.mly" +# 3440 "parsing/parser.mly" ( Labelled label ) -# 44036 "parsing/parser.ml" +# 44079 "parsing/parser.ml" in + let _loc_local_ = (_startpos_local_, _endpos_local_) in -# 3408 "parsing/parser.mly" - ( Ptyp_arrow(label, mktyp_local_if local domain, codomain) ) -# 44041 "parsing/parser.ml" +# 3418 "parsing/parser.mly" + ( Ptyp_arrow(label, mktyp_local_if local domain _loc_local_, codomain) ) +# 44085 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -44045,15 +44089,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 44051 "parsing/parser.ml" +# 44095 "parsing/parser.ml" in -# 3410 "parsing/parser.mly" +# 3420 "parsing/parser.mly" ( _1 ) -# 44057 "parsing/parser.ml" +# 44101 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -44107,9 +44151,9 @@ module Tables = struct let _1 : unit = Obj.magic _1 in let _2 : unit = Obj.magic _2 in let label : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 44113 "parsing/parser.ml" +# 44157 "parsing/parser.ml" ) = Obj.magic label in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_label_ in @@ -44119,25 +44163,27 @@ module Tables = struct let domain = let (_endpos__1_, _1) = (_endpos__1_inlined1_, _1_inlined1) in -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 44125 "parsing/parser.ml" +# 44169 "parsing/parser.ml" in let local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 44131 "parsing/parser.ml" +# 44175 "parsing/parser.ml" in + let (_endpos_local_, _startpos_local_) = (_endpos__1_, _startpos__1_) in let label = -# 3429 "parsing/parser.mly" +# 3440 "parsing/parser.mly" ( Labelled label ) -# 44136 "parsing/parser.ml" +# 44181 "parsing/parser.ml" in + let _loc_local_ = (_startpos_local_, _endpos_local_) in -# 3408 "parsing/parser.mly" - ( Ptyp_arrow(label, mktyp_local_if local domain, codomain) ) -# 44141 "parsing/parser.ml" +# 3418 "parsing/parser.mly" + ( Ptyp_arrow(label, mktyp_local_if local domain _loc_local_, codomain) ) +# 44187 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -44145,15 +44191,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 44151 "parsing/parser.ml" +# 44197 "parsing/parser.ml" in -# 3410 "parsing/parser.mly" +# 3420 "parsing/parser.mly" ( _1 ) -# 44157 "parsing/parser.ml" +# 44203 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -44192,24 +44238,26 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let domain = -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 44198 "parsing/parser.ml" +# 44244 "parsing/parser.ml" in let local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 44203 "parsing/parser.ml" +# 44249 "parsing/parser.ml" in + let (_endpos_local_, _startpos_local_) = (_endpos__0_, _endpos__0_) in let label = -# 3431 "parsing/parser.mly" +# 3442 "parsing/parser.mly" ( Nolabel ) -# 44208 "parsing/parser.ml" +# 44255 "parsing/parser.ml" in + let _loc_local_ = (_startpos_local_, _endpos_local_) in -# 3408 "parsing/parser.mly" - ( Ptyp_arrow(label, mktyp_local_if local domain, codomain) ) -# 44213 "parsing/parser.ml" +# 3418 "parsing/parser.mly" + ( Ptyp_arrow(label, mktyp_local_if local domain _loc_local_, codomain) ) +# 44261 "parsing/parser.ml" in let _endpos__1_ = _endpos_codomain_ in @@ -44217,15 +44265,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 44223 "parsing/parser.ml" +# 44271 "parsing/parser.ml" in -# 3410 "parsing/parser.mly" +# 3420 "parsing/parser.mly" ( _1 ) -# 44229 "parsing/parser.ml" +# 44277 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -44273,25 +44321,27 @@ module Tables = struct let domain = let (_endpos__1_, _1) = (_endpos__1_inlined1_, _1_inlined1) in -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 44279 "parsing/parser.ml" +# 44327 "parsing/parser.ml" in let local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 44285 "parsing/parser.ml" +# 44333 "parsing/parser.ml" in + let (_endpos_local_, _startpos_local_) = (_endpos__1_, _startpos__1_) in let label = -# 3431 "parsing/parser.mly" +# 3442 "parsing/parser.mly" ( Nolabel ) -# 44290 "parsing/parser.ml" +# 44339 "parsing/parser.ml" in + let _loc_local_ = (_startpos_local_, _endpos_local_) in -# 3408 "parsing/parser.mly" - ( Ptyp_arrow(label, mktyp_local_if local domain, codomain) ) -# 44295 "parsing/parser.ml" +# 3418 "parsing/parser.mly" + ( Ptyp_arrow(label, mktyp_local_if local domain _loc_local_, codomain) ) +# 44345 "parsing/parser.ml" in let _endpos__1_ = _endpos_codomain_ in @@ -44299,15 +44349,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 44305 "parsing/parser.ml" +# 44355 "parsing/parser.ml" in -# 3410 "parsing/parser.mly" +# 3420 "parsing/parser.mly" ( _1 ) -# 44311 "parsing/parser.ml" +# 44361 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -44353,31 +44403,37 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 44359 "parsing/parser.ml" +# 44409 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__4_, _endpos__4_) in let domain = -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 44364 "parsing/parser.ml" +# 44415 "parsing/parser.ml" in let arg_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 44369 "parsing/parser.ml" +# 44420 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos_label_, _endpos_label_) in let label = -# 3427 "parsing/parser.mly" +# 3438 "parsing/parser.mly" ( Optional label ) -# 44374 "parsing/parser.ml" +# 44426 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 44381 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 44437 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -44385,15 +44441,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 44391 "parsing/parser.ml" +# 44447 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 44397 "parsing/parser.ml" +# 44453 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -44446,31 +44502,37 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 44452 "parsing/parser.ml" +# 44508 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__1_inlined1_, _startpos__1_inlined1_) in let domain = -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 44457 "parsing/parser.ml" +# 44514 "parsing/parser.ml" in let arg_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 44462 "parsing/parser.ml" +# 44519 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos_label_, _endpos_label_) in let label = -# 3427 "parsing/parser.mly" +# 3438 "parsing/parser.mly" ( Optional label ) -# 44467 "parsing/parser.ml" +# 44525 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 44474 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 44536 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -44478,15 +44540,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 44484 "parsing/parser.ml" +# 44546 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 44490 "parsing/parser.ml" +# 44552 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -44539,34 +44601,40 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 44545 "parsing/parser.ml" +# 44607 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__4_, _endpos__4_) in let domain = let (_endpos__1_, _1) = (_endpos__1_inlined1_, _1_inlined1) in -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 44552 "parsing/parser.ml" +# 44615 "parsing/parser.ml" in let arg_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 44558 "parsing/parser.ml" +# 44621 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos__1_, _startpos__1_) in let label = -# 3427 "parsing/parser.mly" +# 3438 "parsing/parser.mly" ( Optional label ) -# 44563 "parsing/parser.ml" +# 44627 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 44570 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 44638 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -44574,15 +44642,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 44580 "parsing/parser.ml" +# 44648 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 44586 "parsing/parser.ml" +# 44654 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -44642,34 +44710,40 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 44648 "parsing/parser.ml" +# 44716 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__1_inlined2_, _startpos__1_inlined2_) in let domain = let (_endpos__1_, _1) = (_endpos__1_inlined1_, _1_inlined1) in -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 44655 "parsing/parser.ml" +# 44724 "parsing/parser.ml" in let arg_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 44661 "parsing/parser.ml" +# 44730 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos__1_, _startpos__1_) in let label = -# 3427 "parsing/parser.mly" +# 3438 "parsing/parser.mly" ( Optional label ) -# 44666 "parsing/parser.ml" +# 44736 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 44673 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 44747 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -44677,15 +44751,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 44683 "parsing/parser.ml" +# 44757 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 44689 "parsing/parser.ml" +# 44763 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -44732,9 +44806,9 @@ module Tables = struct let _1 : (Parsetree.core_type) = Obj.magic _1 in let _2 : unit = Obj.magic _2 in let label : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 44738 "parsing/parser.ml" +# 44812 "parsing/parser.ml" ) = Obj.magic label in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_label_ in @@ -44742,31 +44816,37 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 44748 "parsing/parser.ml" +# 44822 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__4_, _endpos__4_) in let domain = -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 44753 "parsing/parser.ml" +# 44828 "parsing/parser.ml" in let arg_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 44758 "parsing/parser.ml" +# 44833 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos__2_, _endpos__2_) in let label = -# 3429 "parsing/parser.mly" +# 3440 "parsing/parser.mly" ( Labelled label ) -# 44763 "parsing/parser.ml" +# 44839 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 44770 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 44850 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -44774,15 +44854,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 44780 "parsing/parser.ml" +# 44860 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 44786 "parsing/parser.ml" +# 44866 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -44836,9 +44916,9 @@ module Tables = struct let _1 : (Parsetree.core_type) = Obj.magic _1 in let _2 : unit = Obj.magic _2 in let label : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 44842 "parsing/parser.ml" +# 44922 "parsing/parser.ml" ) = Obj.magic label in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_label_ in @@ -44846,31 +44926,37 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 44852 "parsing/parser.ml" +# 44932 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__1_inlined1_, _startpos__1_inlined1_) in let domain = -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 44857 "parsing/parser.ml" +# 44938 "parsing/parser.ml" in let arg_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 44862 "parsing/parser.ml" +# 44943 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos__2_, _endpos__2_) in let label = -# 3429 "parsing/parser.mly" +# 3440 "parsing/parser.mly" ( Labelled label ) -# 44867 "parsing/parser.ml" +# 44949 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 44874 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 44960 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -44878,15 +44964,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 44884 "parsing/parser.ml" +# 44970 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 44890 "parsing/parser.ml" +# 44976 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -44940,9 +45026,9 @@ module Tables = struct let _1 : unit = Obj.magic _1 in let _2 : unit = Obj.magic _2 in let label : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 44946 "parsing/parser.ml" +# 45032 "parsing/parser.ml" ) = Obj.magic label in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_label_ in @@ -44950,34 +45036,40 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 44956 "parsing/parser.ml" +# 45042 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__4_, _endpos__4_) in let domain = let (_endpos__1_, _1) = (_endpos__1_inlined1_, _1_inlined1) in -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 44963 "parsing/parser.ml" +# 45050 "parsing/parser.ml" in let arg_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 44969 "parsing/parser.ml" +# 45056 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos__1_, _startpos__1_) in let label = -# 3429 "parsing/parser.mly" +# 3440 "parsing/parser.mly" ( Labelled label ) -# 44974 "parsing/parser.ml" +# 45062 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 44981 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 45073 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -44985,15 +45077,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 44991 "parsing/parser.ml" +# 45083 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 44997 "parsing/parser.ml" +# 45089 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45054,9 +45146,9 @@ module Tables = struct let _1 : unit = Obj.magic _1 in let _2 : unit = Obj.magic _2 in let label : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 45060 "parsing/parser.ml" +# 45152 "parsing/parser.ml" ) = Obj.magic label in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos_label_ in @@ -45064,34 +45156,40 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 45070 "parsing/parser.ml" +# 45162 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__1_inlined2_, _startpos__1_inlined2_) in let domain = let (_endpos__1_, _1) = (_endpos__1_inlined1_, _1_inlined1) in -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 45077 "parsing/parser.ml" +# 45170 "parsing/parser.ml" in let arg_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 45083 "parsing/parser.ml" +# 45176 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos__1_, _startpos__1_) in let label = -# 3429 "parsing/parser.mly" +# 3440 "parsing/parser.mly" ( Labelled label ) -# 45088 "parsing/parser.ml" +# 45182 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 45095 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 45193 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_codomain_, _startpos_label_) in @@ -45099,15 +45197,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 45105 "parsing/parser.ml" +# 45203 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 45111 "parsing/parser.ml" +# 45209 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45146,31 +45244,37 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 45152 "parsing/parser.ml" +# 45250 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__4_, _endpos__4_) in let domain = -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 45157 "parsing/parser.ml" +# 45256 "parsing/parser.ml" in let arg_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 45162 "parsing/parser.ml" +# 45261 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos__0_, _endpos__0_) in let label = -# 3431 "parsing/parser.mly" +# 3442 "parsing/parser.mly" ( Nolabel ) -# 45167 "parsing/parser.ml" +# 45267 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 45174 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 45278 "parsing/parser.ml" in let _endpos__1_ = _endpos_codomain_ in @@ -45178,15 +45282,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 45184 "parsing/parser.ml" +# 45288 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 45190 "parsing/parser.ml" +# 45294 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45232,31 +45336,37 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 45238 "parsing/parser.ml" +# 45342 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__1_inlined1_, _startpos__1_inlined1_) in let domain = -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 45243 "parsing/parser.ml" +# 45348 "parsing/parser.ml" in let arg_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 45248 "parsing/parser.ml" +# 45353 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos__0_, _endpos__0_) in let label = -# 3431 "parsing/parser.mly" +# 3442 "parsing/parser.mly" ( Nolabel ) -# 45253 "parsing/parser.ml" +# 45359 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 45260 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 45370 "parsing/parser.ml" in let _endpos__1_ = _endpos_codomain_ in @@ -45264,15 +45374,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 45270 "parsing/parser.ml" +# 45380 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 45276 "parsing/parser.ml" +# 45386 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45318,34 +45428,40 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3435 "parsing/parser.mly" +# 3446 "parsing/parser.mly" ( false ) -# 45324 "parsing/parser.ml" +# 45434 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__4_, _endpos__4_) in let domain = let (_endpos__1_, _1) = (_endpos__1_inlined1_, _1_inlined1) in -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 45331 "parsing/parser.ml" +# 45442 "parsing/parser.ml" in let arg_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 45337 "parsing/parser.ml" +# 45448 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos__1_, _startpos__1_) in let label = -# 3431 "parsing/parser.mly" +# 3442 "parsing/parser.mly" ( Nolabel ) -# 45342 "parsing/parser.ml" +# 45454 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 45349 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 45465 "parsing/parser.ml" in let _endpos__1_ = _endpos_codomain_ in @@ -45353,15 +45469,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 45359 "parsing/parser.ml" +# 45475 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 45365 "parsing/parser.ml" +# 45481 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45414,34 +45530,40 @@ module Tables = struct let _v : (Parsetree.core_type) = let _1 = let _1 = let ret_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 45420 "parsing/parser.ml" +# 45536 "parsing/parser.ml" in + let (_endpos_ret_local_, _startpos_ret_local_) = (_endpos__1_inlined2_, _startpos__1_inlined2_) in let domain = let (_endpos__1_, _1) = (_endpos__1_inlined1_, _1_inlined1) in -# 901 "parsing/parser.mly" +# 904 "parsing/parser.mly" ( extra_rhs_core_type _1 ~pos:_endpos__1_ ) -# 45427 "parsing/parser.ml" +# 45544 "parsing/parser.ml" in let arg_local = -# 3437 "parsing/parser.mly" +# 3448 "parsing/parser.mly" ( true ) -# 45433 "parsing/parser.ml" +# 45550 "parsing/parser.ml" in + let (_endpos_arg_local_, _startpos_arg_local_) = (_endpos__1_, _startpos__1_) in let label = -# 3431 "parsing/parser.mly" +# 3442 "parsing/parser.mly" ( Nolabel ) -# 45438 "parsing/parser.ml" +# 45556 "parsing/parser.ml" in + let _loc_ret_local_ = (_startpos_ret_local_, _endpos_ret_local_) in + let _loc_codomain_ = (_startpos_codomain_, _endpos_codomain_) in + let _loc_arg_local_ = (_startpos_arg_local_, _endpos_arg_local_) in -# 3419 "parsing/parser.mly" +# 3429 "parsing/parser.mly" ( Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) ) -# 45445 "parsing/parser.ml" + mktyp_local_if arg_local domain _loc_arg_local_, + mktyp_local_if ret_local (maybe_curry_typ codomain _loc_codomain_) + _loc_ret_local_) ) +# 45567 "parsing/parser.ml" in let _endpos__1_ = _endpos_codomain_ in @@ -45449,15 +45571,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 45455 "parsing/parser.ml" +# 45577 "parsing/parser.ml" in -# 3423 "parsing/parser.mly" +# 3434 "parsing/parser.mly" ( _1 ) -# 45461 "parsing/parser.ml" +# 45583 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45484,39 +45606,39 @@ module Tables = struct let ys = # 260 "" ( List.flatten xss ) -# 45488 "parsing/parser.ml" +# 45610 "parsing/parser.ml" in let xs = let items = -# 973 "parsing/parser.mly" +# 976 "parsing/parser.mly" ( [] ) -# 45494 "parsing/parser.ml" +# 45616 "parsing/parser.ml" in -# 1387 "parsing/parser.mly" +# 1390 "parsing/parser.mly" ( items ) -# 45499 "parsing/parser.ml" +# 45621 "parsing/parser.ml" in # 267 "" ( xs @ ys ) -# 45505 "parsing/parser.ml" +# 45627 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_xss_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 895 "parsing/parser.mly" +# 898 "parsing/parser.mly" ( extra_str _startpos _endpos _1 ) -# 45514 "parsing/parser.ml" +# 45636 "parsing/parser.ml" in -# 1380 "parsing/parser.mly" +# 1383 "parsing/parser.mly" ( _1 ) -# 45520 "parsing/parser.ml" +# 45642 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45557,7 +45679,7 @@ module Tables = struct let ys = # 260 "" ( List.flatten xss ) -# 45561 "parsing/parser.ml" +# 45683 "parsing/parser.ml" in let xs = let items = @@ -45565,65 +45687,65 @@ module Tables = struct let _1 = let _1 = let attrs = -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 45571 "parsing/parser.ml" +# 45693 "parsing/parser.ml" in -# 1394 "parsing/parser.mly" +# 1397 "parsing/parser.mly" ( mkstrexp e attrs ) -# 45576 "parsing/parser.ml" +# 45698 "parsing/parser.ml" in let _startpos__1_ = _startpos_e_ in let _startpos = _startpos__1_ in -# 907 "parsing/parser.mly" +# 910 "parsing/parser.mly" ( text_str _startpos @ [_1] ) -# 45584 "parsing/parser.ml" +# 45706 "parsing/parser.ml" in let _startpos__1_ = _startpos_e_ in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 926 "parsing/parser.mly" +# 929 "parsing/parser.mly" ( mark_rhs_docs _startpos _endpos; _1 ) -# 45594 "parsing/parser.ml" +# 45716 "parsing/parser.ml" in -# 975 "parsing/parser.mly" +# 978 "parsing/parser.mly" ( x ) -# 45600 "parsing/parser.ml" +# 45722 "parsing/parser.ml" in -# 1387 "parsing/parser.mly" +# 1390 "parsing/parser.mly" ( items ) -# 45606 "parsing/parser.ml" +# 45728 "parsing/parser.ml" in # 267 "" ( xs @ ys ) -# 45612 "parsing/parser.ml" +# 45734 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_e_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 895 "parsing/parser.mly" +# 898 "parsing/parser.mly" ( extra_str _startpos _endpos _1 ) -# 45621 "parsing/parser.ml" +# 45743 "parsing/parser.ml" in -# 1380 "parsing/parser.mly" +# 1383 "parsing/parser.mly" ( _1 ) -# 45627 "parsing/parser.ml" +# 45749 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45649,9 +45771,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1409 "parsing/parser.mly" +# 1412 "parsing/parser.mly" ( val_of_let_bindings ~loc:_sloc _1 ) -# 45655 "parsing/parser.ml" +# 45777 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45685,9 +45807,9 @@ module Tables = struct let _2 = let _1 = _1_inlined1 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 45691 "parsing/parser.ml" +# 45813 "parsing/parser.ml" in let _endpos__2_ = _endpos__1_inlined1_ in @@ -45695,10 +45817,10 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1412 "parsing/parser.mly" +# 1415 "parsing/parser.mly" ( let docs = symbol_docs _sloc in Pstr_extension (_1, add_docs_attrs docs _2) ) -# 45702 "parsing/parser.ml" +# 45824 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined1_ in @@ -45706,15 +45828,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 942 "parsing/parser.mly" +# 945 "parsing/parser.mly" ( mkstr ~loc:_sloc _1 ) -# 45712 "parsing/parser.ml" +# 45834 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 45718 "parsing/parser.ml" +# 45840 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45738,23 +45860,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.structure_item) = let _1 = let _1 = -# 1415 "parsing/parser.mly" +# 1418 "parsing/parser.mly" ( Pstr_attribute _1 ) -# 45744 "parsing/parser.ml" +# 45866 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 942 "parsing/parser.mly" +# 945 "parsing/parser.mly" ( mkstr ~loc:_sloc _1 ) -# 45752 "parsing/parser.ml" +# 45874 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 45758 "parsing/parser.ml" +# 45880 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45778,23 +45900,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.structure_item) = let _1 = let _1 = -# 1419 "parsing/parser.mly" +# 1422 "parsing/parser.mly" ( pstr_primitive _1 ) -# 45784 "parsing/parser.ml" +# 45906 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 45792 "parsing/parser.ml" +# 45914 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 45798 "parsing/parser.ml" +# 45920 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45818,23 +45940,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.structure_item) = let _1 = let _1 = -# 1421 "parsing/parser.mly" +# 1424 "parsing/parser.mly" ( pstr_primitive _1 ) -# 45824 "parsing/parser.ml" +# 45946 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 45832 "parsing/parser.ml" +# 45954 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 45838 "parsing/parser.ml" +# 45960 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45869,26 +45991,26 @@ module Tables = struct let _1 = let _1 = let _1 = -# 1134 "parsing/parser.mly" +# 1137 "parsing/parser.mly" ( let (x, b) = a in x, b :: bs ) -# 45875 "parsing/parser.ml" +# 45997 "parsing/parser.ml" in -# 3007 "parsing/parser.mly" +# 3015 "parsing/parser.mly" ( _1 ) -# 45880 "parsing/parser.ml" +# 46002 "parsing/parser.ml" in -# 2990 "parsing/parser.mly" +# 2998 "parsing/parser.mly" ( _1 ) -# 45886 "parsing/parser.ml" +# 46008 "parsing/parser.ml" in -# 1423 "parsing/parser.mly" +# 1426 "parsing/parser.mly" ( pstr_type _1 ) -# 45892 "parsing/parser.ml" +# 46014 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_bs_, _startpos_a_) in @@ -45896,15 +46018,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 45902 "parsing/parser.ml" +# 46024 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 45908 "parsing/parser.ml" +# 46030 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -45989,16 +46111,16 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 45995 "parsing/parser.ml" +# 46117 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in let cs = -# 1126 "parsing/parser.mly" +# 1129 "parsing/parser.mly" ( List.rev xs ) -# 46002 "parsing/parser.ml" +# 46124 "parsing/parser.ml" in let tid = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in @@ -46006,46 +46128,46 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 46012 "parsing/parser.ml" +# 46134 "parsing/parser.ml" in let _4 = -# 3780 "parsing/parser.mly" +# 3791 "parsing/parser.mly" ( Recursive ) -# 46018 "parsing/parser.ml" +# 46140 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 46025 "parsing/parser.ml" +# 46147 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3260 "parsing/parser.mly" +# 3270 "parsing/parser.mly" ( let docs = symbol_docs _sloc in let attrs = attrs1 @ attrs2 in Te.mk tid cs ~params ~priv ~attrs ~docs, ext ) -# 46037 "parsing/parser.ml" +# 46159 "parsing/parser.ml" in -# 3243 "parsing/parser.mly" +# 3253 "parsing/parser.mly" ( _1 ) -# 46043 "parsing/parser.ml" +# 46165 "parsing/parser.ml" in -# 1425 "parsing/parser.mly" +# 1428 "parsing/parser.mly" ( pstr_typext _1 ) -# 46049 "parsing/parser.ml" +# 46171 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined3_ in @@ -46053,15 +46175,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 46059 "parsing/parser.ml" +# 46181 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 46065 "parsing/parser.ml" +# 46187 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -46153,16 +46275,16 @@ module Tables = struct let attrs2 = let _1 = _1_inlined4 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 46159 "parsing/parser.ml" +# 46281 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined4_ in let cs = -# 1126 "parsing/parser.mly" +# 1129 "parsing/parser.mly" ( List.rev xs ) -# 46166 "parsing/parser.ml" +# 46288 "parsing/parser.ml" in let tid = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined3_, _startpos__1_inlined3_, _1_inlined3) in @@ -46170,9 +46292,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 46176 "parsing/parser.ml" +# 46298 "parsing/parser.ml" in let _4 = @@ -46181,41 +46303,41 @@ module Tables = struct let _startpos = _startpos__1_ in let _loc = (_startpos, _endpos) in -# 3781 "parsing/parser.mly" +# 3792 "parsing/parser.mly" ( not_expecting _loc "nonrec flag" ) -# 46187 "parsing/parser.ml" +# 46309 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 46195 "parsing/parser.ml" +# 46317 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3260 "parsing/parser.mly" +# 3270 "parsing/parser.mly" ( let docs = symbol_docs _sloc in let attrs = attrs1 @ attrs2 in Te.mk tid cs ~params ~priv ~attrs ~docs, ext ) -# 46207 "parsing/parser.ml" +# 46329 "parsing/parser.ml" in -# 3243 "parsing/parser.mly" +# 3253 "parsing/parser.mly" ( _1 ) -# 46213 "parsing/parser.ml" +# 46335 "parsing/parser.ml" in -# 1425 "parsing/parser.mly" +# 1428 "parsing/parser.mly" ( pstr_typext _1 ) -# 46219 "parsing/parser.ml" +# 46341 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined4_ in @@ -46223,15 +46345,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 46229 "parsing/parser.ml" +# 46351 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 46235 "parsing/parser.ml" +# 46357 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -46255,23 +46377,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.structure_item) = let _1 = let _1 = -# 1427 "parsing/parser.mly" +# 1430 "parsing/parser.mly" ( pstr_exception _1 ) -# 46261 "parsing/parser.ml" +# 46383 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 46269 "parsing/parser.ml" +# 46391 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 46275 "parsing/parser.ml" +# 46397 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -46334,9 +46456,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 46340 "parsing/parser.ml" +# 46462 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -46346,36 +46468,36 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 46352 "parsing/parser.ml" +# 46474 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 46360 "parsing/parser.ml" +# 46482 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1453 "parsing/parser.mly" +# 1456 "parsing/parser.mly" ( let docs = symbol_docs _sloc in let loc = make_loc _sloc in let attrs = attrs1 @ attrs2 in let body = Mb.mk name body ~attrs ~loc ~docs in Pstr_module body, ext ) -# 46373 "parsing/parser.ml" +# 46495 "parsing/parser.ml" in -# 1429 "parsing/parser.mly" +# 1432 "parsing/parser.mly" ( _1 ) -# 46379 "parsing/parser.ml" +# 46501 "parsing/parser.ml" in let _endpos__1_ = _endpos__1_inlined3_ in @@ -46383,15 +46505,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 46389 "parsing/parser.ml" +# 46511 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 46395 "parsing/parser.ml" +# 46517 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -46470,9 +46592,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 46476 "parsing/parser.ml" +# 46598 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -46482,24 +46604,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 46488 "parsing/parser.ml" +# 46610 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 46496 "parsing/parser.ml" +# 46618 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1488 "parsing/parser.mly" +# 1491 "parsing/parser.mly" ( let loc = make_loc _sloc in let attrs = attrs1 @ attrs2 in @@ -46507,25 +46629,25 @@ module Tables = struct ext, Mb.mk name body ~attrs ~loc ~docs ) -# 46511 "parsing/parser.ml" +# 46633 "parsing/parser.ml" in -# 1134 "parsing/parser.mly" +# 1137 "parsing/parser.mly" ( let (x, b) = a in x, b :: bs ) -# 46517 "parsing/parser.ml" +# 46639 "parsing/parser.ml" in -# 1476 "parsing/parser.mly" +# 1479 "parsing/parser.mly" ( _1 ) -# 46523 "parsing/parser.ml" +# 46645 "parsing/parser.ml" in -# 1431 "parsing/parser.mly" +# 1434 "parsing/parser.mly" ( pstr_recmodule _1 ) -# 46529 "parsing/parser.ml" +# 46651 "parsing/parser.ml" in let _endpos__1_ = _endpos_bs_ in @@ -46533,15 +46655,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 46539 "parsing/parser.ml" +# 46661 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 46545 "parsing/parser.ml" +# 46667 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -46565,23 +46687,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.structure_item) = let _1 = let _1 = -# 1433 "parsing/parser.mly" +# 1436 "parsing/parser.mly" ( let (body, ext) = _1 in (Pstr_modtype body, ext) ) -# 46571 "parsing/parser.ml" +# 46693 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 46579 "parsing/parser.ml" +# 46701 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 46585 "parsing/parser.ml" +# 46707 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -46605,23 +46727,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.structure_item) = let _1 = let _1 = -# 1435 "parsing/parser.mly" +# 1438 "parsing/parser.mly" ( let (body, ext) = _1 in (Pstr_open body, ext) ) -# 46611 "parsing/parser.ml" +# 46733 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 46619 "parsing/parser.ml" +# 46741 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 46625 "parsing/parser.ml" +# 46747 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -46691,9 +46813,9 @@ module Tables = struct let _1_inlined3 : (Parsetree.attributes) = Obj.magic _1_inlined3 in let body : (Parsetree.class_expr) = Obj.magic body in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 46697 "parsing/parser.ml" +# 46819 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let params : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = Obj.magic params in let virt : (Asttypes.virtual_flag) = Obj.magic virt in @@ -46711,9 +46833,9 @@ module Tables = struct let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 46717 "parsing/parser.ml" +# 46839 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -46723,24 +46845,24 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 46729 "parsing/parser.ml" +# 46851 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 46737 "parsing/parser.ml" +# 46859 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 1814 "parsing/parser.mly" +# 1817 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in @@ -46748,25 +46870,25 @@ module Tables = struct ext, Ci.mk id body ~virt ~params ~attrs ~loc ~docs ) -# 46752 "parsing/parser.ml" +# 46874 "parsing/parser.ml" in -# 1134 "parsing/parser.mly" +# 1137 "parsing/parser.mly" ( let (x, b) = a in x, b :: bs ) -# 46758 "parsing/parser.ml" +# 46880 "parsing/parser.ml" in -# 1803 "parsing/parser.mly" +# 1806 "parsing/parser.mly" ( _1 ) -# 46764 "parsing/parser.ml" +# 46886 "parsing/parser.ml" in -# 1437 "parsing/parser.mly" +# 1440 "parsing/parser.mly" ( let (ext, l) = _1 in (Pstr_class l, ext) ) -# 46770 "parsing/parser.ml" +# 46892 "parsing/parser.ml" in let _endpos__1_ = _endpos_bs_ in @@ -46774,15 +46896,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 46780 "parsing/parser.ml" +# 46902 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 46786 "parsing/parser.ml" +# 46908 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -46806,23 +46928,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.structure_item) = let _1 = let _1 = -# 1439 "parsing/parser.mly" +# 1442 "parsing/parser.mly" ( let (ext, l) = _1 in (Pstr_class_type l, ext) ) -# 46812 "parsing/parser.ml" +# 46934 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 46820 "parsing/parser.ml" +# 46942 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 46826 "parsing/parser.ml" +# 46948 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -46878,35 +47000,35 @@ module Tables = struct let attrs2 = let _1 = _1_inlined1 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 46884 "parsing/parser.ml" +# 47006 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined1_ in let attrs1 = -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 46891 "parsing/parser.ml" +# 47013 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos_attrs0_ in let _sloc = (_symbolstartpos, _endpos) in -# 1532 "parsing/parser.mly" +# 1535 "parsing/parser.mly" ( let attrs = attrs0 @ attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Incl.mk thing ~attrs ~loc ~docs, ext ) -# 46904 "parsing/parser.ml" +# 47026 "parsing/parser.ml" in -# 1441 "parsing/parser.mly" +# 1444 "parsing/parser.mly" ( pstr_include _1 ) -# 46910 "parsing/parser.ml" +# 47032 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos__1_inlined1_, _startpos_attrs0_) in @@ -46914,15 +47036,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 959 "parsing/parser.mly" +# 962 "parsing/parser.mly" ( wrap_mkstr_ext ~loc:_sloc _1 ) -# 46920 "parsing/parser.ml" +# 47042 "parsing/parser.ml" in -# 1443 "parsing/parser.mly" +# 1446 "parsing/parser.mly" ( _1 ) -# 46926 "parsing/parser.ml" +# 47048 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -46945,9 +47067,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3849 "parsing/parser.mly" +# 3860 "parsing/parser.mly" ( "-" ) -# 46951 "parsing/parser.ml" +# 47073 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -46970,9 +47092,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (string) = -# 3850 "parsing/parser.mly" +# 3861 "parsing/parser.mly" ( "-." ) -# 46976 "parsing/parser.ml" +# 47098 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47025,9 +47147,9 @@ module Tables = struct let _v : (Parsetree.row_field) = let _5 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 47031 "parsing/parser.ml" +# 47153 "parsing/parser.ml" in let _endpos__5_ = _endpos__1_inlined1_ in @@ -47036,18 +47158,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 47040 "parsing/parser.ml" +# 47162 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 47045 "parsing/parser.ml" +# 47167 "parsing/parser.ml" in -# 3555 "parsing/parser.mly" +# 3566 "parsing/parser.mly" ( _1 ) -# 47051 "parsing/parser.ml" +# 47173 "parsing/parser.ml" in let _1 = @@ -47055,20 +47177,20 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 47061 "parsing/parser.ml" +# 47183 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3541 "parsing/parser.mly" +# 3552 "parsing/parser.mly" ( let info = symbol_info _endpos in let attrs = add_info_attrs info _5 in Rf.tag ~loc:(make_loc _sloc) ~attrs _1 _3 _4 ) -# 47072 "parsing/parser.ml" +# 47194 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47100,9 +47222,9 @@ module Tables = struct let _v : (Parsetree.row_field) = let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 47106 "parsing/parser.ml" +# 47228 "parsing/parser.ml" in let _endpos__2_ = _endpos__1_inlined1_ in @@ -47111,20 +47233,20 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 47117 "parsing/parser.ml" +# 47239 "parsing/parser.ml" in let _endpos = _endpos__2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3545 "parsing/parser.mly" +# 3556 "parsing/parser.mly" ( let info = symbol_info _endpos in let attrs = add_info_attrs info _2 in Rf.tag ~loc:(make_loc _sloc) ~attrs _1 true [] ) -# 47128 "parsing/parser.ml" +# 47250 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47156,7 +47278,7 @@ module Tables = struct let _v : (Parsetree.toplevel_phrase) = let arg = # 124 "" ( None ) -# 47160 "parsing/parser.ml" +# 47282 "parsing/parser.ml" in let _endpos_arg_ = _endpos__1_inlined1_ in let dir = @@ -47165,18 +47287,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 47171 "parsing/parser.ml" +# 47293 "parsing/parser.ml" in let _endpos = _endpos_arg_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3743 "parsing/parser.mly" +# 3754 "parsing/parser.mly" ( mk_directive ~loc:_sloc dir arg ) -# 47180 "parsing/parser.ml" +# 47302 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47207,9 +47329,9 @@ module Tables = struct }; } = _menhir_stack in let _1_inlined2 : ( -# 773 "parsing/parser.mly" +# 776 "parsing/parser.mly" (string * Location.t * string option) -# 47213 "parsing/parser.ml" +# 47335 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let _1_inlined1 : (Asttypes.label) = Obj.magic _1_inlined1 in let _1 : unit = Obj.magic _1 in @@ -47220,23 +47342,23 @@ module Tables = struct let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in let x = let _1 = -# 3747 "parsing/parser.mly" +# 3758 "parsing/parser.mly" ( let (s, _, _) = _1 in Pdir_string s ) -# 47226 "parsing/parser.ml" +# 47348 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 964 "parsing/parser.mly" +# 967 "parsing/parser.mly" ( mk_directive_arg ~loc:_sloc _1 ) -# 47234 "parsing/parser.ml" +# 47356 "parsing/parser.ml" in # 126 "" ( Some x ) -# 47240 "parsing/parser.ml" +# 47362 "parsing/parser.ml" in let _endpos_arg_ = _endpos__1_inlined2_ in @@ -47246,18 +47368,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 47252 "parsing/parser.ml" +# 47374 "parsing/parser.ml" in let _endpos = _endpos_arg_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3743 "parsing/parser.mly" +# 3754 "parsing/parser.mly" ( mk_directive ~loc:_sloc dir arg ) -# 47261 "parsing/parser.ml" +# 47383 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47288,9 +47410,9 @@ module Tables = struct }; } = _menhir_stack in let _1_inlined2 : ( -# 719 "parsing/parser.mly" +# 722 "parsing/parser.mly" (string * char option) -# 47294 "parsing/parser.ml" +# 47416 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let _1_inlined1 : (Asttypes.label) = Obj.magic _1_inlined1 in let _1 : unit = Obj.magic _1 in @@ -47301,23 +47423,23 @@ module Tables = struct let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in let x = let _1 = -# 3748 "parsing/parser.mly" +# 3759 "parsing/parser.mly" ( let (n, m) = _1 in Pdir_int (n ,m) ) -# 47307 "parsing/parser.ml" +# 47429 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 964 "parsing/parser.mly" +# 967 "parsing/parser.mly" ( mk_directive_arg ~loc:_sloc _1 ) -# 47315 "parsing/parser.ml" +# 47437 "parsing/parser.ml" in # 126 "" ( Some x ) -# 47321 "parsing/parser.ml" +# 47443 "parsing/parser.ml" in let _endpos_arg_ = _endpos__1_inlined2_ in @@ -47327,18 +47449,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 47333 "parsing/parser.ml" +# 47455 "parsing/parser.ml" in let _endpos = _endpos_arg_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3743 "parsing/parser.mly" +# 3754 "parsing/parser.mly" ( mk_directive ~loc:_sloc dir arg ) -# 47342 "parsing/parser.ml" +# 47464 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47378,23 +47500,23 @@ module Tables = struct let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in let x = let _1 = -# 3749 "parsing/parser.mly" +# 3760 "parsing/parser.mly" ( Pdir_ident _1 ) -# 47384 "parsing/parser.ml" +# 47506 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 964 "parsing/parser.mly" +# 967 "parsing/parser.mly" ( mk_directive_arg ~loc:_sloc _1 ) -# 47392 "parsing/parser.ml" +# 47514 "parsing/parser.ml" in # 126 "" ( Some x ) -# 47398 "parsing/parser.ml" +# 47520 "parsing/parser.ml" in let _endpos_arg_ = _endpos__1_inlined2_ in @@ -47404,18 +47526,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 47410 "parsing/parser.ml" +# 47532 "parsing/parser.ml" in let _endpos = _endpos_arg_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3743 "parsing/parser.mly" +# 3754 "parsing/parser.mly" ( mk_directive ~loc:_sloc dir arg ) -# 47419 "parsing/parser.ml" +# 47541 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47455,23 +47577,23 @@ module Tables = struct let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in let x = let _1 = -# 3750 "parsing/parser.mly" +# 3761 "parsing/parser.mly" ( Pdir_ident _1 ) -# 47461 "parsing/parser.ml" +# 47583 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 964 "parsing/parser.mly" +# 967 "parsing/parser.mly" ( mk_directive_arg ~loc:_sloc _1 ) -# 47469 "parsing/parser.ml" +# 47591 "parsing/parser.ml" in # 126 "" ( Some x ) -# 47475 "parsing/parser.ml" +# 47597 "parsing/parser.ml" in let _endpos_arg_ = _endpos__1_inlined2_ in @@ -47481,18 +47603,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 47487 "parsing/parser.ml" +# 47609 "parsing/parser.ml" in let _endpos = _endpos_arg_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3743 "parsing/parser.mly" +# 3754 "parsing/parser.mly" ( mk_directive ~loc:_sloc dir arg ) -# 47496 "parsing/parser.ml" +# 47618 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47532,23 +47654,23 @@ module Tables = struct let (_endpos__1_, _startpos__1_) = (_endpos__1_inlined2_, _startpos__1_inlined2_) in let x = let _1 = -# 3751 "parsing/parser.mly" +# 3762 "parsing/parser.mly" ( Pdir_bool false ) -# 47538 "parsing/parser.ml" +# 47660 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 964 "parsing/parser.mly" +# 967 "parsing/parser.mly" ( mk_directive_arg ~loc:_sloc _1 ) -# 47546 "parsing/parser.ml" +# 47668 "parsing/parser.ml" in # 126 "" ( Some x ) -# 47552 "parsing/parser.ml" +# 47674 "parsing/parser.ml" in let _endpos_arg_ = _endpos__1_inlined2_ in @@ -47558,18 +47680,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 47564 "parsing/parser.ml" +# 47686 "parsing/parser.ml" in let _endpos = _endpos_arg_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3743 "parsing/parser.mly" +# 3754 "parsing/parser.mly" ( mk_directive ~loc:_sloc dir arg ) -# 47573 "parsing/parser.ml" +# 47695 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47609,23 +47731,23 @@ module Tables = struct let (_endpos__1_, _startpos__1_) = (_endpos__1_inlined2_, _startpos__1_inlined2_) in let x = let _1 = -# 3752 "parsing/parser.mly" +# 3763 "parsing/parser.mly" ( Pdir_bool true ) -# 47615 "parsing/parser.ml" +# 47737 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 964 "parsing/parser.mly" +# 967 "parsing/parser.mly" ( mk_directive_arg ~loc:_sloc _1 ) -# 47623 "parsing/parser.ml" +# 47745 "parsing/parser.ml" in # 126 "" ( Some x ) -# 47629 "parsing/parser.ml" +# 47751 "parsing/parser.ml" in let _endpos_arg_ = _endpos__1_inlined2_ in @@ -47635,18 +47757,18 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 47641 "parsing/parser.ml" +# 47763 "parsing/parser.ml" in let _endpos = _endpos_arg_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3743 "parsing/parser.mly" +# 3754 "parsing/parser.mly" ( mk_directive ~loc:_sloc dir arg ) -# 47650 "parsing/parser.ml" +# 47772 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47686,37 +47808,37 @@ module Tables = struct let _1 = let _1 = let attrs = -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 47692 "parsing/parser.ml" +# 47814 "parsing/parser.ml" in -# 1394 "parsing/parser.mly" +# 1397 "parsing/parser.mly" ( mkstrexp e attrs ) -# 47697 "parsing/parser.ml" +# 47819 "parsing/parser.ml" in let _startpos__1_ = _startpos_e_ in let _startpos = _startpos__1_ in -# 907 "parsing/parser.mly" +# 910 "parsing/parser.mly" ( text_str _startpos @ [_1] ) -# 47705 "parsing/parser.ml" +# 47827 "parsing/parser.ml" in let _startpos__1_ = _startpos_e_ in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 895 "parsing/parser.mly" +# 898 "parsing/parser.mly" ( extra_str _startpos _endpos _1 ) -# 47714 "parsing/parser.ml" +# 47836 "parsing/parser.ml" in -# 1172 "parsing/parser.mly" +# 1175 "parsing/parser.mly" ( Ptop_def _1 ) -# 47720 "parsing/parser.ml" +# 47842 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47749,21 +47871,21 @@ module Tables = struct let _1 = # 260 "" ( List.flatten xss ) -# 47753 "parsing/parser.ml" +# 47875 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_xss_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 895 "parsing/parser.mly" +# 898 "parsing/parser.mly" ( extra_str _startpos _endpos _1 ) -# 47761 "parsing/parser.ml" +# 47883 "parsing/parser.ml" in -# 1176 "parsing/parser.mly" +# 1179 "parsing/parser.mly" ( Ptop_def _1 ) -# 47767 "parsing/parser.ml" +# 47889 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47793,9 +47915,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.toplevel_phrase) = -# 1180 "parsing/parser.mly" +# 1183 "parsing/parser.mly" ( _1 ) -# 47799 "parsing/parser.ml" +# 47921 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47818,9 +47940,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Parsetree.toplevel_phrase) = -# 1183 "parsing/parser.mly" +# 1186 "parsing/parser.mly" ( raise End_of_file ) -# 47824 "parsing/parser.ml" +# 47946 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47843,9 +47965,9 @@ module Tables = struct let _startpos = _startpos_ty_ in let _endpos = _endpos_ty_ in let _v : (Parsetree.core_type) = -# 3447 "parsing/parser.mly" +# 3458 "parsing/parser.mly" ( ty ) -# 47849 "parsing/parser.ml" +# 47971 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47873,18 +47995,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 47877 "parsing/parser.ml" +# 47999 "parsing/parser.ml" in -# 1065 "parsing/parser.mly" +# 1068 "parsing/parser.mly" ( xs ) -# 47882 "parsing/parser.ml" +# 48004 "parsing/parser.ml" in -# 3450 "parsing/parser.mly" +# 3461 "parsing/parser.mly" ( Ptyp_tuple tys ) -# 47888 "parsing/parser.ml" +# 48010 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xs_, _startpos_xs_) in @@ -47892,15 +48014,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 47898 "parsing/parser.ml" +# 48020 "parsing/parser.ml" in -# 3452 "parsing/parser.mly" +# 3463 "parsing/parser.mly" ( _1 ) -# 47904 "parsing/parser.ml" +# 48026 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47930,9 +48052,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.core_type option * Parsetree.core_type option) = -# 2751 "parsing/parser.mly" +# 2759 "parsing/parser.mly" ( (Some _2, None) ) -# 47936 "parsing/parser.ml" +# 48058 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -47976,9 +48098,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : (Parsetree.core_type option * Parsetree.core_type option) = -# 2752 "parsing/parser.mly" +# 2760 "parsing/parser.mly" ( (Some _2, Some _4) ) -# 47982 "parsing/parser.ml" +# 48104 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48008,9 +48130,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.core_type option * Parsetree.core_type option) = -# 2753 "parsing/parser.mly" +# 2761 "parsing/parser.mly" ( (None, Some _2) ) -# 48014 "parsing/parser.ml" +# 48136 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48040,9 +48162,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.core_type option * Parsetree.core_type option) = -# 2754 "parsing/parser.mly" +# 2762 "parsing/parser.mly" ( syntax_error() ) -# 48046 "parsing/parser.ml" +# 48168 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48072,9 +48194,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.core_type option * Parsetree.core_type option) = -# 2755 "parsing/parser.mly" +# 2763 "parsing/parser.mly" ( syntax_error() ) -# 48078 "parsing/parser.ml" +# 48200 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48090,9 +48212,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = -# 3081 "parsing/parser.mly" +# 3089 "parsing/parser.mly" ( (Ptype_abstract, Public, None) ) -# 48096 "parsing/parser.ml" +# 48218 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48122,9 +48244,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) = -# 3083 "parsing/parser.mly" +# 3091 "parsing/parser.mly" ( _2 ) -# 48128 "parsing/parser.ml" +# 48250 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48147,9 +48269,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3706 "parsing/parser.mly" +# 3717 "parsing/parser.mly" ( _1 ) -# 48153 "parsing/parser.ml" +# 48275 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48179,9 +48301,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) = -# 3098 "parsing/parser.mly" +# 3106 "parsing/parser.mly" ( _2, _1 ) -# 48185 "parsing/parser.ml" +# 48307 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48197,9 +48319,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = -# 3091 "parsing/parser.mly" +# 3099 "parsing/parser.mly" ( [] ) -# 48203 "parsing/parser.ml" +# 48325 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48222,9 +48344,9 @@ module Tables = struct let _startpos = _startpos_p_ in let _endpos = _endpos_p_ in let _v : ((Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list) = -# 3093 "parsing/parser.mly" +# 3101 "parsing/parser.mly" ( [p] ) -# 48228 "parsing/parser.ml" +# 48350 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48264,18 +48386,18 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 48268 "parsing/parser.ml" +# 48390 "parsing/parser.ml" in -# 1037 "parsing/parser.mly" +# 1040 "parsing/parser.mly" ( xs ) -# 48273 "parsing/parser.ml" +# 48395 "parsing/parser.ml" in -# 3095 "parsing/parser.mly" +# 3103 "parsing/parser.mly" ( ps ) -# 48279 "parsing/parser.ml" +# 48401 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48306,24 +48428,24 @@ module Tables = struct let _endpos = _endpos_tyvar_ in let _v : (Parsetree.core_type) = let _1 = let _1 = -# 3103 "parsing/parser.mly" +# 3111 "parsing/parser.mly" ( Ptyp_var tyvar ) -# 48312 "parsing/parser.ml" +# 48434 "parsing/parser.ml" in let _endpos__1_ = _endpos_tyvar_ in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 48321 "parsing/parser.ml" +# 48443 "parsing/parser.ml" in -# 3106 "parsing/parser.mly" +# 3114 "parsing/parser.mly" ( _1 ) -# 48327 "parsing/parser.ml" +# 48449 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48347,23 +48469,23 @@ module Tables = struct let _endpos = _endpos__1_ in let _v : (Parsetree.core_type) = let _1 = let _1 = -# 3105 "parsing/parser.mly" +# 3113 "parsing/parser.mly" ( Ptyp_any ) -# 48353 "parsing/parser.ml" +# 48475 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 940 "parsing/parser.mly" +# 943 "parsing/parser.mly" ( mktyp ~loc:_sloc _1 ) -# 48361 "parsing/parser.ml" +# 48483 "parsing/parser.ml" in -# 3106 "parsing/parser.mly" +# 3114 "parsing/parser.mly" ( _1 ) -# 48367 "parsing/parser.ml" +# 48489 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48379,9 +48501,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (Asttypes.variance * Asttypes.injectivity) = -# 3110 "parsing/parser.mly" +# 3118 "parsing/parser.mly" ( NoVariance, NoInjectivity ) -# 48385 "parsing/parser.ml" +# 48507 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48404,9 +48526,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.variance * Asttypes.injectivity) = -# 3111 "parsing/parser.mly" +# 3119 "parsing/parser.mly" ( Covariant, NoInjectivity ) -# 48410 "parsing/parser.ml" +# 48532 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48429,9 +48551,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.variance * Asttypes.injectivity) = -# 3112 "parsing/parser.mly" +# 3120 "parsing/parser.mly" ( Contravariant, NoInjectivity ) -# 48435 "parsing/parser.ml" +# 48557 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48454,9 +48576,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.variance * Asttypes.injectivity) = -# 3113 "parsing/parser.mly" +# 3121 "parsing/parser.mly" ( NoVariance, Injective ) -# 48460 "parsing/parser.ml" +# 48582 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48486,9 +48608,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.variance * Asttypes.injectivity) = -# 3114 "parsing/parser.mly" +# 3122 "parsing/parser.mly" ( Covariant, Injective ) -# 48492 "parsing/parser.ml" +# 48614 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48518,9 +48640,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.variance * Asttypes.injectivity) = -# 3114 "parsing/parser.mly" +# 3122 "parsing/parser.mly" ( Covariant, Injective ) -# 48524 "parsing/parser.ml" +# 48646 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48550,9 +48672,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.variance * Asttypes.injectivity) = -# 3115 "parsing/parser.mly" +# 3123 "parsing/parser.mly" ( Contravariant, Injective ) -# 48556 "parsing/parser.ml" +# 48678 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48582,9 +48704,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.variance * Asttypes.injectivity) = -# 3115 "parsing/parser.mly" +# 3123 "parsing/parser.mly" ( Contravariant, Injective ) -# 48588 "parsing/parser.ml" +# 48710 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48603,20 +48725,20 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 711 "parsing/parser.mly" +# 714 "parsing/parser.mly" (string) -# 48609 "parsing/parser.ml" +# 48731 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.variance * Asttypes.injectivity) = let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 3117 "parsing/parser.mly" +# 3125 "parsing/parser.mly" ( if _1 = "+!" then Covariant, Injective else if _1 = "-!" then Contravariant, Injective else expecting _loc__1_ "type_variance" ) -# 48620 "parsing/parser.ml" +# 48742 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48635,20 +48757,20 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 759 "parsing/parser.mly" +# 762 "parsing/parser.mly" (string) -# 48641 "parsing/parser.ml" +# 48763 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.variance * Asttypes.injectivity) = let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 3121 "parsing/parser.mly" +# 3129 "parsing/parser.mly" ( if _1 = "!+" then Covariant, Injective else if _1 = "!-" then Contravariant, Injective else expecting _loc__1_ "type_variance" ) -# 48652 "parsing/parser.ml" +# 48774 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48682,39 +48804,39 @@ module Tables = struct let ys = # 260 "" ( List.flatten xss ) -# 48686 "parsing/parser.ml" +# 48808 "parsing/parser.ml" in let xs = let _1 = -# 973 "parsing/parser.mly" +# 976 "parsing/parser.mly" ( [] ) -# 48692 "parsing/parser.ml" +# 48814 "parsing/parser.ml" in -# 1203 "parsing/parser.mly" +# 1206 "parsing/parser.mly" ( _1 ) -# 48697 "parsing/parser.ml" +# 48819 "parsing/parser.ml" in # 267 "" ( xs @ ys ) -# 48703 "parsing/parser.ml" +# 48825 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_xss_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 899 "parsing/parser.mly" +# 902 "parsing/parser.mly" ( extra_def _startpos _endpos _1 ) -# 48712 "parsing/parser.ml" +# 48834 "parsing/parser.ml" in -# 1196 "parsing/parser.mly" +# 1199 "parsing/parser.mly" ( _1 ) -# 48718 "parsing/parser.ml" +# 48840 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48762,7 +48884,7 @@ module Tables = struct let ys = # 260 "" ( List.flatten xss ) -# 48766 "parsing/parser.ml" +# 48888 "parsing/parser.ml" in let xs = let _1 = @@ -48770,61 +48892,61 @@ module Tables = struct let _1 = let _1 = let attrs = -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 48776 "parsing/parser.ml" +# 48898 "parsing/parser.ml" in -# 1394 "parsing/parser.mly" +# 1397 "parsing/parser.mly" ( mkstrexp e attrs ) -# 48781 "parsing/parser.ml" +# 48903 "parsing/parser.ml" in -# 917 "parsing/parser.mly" +# 920 "parsing/parser.mly" ( Ptop_def [_1] ) -# 48787 "parsing/parser.ml" +# 48909 "parsing/parser.ml" in let _startpos__1_ = _startpos_e_ in let _startpos = _startpos__1_ in -# 915 "parsing/parser.mly" +# 918 "parsing/parser.mly" ( text_def _startpos @ [_1] ) -# 48795 "parsing/parser.ml" +# 48917 "parsing/parser.ml" in -# 975 "parsing/parser.mly" +# 978 "parsing/parser.mly" ( x ) -# 48801 "parsing/parser.ml" +# 48923 "parsing/parser.ml" in -# 1203 "parsing/parser.mly" +# 1206 "parsing/parser.mly" ( _1 ) -# 48807 "parsing/parser.ml" +# 48929 "parsing/parser.ml" in # 267 "" ( xs @ ys ) -# 48813 "parsing/parser.ml" +# 48935 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos_xss_, _startpos_e_) in let _endpos = _endpos__1_ in let _startpos = _startpos__1_ in -# 899 "parsing/parser.mly" +# 902 "parsing/parser.mly" ( extra_def _startpos _endpos _1 ) -# 48822 "parsing/parser.ml" +# 48944 "parsing/parser.ml" in -# 1196 "parsing/parser.mly" +# 1199 "parsing/parser.mly" ( _1 ) -# 48828 "parsing/parser.ml" +# 48950 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48861,9 +48983,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : (Asttypes.label) = -# 3625 "parsing/parser.mly" +# 3636 "parsing/parser.mly" ( _2 ) -# 48867 "parsing/parser.ml" +# 48989 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48902,9 +49024,9 @@ module Tables = struct let _v : (Asttypes.label) = let _loc__3_ = (_startpos__3_, _endpos__3_) in let _loc__1_ = (_startpos__1_, _endpos__1_) in -# 3626 "parsing/parser.mly" +# 3637 "parsing/parser.mly" ( unclosed "(" _loc__1_ ")" _loc__3_ ) -# 48908 "parsing/parser.ml" +# 49030 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48935,9 +49057,9 @@ module Tables = struct let _endpos = _endpos__2_ in let _v : (Asttypes.label) = let _loc__2_ = (_startpos__2_, _endpos__2_) in -# 3627 "parsing/parser.mly" +# 3638 "parsing/parser.mly" ( expecting _loc__2_ "operator" ) -# 48941 "parsing/parser.ml" +# 49063 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48975,9 +49097,9 @@ module Tables = struct let _endpos = _endpos__3_ in let _v : (Asttypes.label) = let _loc__3_ = (_startpos__3_, _endpos__3_) in -# 3628 "parsing/parser.mly" +# 3639 "parsing/parser.mly" ( expecting _loc__3_ "module-expr" ) -# 48981 "parsing/parser.ml" +# 49103 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -48996,17 +49118,17 @@ module Tables = struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 49002 "parsing/parser.ml" +# 49124 "parsing/parser.ml" ) = Obj.magic _1 in let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3631 "parsing/parser.mly" +# 3642 "parsing/parser.mly" ( _1 ) -# 49010 "parsing/parser.ml" +# 49132 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49029,9 +49151,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.label) = -# 3632 "parsing/parser.mly" +# 3643 "parsing/parser.mly" ( _1 ) -# 49035 "parsing/parser.ml" +# 49157 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49054,9 +49176,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Longident.t) = -# 3700 "parsing/parser.mly" +# 3711 "parsing/parser.mly" ( _1 ) -# 49060 "parsing/parser.ml" +# 49182 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49101,9 +49223,9 @@ module Tables = struct let ty : (Parsetree.core_type) = Obj.magic ty in let _5 : unit = Obj.magic _5 in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 49107 "parsing/parser.ml" +# 49229 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let mutable_ : (Asttypes.mutable_flag) = Obj.magic mutable_ in let _1 : (Parsetree.attributes) = Obj.magic _1 in @@ -49115,33 +49237,33 @@ module Tables = struct Parsetree.attributes) = let label = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined1_, _startpos__1_inlined1_, _1_inlined1) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 49121 "parsing/parser.ml" +# 49243 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 49129 "parsing/parser.ml" +# 49251 "parsing/parser.ml" in let attrs = -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 49135 "parsing/parser.ml" +# 49257 "parsing/parser.ml" in let _1 = -# 3842 "parsing/parser.mly" +# 3853 "parsing/parser.mly" ( Fresh ) -# 49140 "parsing/parser.ml" +# 49262 "parsing/parser.ml" in -# 1954 "parsing/parser.mly" +# 1957 "parsing/parser.mly" ( (label, mutable_, Cfk_virtual ty), attrs ) -# 49145 "parsing/parser.ml" +# 49267 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49186,9 +49308,9 @@ module Tables = struct let _6 : (Parsetree.expression) = Obj.magic _6 in let _5 : unit = Obj.magic _5 in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 49192 "parsing/parser.ml" +# 49314 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _3 : (Asttypes.mutable_flag) = Obj.magic _3 in let _1 : (Parsetree.attributes) = Obj.magic _1 in @@ -49200,33 +49322,33 @@ module Tables = struct Parsetree.attributes) = let _4 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined1_, _startpos__1_inlined1_, _1_inlined1) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 49206 "parsing/parser.ml" +# 49328 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 49214 "parsing/parser.ml" +# 49336 "parsing/parser.ml" in let _2 = -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 49220 "parsing/parser.ml" +# 49342 "parsing/parser.ml" in let _1 = -# 3845 "parsing/parser.mly" +# 3856 "parsing/parser.mly" ( Fresh ) -# 49225 "parsing/parser.ml" +# 49347 "parsing/parser.ml" in -# 1956 "parsing/parser.mly" +# 1959 "parsing/parser.mly" ( (_4, _3, Cfk_concrete (_1, _6)), _2 ) -# 49230 "parsing/parser.ml" +# 49352 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49277,9 +49399,9 @@ module Tables = struct let _6 : (Parsetree.expression) = Obj.magic _6 in let _5 : unit = Obj.magic _5 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 49283 "parsing/parser.ml" +# 49405 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let _3 : (Asttypes.mutable_flag) = Obj.magic _3 in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in @@ -49292,36 +49414,36 @@ module Tables = struct Parsetree.attributes) = let _4 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 49298 "parsing/parser.ml" +# 49420 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 49306 "parsing/parser.ml" +# 49428 "parsing/parser.ml" in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 49314 "parsing/parser.ml" +# 49436 "parsing/parser.ml" in let _1 = -# 3846 "parsing/parser.mly" +# 3857 "parsing/parser.mly" ( Override ) -# 49320 "parsing/parser.ml" +# 49442 "parsing/parser.ml" in -# 1956 "parsing/parser.mly" +# 1959 "parsing/parser.mly" ( (_4, _3, Cfk_concrete (_1, _6)), _2 ) -# 49325 "parsing/parser.ml" +# 49447 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49373,9 +49495,9 @@ module Tables = struct let _6 : unit = Obj.magic _6 in let _5 : (Parsetree.core_type option * Parsetree.core_type option) = Obj.magic _5 in let _1_inlined1 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 49379 "parsing/parser.ml" +# 49501 "parsing/parser.ml" ) = Obj.magic _1_inlined1 in let _3 : (Asttypes.mutable_flag) = Obj.magic _3 in let _1 : (Parsetree.attributes) = Obj.magic _1 in @@ -49387,30 +49509,30 @@ module Tables = struct Parsetree.attributes) = let _4 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined1_, _startpos__1_inlined1_, _1_inlined1) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 49393 "parsing/parser.ml" +# 49515 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 49401 "parsing/parser.ml" +# 49523 "parsing/parser.ml" in let _startpos__4_ = _startpos__1_inlined1_ in let _2 = -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 49408 "parsing/parser.ml" +# 49530 "parsing/parser.ml" in let (_endpos__2_, _startpos__2_) = (_endpos__1_, _startpos__1_) in let _1 = -# 3845 "parsing/parser.mly" +# 3856 "parsing/parser.mly" ( Fresh ) -# 49414 "parsing/parser.ml" +# 49536 "parsing/parser.ml" in let (_endpos__1_, _startpos__1_) = (_endpos__0_, _endpos__0_) in let _endpos = _endpos__7_ in @@ -49426,11 +49548,11 @@ module Tables = struct _startpos__4_ in let _sloc = (_symbolstartpos, _endpos) in -# 1959 "parsing/parser.mly" +# 1962 "parsing/parser.mly" ( let e = mkexp_constraint ~loc:_sloc _7 _5 in (_4, _3, Cfk_concrete (_1, e)), _2 ) -# 49434 "parsing/parser.ml" +# 49556 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49488,9 +49610,9 @@ module Tables = struct let _6 : unit = Obj.magic _6 in let _5 : (Parsetree.core_type option * Parsetree.core_type option) = Obj.magic _5 in let _1_inlined2 : ( -# 733 "parsing/parser.mly" +# 736 "parsing/parser.mly" (string) -# 49494 "parsing/parser.ml" +# 49616 "parsing/parser.ml" ) = Obj.magic _1_inlined2 in let _3 : (Asttypes.mutable_flag) = Obj.magic _3 in let _1_inlined1 : (Parsetree.attributes) = Obj.magic _1_inlined1 in @@ -49503,33 +49625,33 @@ module Tables = struct Parsetree.attributes) = let _4 = let (_endpos__1_, _startpos__1_, _1) = (_endpos__1_inlined2_, _startpos__1_inlined2_, _1_inlined2) in let _1 = -# 3599 "parsing/parser.mly" +# 3610 "parsing/parser.mly" ( _1 ) -# 49509 "parsing/parser.ml" +# 49631 "parsing/parser.ml" in let _endpos = _endpos__1_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 49517 "parsing/parser.ml" +# 49639 "parsing/parser.ml" in let _startpos__4_ = _startpos__1_inlined2_ in let _2 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 49526 "parsing/parser.ml" +# 49648 "parsing/parser.ml" in let (_endpos__2_, _startpos__2_) = (_endpos__1_inlined1_, _startpos__1_inlined1_) in let _1 = -# 3846 "parsing/parser.mly" +# 3857 "parsing/parser.mly" ( Override ) -# 49533 "parsing/parser.ml" +# 49655 "parsing/parser.ml" in let _endpos = _endpos__7_ in let _symbolstartpos = if _startpos__1_ != _endpos__1_ then @@ -49544,11 +49666,11 @@ module Tables = struct _startpos__4_ in let _sloc = (_symbolstartpos, _endpos) in -# 1959 "parsing/parser.mly" +# 1962 "parsing/parser.mly" ( let e = mkexp_constraint ~loc:_sloc _7 _5 in (_4, _3, Cfk_concrete (_1, e)), _2 ) -# 49552 "parsing/parser.ml" +# 49674 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49615,9 +49737,9 @@ module Tables = struct let _v : (Parsetree.value_description * string Asttypes.loc option) = let attrs2 = let _1 = _1_inlined3 in -# 3941 "parsing/parser.mly" +# 3952 "parsing/parser.mly" ( _1 ) -# 49621 "parsing/parser.ml" +# 49743 "parsing/parser.ml" in let _endpos_attrs2_ = _endpos__1_inlined3_ in @@ -49627,30 +49749,30 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 49633 "parsing/parser.ml" +# 49755 "parsing/parser.ml" in let attrs1 = let _1 = _1_inlined1 in -# 3945 "parsing/parser.mly" +# 3956 "parsing/parser.mly" ( _1 ) -# 49641 "parsing/parser.ml" +# 49763 "parsing/parser.ml" in let _endpos = _endpos_attrs2_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 2952 "parsing/parser.mly" +# 2960 "parsing/parser.mly" ( let attrs = attrs1 @ attrs2 in let loc = make_loc _sloc in let docs = symbol_docs _sloc in Val.mk id ty ~attrs ~loc ~docs, ext ) -# 49654 "parsing/parser.ml" +# 49776 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49666,9 +49788,9 @@ module Tables = struct let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in let _endpos = _startpos in let _v : (Asttypes.virtual_flag) = -# 3806 "parsing/parser.mly" +# 3817 "parsing/parser.mly" ( Concrete ) -# 49672 "parsing/parser.ml" +# 49794 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49691,9 +49813,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.virtual_flag) = -# 3807 "parsing/parser.mly" +# 3818 "parsing/parser.mly" ( Virtual ) -# 49697 "parsing/parser.ml" +# 49819 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49716,9 +49838,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.mutable_flag) = -# 3830 "parsing/parser.mly" +# 3841 "parsing/parser.mly" ( Immutable ) -# 49722 "parsing/parser.ml" +# 49844 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49748,9 +49870,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.mutable_flag) = -# 3831 "parsing/parser.mly" +# 3842 "parsing/parser.mly" ( Mutable ) -# 49754 "parsing/parser.ml" +# 49876 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49780,9 +49902,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.mutable_flag) = -# 3832 "parsing/parser.mly" +# 3843 "parsing/parser.mly" ( Mutable ) -# 49786 "parsing/parser.ml" +# 49908 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49805,9 +49927,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.private_flag) = -# 3837 "parsing/parser.mly" +# 3848 "parsing/parser.mly" ( Public ) -# 49811 "parsing/parser.ml" +# 49933 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49837,9 +49959,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.private_flag) = -# 3838 "parsing/parser.mly" +# 3849 "parsing/parser.mly" ( Private ) -# 49843 "parsing/parser.ml" +# 49965 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49869,9 +49991,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.private_flag) = -# 3839 "parsing/parser.mly" +# 3850 "parsing/parser.mly" ( Private ) -# 49875 "parsing/parser.ml" +# 49997 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -49933,27 +50055,27 @@ module Tables = struct let xs = # 253 "" ( List.rev xs ) -# 49937 "parsing/parser.ml" +# 50059 "parsing/parser.ml" in -# 987 "parsing/parser.mly" +# 990 "parsing/parser.mly" ( xs ) -# 49942 "parsing/parser.ml" +# 50064 "parsing/parser.ml" in -# 3052 "parsing/parser.mly" +# 3060 "parsing/parser.mly" ( _1 ) -# 49948 "parsing/parser.ml" +# 50070 "parsing/parser.ml" in let _endpos__6_ = _endpos_xs_ in let _5 = let _1 = _1_inlined2 in -# 3370 "parsing/parser.mly" +# 3380 "parsing/parser.mly" ( _1 ) -# 49957 "parsing/parser.ml" +# 50079 "parsing/parser.ml" in let _3 = @@ -49962,16 +50084,16 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 49968 "parsing/parser.ml" +# 50090 "parsing/parser.ml" in let _endpos = _endpos__6_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3293 "parsing/parser.mly" +# 3303 "parsing/parser.mly" ( let lident = loc_last _3 in Pwith_type (_3, @@ -49981,7 +50103,7 @@ module Tables = struct ~manifest:_5 ~priv:_4 ~loc:(make_loc _sloc))) ) -# 49985 "parsing/parser.ml" +# 50107 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -50034,9 +50156,9 @@ module Tables = struct let _v : (Parsetree.with_constraint) = let _5 = let _1 = _1_inlined2 in -# 3370 "parsing/parser.mly" +# 3380 "parsing/parser.mly" ( _1 ) -# 50040 "parsing/parser.ml" +# 50162 "parsing/parser.ml" in let _endpos__5_ = _endpos__1_inlined2_ in @@ -50046,16 +50168,16 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 50052 "parsing/parser.ml" +# 50174 "parsing/parser.ml" in let _endpos = _endpos__5_ in let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 3306 "parsing/parser.mly" +# 3316 "parsing/parser.mly" ( let lident = loc_last _3 in Pwith_typesubst (_3, @@ -50063,7 +50185,7 @@ module Tables = struct ~params:_2 ~manifest:_5 ~loc:(make_loc _sloc))) ) -# 50067 "parsing/parser.ml" +# 50189 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -50112,9 +50234,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 50118 "parsing/parser.ml" +# 50240 "parsing/parser.ml" in let _2 = @@ -50123,15 +50245,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 50129 "parsing/parser.ml" +# 50251 "parsing/parser.ml" in -# 3314 "parsing/parser.mly" +# 3324 "parsing/parser.mly" ( Pwith_module (_2, _4) ) -# 50135 "parsing/parser.ml" +# 50257 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -50180,9 +50302,9 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 50186 "parsing/parser.ml" +# 50308 "parsing/parser.ml" in let _2 = @@ -50191,15 +50313,15 @@ module Tables = struct let _symbolstartpos = _startpos__1_ in let _sloc = (_symbolstartpos, _endpos) in -# 903 "parsing/parser.mly" +# 906 "parsing/parser.mly" ( mkrhs _1 _sloc ) -# 50197 "parsing/parser.ml" +# 50319 "parsing/parser.ml" in -# 3316 "parsing/parser.mly" +# 3326 "parsing/parser.mly" ( Pwith_modsubst (_2, _4) ) -# 50203 "parsing/parser.ml" +# 50325 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -50222,9 +50344,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : (Asttypes.private_flag) = -# 3319 "parsing/parser.mly" +# 3329 "parsing/parser.mly" ( Public ) -# 50228 "parsing/parser.ml" +# 50350 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -50254,9 +50376,9 @@ module Tables = struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : (Asttypes.private_flag) = -# 3320 "parsing/parser.mly" +# 3330 "parsing/parser.mly" ( Private ) -# 50260 "parsing/parser.ml" +# 50382 "parsing/parser.ml" in { MenhirLib.EngineTypes.state = _menhir_s; @@ -50390,12 +50512,12 @@ module Incremental = struct end -# 3975 "parsing/parser.mly" +# 3986 "parsing/parser.mly" -# 50397 "parsing/parser.ml" +# 50519 "parsing/parser.ml" # 269 "" -# 50402 "parsing/parser.ml" +# 50524 "parsing/parser.ml" diff --git a/boot/ocamlc b/boot/ocamlc index fcc95829890..c16e376bf9a 100755 Binary files a/boot/ocamlc and b/boot/ocamlc differ diff --git a/boot/ocamllex b/boot/ocamllex index 90dbae94cff..93e2f33997c 100755 Binary files a/boot/ocamllex and b/boot/ocamllex differ diff --git a/compilerlibs/Makefile.compilerlibs b/compilerlibs/Makefile.compilerlibs index dea0b0a3b77..84630cd4421 100644 --- a/compilerlibs/Makefile.compilerlibs +++ b/compilerlibs/Makefile.compilerlibs @@ -41,10 +41,11 @@ PARSING=parsing/location.cmo parsing/longident.cmo \ parsing/ast_helper.cmo \ parsing/pprintast.cmo \ parsing/extensions.cmo \ + parsing/builtin_attributes.cmo \ parsing/camlinternalMenhirLib.cmo parsing/parser.cmo \ parsing/lexer.cmo parsing/parse.cmo parsing/printast.cmo \ parsing/ast_mapper.cmo parsing/ast_iterator.cmo parsing/attr_helper.cmo \ - parsing/builtin_attributes.cmo parsing/ast_invariants.cmo parsing/depend.cmo + parsing/ast_invariants.cmo parsing/depend.cmo PARSING_CMI=\ parsing/asttypes.cmi \ parsing/parsetree.cmi diff --git a/configure b/configure index 7258216883e..4f2a217b8e8 100755 --- a/configure +++ b/configure @@ -1,60 +1,4 @@ #! /bin/sh - -if test -e '.git' ; then : - if test -z "$ac_read_git_config" ; then : - extra_args=$(git config ocaml.configure 2>/dev/null) - extended_cache=$(git config ocaml.configure-cache 2>/dev/null) - cache_file= - - # If ocaml.configure-cache is set, parse the command-line for the --host - # option, in order to determine the name of the cache file. - if test -n "$extended_cache" ; then : - echo "Detected Git configuration option ocaml.configure-cache set to \ -\"$extended_cache\"" - dashdash= - prev= - host=default - # The logic here is pretty borrowed from autoconf's - for option in $extra_args "$@" - do - if test -n "$prev" ; then : - host=$option - continue - fi - - case $dashdash$option in - --) - dashdash=yes ;; - -host | --host | --hos | --ho) - prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - case $option in - *=?*) host=$(expr "X$option" : '[^=]*=\(.*\)') ;; - *=) host= ;; - esac ;; - esac - done - cache_file="`dirname "$0"`/$extended_cache/ocaml-$host.cache" - fi - - # If either option has a value, re-invoke configure - if test -n "$extra_args$cache_file" ; then : - echo "Detected Git configuration option ocaml.configure set to \ -\"$extra_args\"" - # Too much effort to get the echo to show appropriate quoting - the - # invocation itself intentionally quotes $0 and passes $@ exactly as given - # but allows a single expansion of ocaml.configure - if test -n "$cache_file" ; then : - echo "Re-running $0 $extra_args --cache-file \"$cache_file\" $@" - ac_read_git_config=true exec "$0" $extra_args \ - --cache-file "$cache_file" "$@" - else - echo "Re-running $0 $extra_args $@" - ac_read_git_config=true exec "$0" $extra_args "$@" - fi - fi - fi -fi # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for OCaml 4.12.0. # @@ -747,6 +691,7 @@ build_os build_vendor build_cpu build +dune stack_allocation intel_jcc_bug_cflags naked_pointers_checker @@ -884,6 +829,7 @@ SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking +with_dune enable_debug_runtime enable_debugger enable_dependency_generation @@ -1611,6 +1557,7 @@ Optional Features: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-dune Path to dune executable (otherwise PATH is searched) --with-target-bindir location of binary programs on target system --with-afl use the AFL fuzzer --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use @@ -2945,6 +2892,8 @@ VERSION=4.12.0 + + @@ -3102,6 +3051,53 @@ esac # Command-line arguments to configure +# Extract the first word of "dune", so it can be a program name with args. +set dummy dune; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_dune+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $dune in + [\\/]* | ?:[\\/]*) + ac_cv_path_dune="$dune" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_dune="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +dune=$ac_cv_path_dune +if test -n "$dune"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dune" >&5 +$as_echo "$dune" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + +# Check whether --with-dune was given. +if test "${with_dune+set}" = set; then : + withval=$with_dune; dune=$with_dune +fi + + # Check whether --enable-debug-runtime was given. if test "${enable_debug_runtime+set}" = set; then : enableval=$enable_debug_runtime; diff --git a/configure.ac b/configure.ac index 21ba6291f2b..97cf87b6f0c 100644 --- a/configure.ac +++ b/configure.ac @@ -173,6 +173,7 @@ AC_SUBST([naked_pointers]) AC_SUBST([naked_pointers_checker]) AC_SUBST([intel_jcc_bug_cflags]) AC_SUBST([stack_allocation]) +AC_SUBST([dune]) ## Generated files @@ -214,6 +215,12 @@ AC_ARG_VAR([PARTIALLD], [how to build partial (relocatable) object files]) # Command-line arguments to configure +AC_PATH_PROG([dune], [dune], []) +AC_ARG_WITH([dune], + [AS_HELP_STRING([--with-dune], + [Path to dune executable (otherwise PATH is searched)])], + [dune=$with_dune]) + AC_ARG_ENABLE([debug-runtime], [AS_HELP_STRING([--disable-debug-runtime], [do not build runtime with debugging support])]) diff --git a/driver/compile_common.ml b/driver/compile_common.ml index 2e3b400b8ce..97da3b17b65 100644 --- a/driver/compile_common.ml +++ b/driver/compile_common.ml @@ -125,5 +125,6 @@ let implementation ~hook_parse_tree ~hook_typed_tree info ~backend = backend info typed end; end; + Builtin_attributes.warn_unused (); Warnings.check_fatal (); ) diff --git a/driver/main_args.ml b/driver/main_args.ml index 6b046eda805..e1f99b0b036 100644 --- a/driver/main_args.ml +++ b/driver/main_args.ml @@ -554,7 +554,7 @@ let mk_dtimings f = ;; let mk_dtimings_precision f = - "-dtimings-precision", Arg.Int f, + "-dtimings-precision", Arg.Int f, Printf.sprintf " Specify precision for timings information (default %d)" Clflags.default_timings_precision ;; @@ -936,6 +936,9 @@ let mk_afl_inst_ratio f = \ (advanced, see afl-fuzz docs for AFL_INST_RATIO)" ;; +let mk_alloc_check f = + "-alloc-check", Arg.Unit f, "" + let mk__ f = "-", Arg.String f, " Treat as a file name (even if it starts with `-')" @@ -1167,6 +1170,7 @@ module type Optcomp_options = sig val _save_ir_after : string -> unit val _probes : unit -> unit val _no_probes : unit -> unit + val _alloc_check : unit -> unit end;; module type Opttop_options = sig @@ -1532,6 +1536,7 @@ struct mk_dprofile F._dprofile; mk_dump_into_file F._dump_into_file; mk_dump_pass F._dump_pass; + mk_alloc_check F._alloc_check; mk_args F._args; mk_args0 F._args0; @@ -2012,6 +2017,7 @@ module Default = struct let _v () = Compenv.print_version_and_library "native-code compiler" let _no_probes = clear probes let _probes = set probes + let _alloc_check () = () end module Odoc_args = struct diff --git a/driver/main_args.mli b/driver/main_args.mli index 16cccecaa8e..b998760028b 100644 --- a/driver/main_args.mli +++ b/driver/main_args.mli @@ -242,6 +242,7 @@ module type Optcomp_options = sig val _save_ir_after : string -> unit val _probes : unit -> unit val _no_probes : unit -> unit + val _alloc_check : unit -> unit end;; module type Opttop_options = sig diff --git a/dune b/dune index efeb5c67fd7..093b15aa7c7 100644 --- a/dune +++ b/dune @@ -138,6 +138,7 @@ ; Disabled since there can be only one (data_only_dirs) declaration ;(data_only_dirs yacc) (include duneconf/dirs-to-ignore.inc) +(include duneconf/jst-extra.inc) (rule (deps (source_tree yacc)) diff --git a/dune-project.jst b/dune-project.jst new file mode 100644 index 00000000000..d4d8859cf1a --- /dev/null +++ b/dune-project.jst @@ -0,0 +1,13 @@ +(lang dune 2.8) +(wrapped_executables false) +(using experimental_building_ocaml_compiler_with_dune 0.1) + +(use_standard_c_and_cxx_flags true) +(cram enable) +(package + (name ocaml) +) + +(package + (name ocaml_runtime_stdlib) +) diff --git a/jst.dune b/jst.dune new file mode 100644 index 00000000000..458de28a3a2 --- /dev/null +++ b/jst.dune @@ -0,0 +1,119 @@ +(copy_files# asmcomp/*.ml{,i}) +(copy_files# asmcomp/debug/*.ml{,i}) +(copy_files# middle_end/*.ml{,i}) +(copy_files# middle_end/closure/*.ml{,i}) +(copy_files# middle_end/flambda/*.ml{,i}) +(copy_files# middle_end/flambda/base_types/*.ml{,i}) +; +; (library +; (name ocamlmiddleend) +; (wrapped false) +; (flags (:standard -principal)) +; (libraries ocamlcommon) +; (modules_without_implementation +; cmx_format cmxs_format backend_intf inlining_decision_intf +; simplify_boxed_integer_ops_intf) +; (modules +; ) +; ) +; +(library + (name ocamloptcomp) + (wrapped false) + (flags (:standard -principal)) + (libraries ocamlcommon) + (modules_without_implementation x86_ast + cmx_format cmxs_format backend_intf inlining_decision_intf + simplify_boxed_integer_ops_intf) + (modules + ;; asmcomp/ + afl_instrument arch asmgen asmlibrarian asmlink asmpackager branch_relaxation + branch_relaxation_intf cmm_helpers cmm_invariants cmm cmmgen cmmgen_state coloring comballoc + CSE CSEgen + deadcode emit emitaux interf interval linear linearize linscan + liveness mach printcmm printlinear printmach proc reg reload reloadgen + schedgen scheduling selectgen selection spill split + strmatch x86_ast x86_dsl x86_gas x86_masm x86_proc + + ;; asmcomp/debug/ + reg_availability_set compute_ranges_intf available_regs reg_with_debug_info + compute_ranges + + ;; driver/ + optcompile opterrors optmaindriver + + ;; file_formats/ + linear_format + + ;; from ocamlmiddleend + + ;; file_formats/ + cmx_format cmxs_format + + ;; middle_end/ + backend_intf backend_var clambda clambda_primitives + compilenv convert_primitives internal_variable_names + printclambda printclambda_primitives semantics_of_primitives + symbol_utils variable + + ;; middle_end/closure/ + closure closure_middle_end + + ;; middle_end/flambda/base_types/ + closure_element closure_id closure_origin export_id id_types mutable_variable + set_of_closures_id set_of_closures_origin static_exception tag + var_within_closure + + ;; middle_end/flambda/ + alias_analysis allocated_const augment_specialised_args build_export_info + closure_conversion closure_conversion_aux closure_offsets effect_analysis + export_info export_info_for_pack extract_projections find_recursive_functions + flambda flambda_invariants flambda_iterators flambda_middle_end + flambda_to_clambda flambda_utils freshening import_approx inconstant_idents + initialize_symbol_to_let_symbol inline_and_simplify inline_and_simplify_aux + inlining_cost inlining_decision inlining_decision_intf inlining_stats + inlining_stats_types inlining_transforms invariant_params lift_code + lift_constants lift_let_to_initialize_symbol parameter pass_wrapper + projection ref_to_variables remove_free_vars_equal_to_args + remove_unused_arguments remove_unused_closure_vars + remove_unused_program_constructs share_constants simple_value_approx + simplify_boxed_integer_ops simplify_boxed_integer_ops_intf simplify_common + simplify_primitives traverse_for_exported_symbols un_anf unbox_closures + unbox_free_vars_of_closures unbox_specialised_args + + ) +) + + +(executable + (name optmain_native) + (modes byte native) + (flags ( + -strict-sequence -principal -absname -w +a-4-9-40-41-42-44-45-48-66 + -warn-error A -bin-annot -safe-string -strict-formats + )) + (libraries ocamloptcomp ocamlcommon) + (modules optmain_native)) + +(install + (files + (optmain_native.bc as ocamlopt.byte) + (optmain_native.exe as ocamlopt.opt)) + (section bin) + (package ocaml)) + +(install + (files + (ocamloptcomp.a as compiler-libs/ocamloptcomp.a) + (ocamloptcomp.cmxa as compiler-libs/ocamloptcomp.cmxa) + (ocamloptcomp.cma as compiler-libs/ocamloptcomp.cma)) + (section lib) + (package ocaml)) + +(install + (files + (tools/objinfo.bc as ocamlobjinfo.byte) + (tools/objinfo.exe as ocamlobjinfo.opt) + ) + (section bin) + (package ocaml)) diff --git a/lambda/translattribute.ml b/lambda/translattribute.ml index 75f24401921..7b74206b303 100644 --- a/lambda/translattribute.ml +++ b/lambda/translattribute.ml @@ -17,49 +17,45 @@ open Typedtree open Lambda open Location -let is_inline_attribute = function - | {txt=("inline"|"ocaml.inline")} -> true - | _ -> false -let is_inlined_attribute = function - | {txt=("inlined"|"ocaml.inlined")} -> true - | {txt=("unrolled"|"ocaml.unrolled")} when Config.flambda || Config.flambda2 -> true - | _ -> false +let is_inline_attribute = + [ ["inline"; "ocaml.inline"],true ] -let is_specialise_attribute = function - | {txt=("specialise"|"ocaml.specialise")} when Config.flambda -> true - | _ -> false +let is_inlined_attribute = + [ ["inlined"; "ocaml.inlined"], true + ; ["unrolled"; "ocaml.unrolled"], (Config.flambda || Config.flambda2) + ] -let is_specialised_attribute = function - | {txt=("specialised"|"ocaml.specialised")} when Config.flambda -> true - | _ -> false +let is_specialise_attribute = + [ ["specialise"; "ocaml.specialise"], Config.flambda ] -let is_local_attribute = function - | {txt=("local"|"ocaml.local")} -> true - | _ -> false +let is_specialised_attribute = + [ ["specialised"; "ocaml.specialised"], Config.flambda ] -let is_property_attribute p a = - match p, a with - | Noalloc, {txt=("noalloc"|"ocaml.noalloc")} -> true - | _ -> false +let is_local_attribute = + [ ["local"; "ocaml.local"], true ] + +let is_tailcall_attribute = + [ ["tailcall"; "ocaml.tailcall"], true ] + +let is_property_attribute = function + | Noalloc -> [ ["noalloc"; "ocaml.noalloc"], true ] let is_poll_attribute = function | {txt=("poll")} -> true | _ -> false let find_attribute p attributes = - let inline_attribute, other_attributes = - List.partition (fun a -> p a.Parsetree.attr_name) attributes - in + let inline_attribute = Builtin_attributes.filter_attributes p attributes in let attr = match inline_attribute with | [] -> None | [attr] -> Some attr - | _ :: {Parsetree.attr_name = {txt;loc}; _} :: _ -> + | attr :: {Parsetree.attr_name = {txt;loc}; _} :: _ -> Location.prerr_warning loc (Warnings.Duplicated_attribute txt); - None + Some attr in - attr, other_attributes + attr let is_unrolled = function | {txt="unrolled"|"ocaml.unrolled"} -> true @@ -231,19 +227,19 @@ let parse_poll_attribute attr = payload let get_inline_attribute l = - let attr, _ = find_attribute is_inline_attribute l in + let attr = find_attribute is_inline_attribute l in parse_inline_attribute attr let get_specialise_attribute l = - let attr, _ = find_attribute is_specialise_attribute l in + let attr = find_attribute is_specialise_attribute l in parse_specialise_attribute attr let get_local_attribute l = - let attr, _ = find_attribute is_local_attribute l in + let attr = find_attribute is_local_attribute l in parse_local_attribute attr let get_property_attribute l p = - let attr, _ = find_attribute (is_property_attribute p) l in + let attr = find_attribute (is_property_attribute p) l in parse_property_attribute attr p let get_check_attribute l = @@ -284,28 +280,31 @@ let check_poll_local loc attr = () let add_inline_attribute expr loc attributes = - match expr, get_inline_attribute attributes with - | expr, Default_inline -> expr - | Lfunction({ attr = { stub = false } as attr } as funct), inline -> - begin match attr.inline with - | Default_inline -> () - | Always_inline | Available_inline | Never_inline | Unroll _ -> - Location.prerr_warning loc - (Warnings.Duplicated_attribute "inline") - end; - let attr = { attr with inline } in - check_local_inline loc attr; - check_poll_inline loc attr; - Lfunction { funct with attr = attr } - | expr, (Always_inline | Available_inline | Never_inline | Unroll _) -> - Location.prerr_warning loc - (Warnings.Misplaced_attribute "inline"); - expr + match expr with + | Lfunction({ attr = { stub = false } as attr } as funct) -> + begin match get_inline_attribute attributes with + | Default_inline -> expr + | (Always_inline | Available_inline | Never_inline | Unroll _) + as inline -> + begin match attr.inline with + | Default_inline -> () + | Always_inline | Available_inline | Never_inline | Unroll _ -> + Location.prerr_warning loc + (Warnings.Duplicated_attribute "inline") + end; + let attr = { attr with inline } in + check_local_inline loc attr; + check_poll_inline loc attr; + Lfunction { funct with attr = attr } + end + | _ -> expr let add_specialise_attribute expr loc attributes = - match expr, get_specialise_attribute attributes with - | expr, Default_specialise -> expr - | Lfunction({ attr = { stub = false } as attr } as funct), specialise -> + match expr with + | Lfunction({ attr = { stub = false } as attr } as funct) -> + begin match get_specialise_attribute attributes with + | Default_specialise -> expr + | (Always_specialise | Never_specialise) as specialise -> begin match attr.specialise with | Default_specialise -> () | Always_specialise | Never_specialise -> @@ -314,15 +313,15 @@ let add_specialise_attribute expr loc attributes = end; let attr = { attr with specialise } in Lfunction { funct with attr } - | expr, (Always_specialise | Never_specialise) -> - Location.prerr_warning loc - (Warnings.Misplaced_attribute "specialise"); - expr + end + | _ -> expr let add_local_attribute expr loc attributes = - match expr, get_local_attribute attributes with - | expr, Default_local -> expr - | Lfunction({ attr = { stub = false } as attr } as funct), local -> + match expr with + | Lfunction({ attr = { stub = false } as attr } as funct) -> + begin match get_local_attribute attributes with + | Default_local -> expr + | (Always_local | Never_local) as local -> begin match attr.local with | Default_local -> () | Always_local | Never_local -> @@ -333,10 +332,8 @@ let add_local_attribute expr loc attributes = check_local_inline loc attr; check_poll_local loc attr; Lfunction { funct with attr } - | expr, (Always_local | Never_local) -> - Location.prerr_warning loc - (Warnings.Misplaced_attribute "local"); - expr + end + | _ -> expr let add_check_attribute expr loc attributes = let to_string = function @@ -388,86 +385,57 @@ let add_poll_attribute expr loc attributes = (Warnings.Misplaced_attribute "error_poll"); expr -(* Get the [@inlined] attribute payload (or default if not present). - It also returns the expression without this attribute. This is - used to ensure that this attribute is not misplaced: If it - appears on any expression, it is an error, otherwise it would - have been removed by this function *) -let get_and_remove_inlined_attribute e = - let attr, exp_attributes = - find_attribute is_inlined_attribute e.exp_attributes - in - let inlined = parse_inlined_attribute attr in - inlined, { e with exp_attributes } +(* Get the [@inlined] attribute payload (or default if not present). *) +let get_inlined_attribute e = + let attr = find_attribute is_inlined_attribute e.exp_attributes in + parse_inlined_attribute attr -let get_and_remove_inlined_attribute_on_module e = - let rec get_and_remove mod_expr = - let attr, mod_attributes = - find_attribute is_inlined_attribute mod_expr.mod_attributes - in +let get_inlined_attribute_on_module e = + let rec get mod_expr = + let attr = find_attribute is_inlined_attribute mod_expr.mod_attributes in let attr = parse_inlined_attribute attr in - let attr, mod_desc = + let attr = match mod_expr.Typedtree.mod_desc with - | Tmod_constraint (me, mt, mtc, mc) -> - let inner_attr, me = get_and_remove me in - let attr = - match attr with - | Always_inlined | Hint_inlined | Never_inlined | Unroll _ -> attr - | Default_inlined -> inner_attr - in - attr, Tmod_constraint (me, mt, mtc, mc) - | md -> attr, md + | Tmod_constraint (me, _, _, _) -> + let inner_attr = get me in + begin match attr with + | Always_inlined | Hint_inlined | Never_inlined | Unroll _ -> attr + | Default_inlined -> inner_attr + end + | _ -> attr in - attr, { mod_expr with mod_desc; mod_attributes } + attr in - get_and_remove e + get e -let get_and_remove_specialised_attribute e = - let attr, exp_attributes = - find_attribute is_specialised_attribute e.exp_attributes - in - let specialised = parse_specialise_attribute attr in - specialised, { e with exp_attributes } +let get_specialised_attribute e = + let attr = find_attribute is_specialised_attribute e.exp_attributes in + parse_specialise_attribute attr -(* It also removes the attribute from the expression, like - get_inlined_attribute *) let get_tailcall_attribute e = - let is_tailcall_attribute = function - | {Parsetree.attr_name = {txt=("tailcall"|"ocaml.tailcall")}; _} -> true - | _ -> false - in - let tailcalls, other_attributes = - List.partition is_tailcall_attribute e.exp_attributes - in - let tailcall_attribute = match tailcalls with - | [] -> Default_tailcall - | {Parsetree.attr_name = {txt; loc}; attr_payload = payload} :: r -> - begin match r with - | [] -> () - | {Parsetree.attr_name = {txt;loc}; _} :: _ -> - Location.prerr_warning loc (Warnings.Duplicated_attribute txt) - end; - match get_optional_payload get_bool_from_exp payload with - | Ok (None | Some true) -> Tailcall_expectation true - | Ok (Some false) -> Tailcall_expectation false - | Error () -> - let msg = "Only an optional boolean literal is supported." in - Location.prerr_warning loc (Warnings.Attribute_payload (txt, msg)); - Default_tailcall - in - tailcall_attribute, { e with exp_attributes = other_attributes } + let attr = find_attribute is_tailcall_attribute e.exp_attributes in + match attr with + | None -> Default_tailcall + | Some {Parsetree.attr_name = {txt; loc}; attr_payload = payload} -> + match get_optional_payload get_bool_from_exp payload with + | Ok (None | Some true) -> Tailcall_expectation true + | Ok (Some false) -> Tailcall_expectation false + | Error () -> + let msg = "Only an optional boolean literal is supported." in + Location.prerr_warning loc (Warnings.Attribute_payload (txt, msg)); + Default_tailcall let check_attribute e {Parsetree.attr_name = { txt; loc }; _} = match txt with | "inline" | "ocaml.inline" - | "specialise" | "ocaml.specialise" - | "poll" | "ocaml.poll" -> begin + | "specialise" | "ocaml.specialise" -> begin match e.exp_desc with | Texp_function _ -> () | _ -> Location.prerr_warning loc (Warnings.Misplaced_attribute txt) end + | "poll" | "ocaml.poll" | "inlined" | "ocaml.inlined" | "specialised" | "ocaml.specialised" | "tailcall" | "ocaml.tailcall" -> diff --git a/lambda/translattribute.mli b/lambda/translattribute.mli index 8b0d7713985..07613f3751f 100644 --- a/lambda/translattribute.mli +++ b/lambda/translattribute.mli @@ -13,16 +13,6 @@ (* *) (**************************************************************************) -val check_attribute - : Typedtree.expression - -> Parsetree.attribute - -> unit - -val check_attribute_on_module - : Typedtree.module_expr - -> Parsetree.attribute - -> unit - val add_inline_attribute : Lambda.lambda -> Location.t @@ -53,21 +43,21 @@ val get_local_attribute : Parsetree.attributes -> Lambda.local_attribute -val get_and_remove_inlined_attribute +val get_inlined_attribute : Typedtree.expression - -> Lambda.inlined_attribute * Typedtree.expression + -> Lambda.inlined_attribute -val get_and_remove_inlined_attribute_on_module +val get_inlined_attribute_on_module : Typedtree.module_expr - -> Lambda.inlined_attribute * Typedtree.module_expr + -> Lambda.inlined_attribute -val get_and_remove_specialised_attribute +val get_specialised_attribute : Typedtree.expression - -> Lambda.specialise_attribute * Typedtree.expression + -> Lambda.specialise_attribute val get_tailcall_attribute : Typedtree.expression - -> Lambda.tailcall_attribute * Typedtree.expression + -> Lambda.tailcall_attribute val add_function_attributes : Lambda.lambda diff --git a/lambda/translcore.ml b/lambda/translcore.ml index 6a34fef9784..42bc30818b0 100644 --- a/lambda/translcore.ml +++ b/lambda/translcore.ml @@ -329,7 +329,6 @@ let rec transl_exp ~scopes e = scopes, as `let f a b = ...` is desugared to several Pexp_fun. *) and transl_exp1 ~scopes ~in_new_scope e = - List.iter (Translattribute.check_attribute e) e.exp_attributes; let eval_once = (* Whether classes for immediate objects must be cached *) match e.exp_desc with @@ -379,15 +378,9 @@ and transl_exp0 ~in_new_scope ~scopes e = in if extra_args = [] then lam else begin - let tailcall, funct = - Translattribute.get_tailcall_attribute funct - in - let inlined, funct = - Translattribute.get_and_remove_inlined_attribute funct - in - let specialised, funct = - Translattribute.get_and_remove_specialised_attribute funct - in + let tailcall = Translattribute.get_tailcall_attribute funct in + let inlined = Translattribute.get_inlined_attribute funct in + let specialised = Translattribute.get_specialised_attribute funct in let e = { e with exp_desc = Texp_apply(funct, oargs, pos) } in let position = transl_apply_position pos in let mode = transl_exp_mode e in @@ -396,15 +389,9 @@ and transl_exp0 ~in_new_scope ~scopes e = lam extra_args (of_location ~scopes e.exp_loc)) end | Texp_apply(funct, oargs, position) -> - let tailcall, funct = - Translattribute.get_tailcall_attribute funct - in - let inlined, funct = - Translattribute.get_and_remove_inlined_attribute funct - in - let specialised, funct = - Translattribute.get_and_remove_specialised_attribute funct - in + let tailcall = Translattribute.get_tailcall_attribute funct in + let inlined = Translattribute.get_inlined_attribute funct in + let specialised = Translattribute.get_specialised_attribute funct in let e = { e with exp_desc = Texp_apply(funct, oargs, position) } in let position = transl_apply_position position in let mode = transl_exp_mode e in diff --git a/lambda/translmod.ml b/lambda/translmod.ml index 44c799fe296..660fc7cfd0b 100644 --- a/lambda/translmod.ml +++ b/lambda/translmod.ml @@ -560,8 +560,6 @@ let rec compile_functor ~scopes mexp coercion root_path loc = (* Compile a module expression *) and transl_module ~scopes cc rootpath mexp = - List.iter (Translattribute.check_attribute_on_module mexp) - mexp.mod_attributes; let loc = of_location ~scopes mexp.mod_loc in match mexp.mod_desc with | Tmod_ident (path,_) -> @@ -573,8 +571,8 @@ and transl_module ~scopes cc rootpath mexp = oo_wrap mexp.mod_env true (fun () -> compile_functor ~scopes mexp cc rootpath loc) () | Tmod_apply(funct, arg, ccarg) -> - let inlined_attribute, funct = - Translattribute.get_and_remove_inlined_attribute_on_module funct + let inlined_attribute = + Translattribute.get_inlined_attribute_on_module funct in oo_wrap mexp.mod_env true (apply_coercion loc Strict cc) @@ -732,11 +730,7 @@ and transl_structure ~scopes loc fields cc rootpath final_env = function in Llet(pure_module mb.mb_expr, Pgenval, id, module_body, body), size end - | Tstr_module ({mb_presence=Mp_absent} as mb) -> - List.iter (Translattribute.check_attribute_on_module mb.mb_expr) - mb.mb_attributes; - List.iter (Translattribute.check_attribute_on_module mb.mb_expr) - mb.mb_expr.mod_attributes; + | Tstr_module ({mb_presence=Mp_absent}) -> transl_structure ~scopes loc fields cc rootpath final_env rem | Tstr_recmodule bindings -> let ext_fields = @@ -846,8 +840,8 @@ and transl_structure ~scopes loc fields cc rootpath final_env = function (* construct functor application in "include functor" case *) and transl_include_functor ~generative modl params scopes loc = - let inlined_attribute, modl = - Translattribute.get_and_remove_inlined_attribute_on_module modl + let inlined_attribute = + Translattribute.get_inlined_attribute_on_module modl in let modl = transl_module ~scopes Tcoerce_none None modl in let params = if generative then [params;[]] else [params] in @@ -1172,10 +1166,7 @@ let transl_store_structure ~scopes glob map prims aliases str = transl_store ~scopes rootpath subst cont rem ) | Tstr_module{mb_id=Some id;mb_loc=loc;mb_presence=Mp_present; - mb_expr={mod_desc = Tmod_structure str} as mexp; - mb_attributes} -> - List.iter (Translattribute.check_attribute_on_module mexp) - mb_attributes; + mb_expr={mod_desc = Tmod_structure str}} -> let loc = of_location ~scopes loc in let lam = transl_store @@ -1199,14 +1190,11 @@ let transl_store_structure ~scopes glob map prims aliases str = mb_id=Some id;mb_loc=loc;mb_presence=Mp_present; mb_expr= { mod_desc = Tmod_constraint ( - {mod_desc = Tmod_structure str} as mexp, _, _, - (Tcoerce_structure (map, _) as _cc))}; - mb_attributes + {mod_desc = Tmod_structure str}, _, _, + (Tcoerce_structure (map, _) as _cc))} } -> (* Format.printf "coerc id %s: %a@." (Ident.unique_name id) Includemod.print_coercion cc; *) - List.iter (Translattribute.check_attribute_on_module mexp) - mb_attributes; let loc = of_location ~scopes loc in let lam = transl_store @@ -1247,11 +1235,7 @@ let transl_store_structure ~scopes glob map prims aliases str = transl_store ~scopes rootpath (add_ident true id subst) cont rem)) - | Tstr_module ({mb_presence=Mp_absent} as mb) -> - List.iter (Translattribute.check_attribute_on_module mb.mb_expr) - mb.mb_attributes; - List.iter (Translattribute.check_attribute_on_module mb.mb_expr) - mb.mb_expr.mod_attributes; + | Tstr_module ({mb_presence=Mp_absent}) -> transl_store ~scopes rootpath subst cont rem | Tstr_recmodule bindings -> let ids = List.filter_map (fun mb -> mb.mb_id) bindings in @@ -1291,16 +1275,11 @@ let transl_store_structure ~scopes glob map prims aliases str = incl_loc=loc; incl_mod= { mod_desc = Tmod_constraint ( - ({mod_desc = Tmod_structure str} as mexp), _, _, + ({mod_desc = Tmod_structure str}), _, _, (Tcoerce_structure _ | Tcoerce_none))} - | ({ mod_desc = Tmod_structure str} as mexp); - incl_attributes; + | ({ mod_desc = Tmod_structure str}); incl_type; } as incl) -> - List.iter (Translattribute.check_attribute_on_module mexp) - incl_attributes; - (* Shouldn't we use mod_attributes instead of incl_attributes? - Same question for the Tstr_module cases above, btw. *) let lam = transl_store ~scopes None subst lambda_unit str.str_items (* It is tempting to pass rootpath instead of None @@ -1733,11 +1712,7 @@ let transl_toplevel_item ~scopes item = transl_module ~scopes Tcoerce_none None od.open_expr, set_idents 0 ids) end - | Tstr_module ({mb_presence=Mp_absent} as mb) -> - List.iter (Translattribute.check_attribute_on_module mb.mb_expr) - mb.mb_attributes; - List.iter (Translattribute.check_attribute_on_module mb.mb_expr) - mb.mb_expr.mod_attributes; + | Tstr_module ({mb_presence=Mp_absent}) -> lambda_unit | Tstr_modtype _ | Tstr_type _ diff --git a/ocamldoc/dune b/ocamldoc/dune index d17eab8abe4..c720c8d572a 100644 --- a/ocamldoc/dune +++ b/ocamldoc/dune @@ -98,7 +98,7 @@ (install (files -; (odoc_byte.bc as ocamldoc.byte) + (odoc_byte.bc as ocamldoc.byte) (odoc_native.exe as ocamldoc.opt)) (section bin) (package ocaml)) diff --git a/otherlibs/dynlink/Makefile b/otherlibs/dynlink/Makefile index 74be81b207c..21c0d2334fe 100644 --- a/otherlibs/dynlink/Makefile +++ b/otherlibs/dynlink/Makefile @@ -92,9 +92,9 @@ COMPILERLIBS_SOURCES=\ parsing/docstrings.ml \ parsing/syntaxerr.ml \ parsing/ast_helper.ml \ + parsing/builtin_attributes.ml \ parsing/ast_mapper.ml \ parsing/attr_helper.ml \ - parsing/builtin_attributes.ml \ typing/path.ml \ typing/primitive.ml \ typing/type_immediacy.ml \ diff --git a/parsing/ast_helper.mli b/parsing/ast_helper.mli index 8182e5ddf06..16fdaa955ca 100644 --- a/parsing/ast_helper.mli +++ b/parsing/ast_helper.mli @@ -57,6 +57,10 @@ end (** {1 Attributes} *) module Attr : sig + (** This should be used by all external tools (e.g., ppxs) to create + attributes. Inside the compiler, this should be used only when it is + known the attribute does not need to be tracked for misplaced attribute + warnings. Otherwise, use [Builtin_attributes.mk_internal]. *) val mk: ?loc:loc -> str -> payload -> attribute end diff --git a/parsing/ast_mapper.ml b/parsing/ast_mapper.ml index dadf5eaa4e8..e47e4340132 100644 --- a/parsing/ast_mapper.ml +++ b/parsing/ast_mapper.ml @@ -755,7 +755,7 @@ let extension_of_error {kind; main; sub} = List.map (fun msg -> Str.extension (extension_of_sub msg)) sub) let attribute_of_warning loc s = - Attr.mk + Builtin_attributes.mk_internal {loc; txt = "ocaml.ppwarning" } (PStr ([Str.eval ~loc (Exp.constant (Pconst_string (s, loc, None)))])) diff --git a/parsing/attr_helper.ml b/parsing/attr_helper.ml index 0a616cd7462..f7bd5648764 100644 --- a/parsing/attr_helper.ml +++ b/parsing/attr_helper.ml @@ -23,7 +23,7 @@ type error = exception Error of Location.t * error let get_no_payload_attribute alt_names attrs = - match List.filter (fun a -> List.mem a.attr_name.txt alt_names) attrs with + match Builtin_attributes.filter_attributes [alt_names,true] attrs with | [] -> None | [ {attr_name = name; attr_payload = PStr []; attr_loc = _} ] -> Some name | [ {attr_name = name; _} ] -> diff --git a/parsing/builtin_attributes.ml b/parsing/builtin_attributes.ml index c38bff7dfcd..0584a710fe9 100644 --- a/parsing/builtin_attributes.ml +++ b/parsing/builtin_attributes.ml @@ -15,6 +15,89 @@ open Asttypes open Parsetree +open Ast_helper + + +module Attribute_table = Hashtbl.Make (struct + type t = string with_loc + + let hash : t -> int = Hashtbl.hash + let equal : t -> t -> bool = (=) +end) +let unused_attrs = Attribute_table.create 128 +let mark_used t = Attribute_table.remove unused_attrs t + +(* [attr_order] is used to issue unused attribute warnings in the order the + attributes occur in the file rather than the random order of the hash table +*) +let attr_order a1 a2 = + match String.compare a1.loc.loc_start.pos_fname a2.loc.loc_start.pos_fname + with + | 0 -> Int.compare a1.loc.loc_start.pos_lnum a2.loc.loc_start.pos_lnum + | n -> n + +let warn_unused () = + let keys = List.of_seq (Attribute_table.to_seq_keys unused_attrs) in + let keys = List.sort attr_order keys in + List.iter (fun sloc -> + Location.prerr_warning sloc.loc (Warnings.Misplaced_attribute sloc.txt)) + keys + +(* These are the attributes that are tracked in the builtin_attrs table for + misplaced attribute warnings. Explicitly excluded is [deprecated_mutable], + which is currently broken in the compiler *) +let builtin_attrs = + [ "inline"; "ocaml.inline" + ; "inlined"; "ocaml.inlined" + ; "tailcall"; "ocaml.tailcall" + ; "unrolled"; "ocaml.unrolled" + ; "error"; "ocaml.error" + ; "alert"; "ocaml.alert" + ; "deprecated"; "ocaml.deprecated" + ; "warning"; "ocaml.warning" + ; "warnerror"; "ocaml.warnerror" + ; "ppwarning"; "ocaml.ppwarning" + ; "explicit_arity"; "ocaml.explicit_arity" + ; "warn_on_literal_pattern"; "ocaml.warn_on_literal_pattern" + ; "immediate"; "ocaml.immediate" + ; "immediate64"; "ocaml.immediate64" + ; "boxed"; "ocaml.boxed" + ; "unboxed"; "ocaml.unboxed" + ; "principal"; "ocaml.principal" + ; "noprincipal"; "ocaml.noprincipal" + ; "nolabels"; "ocaml.nolabels" + ; "flambda_oclassic"; "ocaml.flambda_oclassic" + ; "flambda_o3"; "ocaml.flambda_o3" + ; "afl_inst_ratio"; "ocaml.afl_inst_ratio" + ; "local_opt"; "ocaml.local_opt" + ; "curry"; "ocaml.curry"; "extension.curry" + ; "global"; "ocaml.global"; "extension.global" + ; "nonlocal"; "ocaml.nonlocal"; "extension.nonlocal" + ; "local"; "ocaml.local"; "extension.local" + ; "nontail"; "ocaml.nontail"; "extension.nontail" + ; "tail"; "ocaml.tail"; "extension.tail" + ; "include_functor"; "ocaml.include_functor"; "extension.include_functor" + ; "noalloc"; "ocaml.noalloc" + ; "untagged"; "ocaml.untagged" + ] + +let builtin_attrs = + let tbl = Hashtbl.create 128 in + List.iter (fun attr -> Hashtbl.add tbl attr ()) builtin_attrs; + tbl + +let is_builtin_attr s = Hashtbl.mem builtin_attrs s + +let mk_internal ?(loc= !default_loc) name payload = + if is_builtin_attr name.txt + then Attribute_table.add unused_attrs name (); + Attr.mk ~loc name payload + + +let ident_of_payload = function + | PStr[{pstr_desc=Pstr_eval({pexp_desc=Pexp_ident {txt=Lident id}},_)}] -> + Some id + | _ -> None let string_of_cst = function | Pconst_string(s, _, _) -> Some s @@ -97,11 +180,16 @@ let cat s1 s2 = let alert_attr x = match x.attr_name.txt with - | "ocaml.deprecated"|"deprecated" -> + | "ocaml.deprecated"|"deprecated" -> begin + mark_used x.attr_name; Some (x, "deprecated", string_of_opt_payload x.attr_payload) + end | "ocaml.alert"|"alert" -> begin match kind_and_message x.attr_payload with - | Some (kind, message) -> Some (x, kind, message) + | Some (kind, message) -> begin + mark_used x.attr_name; + Some (x, kind, message) + end | None -> None (* note: bad payloads detected by warning_attribute *) end | _ -> None @@ -109,6 +197,22 @@ let alert_attr x = let alert_attrs l = List.filter_map alert_attr l +let mark_alerts_used l = + List.iter (fun a -> + match a.attr_name.txt with + | "ocaml.deprecated"|"deprecated"|"ocaml.alert"|"alert" -> + mark_used a.attr_name + | _ -> ()) + l + +let mark_warn_on_literal_pattern_used l = + List.iter (fun a -> + match a.attr_name.txt with + | "ocaml.warn_on_literal_pattern"|"warn_on_literal_pattern" -> + mark_used a.attr_name + | _ -> ()) + l + let alerts_of_attrs l = List.fold_left (fun acc (_, kind, message) -> @@ -173,26 +277,19 @@ let rec attrs_of_str = function let alerts_of_str str = alerts_of_attrs (attrs_of_str str) -let check_no_alert attrs = - List.iter - (fun (a, _, _) -> - Location.prerr_warning a.attr_loc - (Warnings.Misplaced_attribute a.attr_name.txt) - ) - (alert_attrs attrs) - let warn_payload loc txt msg = Location.prerr_warning loc (Warnings.Attribute_payload (txt, msg)) let warning_attribute ?(ppwarning = true) = - let process loc txt errflag payload = + let process loc name errflag payload = + mark_used name; match string_of_payload payload with | Some s -> begin try Warnings.parse_options errflag s - with Arg.Bad msg -> warn_payload loc txt msg + with Arg.Bad msg -> warn_payload loc name.txt msg end | None -> - warn_payload loc txt "A single string literal is expected" + warn_payload loc name.txt "A single string literal is expected" in let process_alert loc txt = function | PStr[{pstr_desc= @@ -211,17 +308,17 @@ let warning_attribute ?(ppwarning = true) = | None -> warn_payload loc txt "Invalid payload" in function - | {attr_name = {txt = ("ocaml.warning"|"warning") as txt; _}; + | {attr_name = {txt = ("ocaml.warning"|"warning"); _} as name; attr_loc; attr_payload; } -> - process attr_loc txt false attr_payload - | {attr_name = {txt = ("ocaml.warnerror"|"warnerror") as txt; _}; + process attr_loc name false attr_payload + | {attr_name = {txt = ("ocaml.warnerror"|"warnerror"); _} as name; attr_loc; attr_payload } -> - process attr_loc txt true attr_payload - | {attr_name = {txt="ocaml.ppwarning"|"ppwarning"; _}; + process attr_loc name true attr_payload + | {attr_name = {txt="ocaml.ppwarning"|"ppwarning"; _} as name; attr_loc = _; attr_payload = PStr [ @@ -230,12 +327,14 @@ let warning_attribute ?(ppwarning = true) = pstr_loc } ]; } when ppwarning -> - Location.prerr_warning pstr_loc (Warnings.Preprocessor s) - | {attr_name = {txt = ("ocaml.alert"|"alert") as txt; _}; + (mark_used name; + Location.prerr_warning pstr_loc (Warnings.Preprocessor s)) + | {attr_name = {txt = ("ocaml.alert"|"alert"); _} as name; attr_loc; attr_payload; } -> - process_alert attr_loc txt attr_payload + (mark_used name; + process_alert attr_loc name.txt attr_payload) | _ -> () @@ -250,34 +349,39 @@ let warning_scope ?ppwarning attrs f = Warnings.restore prev; raise exn - -let warn_on_literal_pattern = +let has_attribute nms attrs = List.exists - (fun a -> match a.attr_name.txt with - | "ocaml.warn_on_literal_pattern"|"warn_on_literal_pattern" -> true - | _ -> false - ) + (fun a -> + if List.mem a.attr_name.txt nms + then (mark_used a.attr_name; true) + else false) + attrs + +let filter_attributes nms_and_conds attrs = + List.filter (fun a -> + List.exists (fun (nms, cond) -> + if List.mem a.attr_name.txt nms + then (mark_used a.attr_name; cond) + else false) + nms_and_conds + ) attrs + +let when_attribute_is nms attr ~f = + if List.mem attr.attr_name.txt nms then begin + mark_used attr.attr_name; + f () + end -let explicit_arity = - List.exists - (fun a -> match a.attr_name.txt with - | "ocaml.explicit_arity"|"explicit_arity" -> true - | _ -> false - ) +let warn_on_literal_pattern attrs = + has_attribute ["ocaml.warn_on_literal_pattern"; "warn_on_literal_pattern"] + attrs -let immediate = - List.exists - (fun a -> match a.attr_name.txt with - | "ocaml.immediate"|"immediate" -> true - | _ -> false - ) +let explicit_arity attrs = + has_attribute ["ocaml.explicit_arity"; "explicit_arity"] attrs -let immediate64 = - List.exists - (fun a -> match a.attr_name.txt with - | "ocaml.immediate64"|"immediate64" -> true - | _ -> false - ) +let immediate attrs = has_attribute ["ocaml.immediate"; "immediate"] attrs + +let immediate64 attrs = has_attribute ["ocaml.immediate64"; "immediate64"] attrs (* The "ocaml.boxed (default)" and "ocaml.unboxed (default)" attributes cannot be input by the user, they are added by the @@ -286,14 +390,9 @@ let immediate64 = source file because the default can change between compiler invocations. *) -let check l a = List.mem a.attr_name.txt l +let has_unboxed attrs = has_attribute ["ocaml.unboxed"; "unboxed"] attrs -let has_unboxed attr = - List.exists (check ["ocaml.unboxed"; "unboxed"]) - attr - -let has_boxed attr = - List.exists (check ["ocaml.boxed"; "boxed"]) attr +let has_boxed attrs = has_attribute ["ocaml.boxed"; "boxed"] attrs let parse_empty_payload attr = match attr.attr_payload with @@ -312,31 +411,20 @@ let parse_int_payload attr = None let clflags_attribute_without_payload attr ~name clflags_ref = - if String.equal attr.attr_name.txt name - || String.equal attr.attr_name.txt ("ocaml." ^ name) - then begin + when_attribute_is [name; "ocaml." ^ name] attr ~f:(fun () -> match parse_empty_payload attr with | Some () -> clflags_ref := true - | None -> () - end + | None -> ()) let clflags_attribute_without_payload' attr ~name ~f = - if String.equal attr.attr_name.txt name - || String.equal attr.attr_name.txt ("ocaml." ^ name) - then begin - match parse_empty_payload attr with - | Some () -> f () - | None -> () - end + when_attribute_is [name; "ocaml." ^ name] attr ~f:(fun () -> + Option.iter f (parse_empty_payload attr)) let clflags_attribute_with_int_payload attr ~name clflags_ref = - if String.equal attr.attr_name.txt name - || String.equal attr.attr_name.txt ("ocaml." ^ name) - then begin + when_attribute_is [name; "ocaml." ^ name] attr ~f:(fun () -> match parse_int_payload attr with | Some i -> clflags_ref := i - | None -> () - end + | None -> ()) let principal_attribute attr = clflags_attribute_without_payload attr @@ -363,9 +451,7 @@ let flambda_o3_attribute attr = ~f:(fun () -> if Config.flambda || Config.flambda2 then Clflags.set_o3 ()) let inline_attribute attr = - if String.equal attr.attr_name.txt "inline" - || String.equal attr.attr_name.txt "ocaml.inline" - then begin + when_attribute_is ["inline"; "ocaml.inline"] attr ~f:(fun () -> let err_msg = "Either specify an integer, or the form accepted by '-inline' in quotes" in @@ -377,8 +463,7 @@ let inline_attribute attr = | Some i -> let s = string_of_int i in Clflags.Float_arg_helper.parse s err_msg Clflags.inline_threshold - | None -> warn_payload attr.attr_loc attr.attr_name.txt err_msg - end + | None -> warn_payload attr.attr_loc attr.attr_name.txt err_msg) let afl_inst_ratio_attribute attr = clflags_attribute_with_int_payload attr @@ -400,48 +485,57 @@ let parse_standard_implementation_attributes attr = flambda_o3_attribute attr; flambda_oclassic_attribute attr -let has_local_opt attr = - List.exists (check ["ocaml.local_opt"; "local_opt"]) attr +let has_local_opt attrs = + has_attribute ["ocaml.local_opt"; "local_opt"] attrs -let has_curry attr = List.exists (check ["extension.curry"; "ocaml.curry"; "curry"]) attr +let has_curry attrs = + has_attribute ["extension.curry"; "ocaml.curry"; "curry"] attrs -let has_global attr = - List.exists (check ["extension.global"; "ocaml.global"; "global"]) attr +let has_global attrs = + has_attribute ["extension.global"; "ocaml.global"; "global"] attrs -let has_nonlocal attr = - List.exists (check ["extension.nonlocal"; "ocaml.nonlocal"; "nonlocal"]) attr +let has_nonlocal attrs = + has_attribute ["extension.nonlocal"; "ocaml.nonlocal"; "nonlocal"] attrs (* extension.* is generated by the parser and not usually written directly, so does not have a short form. An error is reported if it is seen when the extension is disabled *) let check_local ext_names other_names attr = - if List.exists (check ext_names) attr then + if has_attribute ext_names attr then if not (Clflags.Extension.is_enabled Local) then Error () else Ok true else - Ok (List.exists (check other_names) attr) + Ok (has_attribute other_names attr) let has_local attr = check_local ["extension.local"] ["ocaml.local"; "local"] attr let tailcall attr = - let has_tail = List.exists (check ["ocaml.tail"; "tail"]) attr in - let has_nontail = List.exists (check ["ocaml.nontail"; "nontail"]) attr in - match has_tail, has_nontail with - | true, false -> Ok (Some `Tail) - | false, true -> Ok (Some `Nontail) - | false, false -> Ok None - | true, true -> Error `Conflict + let has_nontail = has_attribute ["ocaml.nontail"; "nontail"] attr in + let tail_attrs = filter_attributes [["ocaml.tail";"tail"], true] attr in + match has_nontail, tail_attrs with + | true, (_ :: _) -> Error `Conflict + | _, (_ :: _ :: _) -> Error `Conflict + | false, [] -> Ok None + | true, [] -> Ok (Some `Nontail) + | false, [{attr_payload = PStr []}] -> Ok (Some `Tail) + | false, [t] -> + match ident_of_payload t.attr_payload with + | Some "hint" -> Ok (Some `Tail_if_possible) + | _ -> + Location.prerr_warning t.attr_loc + (Warnings.Attribute_payload + (t.attr_name.txt, "Only 'hint' is supported")); + Ok (Some `Tail_if_possible) let has_include_functor attr = - if List.exists (check ["extension.include_functor"]) attr then + if has_attribute ["extension.include_functor"] attr then if not (Clflags.Extension.is_enabled Include_functor) then Error () else Ok true else Ok false - diff --git a/parsing/builtin_attributes.mli b/parsing/builtin_attributes.mli index c9ccfbdb95b..722494fe54a 100644 --- a/parsing/builtin_attributes.mli +++ b/parsing/builtin_attributes.mli @@ -38,10 +38,34 @@ *) + +(** Used by the compiler for attributes that may be compiler built-ins. These + are tracked for misplaced attribute warnings. This should be used rather + than Attr.mk for all built-in attributes. *) +val mk_internal: + ?loc:Location.t -> string Location.loc -> Parsetree.payload -> + Parsetree.attribute + +(** Marks alert attributes used for the purposes of misplaced attribute + warnings. Call this when moving things with alert attributes into the + environment. *) +val mark_alerts_used : Parsetree.attributes -> unit + +(** Marks "warn_on_literal_pattern" attributes used for the purposes of + misplaced attribute warnings. Call this when moving things with alert + attributes into the environment. *) +val mark_warn_on_literal_pattern_used : Parsetree.attributes -> unit + +(** Issue misplaced attribute warnings for all attributes created with + [mk_internal] but not yet marked used. *) +val warn_unused : unit -> unit + val check_alerts: Location.t -> Parsetree.attributes -> string -> unit val check_alerts_inclusion: def:Location.t -> use:Location.t -> Location.t -> Parsetree.attributes -> Parsetree.attributes -> string -> unit + +(** Find alerts (and mark them used, wrt misplaced attribute warnings) *) val alerts_of_attrs: Parsetree.attributes -> Misc.alerts val alerts_of_sig: Parsetree.signature -> Misc.alerts val alerts_of_str: Parsetree.structure -> Misc.alerts @@ -52,14 +76,12 @@ val check_deprecated_mutable_inclusion: def:Location.t -> use:Location.t -> Location.t -> Parsetree.attributes -> Parsetree.attributes -> string -> unit -val check_no_alert: Parsetree.attributes -> unit - val error_of_extension: Parsetree.extension -> Location.error val warning_attribute: ?ppwarning:bool -> Parsetree.attribute -> unit (** Apply warning settings from the specified attribute. - "ocaml.warning"/"ocaml.warnerror" (and variants without the prefix) - are processed and other attributes are ignored. + "ocaml.warning"/"ocaml.warnerror" (and variants without the prefix) are + processed and marked used for warning 53. Other attributes are ignored. Also implement ocaml.ppwarning (unless ~ppwarning:false is passed). @@ -78,6 +100,25 @@ val warning_scope: is executed. *) +(** [has_attribute names attrs] is true if an attribute named in [names] is + present in [attrs]. It marks that attribute used for the purposes of + misplaced attribute warnings. *) +val has_attribute : string list -> Parsetree.attributes -> bool + +(** [filter_attributes nms_and_conds attrs] finds those attrs which + appear in one of the sublists of nms_and_conds with cond=true. + + Each element [(nms, conds)] of the [nms_and_conds] list is a list of + attribute names along with a boolean indicating whether to include + attributes with those names in the output. The boolean is used to + accomodate different compiler configurations (e.g., we may want to check for + "unrolled" only in the case where flambda or flambda2 is configured). We + handle this by taking a bool, rather than simply passing fewer nms in those + cases, to support misplaced attribute warnings - the attribute should not + count as misplaced if the compiler could use it in some configuration. *) +val filter_attributes : + (string list * bool) list -> Parsetree.attributes -> Parsetree.attributes + val warn_on_literal_pattern: Parsetree.attributes -> bool val explicit_arity: Parsetree.attributes -> bool @@ -99,6 +140,7 @@ val has_nonlocal: Parsetree.attributes -> bool (* These functions report Error if the builtin extension.* attributes are present despite the extension being disabled *) val has_local: Parsetree.attributes -> (bool,unit) result -val tailcall : Parsetree.attributes -> ([`Tail|`Nontail] option, [`Conflict]) result +val tailcall : Parsetree.attributes -> + ([`Tail|`Nontail|`Tail_if_possible] option, [`Conflict]) result val has_include_functor : Parsetree.attributes -> (bool,unit) result diff --git a/parsing/parser.mly b/parsing/parser.mly index a71ed3612a8..1372b1184d8 100644 --- a/parsing/parser.mly +++ b/parsing/parser.mly @@ -158,84 +158,87 @@ let mkuplus ~oploc name arg = Pexp_apply(mkoperator ~loc:oploc ("~" ^ name), [Nolabel, arg]) -let local_ext_loc = mknoloc "extension.local" +let local_ext_loc loc = mkloc "extension.local" loc -let local_attr = - Attr.mk ~loc:Location.none local_ext_loc (PStr []) +let local_attr loc = + Builtin_attributes.mk_internal ~loc (local_ext_loc loc) (PStr []) let local_extension = - Exp.mk ~loc:Location.none (Pexp_extension(local_ext_loc, PStr [])) + Exp.mk ~loc:Location.none + (Pexp_extension(local_ext_loc Location.none, PStr [])) -let include_functor_ext_loc = mknoloc "extension.include_functor" +let include_functor_ext_loc loc = mkloc "extension.include_functor" loc -let include_functor_attr = - Attr.mk ~loc:Location.none include_functor_ext_loc (PStr []) +let include_functor_attr loc = + Builtin_attributes.mk_internal ~loc:loc (include_functor_ext_loc loc) + (PStr []) let mkexp_stack ~loc exp = ghexp ~loc (Pexp_apply(local_extension, [Nolabel, exp])) -let mkpat_stack pat = - {pat with ppat_attributes = local_attr :: pat.ppat_attributes} +let mkpat_stack pat loc = + {pat with ppat_attributes = local_attr loc :: pat.ppat_attributes} -let mktyp_stack typ = - {typ with ptyp_attributes = local_attr :: typ.ptyp_attributes} +let mktyp_stack typ loc = + {typ with ptyp_attributes = local_attr loc :: typ.ptyp_attributes} -let wrap_exp_stack exp = - {exp with pexp_attributes = local_attr :: exp.pexp_attributes} +let wrap_exp_stack exp loc = + {exp with pexp_attributes = local_attr loc :: exp.pexp_attributes} let mkexp_local_if p ~loc exp = if p then mkexp_stack ~loc exp else exp -let mkpat_local_if p pat = - if p then mkpat_stack pat else pat +let mkpat_local_if p pat loc = + if p then mkpat_stack pat (make_loc loc) else pat -let mktyp_local_if p typ = - if p then mktyp_stack typ else typ +let mktyp_local_if p typ loc = + if p then mktyp_stack typ (make_loc loc) else typ -let wrap_exp_local_if p exp = - if p then wrap_exp_stack exp else exp +let wrap_exp_local_if p exp loc = + if p then wrap_exp_stack exp (make_loc loc) else exp -let curry_attr = - Attr.mk ~loc:Location.none (mknoloc "extension.curry") (PStr []) +let curry_attr loc = + Builtin_attributes.mk_internal ~loc:Location.none + (mkloc "extension.curry" loc) (PStr []) let is_curry_attr attr = attr.attr_name.txt = "extension.curry" -let mktyp_curry typ = - {typ with ptyp_attributes = curry_attr :: typ.ptyp_attributes} +let mktyp_curry typ loc = + {typ with ptyp_attributes = curry_attr loc :: typ.ptyp_attributes} -let maybe_curry_typ typ = +let maybe_curry_typ typ loc = match typ.ptyp_desc with | Ptyp_arrow _ -> if List.exists is_curry_attr typ.ptyp_attributes then typ - else mktyp_curry typ + else mktyp_curry typ (make_loc loc) | _ -> typ -let global_loc = mknoloc "extension.global" +let global_loc loc = mkloc "extension.global" loc -let global_attr = - Attr.mk ~loc:Location.none global_loc (PStr []) +let global_attr loc = + Builtin_attributes.mk_internal ~loc:loc (global_loc loc) (PStr []) -let nonlocal_loc = mknoloc "extension.nonlocal" +let nonlocal_loc loc = mkloc "extension.nonlocal" loc -let nonlocal_attr = - Attr.mk ~loc:Location.none nonlocal_loc (PStr []) +let nonlocal_attr loc = + Builtin_attributes.mk_internal ~loc:Location.none (nonlocal_loc loc) (PStr []) -let mkld_global ld = - { ld with pld_attributes = global_attr :: ld.pld_attributes } +let mkld_global ld loc = + { ld with pld_attributes = global_attr loc :: ld.pld_attributes } -let mkld_nonlocal ld = - { ld with pld_attributes = nonlocal_attr :: ld.pld_attributes } +let mkld_nonlocal ld loc = + { ld with pld_attributes = nonlocal_attr loc :: ld.pld_attributes } type global_flag = | Global | Nonlocal | Nothing -let mkld_global_maybe gbl ld = +let mkld_global_maybe gbl ld loc = match gbl with - | Global -> mkld_global ld - | Nonlocal -> mkld_nonlocal ld + | Global -> mkld_global ld loc + | Nonlocal -> mkld_nonlocal ld loc | Nothing -> ld (* TODO define an abstraction boundary between locations-as-pairs @@ -1518,7 +1521,7 @@ include_and_functor_attr: | INCLUDE %prec below_FUNCTOR { [] } | INCLUDE FUNCTOR - { [include_functor_attr] } + { [include_functor_attr (make_loc $loc)] } ; (* An [include] statement can appear in a structure or in a signature, @@ -2181,25 +2184,26 @@ seq_expr: ; labeled_simple_pattern: QUESTION LPAREN optional_local label_let_pattern opt_default RPAREN - { (Optional (fst $4), $5, mkpat_local_if $3 (snd $4)) } + { (Optional (fst $4), $5, mkpat_local_if $3 (snd $4) $loc($3)) } | QUESTION label_var { (Optional (fst $2), None, snd $2) } | OPTLABEL LPAREN optional_local let_pattern opt_default RPAREN - { (Optional $1, $5, mkpat_local_if $3 $4) } + { (Optional $1, $5, mkpat_local_if $3 $4 $loc($3)) } | OPTLABEL pattern_var { (Optional $1, None, $2) } | TILDE LPAREN optional_local label_let_pattern RPAREN - { (Labelled (fst $4), None, mkpat_local_if $3 (snd $4)) } + { (Labelled (fst $4), None, + mkpat_local_if $3 (snd $4) $loc($3)) } | TILDE label_var { (Labelled (fst $2), None, snd $2) } | LABEL simple_pattern { (Labelled $1, None, $2) } | LABEL LPAREN LOCAL pattern RPAREN - { (Labelled $1, None, mkpat_stack $4) } + { (Labelled $1, None, mkpat_stack $4 (make_loc $loc($3))) } | simple_pattern { (Nolabel, None, $1) } | LPAREN LOCAL let_pattern RPAREN - { (Nolabel, None, mkpat_stack $3) } + { (Nolabel, None, mkpat_stack $3 (make_loc $loc($2))) } ; pattern_var: @@ -2564,14 +2568,17 @@ let_binding_body: | _ -> assert false in let loc = Location.(t.ptyp_loc.loc_start, t.ptyp_loc.loc_end) in + let local_loc = $loc($1) in let typ = ghtyp ~loc (Ptyp_poly([],t)) in let patloc = ($startpos($2), $endpos($3)) in let pat = mkpat_local_if $1 (ghpat ~loc:patloc (Ppat_constraint(v, typ))) + local_loc in let exp = mkexp_local_if $1 ~loc:$sloc - (wrap_exp_local_if $1 (mkexp_constraint ~loc:$sloc $5 $3)) + (wrap_exp_local_if $1 (mkexp_constraint ~loc:$sloc $5 $3) + local_loc) in (pat, exp) } | optional_local let_ident COLON typevar_list DOT core_type EQUAL seq_expr @@ -2584,6 +2591,7 @@ let_binding_body: mkpat_local_if $1 (ghpat ~loc:patloc (Ppat_constraint($2, ghtyp ~loc:typloc (Ptyp_poly($4,$6))))) + $loc($1) in let exp = mkexp_local_if $1 ~loc:$sloc $8 in (pat, exp) } @@ -2666,7 +2674,7 @@ local_fun_binding: local_strict_binding { $1 } | type_constraint EQUAL seq_expr - { wrap_exp_stack (mkexp_constraint ~loc:$sloc $3 $1) } + { wrap_exp_stack (mkexp_constraint ~loc:$sloc $3 $1) (make_loc $sloc) } ; local_strict_binding: EQUAL seq_expr @@ -3221,7 +3229,8 @@ label_declaration: { let info = symbol_info $endpos in let mut, gbl = $1 in mkld_global_maybe gbl - (Type.field $2 $4 ~mut ~attrs:$5 ~loc:(make_loc $sloc) ~info) } + (Type.field $2 $4 ~mut ~attrs:$5 ~loc:(make_loc $sloc) ~info) + (make_loc $loc($1)) } ; label_declaration_semi: mutable_or_global_flag mkrhs(label) COLON poly_type_no_attr attributes @@ -3233,7 +3242,8 @@ label_declaration_semi: in let mut, gbl = $1 in mkld_global_maybe gbl - (Type.field $2 $4 ~mut ~attrs:($5 @ $7) ~loc:(make_loc $sloc) ~info) } + (Type.field $2 $4 ~mut ~attrs:($5 @ $7) ~loc:(make_loc $sloc) ~info) + (make_loc $loc($1)) } ; /* Type Extensions */ @@ -3405,7 +3415,7 @@ strict_function_type: domain = extra_rhs(tuple_type) MINUSGREATER codomain = strict_function_type - { Ptyp_arrow(label, mktyp_local_if local domain, codomain) } + { Ptyp_arrow(label, mktyp_local_if local domain $loc(local), codomain) } ) { $1 } | mktyp( @@ -3417,8 +3427,9 @@ strict_function_type: codomain = tuple_type %prec MINUSGREATER { Ptyp_arrow(label, - mktyp_local_if arg_local domain, - mktyp_local_if ret_local (maybe_curry_typ codomain)) } + mktyp_local_if arg_local domain $loc(arg_local), + mktyp_local_if ret_local (maybe_curry_typ codomain $loc(codomain)) + $loc(ret_local)) } ) { $1 } ; @@ -3925,16 +3936,16 @@ attr_id: ; attribute: LBRACKETAT attr_id payload RBRACKET - { Attr.mk ~loc:(make_loc $sloc) $2 $3 } + { Builtin_attributes.mk_internal ~loc:(make_loc $sloc) $2 $3 } ; post_item_attribute: LBRACKETATAT attr_id payload RBRACKET - { Attr.mk ~loc:(make_loc $sloc) $2 $3 } + { Builtin_attributes.mk_internal ~loc:(make_loc $sloc) $2 $3 } ; floating_attribute: LBRACKETATATAT attr_id payload RBRACKET { mark_symbol_docs $sloc; - Attr.mk ~loc:(make_loc $sloc) $2 $3 } + Builtin_attributes.mk_internal ~loc:(make_loc $sloc) $2 $3 } ; %inline post_item_attributes: post_item_attribute* diff --git a/runtime/dune b/runtime/dune index 91e140f314b..42676fa62ae 100644 --- a/runtime/dune +++ b/runtime/dune @@ -59,7 +59,7 @@ (mode fallback) (deps ../Makefile.config ../Makefile.common ../Makefile.build_config ../Makefile.config_if_required Makefile (glob_files caml/*.h) - signals_osdep.h amd64.S + signals_osdep.h (glob_files *.S) startup_aux.c startup_nat.c main.c fail_nat.c roots_nat.c signals.c signals_nat.c misc.c freelist.c major_gc.c minor_gc.c memory.c alloc.c compare.c ints.c floats.c str.c array.c io.c extern.c intern.c hash.c sys.c diff --git a/testsuite/tests/basic-more/tailannots.ml b/testsuite/tests/basic-more/tailannots.ml index 5ecfdece7b2..36bb7ac643a 100644 --- a/testsuite/tests/basic-more/tailannots.ml +++ b/testsuite/tests/basic-more/tailannots.ml @@ -29,3 +29,32 @@ Line 2, characters 2-8: ^^^^^^ Error: The tail-call annotation on this application is not on a tail call. |}] + +let bad_annot_3 () = + nop () [@tail hint] [@nontail]; + nop () +[%%expect{| +Line 2, characters 2-8: +2 | nop () [@tail hint] [@nontail]; + ^^^^^^ +Error: The tail-call annotation on this application is contradictory. +|}] + +let bad_annot_4 () = + nop () [@tail ajsdiof]; + nop () +[%%expect{| +Line 2, characters 9-24: +2 | nop () [@tail ajsdiof]; + ^^^^^^^^^^^^^^^ +Warning 47 [attribute-payload]: illegal payload for attribute 'tail'. +Only 'hint' is supported +val bad_annot_4 : unit -> unit = +|}] + +let good_annot_2 () = + nop () [@tail hint]; + nop () [@tail hint] +[%%expect{| +val good_annot_2 : unit -> unit = +|}] diff --git a/testsuite/tests/warnings/w03.compilers.reference b/testsuite/tests/warnings/w03.compilers.reference index fc79e8cc5de..07f77aaedcf 100644 --- a/testsuite/tests/warnings/w03.compilers.reference +++ b/testsuite/tests/warnings/w03.compilers.reference @@ -2,7 +2,7 @@ File "w03.ml", line 14, characters 8-9: 14 | let _ = A ^ Alert deprecated: A -File "w03.ml", line 17, characters 12-26: +File "w03.ml", line 17, characters 15-25: 17 | exception B [@@deprecated] - ^^^^^^^^^^^^^^ + ^^^^^^^^^^ Warning 53 [misplaced-attribute]: the "deprecated" attribute cannot appear in this context diff --git a/testsuite/tests/warnings/w53.compilers.reference b/testsuite/tests/warnings/w53.compilers.reference index 75b910487c2..443fd8f414a 100644 --- a/testsuite/tests/warnings/w53.compilers.reference +++ b/testsuite/tests/warnings/w53.compilers.reference @@ -1,7 +1,15 @@ +File "w53.ml", line 64, characters 37-46: +64 | let test_ppwarning = 42 [@@ppwarning "warning"] + ^^^^^^^^^ +Warning 22 [preprocessor]: warning File "w53.ml", line 12, characters 4-5: 12 | let h x = x [@inline] (* rejected *) ^ Warning 32 [unused-value-declaration]: unused value h. +File "w53.ml", line 334, characters 2-33: +334 | let x : int64 = 42L [@@noalloc] (* rejected *) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "noalloc" attribute cannot appear in this context File "w53.ml", line 12, characters 14-20: 12 | let h x = x [@inline] (* rejected *) ^^^^^^ @@ -34,14 +42,22 @@ File "w53.ml", line 25, characters 16-24: 25 | let q x = h x [@tailcall] (* rejected *) ^^^^^^^^ Warning 53 [misplaced-attribute]: the "tailcall" attribute cannot appear in this context -File "w53.ml", line 33, characters 0-32: +File "w53.ml", line 33, characters 25-31: 33 | module C = struct end [@@inline] (* rejected *) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ^^^^^^ Warning 53 [misplaced-attribute]: the "inline" attribute cannot appear in this context -File "w53.ml", line 34, characters 0-39: +File "w53.ml", line 34, characters 26-38: 34 | module C' = struct end [@@ocaml.inline] (* rejected *) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Warning 53 [misplaced-attribute]: the "inline" attribute cannot appear in this context + ^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "ocaml.inline" attribute cannot appear in this context +File "w53.ml", line 35, characters 25-32: +35 | module D = struct end [@@inlined] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "inlined" attribute cannot appear in this context +File "w53.ml", line 36, characters 26-39: +36 | module D' = struct end [@@ocaml.inlined] (* rejected *) + ^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "ocaml.inlined" attribute cannot appear in this context File "w53.ml", line 40, characters 16-22: 40 | module G = (A [@inline])(struct end) (* rejected *) ^^^^^^ @@ -66,3 +82,515 @@ File "w53.ml", line 49, characters 24-37: 49 | module J' = Set.Make [@@ocaml.inlined] ^^^^^^^^^^^^^ Warning 53 [misplaced-attribute]: the "ocaml.inlined" attribute cannot appear in this context +File "w53.ml", line 52, characters 17-27: +52 | val a1 : int [@deprecated] (* rejected *) + ^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "deprecated" attribute cannot appear in this context +File "w53.ml", line 54, characters 19-29: +54 | val a3 : int [@@@deprecated] (* rejected *) + ^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "deprecated" attribute cannot appear in this context +File "w53.ml", line 57, characters 6-14: +57 | let [@unrolled 42] rec test_unrolled x = (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "unrolled" attribute cannot appear in this context +File "w53.ml", line 69, characters 23-46: +69 | | Lit_pat2 of int [@@warn_on_literal_pattern] (* rejected *) + ^^^^^^^^^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "warn_on_literal_pattern" attribute cannot appear in this context +File "w53.ml", line 73, characters 14-23: +73 | type t2 [@@@immediate] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "immediate" attribute cannot appear in this context +File "w53.ml", line 75, characters 14-25: +75 | type t4 [@@@immediate64] (* rejected *) + ^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "immediate64" attribute cannot appear in this context +File "w53.ml", line 79, characters 32-43: +79 | let x = (4 [@immediate], 42 [@immediate64]) (* rejected *) + ^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "immediate64" attribute cannot appear in this context +File "w53.ml", line 79, characters 15-24: +79 | let x = (4 [@immediate], 42 [@immediate64]) (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "immediate" attribute cannot appear in this context +File "w53.ml", line 84, characters 26-31: +84 | type t2 = {x : int} [@@@boxed] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "boxed" attribute cannot appear in this context +File "w53.ml", line 86, characters 26-33: +86 | type t4 = {x : int} [@@@unboxed] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context +File "w53.ml", line 87, characters 17-24: +87 | val x : int [@@unboxed] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context +File "w53.ml", line 91, characters 30-35: +91 | let x = (5 [@unboxed], 42 [@boxed]) (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "boxed" attribute cannot appear in this context +File "w53.ml", line 91, characters 15-22: +91 | let x = (5 [@unboxed], 42 [@boxed]) (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context +File "w53.ml", line 95, characters 21-30: +95 | type 'a t1 = 'a [@@principal] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "principal" attribute cannot appear in this context +File "w53.ml", line 96, characters 21-32: +96 | type 'a t2 = 'a [@@noprincipal] (* rejected *) + ^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "noprincipal" attribute cannot appear in this context +File "w53.ml", line 98, characters 19-28: +98 | type s1 = Foo1 [@principal] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "principal" attribute cannot appear in this context +File "w53.ml", line 99, characters 19-30: +99 | type s2 = Foo2 [@noprincipal] (* rejected *) + ^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "noprincipal" attribute cannot appear in this context +File "w53.ml", line 101, characters 16-25: +101 | val x : int [@principal] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "principal" attribute cannot appear in this context +File "w53.ml", line 102, characters 16-27: +102 | val y : int [@noprincipal] (* rejected *) + ^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "noprincipal" attribute cannot appear in this context +File "w53.ml", line 109, characters 21-30: +109 | type 'a t1 = 'a [@@principal] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "principal" attribute cannot appear in this context +File "w53.ml", line 110, characters 21-32: +110 | type 'a t2 = 'a [@@noprincipal] (* rejected *) + ^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "noprincipal" attribute cannot appear in this context +File "w53.ml", line 112, characters 19-28: +112 | type s1 = Foo1 [@principal] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "principal" attribute cannot appear in this context +File "w53.ml", line 113, characters 19-30: +113 | type s2 = Foo2 [@noprincipal] (* rejected *) + ^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "noprincipal" attribute cannot appear in this context +File "w53.ml", line 115, characters 14-23: +115 | let x = 5 [@principal] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "principal" attribute cannot appear in this context +File "w53.ml", line 116, characters 15-26: +116 | let y = 42 [@noprincipal] (* rejected *) + ^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "noprincipal" attribute cannot appear in this context +File "w53.ml", line 123, characters 21-29: +123 | type 'a t1 = 'a [@@nolabels] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nolabels" attribute cannot appear in this context +File "w53.ml", line 125, characters 19-27: +125 | type s1 = Foo1 [@nolabels] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nolabels" attribute cannot appear in this context +File "w53.ml", line 127, characters 16-24: +127 | val x : int [@nolabels] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nolabels" attribute cannot appear in this context +File "w53.ml", line 133, characters 21-29: +133 | type 'a t1 = 'a [@@nolabels] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nolabels" attribute cannot appear in this context +File "w53.ml", line 135, characters 19-27: +135 | type s1 = Foo1 [@nolabels] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nolabels" attribute cannot appear in this context +File "w53.ml", line 137, characters 14-22: +137 | let x = 5 [@nolabels] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nolabels" attribute cannot appear in this context +File "w53.ml", line 143, characters 21-31: +143 | type 'a t1 = 'a [@@flambda_o3] (* rejected *) + ^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_o3" attribute cannot appear in this context +File "w53.ml", line 144, characters 21-37: +144 | type 'a t2 = 'a [@@flambda_oclassic] (* rejected *) + ^^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_oclassic" attribute cannot appear in this context +File "w53.ml", line 146, characters 19-29: +146 | type s1 = Foo1 [@flambda_o3] (* rejected *) + ^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_o3" attribute cannot appear in this context +File "w53.ml", line 147, characters 19-35: +147 | type s2 = Foo2 [@flambda_oclassic] (* rejected *) + ^^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_oclassic" attribute cannot appear in this context +File "w53.ml", line 149, characters 16-26: +149 | val x : int [@flambda_o3] (* rejected *) + ^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_o3" attribute cannot appear in this context +File "w53.ml", line 150, characters 16-32: +150 | val y : int [@flambda_oclassic] (* rejected *) + ^^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_oclassic" attribute cannot appear in this context +File "w53.ml", line 152, characters 6-16: +152 | [@@@flambda_o3] (* rejected *) + ^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_o3" attribute cannot appear in this context +File "w53.ml", line 153, characters 6-22: +153 | [@@@flambda_oclassic] (* rejected *) + ^^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_oclassic" attribute cannot appear in this context +File "w53.ml", line 157, characters 21-31: +157 | type 'a t1 = 'a [@@flambda_o3] (* rejected *) + ^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_o3" attribute cannot appear in this context +File "w53.ml", line 158, characters 21-37: +158 | type 'a t2 = 'a [@@flambda_oclassic] (* rejected *) + ^^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_oclassic" attribute cannot appear in this context +File "w53.ml", line 160, characters 19-29: +160 | type s1 = Foo1 [@flambda_o3] (* rejected *) + ^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_o3" attribute cannot appear in this context +File "w53.ml", line 161, characters 19-35: +161 | type s2 = Foo2 [@flambda_oclassic] (* rejected *) + ^^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_oclassic" attribute cannot appear in this context +File "w53.ml", line 163, characters 14-24: +163 | let x = 5 [@flambda_o3] (* rejected *) + ^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_o3" attribute cannot appear in this context +File "w53.ml", line 164, characters 15-31: +164 | let y = 42 [@flambda_oclassic] (* rejected *) + ^^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "flambda_oclassic" attribute cannot appear in this context +File "w53.ml", line 171, characters 21-35: +171 | type 'a t1 = 'a [@@afl_inst_ratio 42] (* rejected *) + ^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "afl_inst_ratio" attribute cannot appear in this context +File "w53.ml", line 173, characters 19-33: +173 | type s1 = Foo1 [@afl_inst_ratio 42] (* rejected *) + ^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "afl_inst_ratio" attribute cannot appear in this context +File "w53.ml", line 175, characters 16-30: +175 | val x : int [@afl_inst_ratio 42] (* rejected *) + ^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "afl_inst_ratio" attribute cannot appear in this context +File "w53.ml", line 177, characters 6-20: +177 | [@@@afl_inst_ratio 42] (* rejected *) + ^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "afl_inst_ratio" attribute cannot appear in this context +File "w53.ml", line 181, characters 21-35: +181 | type 'a t1 = 'a [@@afl_inst_ratio 42] (* rejected *) + ^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "afl_inst_ratio" attribute cannot appear in this context +File "w53.ml", line 183, characters 19-33: +183 | type s1 = Foo1 [@afl_inst_ratio 42] (* rejected *) + ^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "afl_inst_ratio" attribute cannot appear in this context +File "w53.ml", line 185, characters 14-28: +185 | let x = 5 [@afl_inst_ratio 42] (* rejected *) + ^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "afl_inst_ratio" attribute cannot appear in this context +File "w53.ml", line 192, characters 21-26: +192 | type 'a t1 = 'a [@@curry 42] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "curry" attribute cannot appear in this context +File "w53.ml", line 194, characters 19-24: +194 | type s1 = Foo1 [@curry 42] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "curry" attribute cannot appear in this context +File "w53.ml", line 196, characters 16-21: +196 | val x : int [@curry 42] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "curry" attribute cannot appear in this context +File "w53.ml", line 198, characters 6-11: +198 | [@@@curry 42] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "curry" attribute cannot appear in this context +File "w53.ml", line 202, characters 21-26: +202 | type 'a t1 = 'a [@@curry 42] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "curry" attribute cannot appear in this context +File "w53.ml", line 204, characters 19-24: +204 | type s1 = Foo1 [@curry 42] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "curry" attribute cannot appear in this context +File "w53.ml", line 206, characters 14-19: +206 | let x = 5 [@curry 42] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "curry" attribute cannot appear in this context +File "w53.ml", line 208, characters 6-11: +208 | [@@@curry 42] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "curry" attribute cannot appear in this context +File "w53.ml", line 213, characters 21-36: +213 | type 'a t1 = 'a [@@include_functor 42] (* rejected *) + ^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "include_functor" attribute cannot appear in this context +File "w53.ml", line 215, characters 19-34: +215 | type s1 = Foo1 [@include_functor 42] (* rejected *) + ^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "include_functor" attribute cannot appear in this context +File "w53.ml", line 217, characters 16-31: +217 | val x : int [@include_functor 42] (* rejected *) + ^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "include_functor" attribute cannot appear in this context +File "w53.ml", line 219, characters 6-21: +219 | [@@@include_functor 42] (* rejected *) + ^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "include_functor" attribute cannot appear in this context +File "w53.ml", line 223, characters 21-36: +223 | type 'a t1 = 'a [@@include_functor 42] (* rejected *) + ^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "include_functor" attribute cannot appear in this context +File "w53.ml", line 225, characters 19-34: +225 | type s1 = Foo1 [@include_functor 42] (* rejected *) + ^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "include_functor" attribute cannot appear in this context +File "w53.ml", line 227, characters 14-29: +227 | let x = 5 [@include_functor 42] (* rejected *) + ^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "include_functor" attribute cannot appear in this context +File "w53.ml", line 229, characters 6-21: +229 | [@@@include_functor 42] (* rejected *) + ^^^^^^^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "include_functor" attribute cannot appear in this context +File "w53.ml", line 233, characters 21-30: +233 | type 'a t1 = 'a [@@local_opt] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "local_opt" attribute cannot appear in this context +File "w53.ml", line 234, characters 19-28: +234 | type s1 = Foo1 [@local_opt] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "local_opt" attribute cannot appear in this context +File "w53.ml", line 235, characters 19-28: +235 | val x : int64 [@@local_opt] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "local_opt" attribute cannot appear in this context +File "w53.ml", line 238, characters 39-48: +238 | external z : int64 -> int64 = "x" [@@local_opt] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "local_opt" attribute cannot appear in this context +File "w53.ml", line 242, characters 21-30: +242 | type 'a t1 = 'a [@@local_opt] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "local_opt" attribute cannot appear in this context +File "w53.ml", line 243, characters 19-28: +243 | type s1 = Foo1 [@local_opt] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "local_opt" attribute cannot appear in this context +File "w53.ml", line 244, characters 25-34: +244 | let x : int64 = 42L [@@local_opt] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "local_opt" attribute cannot appear in this context +File "w53.ml", line 247, characters 39-48: +247 | external z : int64 -> int64 = "x" [@@local_opt] (* rejected *) + ^^^^^^^^^ +Warning 53 [misplaced-attribute]: the "local_opt" attribute cannot appear in this context +File "w53.ml", line 251, characters 20-25: +251 | type 'a t1 = 'a [@local] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "local" attribute cannot appear in this context +File "w53.ml", line 252, characters 21-27: +252 | type 'a t1' = 'a [@global] (* rejected *) + ^^^^^^ +Warning 53 [misplaced-attribute]: the "global" attribute cannot appear in this context +File "w53.ml", line 253, characters 22-30: +253 | type 'a t1'' = 'a [@nonlocal] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nonlocal" attribute cannot appear in this context +File "w53.ml", line 255, characters 24-29: +255 | type t2 = { x : int [@local] } (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "local" attribute cannot appear in this context +File "w53.ml", line 259, characters 27-32: +259 | val x : 'a list -> ('a [@local]) list (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "local" attribute cannot appear in this context +File "w53.ml", line 260, characters 28-34: +260 | val x' : 'a list -> ('a [@global]) list (* rejected *) + ^^^^^^ +Warning 53 [misplaced-attribute]: the "global" attribute cannot appear in this context +File "w53.ml", line 261, characters 29-37: +261 | val x'' : 'a list -> ('a [@nonlocal]) list (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nonlocal" attribute cannot appear in this context +File "w53.ml", line 264, characters 33-39: +264 | val y' : 'a -> f:(('a -> 'b) [@global]) -> 'b (* rejected *) + ^^^^^^ +Warning 53 [misplaced-attribute]: the "global" attribute cannot appear in this context +File "w53.ml", line 265, characters 34-42: +265 | val y'' : 'a -> f:(('a -> 'b) [@nonlocal]) -> 'b (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nonlocal" attribute cannot appear in this context +File "w53.ml", line 267, characters 16-21: +267 | val z : 'a [@@local] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "local" attribute cannot appear in this context +File "w53.ml", line 268, characters 17-23: +268 | val z' : 'a [@@global] (* rejected *) + ^^^^^^ +Warning 53 [misplaced-attribute]: the "global" attribute cannot appear in this context +File "w53.ml", line 269, characters 18-26: +269 | val z'' : 'a [@@nonlocal] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nonlocal" attribute cannot appear in this context +File "w53.ml", line 271, characters 17-22: +271 | val w : 'a [@@@local] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "local" attribute cannot appear in this context +File "w53.ml", line 272, characters 18-24: +272 | val w' : 'a [@@@global] (* rejected *) + ^^^^^^ +Warning 53 [misplaced-attribute]: the "global" attribute cannot appear in this context +File "w53.ml", line 273, characters 19-27: +273 | val w'' : 'a [@@@nonlocal] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nonlocal" attribute cannot appear in this context +File "w53.ml", line 277, characters 20-25: +277 | type 'a t1 = 'a [@local] (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "local" attribute cannot appear in this context +File "w53.ml", line 278, characters 21-27: +278 | type 'a t1' = 'a [@global] (* rejected *) + ^^^^^^ +Warning 53 [misplaced-attribute]: the "global" attribute cannot appear in this context +File "w53.ml", line 279, characters 22-30: +279 | type 'a t1'' = 'a [@nonlocal] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nonlocal" attribute cannot appear in this context +File "w53.ml", line 281, characters 24-29: +281 | type t2 = { x : int [@local] } (* rejected *) + ^^^^^ +Warning 53 [misplaced-attribute]: the "local" attribute cannot appear in this context +File "w53.ml", line 286, characters 13-19: +286 | let g (a [@global]) = a (* rejected *) + ^^^^^^ +Warning 53 [misplaced-attribute]: the "global" attribute cannot appear in this context +File "w53.ml", line 287, characters 13-21: +287 | let h (a [@nonlocal]) = a (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "nonlocal" attribute cannot appear in this context +File "w53.ml", line 292, characters 20-24: +292 | type 'a t1 = 'a [@tail] (* rejected *) + ^^^^ +Warning 53 [misplaced-attribute]: the "tail" attribute cannot appear in this context +File "w53.ml", line 293, characters 21-28: +293 | type 'a t1' = 'a [@nontail] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "nontail" attribute cannot appear in this context +File "w53.ml", line 295, characters 24-28: +295 | type t2 = { x : int [@tail] } (* rejected *) + ^^^^ +Warning 53 [misplaced-attribute]: the "tail" attribute cannot appear in this context +File "w53.ml", line 296, characters 25-32: +296 | type t2' = { x : int [@nontail] } (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "nontail" attribute cannot appear in this context +File "w53.ml", line 298, characters 32-36: +298 | val y : 'a -> f:(('a -> 'b) [@tail]) -> 'b (* rejected *) + ^^^^ +Warning 53 [misplaced-attribute]: the "tail" attribute cannot appear in this context +File "w53.ml", line 299, characters 33-40: +299 | val y' : 'a -> f:(('a -> 'b) [@nontail]) -> 'b (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "nontail" attribute cannot appear in this context +File "w53.ml", line 301, characters 16-20: +301 | val z : 'a [@@tail] (* rejected *) + ^^^^ +Warning 53 [misplaced-attribute]: the "tail" attribute cannot appear in this context +File "w53.ml", line 302, characters 17-24: +302 | val z' : 'a [@@nontail] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "nontail" attribute cannot appear in this context +File "w53.ml", line 304, characters 6-10: +304 | [@@@tail] (* rejected *) + ^^^^ +Warning 53 [misplaced-attribute]: the "tail" attribute cannot appear in this context +File "w53.ml", line 305, characters 6-13: +305 | [@@@nontail] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "nontail" attribute cannot appear in this context +File "w53.ml", line 309, characters 13-17: +309 | let f (a [@tail]) = a (* rejected *) + ^^^^ +Warning 53 [misplaced-attribute]: the "tail" attribute cannot appear in this context +File "w53.ml", line 310, characters 14-21: +310 | let f' (a [@nontail]) = a (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "nontail" attribute cannot appear in this context +File "w53.ml", line 312, characters 8-12: +312 | let [@tail] g a = a (* rejected *) + ^^^^ +Warning 53 [misplaced-attribute]: the "tail" attribute cannot appear in this context +File "w53.ml", line 313, characters 8-15: +313 | let [@nontail] g' a = a (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "nontail" attribute cannot appear in this context +File "w53.ml", line 315, characters 16-20: +315 | let h a = a [@tail] (* rejected *) + ^^^^ +Warning 53 [misplaced-attribute]: the "tail" attribute cannot appear in this context +File "w53.ml", line 316, characters 17-24: +316 | let h' a = a [@nontail] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "nontail" attribute cannot appear in this context +File "w53.ml", line 323, characters 21-28: +323 | type 'a t1 = 'a [@@noalloc] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "noalloc" attribute cannot appear in this context +File "w53.ml", line 324, characters 19-26: +324 | type s1 = Foo1 [@noalloc] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "noalloc" attribute cannot appear in this context +File "w53.ml", line 325, characters 19-26: +325 | val x : int64 [@@noalloc] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "noalloc" attribute cannot appear in this context +File "w53.ml", line 327, characters 24-31: +327 | external y : (int64 [@noalloc]) -> (int64 [@noalloc]) = "x" (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "noalloc" attribute cannot appear in this context +File "w53.ml", line 327, characters 46-53: +327 | external y : (int64 [@noalloc]) -> (int64 [@noalloc]) = "x" (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "noalloc" attribute cannot appear in this context +File "w53.ml", line 332, characters 21-28: +332 | type 'a t1 = 'a [@@noalloc] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "noalloc" attribute cannot appear in this context +File "w53.ml", line 333, characters 19-26: +333 | type s1 = Foo1 [@noalloc] (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "noalloc" attribute cannot appear in this context +File "w53.ml", line 336, characters 46-53: +336 | external y : (int64 [@noalloc]) -> (int64 [@noalloc]) = "x" (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "noalloc" attribute cannot appear in this context +File "w53.ml", line 336, characters 24-31: +336 | external y : (int64 [@noalloc]) -> (int64 [@noalloc]) = "x" (* rejected *) + ^^^^^^^ +Warning 53 [misplaced-attribute]: the "noalloc" attribute cannot appear in this context +File "w53.ml", line 341, characters 21-29: +341 | type 'a t1 = 'a [@@untagged] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "untagged" attribute cannot appear in this context +File "w53.ml", line 342, characters 19-27: +342 | type s1 = Foo1 [@untagged] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "untagged" attribute cannot appear in this context +File "w53.ml", line 343, characters 17-25: +343 | val x : int [@@untagged] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "untagged" attribute cannot appear in this context +File "w53.ml", line 350, characters 21-29: +350 | type 'a t1 = 'a [@@untagged] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "untagged" attribute cannot appear in this context +File "w53.ml", line 351, characters 19-27: +351 | type s1 = Foo1 [@untagged] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "untagged" attribute cannot appear in this context +File "w53.ml", line 352, characters 22-30: +352 | let x : int = 42 [@@untagged] (* rejected *) + ^^^^^^^^ +Warning 53 [misplaced-attribute]: the "untagged" attribute cannot appear in this context diff --git a/testsuite/tests/warnings/w53.ml b/testsuite/tests/warnings/w53.ml index 2de8a05417a..016a4285bce 100644 --- a/testsuite/tests/warnings/w53.ml +++ b/testsuite/tests/warnings/w53.ml @@ -47,3 +47,311 @@ module I' = Set.Make [@ocaml.inlined] module J = Set.Make [@@inlined] module J' = Set.Make [@@ocaml.inlined] + +module type K = sig + val a1 : int [@deprecated] (* rejected *) + val a2 : int [@@deprecated] (* accepted *) + val a3 : int [@@@deprecated] (* rejected *) +end + +let [@unrolled 42] rec test_unrolled x = (* rejected *) + match x with + | 0 -> () + | n -> test_unrolled (n - 1) + +let () = (test_unrolled [@unrolled 42]) 10 (* accepted *) + +let test_ppwarning = 42 [@@ppwarning "warning"] + (* accepted (but issues its own warning *) + +type test_literal_pattern = + | Lit_pat1 of int [@warn_on_literal_pattern] (* accepted *) + | Lit_pat2 of int [@@warn_on_literal_pattern] (* rejected *) + +module type TestImmediate = sig + type t1 [@@immediate] (* accepted *) + type t2 [@@@immediate] (* rejected *) + type t3 [@@immediate64] (* accepted *) + type t4 [@@@immediate64] (* rejected *) +end + +module TestImmediate2 = struct + let x = (4 [@immediate], 42 [@immediate64]) (* rejected *) +end + +module type TestBoxed = sig + type t1 = {x : int} [@@boxed] (* accepted *) + type t2 = {x : int} [@@@boxed] (* rejected *) + type t3 = {x : int} [@@unboxed] (* accepted *) + type t4 = {x : int} [@@@unboxed] (* rejected *) + val x : int [@@unboxed] (* rejected *) +end + +module TestBoxed2 = struct + let x = (5 [@unboxed], 42 [@boxed]) (* rejected *) +end + +module type TestPrincipalSig = sig + type 'a t1 = 'a [@@principal] (* rejected *) + type 'a t2 = 'a [@@noprincipal] (* rejected *) + + type s1 = Foo1 [@principal] (* rejected *) + type s2 = Foo2 [@noprincipal] (* rejected *) + + val x : int [@principal] (* rejected *) + val y : int [@noprincipal] (* rejected *) + + [@@@principal] (* accepted *) + [@@@noprincipal] (* accepted *) +end + +module TestPrincipalStruct = struct + type 'a t1 = 'a [@@principal] (* rejected *) + type 'a t2 = 'a [@@noprincipal] (* rejected *) + + type s1 = Foo1 [@principal] (* rejected *) + type s2 = Foo2 [@noprincipal] (* rejected *) + + let x = 5 [@principal] (* rejected *) + let y = 42 [@noprincipal] (* rejected *) + + [@@@principal] (* accepted *) + [@@@noprincipal] (* accepted *) +end + +module type TestNolabelsSig = sig + type 'a t1 = 'a [@@nolabels] (* rejected *) + + type s1 = Foo1 [@nolabels] (* rejected *) + + val x : int [@nolabels] (* rejected *) + + [@@@nolabels] (* accepted *) +end + +module TestNolabelsStruct = struct + type 'a t1 = 'a [@@nolabels] (* rejected *) + + type s1 = Foo1 [@nolabels] (* rejected *) + + let x = 5 [@nolabels] (* rejected *) + + [@@@nolabels] (* accepted *) +end + +module type TestFlambdaSig = sig + type 'a t1 = 'a [@@flambda_o3] (* rejected *) + type 'a t2 = 'a [@@flambda_oclassic] (* rejected *) + + type s1 = Foo1 [@flambda_o3] (* rejected *) + type s2 = Foo2 [@flambda_oclassic] (* rejected *) + + val x : int [@flambda_o3] (* rejected *) + val y : int [@flambda_oclassic] (* rejected *) + + [@@@flambda_o3] (* rejected *) + [@@@flambda_oclassic] (* rejected *) +end + +module TestFlambdaStruct = struct + type 'a t1 = 'a [@@flambda_o3] (* rejected *) + type 'a t2 = 'a [@@flambda_oclassic] (* rejected *) + + type s1 = Foo1 [@flambda_o3] (* rejected *) + type s2 = Foo2 [@flambda_oclassic] (* rejected *) + + let x = 5 [@flambda_o3] (* rejected *) + let y = 42 [@flambda_oclassic] (* rejected *) + + [@@@flambda_o3] (* accepted *) + [@@@flambda_oclassic] (* accepted *) +end + +module type TestAflInstRatioSig = sig + type 'a t1 = 'a [@@afl_inst_ratio 42] (* rejected *) + + type s1 = Foo1 [@afl_inst_ratio 42] (* rejected *) + + val x : int [@afl_inst_ratio 42] (* rejected *) + + [@@@afl_inst_ratio 42] (* rejected *) +end + +module TestAflInstRatioStruct = struct + type 'a t1 = 'a [@@afl_inst_ratio 42] (* rejected *) + + type s1 = Foo1 [@afl_inst_ratio 42] (* rejected *) + + let x = 5 [@afl_inst_ratio 42] (* rejected *) + + [@@@afl_inst_ratio 42] (* accepted *) +end + +(* No "accepted" test for curry because the user shouldn't write it *) +module type TestCurry = sig + type 'a t1 = 'a [@@curry 42] (* rejected *) + + type s1 = Foo1 [@curry 42] (* rejected *) + + val x : int [@curry 42] (* rejected *) + + [@@@curry 42] (* rejected *) +end + +module TestCurryStruct = struct + type 'a t1 = 'a [@@curry 42] (* rejected *) + + type s1 = Foo1 [@curry 42] (* rejected *) + + let x = 5 [@curry 42] (* rejected *) + + [@@@curry 42] (* rejected *) +end + +(* No "accepted" test for include_functor because the user shouldn't write it *) +module type TestIncludeFunctor = sig + type 'a t1 = 'a [@@include_functor 42] (* rejected *) + + type s1 = Foo1 [@include_functor 42] (* rejected *) + + val x : int [@include_functor 42] (* rejected *) + + [@@@include_functor 42] (* rejected *) +end + +module TestIncludeFunctorStruct = struct + type 'a t1 = 'a [@@include_functor 42] (* rejected *) + + type s1 = Foo1 [@include_functor 42] (* rejected *) + + let x = 5 [@include_functor 42] (* rejected *) + + [@@@include_functor 42] (* rejected *) +end + +module type TestLocalOptSig = sig + type 'a t1 = 'a [@@local_opt] (* rejected *) + type s1 = Foo1 [@local_opt] (* rejected *) + val x : int64 [@@local_opt] (* rejected *) + + external y : (int64 [@local_opt]) -> (int64 [@local_opt]) = "x" (* accepted *) + external z : int64 -> int64 = "x" [@@local_opt] (* rejected *) +end + +module TestLocalOptStruct = struct + type 'a t1 = 'a [@@local_opt] (* rejected *) + type s1 = Foo1 [@local_opt] (* rejected *) + let x : int64 = 42L [@@local_opt] (* rejected *) + + external y : (int64 [@local_opt]) -> (int64 [@local_opt]) = "x" (* accepted *) + external z : int64 -> int64 = "x" [@@local_opt] (* rejected *) +end + +module type TestLocalGlobalSig = sig + type 'a t1 = 'a [@local] (* rejected *) + type 'a t1' = 'a [@global] (* rejected *) + type 'a t1'' = 'a [@nonlocal] (* rejected *) + + type t2 = { x : int [@local] } (* rejected *) + type t2' = { x : int [@global] } (* accepted *) + type t2'' = { x : int [@nonlocal] } (* accepted *) + + val x : 'a list -> ('a [@local]) list (* rejected *) + val x' : 'a list -> ('a [@global]) list (* rejected *) + val x'' : 'a list -> ('a [@nonlocal]) list (* rejected *) + + val y : 'a -> f:(('a -> 'b) [@local]) -> 'b (* accepted *) + val y' : 'a -> f:(('a -> 'b) [@global]) -> 'b (* rejected *) + val y'' : 'a -> f:(('a -> 'b) [@nonlocal]) -> 'b (* rejected *) + + val z : 'a [@@local] (* rejected *) + val z' : 'a [@@global] (* rejected *) + val z'' : 'a [@@nonlocal] (* rejected *) + + val w : 'a [@@@local] (* rejected *) + val w' : 'a [@@@global] (* rejected *) + val w'' : 'a [@@@nonlocal] (* rejected *) +end + +module TestLocalGlobalStruct = struct + type 'a t1 = 'a [@local] (* rejected *) + type 'a t1' = 'a [@global] (* rejected *) + type 'a t1'' = 'a [@nonlocal] (* rejected *) + + type t2 = { x : int [@local] } (* rejected *) + type t2' = { x : int [@global] } (* accepted *) + type t2'' = { x : int [@nonlocal] } (* accepted *) + + let f (a [@local]) = a (* accepted *) + let g (a [@global]) = a (* rejected *) + let h (a [@nonlocal]) = a (* rejected *) +end + + +module type TestTail = sig + type 'a t1 = 'a [@tail] (* rejected *) + type 'a t1' = 'a [@nontail] (* rejected *) + + type t2 = { x : int [@tail] } (* rejected *) + type t2' = { x : int [@nontail] } (* rejected *) + + val y : 'a -> f:(('a -> 'b) [@tail]) -> 'b (* rejected *) + val y' : 'a -> f:(('a -> 'b) [@nontail]) -> 'b (* rejected *) + + val z : 'a [@@tail] (* rejected *) + val z' : 'a [@@nontail] (* rejected *) + + [@@@tail] (* rejected *) + [@@@nontail] (* rejected *) +end + +module TestTail = struct + let f (a [@tail]) = a (* rejected *) + let f' (a [@nontail]) = a (* rejected *) + + let [@tail] g a = a (* rejected *) + let [@nontail] g' a = a (* rejected *) + + let h a = a [@tail] (* rejected *) + let h' a = a [@nontail] (* rejected *) + + let rec k x = k x [@tail] (* accepted *) + let rec k' x = k' x [@nontail] (* accepted *) +end + +module type TestNoallocSig = sig + type 'a t1 = 'a [@@noalloc] (* rejected *) + type s1 = Foo1 [@noalloc] (* rejected *) + val x : int64 [@@noalloc] (* rejected *) + + external y : (int64 [@noalloc]) -> (int64 [@noalloc]) = "x" (* rejected *) + external z : int64 -> int64 = "x" [@@noalloc] (* accepted *) +end + +module TestNoallocStruct = struct + type 'a t1 = 'a [@@noalloc] (* rejected *) + type s1 = Foo1 [@noalloc] (* rejected *) + let x : int64 = 42L [@@noalloc] (* rejected *) + + external y : (int64 [@noalloc]) -> (int64 [@noalloc]) = "x" (* rejected *) + external z : int64 -> int64 = "x" [@@noalloc] (* accepted *) +end + +module type TestUntaggedSig = sig + type 'a t1 = 'a [@@untagged] (* rejected *) + type s1 = Foo1 [@untagged] (* rejected *) + val x : int [@@untagged] (* rejected *) + + external y : (int [@untagged]) -> (int [@untagged]) = "x" "y" (* accepted *) + external z : int -> int = "x" "y" [@@untagged] (* accepted *) +end + +module TestUntaggedStruct = struct + type 'a t1 = 'a [@@untagged] (* rejected *) + type s1 = Foo1 [@untagged] (* rejected *) + let x : int = 42 [@@untagged] (* rejected *) + + external y : (int [@untagged]) -> (int [@untagged]) = "x" "y" (* accepted *) + external z : int -> int = "x" "y" [@@untagged] (* accepted *) +end + diff --git a/tools/Makefile b/tools/Makefile index cd2be26541b..951b1332f0c 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -105,7 +105,7 @@ CSLPROF_IMPORTS=config.cmo build_path_prefix_map.cmo misc.cmo identifiable.cmo \ numbers.cmo arg_helper.cmo clflags.cmo terminfo.cmo \ warnings.cmo location.cmo longident.cmo docstrings.cmo \ syntaxerr.cmo ast_helper.cmo \ - extensions.cmo \ + extensions.cmo builtin_attributes.cmo \ camlinternalMenhirLib.cmo parser.cmo \ pprintast.cmo \ lexer.cmo parse.cmo diff --git a/typing/env.ml b/typing/env.ml index c85487f6bfe..69db76139e3 100644 --- a/typing/env.ml +++ b/typing/env.ml @@ -1732,6 +1732,7 @@ and check_value_name name loc = and store_value ?check mode id addr decl env = check_value_name (Ident.name id) decl.val_loc; + Builtin_attributes.mark_alerts_used decl.val_attributes; Option.iter (fun f -> check_usage decl.val_loc id decl.val_uid f !value_declarations) check; @@ -1754,6 +1755,7 @@ and store_type ~check id info env = let labels = Datarepr.labels_of_type path info in let descrs = (List.map snd constructors, List.map snd labels) in let tda = { tda_declaration = info; tda_descriptions = descrs } in + Builtin_attributes.mark_alerts_used info.type_attributes; if check && not loc.Location.loc_ghost && Warnings.is_active (Warnings.Unused_constructor ("", false, false)) then begin @@ -1782,12 +1784,17 @@ and store_type ~check id info env = constrs = List.fold_right (fun (id, descr) constrs -> + Builtin_attributes.mark_alerts_used descr.cstr_attributes; + Builtin_attributes.mark_warn_on_literal_pattern_used + descr.cstr_attributes; let cda = { cda_description = descr; cda_address = None } in TycompTbl.add id cda constrs) constructors env.constrs; labels = List.fold_right - (fun (id, descr) labels -> TycompTbl.add id descr labels) + (fun (id, descr) labels -> + Builtin_attributes.mark_alerts_used descr.lbl_attributes; + TycompTbl.add id descr labels) labels env.labels; types = IdTbl.add id tda env.types; summary = Env_type(env.summary, id, info) } @@ -1809,6 +1816,9 @@ and store_extension ~check ~rebind id addr ext env = Datarepr.extension_descr ~current_unit:(get_unit_name ()) (Pident id) ext in let cda = { cda_description = cstr; cda_address = Some addr } in + Builtin_attributes.mark_alerts_used ext.ext_attributes; + Builtin_attributes.mark_alerts_used cstr.cstr_attributes; + Builtin_attributes.mark_warn_on_literal_pattern_used cstr.cstr_attributes; if check && not loc.Location.loc_ghost && Warnings.is_active (Warnings.Unused_extension ("", false, false, false)) then begin @@ -1858,6 +1868,7 @@ and store_module ?(update_summary=true) ~check summary } and store_modtype ?(update_summary=true) id info env = + Builtin_attributes.mark_alerts_used info.Subst.Lazy.mtdl_attributes; let summary = if not update_summary then env.summary else Env_modtype (env.summary, id, Subst.Lazy.force_modtype_decl info) in @@ -1866,12 +1877,14 @@ and store_modtype ?(update_summary=true) id info env = summary } and store_class id addr desc env = + Builtin_attributes.mark_alerts_used desc.cty_attributes; let clda = { clda_declaration = desc; clda_address = addr } in { env with classes = IdTbl.add id clda env.classes; summary = Env_class(env.summary, id, desc) } and store_cltype id desc env = + Builtin_attributes.mark_alerts_used desc.clty_attributes; { env with cltypes = IdTbl.add id desc env.cltypes; summary = Env_cltype(env.summary, id, desc) } diff --git a/typing/typecore.ml b/typing/typecore.ml index 1b0e86bc6a5..43a5a9a7fe2 100644 --- a/typing/typecore.ml +++ b/typing/typecore.ml @@ -235,8 +235,8 @@ let apply_position env (expected_mode : expected_mode) sexp : apply_position = Builtin_attributes.tailcall sexp.pexp_attributes, expected_mode.position with - | Ok None, Nontail -> Default - | Ok (None | Some `Tail), Tail -> Tail + | Ok (None | Some `Tail_if_possible), Nontail -> Default + | Ok (None | Some `Tail | Some `Tail_if_possible), Tail -> Tail | Ok (Some `Nontail), _ -> Nontail | Ok (Some `Tail), Nontail -> fail `Not_a_tailcall | Error `Conflict, _ -> fail `Conflict diff --git a/typing/typedecl.ml b/typing/typedecl.ml index 5aedcd51de7..96d1deb1083 100644 --- a/typing/typedecl.ml +++ b/typing/typedecl.ml @@ -1224,7 +1224,6 @@ let transl_exception env sext = ext, newenv let transl_type_exception env t = - Builtin_attributes.check_no_alert t.ptyexn_attributes; let contructor, newenv = Builtin_attributes.warning_scope t.ptyexn_attributes (fun () ->