@kerebron/legacy-compat 0.7.5 → 0.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/kerebron-light.css +1 -1
- package/dist/kerebron.cjs +196 -1
- package/dist/kerebron.css +1 -1
- package/dist/kerebron.js +35005 -5
- package/dist/kerebron3.cjs.map +1 -1
- package/dist/kerebron3.js.map +1 -1
- package/package.json +1 -1
- package/dist/__vite-browser-external-DEj2HSsT.cjs +0 -235
- package/dist/__vite-browser-external-DEj2HSsT.cjs.map +0 -1
- package/dist/__vite-browser-external-ZW37Brf4.js +0 -56473
- package/dist/__vite-browser-external-ZW37Brf4.js.map +0 -1
- package/dist/apl-B2DGVGxc.js +0 -77
- package/dist/apl-B2DGVGxc.js.map +0 -1
- package/dist/apl-M-DNMvvR.cjs +0 -2
- package/dist/apl-M-DNMvvR.cjs.map +0 -1
- package/dist/asciiarmor-2LVJmxlE.js +0 -35
- package/dist/asciiarmor-2LVJmxlE.js.map +0 -1
- package/dist/asciiarmor-BMx3XVjX.cjs +0 -2
- package/dist/asciiarmor-BMx3XVjX.cjs.map +0 -1
- package/dist/asn1-OOsVM4yU.cjs +0 -2
- package/dist/asn1-OOsVM4yU.cjs.map +0 -1
- package/dist/asn1-jKiBa2Ya.js +0 -96
- package/dist/asn1-jKiBa2Ya.js.map +0 -1
- package/dist/asterisk-B1QUaW1C.cjs +0 -2
- package/dist/asterisk-B1QUaW1C.cjs.map +0 -1
- package/dist/asterisk-DS281yxp.js +0 -272
- package/dist/asterisk-DS281yxp.js.map +0 -1
- package/dist/brainfuck-BjUlYKdF.cjs +0 -2
- package/dist/brainfuck-BjUlYKdF.cjs.map +0 -1
- package/dist/brainfuck-C_p9pTT8.js +0 -35
- package/dist/brainfuck-C_p9pTT8.js.map +0 -1
- package/dist/clike-DE3V9X8-.js +0 -616
- package/dist/clike-DE3V9X8-.js.map +0 -1
- package/dist/clike-DLHgOXgk.cjs +0 -2
- package/dist/clike-DLHgOXgk.cjs.map +0 -1
- package/dist/clojure-Ap_IXD2I.cjs +0 -2
- package/dist/clojure-Ap_IXD2I.cjs.map +0 -1
- package/dist/clojure-CCKyeQKf.js +0 -801
- package/dist/clojure-CCKyeQKf.js.map +0 -1
- package/dist/cmake-C4D5_VmS.cjs +0 -2
- package/dist/cmake-C4D5_VmS.cjs.map +0 -1
- package/dist/cmake-CuaCgAKt.js +0 -29
- package/dist/cmake-CuaCgAKt.js.map +0 -1
- package/dist/cobol-BlTKFDRj.js +0 -73
- package/dist/cobol-BlTKFDRj.js.map +0 -1
- package/dist/cobol-Du-cT2hr.cjs +0 -2
- package/dist/cobol-Du-cT2hr.cjs.map +0 -1
- package/dist/coffeescript-BVCvwO8I.js +0 -180
- package/dist/coffeescript-BVCvwO8I.js.map +0 -1
- package/dist/coffeescript-DDFAj2ea.cjs +0 -2
- package/dist/coffeescript-DDFAj2ea.cjs.map +0 -1
- package/dist/commonlisp-CXBBRCTx.cjs +0 -2
- package/dist/commonlisp-CXBBRCTx.cjs.map +0 -1
- package/dist/commonlisp-D_kxz07b.js +0 -76
- package/dist/commonlisp-D_kxz07b.js.map +0 -1
- package/dist/crystal-D309uH6_.js +0 -218
- package/dist/crystal-D309uH6_.js.map +0 -1
- package/dist/crystal-DAFWRDbh.cjs +0 -2
- package/dist/crystal-DAFWRDbh.cjs.map +0 -1
- package/dist/cypher-BMq4Fwjl.js +0 -69
- package/dist/cypher-BMq4Fwjl.js.map +0 -1
- package/dist/cypher-BN0-oCze.cjs +0 -2
- package/dist/cypher-BN0-oCze.cjs.map +0 -1
- package/dist/d-BHsqGcfm.cjs +0 -2
- package/dist/d-BHsqGcfm.cjs.map +0 -1
- package/dist/d-BZcgY6La.js +0 -128
- package/dist/d-BZcgY6La.js.map +0 -1
- package/dist/diff-CemTHKfk.cjs +0 -2
- package/dist/diff-CemTHKfk.cjs.map +0 -1
- package/dist/diff-Cg9d_RX2.js +0 -19
- package/dist/diff-Cg9d_RX2.js.map +0 -1
- package/dist/dockerfile-BBTH3voH.cjs +0 -2
- package/dist/dockerfile-BBTH3voH.cjs.map +0 -1
- package/dist/dockerfile-DIy8NleC.js +0 -195
- package/dist/dockerfile-DIy8NleC.js.map +0 -1
- package/dist/dtd-ChoVQPwv.cjs +0 -2
- package/dist/dtd-ChoVQPwv.cjs.map +0 -1
- package/dist/dtd-CtLokQ-U.js +0 -85
- package/dist/dtd-CtLokQ-U.js.map +0 -1
- package/dist/dylan-QYeExnWK.js +0 -235
- package/dist/dylan-QYeExnWK.js.map +0 -1
- package/dist/dylan-apTQIgUA.cjs +0 -2
- package/dist/dylan-apTQIgUA.cjs.map +0 -1
- package/dist/ebnf-DUPDuY4r.js +0 -79
- package/dist/ebnf-DUPDuY4r.js.map +0 -1
- package/dist/ebnf-LYmLy17h.cjs +0 -2
- package/dist/ebnf-LYmLy17h.cjs.map +0 -1
- package/dist/ecl-C7WNQq7-.cjs +0 -2
- package/dist/ecl-C7WNQq7-.cjs.map +0 -1
- package/dist/ecl-CiXN-g_D.js +0 -122
- package/dist/ecl-CiXN-g_D.js.map +0 -1
- package/dist/eiffel-BJThA8RG.cjs +0 -2
- package/dist/eiffel-BJThA8RG.cjs.map +0 -1
- package/dist/eiffel-yQhjl4T1.js +0 -111
- package/dist/eiffel-yQhjl4T1.js.map +0 -1
- package/dist/elm-CNT9vbN0.js +0 -109
- package/dist/elm-CNT9vbN0.js.map +0 -1
- package/dist/elm-CcXP9T36.cjs +0 -2
- package/dist/elm-CcXP9T36.cjs.map +0 -1
- package/dist/erlang-B6mpcObI.cjs +0 -2
- package/dist/erlang-B6mpcObI.cjs.map +0 -1
- package/dist/erlang-CFOYdy9e.js +0 -488
- package/dist/erlang-CFOYdy9e.js.map +0 -1
- package/dist/factor-B-tsx9yW.cjs +0 -2
- package/dist/factor-B-tsx9yW.cjs.map +0 -1
- package/dist/factor-DDOC7X6P.js +0 -66
- package/dist/factor-DDOC7X6P.js.map +0 -1
- package/dist/fcl-BzAKklXo.cjs +0 -2
- package/dist/fcl-BzAKklXo.cjs.map +0 -1
- package/dist/fcl-CPC2WYrI.js +0 -104
- package/dist/fcl-CPC2WYrI.js.map +0 -1
- package/dist/forth-BmxRyE9S.js +0 -61
- package/dist/forth-BmxRyE9S.js.map +0 -1
- package/dist/forth-CPAzyZ_n.cjs +0 -2
- package/dist/forth-CPAzyZ_n.cjs.map +0 -1
- package/dist/fortran-9bvPyrOW.js +0 -443
- package/dist/fortran-9bvPyrOW.js.map +0 -1
- package/dist/fortran-DHiTlGV1.cjs +0 -2
- package/dist/fortran-DHiTlGV1.cjs.map +0 -1
- package/dist/gas-BiPtGF2E.cjs +0 -2
- package/dist/gas-BiPtGF2E.cjs.map +0 -1
- package/dist/gas-cpmYfFX2.js +0 -184
- package/dist/gas-cpmYfFX2.js.map +0 -1
- package/dist/gherkin-CJuwpceU.js +0 -35
- package/dist/gherkin-CJuwpceU.js.map +0 -1
- package/dist/gherkin-Djo7Y51D.cjs +0 -2
- package/dist/gherkin-Djo7Y51D.cjs.map +0 -1
- package/dist/go-BHVhI2MG.js +0 -156
- package/dist/go-BHVhI2MG.js.map +0 -1
- package/dist/go-BgtlNyKc.cjs +0 -2
- package/dist/go-BgtlNyKc.cjs.map +0 -1
- package/dist/groovy-BMVITiCm.cjs +0 -2
- package/dist/groovy-BMVITiCm.cjs.map +0 -1
- package/dist/groovy-DZeT_VM-.js +0 -147
- package/dist/groovy-DZeT_VM-.js.map +0 -1
- package/dist/haskell-C46lNFBv.cjs +0 -2
- package/dist/haskell-C46lNFBv.cjs.map +0 -1
- package/dist/haskell-CxiO_7JL.js +0 -376
- package/dist/haskell-CxiO_7JL.js.map +0 -1
- package/dist/haxe-BhV0x0nk.js +0 -337
- package/dist/haxe-BhV0x0nk.js.map +0 -1
- package/dist/haxe-G9XvbXZx.cjs +0 -2
- package/dist/haxe-G9XvbXZx.cjs.map +0 -1
- package/dist/http-BkLifcnL.cjs +0 -2
- package/dist/http-BkLifcnL.cjs.map +0 -1
- package/dist/http-D9LttvKF.js +0 -45
- package/dist/http-D9LttvKF.js.map +0 -1
- package/dist/idl-B6TRFYjl.js +0 -948
- package/dist/idl-B6TRFYjl.js.map +0 -1
- package/dist/idl-FmHDmsE-.cjs +0 -2
- package/dist/idl-FmHDmsE-.cjs.map +0 -1
- package/dist/index-1FwPug-t.js +0 -961
- package/dist/index-1FwPug-t.js.map +0 -1
- package/dist/index-B6dEzV2b.cjs +0 -2
- package/dist/index-B6dEzV2b.cjs.map +0 -1
- package/dist/index-B7gU7Fh_.js +0 -613
- package/dist/index-B7gU7Fh_.js.map +0 -1
- package/dist/index-B8srnV19.js +0 -1306
- package/dist/index-B8srnV19.js.map +0 -1
- package/dist/index-BBMh0BvB.js +0 -63
- package/dist/index-BBMh0BvB.js.map +0 -1
- package/dist/index-BQ530BQl.cjs +0 -2
- package/dist/index-BQ530BQl.cjs.map +0 -1
- package/dist/index-BUEvxYg1.cjs +0 -4
- package/dist/index-BUEvxYg1.cjs.map +0 -1
- package/dist/index-BZ5P3Kv0.cjs +0 -7
- package/dist/index-BZ5P3Kv0.cjs.map +0 -1
- package/dist/index-BvLgnTK0.cjs +0 -2
- package/dist/index-BvLgnTK0.cjs.map +0 -1
- package/dist/index-Byc1bIE2.js +0 -310
- package/dist/index-Byc1bIE2.js.map +0 -1
- package/dist/index-BzuM7CSO.js +0 -77
- package/dist/index-BzuM7CSO.js.map +0 -1
- package/dist/index-CQpRl1to.js +0 -303
- package/dist/index-CQpRl1to.js.map +0 -1
- package/dist/index-CYSjCryY.cjs +0 -2
- package/dist/index-CYSjCryY.cjs.map +0 -1
- package/dist/index-Cb9pkCYO.js +0 -158
- package/dist/index-Cb9pkCYO.js.map +0 -1
- package/dist/index-CcIqnmcV.js +0 -60
- package/dist/index-CcIqnmcV.js.map +0 -1
- package/dist/index-CdGHKsNJ.cjs +0 -2
- package/dist/index-CdGHKsNJ.cjs.map +0 -1
- package/dist/index-CsNjufUm.cjs +0 -3
- package/dist/index-CsNjufUm.cjs.map +0 -1
- package/dist/index-D0nsdJs5.js +0 -95
- package/dist/index-D0nsdJs5.js.map +0 -1
- package/dist/index-D203InKa.cjs +0 -2
- package/dist/index-D203InKa.cjs.map +0 -1
- package/dist/index-DBCbd-3W.cjs +0 -2
- package/dist/index-DBCbd-3W.cjs.map +0 -1
- package/dist/index-DPNQvgDc.cjs +0 -14
- package/dist/index-DPNQvgDc.cjs.map +0 -1
- package/dist/index-D__6kAHa.js +0 -1918
- package/dist/index-D__6kAHa.js.map +0 -1
- package/dist/index-DjzVrRux.cjs +0 -2
- package/dist/index-DjzVrRux.cjs.map +0 -1
- package/dist/index-DkicjISi.cjs +0 -2
- package/dist/index-DkicjISi.cjs.map +0 -1
- package/dist/index-DvZkiV6W.cjs +0 -2
- package/dist/index-DvZkiV6W.cjs.map +0 -1
- package/dist/index-E9rwTPVg.cjs +0 -2
- package/dist/index-E9rwTPVg.cjs.map +0 -1
- package/dist/index-Hy59UYbT.js +0 -566
- package/dist/index-Hy59UYbT.js.map +0 -1
- package/dist/index-MOkOI4Tj.js +0 -554
- package/dist/index-MOkOI4Tj.js.map +0 -1
- package/dist/index-qEqiXfAO.js +0 -946
- package/dist/index-qEqiXfAO.js.map +0 -1
- package/dist/index-yxAWy9bG.js +0 -139
- package/dist/index-yxAWy9bG.js.map +0 -1
- package/dist/jinja2-DnB6dQmV.js +0 -155
- package/dist/jinja2-DnB6dQmV.js.map +0 -1
- package/dist/jinja2-wbVbDTNi.cjs +0 -2
- package/dist/jinja2-wbVbDTNi.cjs.map +0 -1
- package/dist/julia-DA67Qw9E.cjs +0 -2
- package/dist/julia-DA67Qw9E.cjs.map +0 -1
- package/dist/julia-DpvXAuO6.js +0 -242
- package/dist/julia-DpvXAuO6.js.map +0 -1
- package/dist/livescript-Bg3URadp.cjs +0 -2
- package/dist/livescript-Bg3URadp.cjs.map +0 -1
- package/dist/livescript-CanGTf8u.js +0 -273
- package/dist/livescript-CanGTf8u.js.map +0 -1
- package/dist/lua-CIsxjGwi.cjs +0 -2
- package/dist/lua-CIsxjGwi.cjs.map +0 -1
- package/dist/lua-XplVlWi_.js +0 -218
- package/dist/lua-XplVlWi_.js.map +0 -1
- package/dist/mathematica-BG089QIc.cjs +0 -2
- package/dist/mathematica-BG089QIc.cjs.map +0 -1
- package/dist/mathematica-jaRHnSxC.js +0 -36
- package/dist/mathematica-jaRHnSxC.js.map +0 -1
- package/dist/mbox-BctzC1hL.js +0 -77
- package/dist/mbox-BctzC1hL.js.map +0 -1
- package/dist/mbox-CySolFFZ.cjs +0 -2
- package/dist/mbox-CySolFFZ.cjs.map +0 -1
- package/dist/mirc-BfqEffzk.cjs +0 -2
- package/dist/mirc-BfqEffzk.cjs.map +0 -1
- package/dist/mirc-CFBPAOaF.js +0 -73
- package/dist/mirc-CFBPAOaF.js.map +0 -1
- package/dist/mllike-CBK_zjnT.cjs +0 -2
- package/dist/mllike-CBK_zjnT.cjs.map +0 -1
- package/dist/mllike-gvRenHsu.js +0 -273
- package/dist/mllike-gvRenHsu.js.map +0 -1
- package/dist/modelica-B6Zhcb-M.cjs +0 -2
- package/dist/modelica-B6Zhcb-M.cjs.map +0 -1
- package/dist/modelica-vUgVs--1.js +0 -94
- package/dist/modelica-vUgVs--1.js.map +0 -1
- package/dist/mscgen-B_Dg_s1G.cjs +0 -2
- package/dist/mscgen-B_Dg_s1G.cjs.map +0 -1
- package/dist/mscgen-ucEwbOaK.js +0 -82
- package/dist/mscgen-ucEwbOaK.js.map +0 -1
- package/dist/mumps-CQoS1kWX.js +0 -26
- package/dist/mumps-CQoS1kWX.js.map +0 -1
- package/dist/mumps-wfyQdxSu.cjs +0 -2
- package/dist/mumps-wfyQdxSu.cjs.map +0 -1
- package/dist/nginx-CwqyBUfA.cjs +0 -2
- package/dist/nginx-CwqyBUfA.cjs.map +0 -1
- package/dist/nginx-zDPm3Z74.js +0 -90
- package/dist/nginx-zDPm3Z74.js.map +0 -1
- package/dist/nsis-DPj2fUaP.cjs +0 -2
- package/dist/nsis-DPj2fUaP.cjs.map +0 -1
- package/dist/nsis-fePjrhq7.js +0 -63
- package/dist/nsis-fePjrhq7.js.map +0 -1
- package/dist/ntriples-CsNjv2QF.js +0 -80
- package/dist/ntriples-CsNjv2QF.js.map +0 -1
- package/dist/ntriples-DgwJmozm.cjs +0 -2
- package/dist/ntriples-DgwJmozm.cjs.map +0 -1
- package/dist/octave-1pkKrgAA.cjs +0 -2
- package/dist/octave-1pkKrgAA.cjs.map +0 -1
- package/dist/octave-C8PmmSRH.js +0 -144
- package/dist/octave-C8PmmSRH.js.map +0 -1
- package/dist/oz-BXOZCt0U.cjs +0 -2
- package/dist/oz-BXOZCt0U.cjs.map +0 -1
- package/dist/oz-Ce8aN8oE.js +0 -152
- package/dist/oz-Ce8aN8oE.js.map +0 -1
- package/dist/pascal-De0D6mP7.js +0 -78
- package/dist/pascal-De0D6mP7.js.map +0 -1
- package/dist/pascal-DtY2LEkJ.cjs +0 -2
- package/dist/pascal-DtY2LEkJ.cjs.map +0 -1
- package/dist/perl-B4bSCe1C.js +0 -916
- package/dist/perl-B4bSCe1C.js.map +0 -1
- package/dist/perl-CVDWbEju.cjs +0 -2
- package/dist/perl-CVDWbEju.cjs.map +0 -1
- package/dist/pig-D24Z8EXi.js +0 -55
- package/dist/pig-D24Z8EXi.js.map +0 -1
- package/dist/pig-DMByOrnr.cjs +0 -2
- package/dist/pig-DMByOrnr.cjs.map +0 -1
- package/dist/powershell-BaoYaFvj.cjs +0 -2
- package/dist/powershell-BaoYaFvj.cjs.map +0 -1
- package/dist/powershell-DkYVfTzP.js +0 -250
- package/dist/powershell-DkYVfTzP.js.map +0 -1
- package/dist/properties-DXHJZ3WE.cjs +0 -2
- package/dist/properties-DXHJZ3WE.cjs.map +0 -1
- package/dist/properties-Dn9wna3M.js +0 -27
- package/dist/properties-Dn9wna3M.js.map +0 -1
- package/dist/protobuf-BKhXdfH6.cjs +0 -2
- package/dist/protobuf-BKhXdfH6.cjs.map +0 -1
- package/dist/protobuf-BPIjwpzm.js +0 -50
- package/dist/protobuf-BPIjwpzm.js.map +0 -1
- package/dist/puppet-8mAyuMbW.cjs +0 -2
- package/dist/puppet-8mAyuMbW.cjs.map +0 -1
- package/dist/puppet-nyd4dhjf.js +0 -46
- package/dist/puppet-nyd4dhjf.js.map +0 -1
- package/dist/q-BPQ45Nxu.cjs +0 -2
- package/dist/q-BPQ45Nxu.cjs.map +0 -1
- package/dist/q-DXjKs-tC.js +0 -84
- package/dist/q-DXjKs-tC.js.map +0 -1
- package/dist/r-LKEuhEGI.js +0 -105
- package/dist/r-LKEuhEGI.js.map +0 -1
- package/dist/r-r2_EZsON.cjs +0 -2
- package/dist/r-r2_EZsON.cjs.map +0 -1
- package/dist/rpm-BoAefZZ1.js +0 -50
- package/dist/rpm-BoAefZZ1.js.map +0 -1
- package/dist/rpm-C6UDHByS.cjs +0 -2
- package/dist/rpm-C6UDHByS.cjs.map +0 -1
- package/dist/ruby-CcYfvIk6.js +0 -229
- package/dist/ruby-CcYfvIk6.js.map +0 -1
- package/dist/ruby-Cn1sFkZF.cjs +0 -2
- package/dist/ruby-Cn1sFkZF.cjs.map +0 -1
- package/dist/sas-7E8yHoCW.js +0 -106
- package/dist/sas-7E8yHoCW.js.map +0 -1
- package/dist/sas-DAGcJy94.cjs +0 -2
- package/dist/sas-DAGcJy94.cjs.map +0 -1
- package/dist/scheme-B0ZrbojV.cjs +0 -2
- package/dist/scheme-B0ZrbojV.cjs.map +0 -1
- package/dist/scheme-DjibxsNh.js +0 -125
- package/dist/scheme-DjibxsNh.js.map +0 -1
- package/dist/shell-BMYo43V6.cjs +0 -2
- package/dist/shell-BMYo43V6.cjs.map +0 -1
- package/dist/shell-C0C2sNA_.js +0 -183
- package/dist/shell-C0C2sNA_.js.map +0 -1
- package/dist/simple-mode-B0dvCdAA.js +0 -90
- package/dist/simple-mode-B0dvCdAA.js.map +0 -1
- package/dist/simple-mode-BIKNPBes.cjs +0 -2
- package/dist/simple-mode-BIKNPBes.cjs.map +0 -1
- package/dist/smalltalk-Bhddl2pB.js +0 -49
- package/dist/smalltalk-Bhddl2pB.js.map +0 -1
- package/dist/smalltalk-CSslY-3i.cjs +0 -2
- package/dist/smalltalk-CSslY-3i.cjs.map +0 -1
- package/dist/solr-A1kSnAwJ.cjs +0 -2
- package/dist/solr-A1kSnAwJ.cjs.map +0 -1
- package/dist/solr-BNlsLglM.js +0 -42
- package/dist/solr-BNlsLglM.js.map +0 -1
- package/dist/sparql-DnHMBLLY.cjs +0 -2
- package/dist/sparql-DnHMBLLY.cjs.map +0 -1
- package/dist/sparql-FarWu_Gb.js +0 -198
- package/dist/sparql-FarWu_Gb.js.map +0 -1
- package/dist/spreadsheet-B7_BK8hB.cjs +0 -2
- package/dist/spreadsheet-B7_BK8hB.cjs.map +0 -1
- package/dist/spreadsheet-C-cy4P5N.js +0 -50
- package/dist/spreadsheet-C-cy4P5N.js.map +0 -1
- package/dist/stex-B4wyjEnp.cjs +0 -2
- package/dist/stex-B4wyjEnp.cjs.map +0 -1
- package/dist/stex-Du4h4KAU.js +0 -130
- package/dist/stex-Du4h4KAU.js.map +0 -1
- package/dist/stylus-B3vYZZY8.cjs +0 -2
- package/dist/stylus-B3vYZZY8.cjs.map +0 -1
- package/dist/stylus-DRcbY16X.js +0 -251
- package/dist/stylus-DRcbY16X.js.map +0 -1
- package/dist/swift-DGw6Cgu8.cjs +0 -2
- package/dist/swift-DGw6Cgu8.cjs.map +0 -1
- package/dist/swift-DSxqR9R6.js +0 -231
- package/dist/swift-DSxqR9R6.js.map +0 -1
- package/dist/tcl-ByLXbQFo.cjs +0 -2
- package/dist/tcl-ByLXbQFo.cjs.map +0 -1
- package/dist/tcl-xfoLljhY.js +0 -82
- package/dist/tcl-xfoLljhY.js.map +0 -1
- package/dist/textile-D1AWE-pc.js +0 -296
- package/dist/textile-D1AWE-pc.js.map +0 -1
- package/dist/textile-iryw-lTw.cjs +0 -2
- package/dist/textile-iryw-lTw.cjs.map +0 -1
- package/dist/tiddlywiki-5wqsXtSk.js +0 -156
- package/dist/tiddlywiki-5wqsXtSk.js.map +0 -1
- package/dist/tiddlywiki-D8IJz1k7.cjs +0 -2
- package/dist/tiddlywiki-D8IJz1k7.cjs.map +0 -1
- package/dist/tiki-C5p5KSQK.cjs +0 -2
- package/dist/tiki-C5p5KSQK.cjs.map +0 -1
- package/dist/tiki-__Kn3CeS.js +0 -182
- package/dist/tiki-__Kn3CeS.js.map +0 -1
- package/dist/toml-3ZsH_4Qa.cjs +0 -2
- package/dist/toml-3ZsH_4Qa.cjs.map +0 -1
- package/dist/toml-BHiuTcfn.js +0 -50
- package/dist/toml-BHiuTcfn.js.map +0 -1
- package/dist/troff-D-3QCOYN.cjs +0 -2
- package/dist/troff-D-3QCOYN.cjs.map +0 -1
- package/dist/troff-D2UO-fKf.js +0 -36
- package/dist/troff-D2UO-fKf.js.map +0 -1
- package/dist/ttcn-Bsa4sfRm.js +0 -124
- package/dist/ttcn-Bsa4sfRm.js.map +0 -1
- package/dist/ttcn-C2MXAqcM.cjs +0 -2
- package/dist/ttcn-C2MXAqcM.cjs.map +0 -1
- package/dist/turtle-DSJNatSv.cjs +0 -2
- package/dist/turtle-DSJNatSv.cjs.map +0 -1
- package/dist/turtle-xwJUxoPV.js +0 -81
- package/dist/turtle-xwJUxoPV.js.map +0 -1
- package/dist/vb-c2kQGd6-.js +0 -75
- package/dist/vb-c2kQGd6-.js.map +0 -1
- package/dist/vb-qzHzzvyB.cjs +0 -2
- package/dist/vb-qzHzzvyB.cjs.map +0 -1
- package/dist/vbscript-1f_Dhg5H.js +0 -325
- package/dist/vbscript-1f_Dhg5H.js.map +0 -1
- package/dist/vbscript-CWm8v9tE.cjs +0 -2
- package/dist/vbscript-CWm8v9tE.cjs.map +0 -1
- package/dist/velocity-D3_yAIp3.cjs +0 -2
- package/dist/velocity-D3_yAIp3.cjs.map +0 -1
- package/dist/velocity-DJd0pTTC.js +0 -97
- package/dist/velocity-DJd0pTTC.js.map +0 -1
- package/dist/verilog-BOhLNmQo.cjs +0 -2
- package/dist/verilog-BOhLNmQo.cjs.map +0 -1
- package/dist/verilog-CiS1jyi5.js +0 -263
- package/dist/verilog-CiS1jyi5.js.map +0 -1
- package/dist/vhdl-CMFbi8Im.cjs +0 -2
- package/dist/vhdl-CMFbi8Im.cjs.map +0 -1
- package/dist/vhdl-T9HkrbI2.js +0 -107
- package/dist/vhdl-T9HkrbI2.js.map +0 -1
- package/dist/webidl-CWb_flNk.cjs +0 -2
- package/dist/webidl-CWb_flNk.cjs.map +0 -1
- package/dist/webidl-CjfDENEo.js +0 -156
- package/dist/webidl-CjfDENEo.js.map +0 -1
- package/dist/xquery-Ct6lEb4B.js +0 -423
- package/dist/xquery-Ct6lEb4B.js.map +0 -1
- package/dist/xquery-mbJFEpkV.cjs +0 -2
- package/dist/xquery-mbJFEpkV.cjs.map +0 -1
- package/dist/yacas-C0absKBh.js +0 -74
- package/dist/yacas-C0absKBh.js.map +0 -1
- package/dist/yacas-urx_N5C8.cjs +0 -2
- package/dist/yacas-urx_N5C8.cjs.map +0 -1
- package/dist/yaml-CSixJMdf.cjs +0 -2
- package/dist/yaml-CSixJMdf.cjs.map +0 -1
- package/dist/yaml-Dt6Tp2eU.js +0 -54
- package/dist/yaml-Dt6Tp2eU.js.map +0 -1
- package/dist/z80-CsG3CM6M.cjs +0 -2
- package/dist/z80-CsG3CM6M.cjs.map +0 -1
- package/dist/z80-Pki2zAjW.js +0 -62
- package/dist/z80-Pki2zAjW.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-B8srnV19.js","sources":["../../../node_modules/.deno/@lezer+lr@1.4.4/node_modules/@lezer/lr/dist/index.js"],"sourcesContent":["import { Parser, NodeProp, NodeSet, NodeType, DefaultBufferLength, Tree, IterMode } from '@lezer/common';\n\n/**\nA parse stack. These are used internally by the parser to track\nparsing progress. They also provide some properties and methods\nthat external code such as a tokenizer can use to get information\nabout the parse state.\n*/\nclass Stack {\n /**\n @internal\n */\n constructor(\n /**\n The parse that this stack is part of @internal\n */\n p, \n /**\n Holds state, input pos, buffer index triplets for all but the\n top state @internal\n */\n stack, \n /**\n The current parse state @internal\n */\n state, \n // The position at which the next reduce should take place. This\n // can be less than `this.pos` when skipped expressions have been\n // added to the stack (which should be moved outside of the next\n // reduction)\n /**\n @internal\n */\n reducePos, \n /**\n The input position up to which this stack has parsed.\n */\n pos, \n /**\n The dynamic score of the stack, including dynamic precedence\n and error-recovery penalties\n @internal\n */\n score, \n // The output buffer. Holds (type, start, end, size) quads\n // representing nodes created by the parser, where `size` is\n // amount of buffer array entries covered by this node.\n /**\n @internal\n */\n buffer, \n // The base offset of the buffer. When stacks are split, the split\n // instance shared the buffer history with its parent up to\n // `bufferBase`, which is the absolute offset (including the\n // offset of previous splits) into the buffer at which this stack\n // starts writing.\n /**\n @internal\n */\n bufferBase, \n /**\n @internal\n */\n curContext, \n /**\n @internal\n */\n lookAhead = 0, \n // A parent stack from which this was split off, if any. This is\n // set up so that it always points to a stack that has some\n // additional buffer content, never to a stack with an equal\n // `bufferBase`.\n /**\n @internal\n */\n parent) {\n this.p = p;\n this.stack = stack;\n this.state = state;\n this.reducePos = reducePos;\n this.pos = pos;\n this.score = score;\n this.buffer = buffer;\n this.bufferBase = bufferBase;\n this.curContext = curContext;\n this.lookAhead = lookAhead;\n this.parent = parent;\n }\n /**\n @internal\n */\n toString() {\n return `[${this.stack.filter((_, i) => i % 3 == 0).concat(this.state)}]@${this.pos}${this.score ? \"!\" + this.score : \"\"}`;\n }\n // Start an empty stack\n /**\n @internal\n */\n static start(p, state, pos = 0) {\n let cx = p.parser.context;\n return new Stack(p, [], state, pos, pos, 0, [], 0, cx ? new StackContext(cx, cx.start) : null, 0, null);\n }\n /**\n The stack's current [context](#lr.ContextTracker) value, if\n any. Its type will depend on the context tracker's type\n parameter, or it will be `null` if there is no context\n tracker.\n */\n get context() { return this.curContext ? this.curContext.context : null; }\n // Push a state onto the stack, tracking its start position as well\n // as the buffer base at that point.\n /**\n @internal\n */\n pushState(state, start) {\n this.stack.push(this.state, start, this.bufferBase + this.buffer.length);\n this.state = state;\n }\n // Apply a reduce action\n /**\n @internal\n */\n reduce(action) {\n var _a;\n let depth = action >> 19 /* Action.ReduceDepthShift */, type = action & 65535 /* Action.ValueMask */;\n let { parser } = this.p;\n let lookaheadRecord = this.reducePos < this.pos - 25 /* Lookahead.Margin */ && this.setLookAhead(this.pos);\n let dPrec = parser.dynamicPrecedence(type);\n if (dPrec)\n this.score += dPrec;\n if (depth == 0) {\n this.pushState(parser.getGoto(this.state, type, true), this.reducePos);\n // Zero-depth reductions are a special case—they add stuff to\n // the stack without popping anything off.\n if (type < parser.minRepeatTerm)\n this.storeNode(type, this.reducePos, this.reducePos, lookaheadRecord ? 8 : 4, true);\n this.reduceContext(type, this.reducePos);\n return;\n }\n // Find the base index into `this.stack`, content after which will\n // be dropped. Note that with `StayFlag` reductions we need to\n // consume two extra frames (the dummy parent node for the skipped\n // expression and the state that we'll be staying in, which should\n // be moved to `this.state`).\n let base = this.stack.length - ((depth - 1) * 3) - (action & 262144 /* Action.StayFlag */ ? 6 : 0);\n let start = base ? this.stack[base - 2] : this.p.ranges[0].from, size = this.reducePos - start;\n // This is a kludge to try and detect overly deep left-associative\n // trees, which will not increase the parse stack depth and thus\n // won't be caught by the regular stack-depth limit check.\n if (size >= 2000 /* Recover.MinBigReduction */ && !((_a = this.p.parser.nodeSet.types[type]) === null || _a === void 0 ? void 0 : _a.isAnonymous)) {\n if (start == this.p.lastBigReductionStart) {\n this.p.bigReductionCount++;\n this.p.lastBigReductionSize = size;\n }\n else if (this.p.lastBigReductionSize < size) {\n this.p.bigReductionCount = 1;\n this.p.lastBigReductionStart = start;\n this.p.lastBigReductionSize = size;\n }\n }\n let bufferBase = base ? this.stack[base - 1] : 0, count = this.bufferBase + this.buffer.length - bufferBase;\n // Store normal terms or `R -> R R` repeat reductions\n if (type < parser.minRepeatTerm || (action & 131072 /* Action.RepeatFlag */)) {\n let pos = parser.stateFlag(this.state, 1 /* StateFlag.Skipped */) ? this.pos : this.reducePos;\n this.storeNode(type, start, pos, count + 4, true);\n }\n if (action & 262144 /* Action.StayFlag */) {\n this.state = this.stack[base];\n }\n else {\n let baseStateID = this.stack[base - 3];\n this.state = parser.getGoto(baseStateID, type, true);\n }\n while (this.stack.length > base)\n this.stack.pop();\n this.reduceContext(type, start);\n }\n // Shift a value into the buffer\n /**\n @internal\n */\n storeNode(term, start, end, size = 4, mustSink = false) {\n if (term == 0 /* Term.Err */ &&\n (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {\n // Try to omit/merge adjacent error nodes\n let cur = this, top = this.buffer.length;\n if (top == 0 && cur.parent) {\n top = cur.bufferBase - cur.parent.bufferBase;\n cur = cur.parent;\n }\n if (top > 0 && cur.buffer[top - 4] == 0 /* Term.Err */ && cur.buffer[top - 1] > -1) {\n if (start == end)\n return;\n if (cur.buffer[top - 2] >= start) {\n cur.buffer[top - 2] = end;\n return;\n }\n }\n }\n if (!mustSink || this.pos == end) { // Simple case, just append\n this.buffer.push(term, start, end, size);\n }\n else { // There may be skipped nodes that have to be moved forward\n let index = this.buffer.length;\n if (index > 0 && (this.buffer[index - 4] != 0 /* Term.Err */ || this.buffer[index - 1] < 0)) {\n let mustMove = false;\n for (let scan = index; scan > 0 && this.buffer[scan - 2] > end; scan -= 4) {\n if (this.buffer[scan - 1] >= 0) {\n mustMove = true;\n break;\n }\n }\n if (mustMove)\n while (index > 0 && this.buffer[index - 2] > end) {\n // Move this record forward\n this.buffer[index] = this.buffer[index - 4];\n this.buffer[index + 1] = this.buffer[index - 3];\n this.buffer[index + 2] = this.buffer[index - 2];\n this.buffer[index + 3] = this.buffer[index - 1];\n index -= 4;\n if (size > 4)\n size -= 4;\n }\n }\n this.buffer[index] = term;\n this.buffer[index + 1] = start;\n this.buffer[index + 2] = end;\n this.buffer[index + 3] = size;\n }\n }\n // Apply a shift action\n /**\n @internal\n */\n shift(action, type, start, end) {\n if (action & 131072 /* Action.GotoFlag */) {\n this.pushState(action & 65535 /* Action.ValueMask */, this.pos);\n }\n else if ((action & 262144 /* Action.StayFlag */) == 0) { // Regular shift\n let nextState = action, { parser } = this.p;\n if (end > this.pos || type <= parser.maxNode) {\n this.pos = end;\n if (!parser.stateFlag(nextState, 1 /* StateFlag.Skipped */))\n this.reducePos = end;\n }\n this.pushState(nextState, start);\n this.shiftContext(type, start);\n if (type <= parser.maxNode)\n this.buffer.push(type, start, end, 4);\n }\n else { // Shift-and-stay, which means this is a skipped token\n this.pos = end;\n this.shiftContext(type, start);\n if (type <= this.p.parser.maxNode)\n this.buffer.push(type, start, end, 4);\n }\n }\n // Apply an action\n /**\n @internal\n */\n apply(action, next, nextStart, nextEnd) {\n if (action & 65536 /* Action.ReduceFlag */)\n this.reduce(action);\n else\n this.shift(action, next, nextStart, nextEnd);\n }\n // Add a prebuilt (reused) node into the buffer.\n /**\n @internal\n */\n useNode(value, next) {\n let index = this.p.reused.length - 1;\n if (index < 0 || this.p.reused[index] != value) {\n this.p.reused.push(value);\n index++;\n }\n let start = this.pos;\n this.reducePos = this.pos = start + value.length;\n this.pushState(next, start);\n this.buffer.push(index, start, this.reducePos, -1 /* size == -1 means this is a reused value */);\n if (this.curContext)\n this.updateContext(this.curContext.tracker.reuse(this.curContext.context, value, this, this.p.stream.reset(this.pos - value.length)));\n }\n // Split the stack. Due to the buffer sharing and the fact\n // that `this.stack` tends to stay quite shallow, this isn't very\n // expensive.\n /**\n @internal\n */\n split() {\n let parent = this;\n let off = parent.buffer.length;\n // Because the top of the buffer (after this.pos) may be mutated\n // to reorder reductions and skipped tokens, and shared buffers\n // should be immutable, this copies any outstanding skipped tokens\n // to the new buffer, and puts the base pointer before them.\n while (off > 0 && parent.buffer[off - 2] > parent.reducePos)\n off -= 4;\n let buffer = parent.buffer.slice(off), base = parent.bufferBase + off;\n // Make sure parent points to an actual parent with content, if there is such a parent.\n while (parent && base == parent.bufferBase)\n parent = parent.parent;\n return new Stack(this.p, this.stack.slice(), this.state, this.reducePos, this.pos, this.score, buffer, base, this.curContext, this.lookAhead, parent);\n }\n // Try to recover from an error by 'deleting' (ignoring) one token.\n /**\n @internal\n */\n recoverByDelete(next, nextEnd) {\n let isNode = next <= this.p.parser.maxNode;\n if (isNode)\n this.storeNode(next, this.pos, nextEnd, 4);\n this.storeNode(0 /* Term.Err */, this.pos, nextEnd, isNode ? 8 : 4);\n this.pos = this.reducePos = nextEnd;\n this.score -= 190 /* Recover.Delete */;\n }\n /**\n Check if the given term would be able to be shifted (optionally\n after some reductions) on this stack. This can be useful for\n external tokenizers that want to make sure they only provide a\n given token when it applies.\n */\n canShift(term) {\n for (let sim = new SimulatedStack(this);;) {\n let action = this.p.parser.stateSlot(sim.state, 4 /* ParseState.DefaultReduce */) || this.p.parser.hasAction(sim.state, term);\n if (action == 0)\n return false;\n if ((action & 65536 /* Action.ReduceFlag */) == 0)\n return true;\n sim.reduce(action);\n }\n }\n // Apply up to Recover.MaxNext recovery actions that conceptually\n // inserts some missing token or rule.\n /**\n @internal\n */\n recoverByInsert(next) {\n if (this.stack.length >= 300 /* Recover.MaxInsertStackDepth */)\n return [];\n let nextStates = this.p.parser.nextStates(this.state);\n if (nextStates.length > 4 /* Recover.MaxNext */ << 1 || this.stack.length >= 120 /* Recover.DampenInsertStackDepth */) {\n let best = [];\n for (let i = 0, s; i < nextStates.length; i += 2) {\n if ((s = nextStates[i + 1]) != this.state && this.p.parser.hasAction(s, next))\n best.push(nextStates[i], s);\n }\n if (this.stack.length < 120 /* Recover.DampenInsertStackDepth */)\n for (let i = 0; best.length < 4 /* Recover.MaxNext */ << 1 && i < nextStates.length; i += 2) {\n let s = nextStates[i + 1];\n if (!best.some((v, i) => (i & 1) && v == s))\n best.push(nextStates[i], s);\n }\n nextStates = best;\n }\n let result = [];\n for (let i = 0; i < nextStates.length && result.length < 4 /* Recover.MaxNext */; i += 2) {\n let s = nextStates[i + 1];\n if (s == this.state)\n continue;\n let stack = this.split();\n stack.pushState(s, this.pos);\n stack.storeNode(0 /* Term.Err */, stack.pos, stack.pos, 4, true);\n stack.shiftContext(nextStates[i], this.pos);\n stack.reducePos = this.pos;\n stack.score -= 200 /* Recover.Insert */;\n result.push(stack);\n }\n return result;\n }\n // Force a reduce, if possible. Return false if that can't\n // be done.\n /**\n @internal\n */\n forceReduce() {\n let { parser } = this.p;\n let reduce = parser.stateSlot(this.state, 5 /* ParseState.ForcedReduce */);\n if ((reduce & 65536 /* Action.ReduceFlag */) == 0)\n return false;\n if (!parser.validAction(this.state, reduce)) {\n let depth = reduce >> 19 /* Action.ReduceDepthShift */, term = reduce & 65535 /* Action.ValueMask */;\n let target = this.stack.length - depth * 3;\n if (target < 0 || parser.getGoto(this.stack[target], term, false) < 0) {\n let backup = this.findForcedReduction();\n if (backup == null)\n return false;\n reduce = backup;\n }\n this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);\n this.score -= 100 /* Recover.Reduce */;\n }\n this.reducePos = this.pos;\n this.reduce(reduce);\n return true;\n }\n /**\n Try to scan through the automaton to find some kind of reduction\n that can be applied. Used when the regular ForcedReduce field\n isn't a valid action. @internal\n */\n findForcedReduction() {\n let { parser } = this.p, seen = [];\n let explore = (state, depth) => {\n if (seen.includes(state))\n return;\n seen.push(state);\n return parser.allActions(state, (action) => {\n if (action & (262144 /* Action.StayFlag */ | 131072 /* Action.GotoFlag */)) ;\n else if (action & 65536 /* Action.ReduceFlag */) {\n let rDepth = (action >> 19 /* Action.ReduceDepthShift */) - depth;\n if (rDepth > 1) {\n let term = action & 65535 /* Action.ValueMask */, target = this.stack.length - rDepth * 3;\n if (target >= 0 && parser.getGoto(this.stack[target], term, false) >= 0)\n return (rDepth << 19 /* Action.ReduceDepthShift */) | 65536 /* Action.ReduceFlag */ | term;\n }\n }\n else {\n let found = explore(action, depth + 1);\n if (found != null)\n return found;\n }\n });\n };\n return explore(this.state, 0);\n }\n /**\n @internal\n */\n forceAll() {\n while (!this.p.parser.stateFlag(this.state, 2 /* StateFlag.Accepting */)) {\n if (!this.forceReduce()) {\n this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);\n break;\n }\n }\n return this;\n }\n /**\n Check whether this state has no further actions (assumed to be a direct descendant of the\n top state, since any other states must be able to continue\n somehow). @internal\n */\n get deadEnd() {\n if (this.stack.length != 3)\n return false;\n let { parser } = this.p;\n return parser.data[parser.stateSlot(this.state, 1 /* ParseState.Actions */)] == 65535 /* Seq.End */ &&\n !parser.stateSlot(this.state, 4 /* ParseState.DefaultReduce */);\n }\n /**\n Restart the stack (put it back in its start state). Only safe\n when this.stack.length == 3 (state is directly below the top\n state). @internal\n */\n restart() {\n this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);\n this.state = this.stack[0];\n this.stack.length = 0;\n }\n /**\n @internal\n */\n sameState(other) {\n if (this.state != other.state || this.stack.length != other.stack.length)\n return false;\n for (let i = 0; i < this.stack.length; i += 3)\n if (this.stack[i] != other.stack[i])\n return false;\n return true;\n }\n /**\n Get the parser used by this stack.\n */\n get parser() { return this.p.parser; }\n /**\n Test whether a given dialect (by numeric ID, as exported from\n the terms file) is enabled.\n */\n dialectEnabled(dialectID) { return this.p.parser.dialect.flags[dialectID]; }\n shiftContext(term, start) {\n if (this.curContext)\n this.updateContext(this.curContext.tracker.shift(this.curContext.context, term, this, this.p.stream.reset(start)));\n }\n reduceContext(term, start) {\n if (this.curContext)\n this.updateContext(this.curContext.tracker.reduce(this.curContext.context, term, this, this.p.stream.reset(start)));\n }\n /**\n @internal\n */\n emitContext() {\n let last = this.buffer.length - 1;\n if (last < 0 || this.buffer[last] != -3)\n this.buffer.push(this.curContext.hash, this.pos, this.pos, -3);\n }\n /**\n @internal\n */\n emitLookAhead() {\n let last = this.buffer.length - 1;\n if (last < 0 || this.buffer[last] != -4)\n this.buffer.push(this.lookAhead, this.pos, this.pos, -4);\n }\n updateContext(context) {\n if (context != this.curContext.context) {\n let newCx = new StackContext(this.curContext.tracker, context);\n if (newCx.hash != this.curContext.hash)\n this.emitContext();\n this.curContext = newCx;\n }\n }\n /**\n @internal\n */\n setLookAhead(lookAhead) {\n if (lookAhead <= this.lookAhead)\n return false;\n this.emitLookAhead();\n this.lookAhead = lookAhead;\n return true;\n }\n /**\n @internal\n */\n close() {\n if (this.curContext && this.curContext.tracker.strict)\n this.emitContext();\n if (this.lookAhead > 0)\n this.emitLookAhead();\n }\n}\nclass StackContext {\n constructor(tracker, context) {\n this.tracker = tracker;\n this.context = context;\n this.hash = tracker.strict ? tracker.hash(context) : 0;\n }\n}\n// Used to cheaply run some reductions to scan ahead without mutating\n// an entire stack\nclass SimulatedStack {\n constructor(start) {\n this.start = start;\n this.state = start.state;\n this.stack = start.stack;\n this.base = this.stack.length;\n }\n reduce(action) {\n let term = action & 65535 /* Action.ValueMask */, depth = action >> 19 /* Action.ReduceDepthShift */;\n if (depth == 0) {\n if (this.stack == this.start.stack)\n this.stack = this.stack.slice();\n this.stack.push(this.state, 0, 0);\n this.base += 3;\n }\n else {\n this.base -= (depth - 1) * 3;\n }\n let goto = this.start.p.parser.getGoto(this.stack[this.base - 3], term, true);\n this.state = goto;\n }\n}\n// This is given to `Tree.build` to build a buffer, and encapsulates\n// the parent-stack-walking necessary to read the nodes.\nclass StackBufferCursor {\n constructor(stack, pos, index) {\n this.stack = stack;\n this.pos = pos;\n this.index = index;\n this.buffer = stack.buffer;\n if (this.index == 0)\n this.maybeNext();\n }\n static create(stack, pos = stack.bufferBase + stack.buffer.length) {\n return new StackBufferCursor(stack, pos, pos - stack.bufferBase);\n }\n maybeNext() {\n let next = this.stack.parent;\n if (next != null) {\n this.index = this.stack.bufferBase - next.bufferBase;\n this.stack = next;\n this.buffer = next.buffer;\n }\n }\n get id() { return this.buffer[this.index - 4]; }\n get start() { return this.buffer[this.index - 3]; }\n get end() { return this.buffer[this.index - 2]; }\n get size() { return this.buffer[this.index - 1]; }\n next() {\n this.index -= 4;\n this.pos -= 4;\n if (this.index == 0)\n this.maybeNext();\n }\n fork() {\n return new StackBufferCursor(this.stack, this.pos, this.index);\n }\n}\n\n// See lezer-generator/src/encode.ts for comments about the encoding\n// used here\nfunction decodeArray(input, Type = Uint16Array) {\n if (typeof input != \"string\")\n return input;\n let array = null;\n for (let pos = 0, out = 0; pos < input.length;) {\n let value = 0;\n for (;;) {\n let next = input.charCodeAt(pos++), stop = false;\n if (next == 126 /* Encode.BigValCode */) {\n value = 65535 /* Encode.BigVal */;\n break;\n }\n if (next >= 92 /* Encode.Gap2 */)\n next--;\n if (next >= 34 /* Encode.Gap1 */)\n next--;\n let digit = next - 32 /* Encode.Start */;\n if (digit >= 46 /* Encode.Base */) {\n digit -= 46 /* Encode.Base */;\n stop = true;\n }\n value += digit;\n if (stop)\n break;\n value *= 46 /* Encode.Base */;\n }\n if (array)\n array[out++] = value;\n else\n array = new Type(value);\n }\n return array;\n}\n\nclass CachedToken {\n constructor() {\n this.start = -1;\n this.value = -1;\n this.end = -1;\n this.extended = -1;\n this.lookAhead = 0;\n this.mask = 0;\n this.context = 0;\n }\n}\nconst nullToken = new CachedToken;\n/**\n[Tokenizers](#lr.ExternalTokenizer) interact with the input\nthrough this interface. It presents the input as a stream of\ncharacters, tracking lookahead and hiding the complexity of\n[ranges](#common.Parser.parse^ranges) from tokenizer code.\n*/\nclass InputStream {\n /**\n @internal\n */\n constructor(\n /**\n @internal\n */\n input, \n /**\n @internal\n */\n ranges) {\n this.input = input;\n this.ranges = ranges;\n /**\n @internal\n */\n this.chunk = \"\";\n /**\n @internal\n */\n this.chunkOff = 0;\n /**\n Backup chunk\n */\n this.chunk2 = \"\";\n this.chunk2Pos = 0;\n /**\n The character code of the next code unit in the input, or -1\n when the stream is at the end of the input.\n */\n this.next = -1;\n /**\n @internal\n */\n this.token = nullToken;\n this.rangeIndex = 0;\n this.pos = this.chunkPos = ranges[0].from;\n this.range = ranges[0];\n this.end = ranges[ranges.length - 1].to;\n this.readNext();\n }\n /**\n @internal\n */\n resolveOffset(offset, assoc) {\n let range = this.range, index = this.rangeIndex;\n let pos = this.pos + offset;\n while (pos < range.from) {\n if (!index)\n return null;\n let next = this.ranges[--index];\n pos -= range.from - next.to;\n range = next;\n }\n while (assoc < 0 ? pos > range.to : pos >= range.to) {\n if (index == this.ranges.length - 1)\n return null;\n let next = this.ranges[++index];\n pos += next.from - range.to;\n range = next;\n }\n return pos;\n }\n /**\n @internal\n */\n clipPos(pos) {\n if (pos >= this.range.from && pos < this.range.to)\n return pos;\n for (let range of this.ranges)\n if (range.to > pos)\n return Math.max(pos, range.from);\n return this.end;\n }\n /**\n Look at a code unit near the stream position. `.peek(0)` equals\n `.next`, `.peek(-1)` gives you the previous character, and so\n on.\n \n Note that looking around during tokenizing creates dependencies\n on potentially far-away content, which may reduce the\n effectiveness incremental parsing—when looking forward—or even\n cause invalid reparses when looking backward more than 25 code\n units, since the library does not track lookbehind.\n */\n peek(offset) {\n let idx = this.chunkOff + offset, pos, result;\n if (idx >= 0 && idx < this.chunk.length) {\n pos = this.pos + offset;\n result = this.chunk.charCodeAt(idx);\n }\n else {\n let resolved = this.resolveOffset(offset, 1);\n if (resolved == null)\n return -1;\n pos = resolved;\n if (pos >= this.chunk2Pos && pos < this.chunk2Pos + this.chunk2.length) {\n result = this.chunk2.charCodeAt(pos - this.chunk2Pos);\n }\n else {\n let i = this.rangeIndex, range = this.range;\n while (range.to <= pos)\n range = this.ranges[++i];\n this.chunk2 = this.input.chunk(this.chunk2Pos = pos);\n if (pos + this.chunk2.length > range.to)\n this.chunk2 = this.chunk2.slice(0, range.to - pos);\n result = this.chunk2.charCodeAt(0);\n }\n }\n if (pos >= this.token.lookAhead)\n this.token.lookAhead = pos + 1;\n return result;\n }\n /**\n Accept a token. By default, the end of the token is set to the\n current stream position, but you can pass an offset (relative to\n the stream position) to change that.\n */\n acceptToken(token, endOffset = 0) {\n let end = endOffset ? this.resolveOffset(endOffset, -1) : this.pos;\n if (end == null || end < this.token.start)\n throw new RangeError(\"Token end out of bounds\");\n this.token.value = token;\n this.token.end = end;\n }\n /**\n Accept a token ending at a specific given position.\n */\n acceptTokenTo(token, endPos) {\n this.token.value = token;\n this.token.end = endPos;\n }\n getChunk() {\n if (this.pos >= this.chunk2Pos && this.pos < this.chunk2Pos + this.chunk2.length) {\n let { chunk, chunkPos } = this;\n this.chunk = this.chunk2;\n this.chunkPos = this.chunk2Pos;\n this.chunk2 = chunk;\n this.chunk2Pos = chunkPos;\n this.chunkOff = this.pos - this.chunkPos;\n }\n else {\n this.chunk2 = this.chunk;\n this.chunk2Pos = this.chunkPos;\n let nextChunk = this.input.chunk(this.pos);\n let end = this.pos + nextChunk.length;\n this.chunk = end > this.range.to ? nextChunk.slice(0, this.range.to - this.pos) : nextChunk;\n this.chunkPos = this.pos;\n this.chunkOff = 0;\n }\n }\n readNext() {\n if (this.chunkOff >= this.chunk.length) {\n this.getChunk();\n if (this.chunkOff == this.chunk.length)\n return this.next = -1;\n }\n return this.next = this.chunk.charCodeAt(this.chunkOff);\n }\n /**\n Move the stream forward N (defaults to 1) code units. Returns\n the new value of [`next`](#lr.InputStream.next).\n */\n advance(n = 1) {\n this.chunkOff += n;\n while (this.pos + n >= this.range.to) {\n if (this.rangeIndex == this.ranges.length - 1)\n return this.setDone();\n n -= this.range.to - this.pos;\n this.range = this.ranges[++this.rangeIndex];\n this.pos = this.range.from;\n }\n this.pos += n;\n if (this.pos >= this.token.lookAhead)\n this.token.lookAhead = this.pos + 1;\n return this.readNext();\n }\n setDone() {\n this.pos = this.chunkPos = this.end;\n this.range = this.ranges[this.rangeIndex = this.ranges.length - 1];\n this.chunk = \"\";\n return this.next = -1;\n }\n /**\n @internal\n */\n reset(pos, token) {\n if (token) {\n this.token = token;\n token.start = pos;\n token.lookAhead = pos + 1;\n token.value = token.extended = -1;\n }\n else {\n this.token = nullToken;\n }\n if (this.pos != pos) {\n this.pos = pos;\n if (pos == this.end) {\n this.setDone();\n return this;\n }\n while (pos < this.range.from)\n this.range = this.ranges[--this.rangeIndex];\n while (pos >= this.range.to)\n this.range = this.ranges[++this.rangeIndex];\n if (pos >= this.chunkPos && pos < this.chunkPos + this.chunk.length) {\n this.chunkOff = pos - this.chunkPos;\n }\n else {\n this.chunk = \"\";\n this.chunkOff = 0;\n }\n this.readNext();\n }\n return this;\n }\n /**\n @internal\n */\n read(from, to) {\n if (from >= this.chunkPos && to <= this.chunkPos + this.chunk.length)\n return this.chunk.slice(from - this.chunkPos, to - this.chunkPos);\n if (from >= this.chunk2Pos && to <= this.chunk2Pos + this.chunk2.length)\n return this.chunk2.slice(from - this.chunk2Pos, to - this.chunk2Pos);\n if (from >= this.range.from && to <= this.range.to)\n return this.input.read(from, to);\n let result = \"\";\n for (let r of this.ranges) {\n if (r.from >= to)\n break;\n if (r.to > from)\n result += this.input.read(Math.max(r.from, from), Math.min(r.to, to));\n }\n return result;\n }\n}\n/**\n@internal\n*/\nclass TokenGroup {\n constructor(data, id) {\n this.data = data;\n this.id = id;\n }\n token(input, stack) {\n let { parser } = stack.p;\n readToken(this.data, input, stack, this.id, parser.data, parser.tokenPrecTable);\n }\n}\nTokenGroup.prototype.contextual = TokenGroup.prototype.fallback = TokenGroup.prototype.extend = false;\n/**\n@hide\n*/\nclass LocalTokenGroup {\n constructor(data, precTable, elseToken) {\n this.precTable = precTable;\n this.elseToken = elseToken;\n this.data = typeof data == \"string\" ? decodeArray(data) : data;\n }\n token(input, stack) {\n let start = input.pos, skipped = 0;\n for (;;) {\n let atEof = input.next < 0, nextPos = input.resolveOffset(1, 1);\n readToken(this.data, input, stack, 0, this.data, this.precTable);\n if (input.token.value > -1)\n break;\n if (this.elseToken == null)\n return;\n if (!atEof)\n skipped++;\n if (nextPos == null)\n break;\n input.reset(nextPos, input.token);\n }\n if (skipped) {\n input.reset(start, input.token);\n input.acceptToken(this.elseToken, skipped);\n }\n }\n}\nLocalTokenGroup.prototype.contextual = TokenGroup.prototype.fallback = TokenGroup.prototype.extend = false;\n/**\n`@external tokens` declarations in the grammar should resolve to\nan instance of this class.\n*/\nclass ExternalTokenizer {\n /**\n Create a tokenizer. The first argument is the function that,\n given an input stream, scans for the types of tokens it\n recognizes at the stream's position, and calls\n [`acceptToken`](#lr.InputStream.acceptToken) when it finds\n one.\n */\n constructor(\n /**\n @internal\n */\n token, options = {}) {\n this.token = token;\n this.contextual = !!options.contextual;\n this.fallback = !!options.fallback;\n this.extend = !!options.extend;\n }\n}\n// Tokenizer data is stored a big uint16 array containing, for each\n// state:\n//\n// - A group bitmask, indicating what token groups are reachable from\n// this state, so that paths that can only lead to tokens not in\n// any of the current groups can be cut off early.\n//\n// - The position of the end of the state's sequence of accepting\n// tokens\n//\n// - The number of outgoing edges for the state\n//\n// - The accepting tokens, as (token id, group mask) pairs\n//\n// - The outgoing edges, as (start character, end character, state\n// index) triples, with end character being exclusive\n//\n// This function interprets that data, running through a stream as\n// long as new states with the a matching group mask can be reached,\n// and updating `input.token` when it matches a token.\nfunction readToken(data, input, stack, group, precTable, precOffset) {\n let state = 0, groupMask = 1 << group, { dialect } = stack.p.parser;\n scan: for (;;) {\n if ((groupMask & data[state]) == 0)\n break;\n let accEnd = data[state + 1];\n // Check whether this state can lead to a token in the current group\n // Accept tokens in this state, possibly overwriting\n // lower-precedence / shorter tokens\n for (let i = state + 3; i < accEnd; i += 2)\n if ((data[i + 1] & groupMask) > 0) {\n let term = data[i];\n if (dialect.allows(term) &&\n (input.token.value == -1 || input.token.value == term ||\n overrides(term, input.token.value, precTable, precOffset))) {\n input.acceptToken(term);\n break;\n }\n }\n let next = input.next, low = 0, high = data[state + 2];\n // Special case for EOF\n if (input.next < 0 && high > low && data[accEnd + high * 3 - 3] == 65535 /* Seq.End */) {\n state = data[accEnd + high * 3 - 1];\n continue scan;\n }\n // Do a binary search on the state's edges\n for (; low < high;) {\n let mid = (low + high) >> 1;\n let index = accEnd + mid + (mid << 1);\n let from = data[index], to = data[index + 1] || 0x10000;\n if (next < from)\n high = mid;\n else if (next >= to)\n low = mid + 1;\n else {\n state = data[index + 2];\n input.advance();\n continue scan;\n }\n }\n break;\n }\n}\nfunction findOffset(data, start, term) {\n for (let i = start, next; (next = data[i]) != 65535 /* Seq.End */; i++)\n if (next == term)\n return i - start;\n return -1;\n}\nfunction overrides(token, prev, tableData, tableOffset) {\n let iPrev = findOffset(tableData, tableOffset, prev);\n return iPrev < 0 || findOffset(tableData, tableOffset, token) < iPrev;\n}\n\n// Environment variable used to control console output\nconst verbose = typeof process != \"undefined\" && process.env && /\\bparse\\b/.test(process.env.LOG);\nlet stackIDs = null;\nfunction cutAt(tree, pos, side) {\n let cursor = tree.cursor(IterMode.IncludeAnonymous);\n cursor.moveTo(pos);\n for (;;) {\n if (!(side < 0 ? cursor.childBefore(pos) : cursor.childAfter(pos)))\n for (;;) {\n if ((side < 0 ? cursor.to < pos : cursor.from > pos) && !cursor.type.isError)\n return side < 0 ? Math.max(0, Math.min(cursor.to - 1, pos - 25 /* Lookahead.Margin */))\n : Math.min(tree.length, Math.max(cursor.from + 1, pos + 25 /* Lookahead.Margin */));\n if (side < 0 ? cursor.prevSibling() : cursor.nextSibling())\n break;\n if (!cursor.parent())\n return side < 0 ? 0 : tree.length;\n }\n }\n}\nclass FragmentCursor {\n constructor(fragments, nodeSet) {\n this.fragments = fragments;\n this.nodeSet = nodeSet;\n this.i = 0;\n this.fragment = null;\n this.safeFrom = -1;\n this.safeTo = -1;\n this.trees = [];\n this.start = [];\n this.index = [];\n this.nextFragment();\n }\n nextFragment() {\n let fr = this.fragment = this.i == this.fragments.length ? null : this.fragments[this.i++];\n if (fr) {\n this.safeFrom = fr.openStart ? cutAt(fr.tree, fr.from + fr.offset, 1) - fr.offset : fr.from;\n this.safeTo = fr.openEnd ? cutAt(fr.tree, fr.to + fr.offset, -1) - fr.offset : fr.to;\n while (this.trees.length) {\n this.trees.pop();\n this.start.pop();\n this.index.pop();\n }\n this.trees.push(fr.tree);\n this.start.push(-fr.offset);\n this.index.push(0);\n this.nextStart = this.safeFrom;\n }\n else {\n this.nextStart = 1e9;\n }\n }\n // `pos` must be >= any previously given `pos` for this cursor\n nodeAt(pos) {\n if (pos < this.nextStart)\n return null;\n while (this.fragment && this.safeTo <= pos)\n this.nextFragment();\n if (!this.fragment)\n return null;\n for (;;) {\n let last = this.trees.length - 1;\n if (last < 0) { // End of tree\n this.nextFragment();\n return null;\n }\n let top = this.trees[last], index = this.index[last];\n if (index == top.children.length) {\n this.trees.pop();\n this.start.pop();\n this.index.pop();\n continue;\n }\n let next = top.children[index];\n let start = this.start[last] + top.positions[index];\n if (start > pos) {\n this.nextStart = start;\n return null;\n }\n if (next instanceof Tree) {\n if (start == pos) {\n if (start < this.safeFrom)\n return null;\n let end = start + next.length;\n if (end <= this.safeTo) {\n let lookAhead = next.prop(NodeProp.lookAhead);\n if (!lookAhead || end + lookAhead < this.fragment.to)\n return next;\n }\n }\n this.index[last]++;\n if (start + next.length >= Math.max(this.safeFrom, pos)) { // Enter this node\n this.trees.push(next);\n this.start.push(start);\n this.index.push(0);\n }\n }\n else {\n this.index[last]++;\n this.nextStart = start + next.length;\n }\n }\n }\n}\nclass TokenCache {\n constructor(parser, stream) {\n this.stream = stream;\n this.tokens = [];\n this.mainToken = null;\n this.actions = [];\n this.tokens = parser.tokenizers.map(_ => new CachedToken);\n }\n getActions(stack) {\n let actionIndex = 0;\n let main = null;\n let { parser } = stack.p, { tokenizers } = parser;\n let mask = parser.stateSlot(stack.state, 3 /* ParseState.TokenizerMask */);\n let context = stack.curContext ? stack.curContext.hash : 0;\n let lookAhead = 0;\n for (let i = 0; i < tokenizers.length; i++) {\n if (((1 << i) & mask) == 0)\n continue;\n let tokenizer = tokenizers[i], token = this.tokens[i];\n if (main && !tokenizer.fallback)\n continue;\n if (tokenizer.contextual || token.start != stack.pos || token.mask != mask || token.context != context) {\n this.updateCachedToken(token, tokenizer, stack);\n token.mask = mask;\n token.context = context;\n }\n if (token.lookAhead > token.end + 25 /* Lookahead.Margin */)\n lookAhead = Math.max(token.lookAhead, lookAhead);\n if (token.value != 0 /* Term.Err */) {\n let startIndex = actionIndex;\n if (token.extended > -1)\n actionIndex = this.addActions(stack, token.extended, token.end, actionIndex);\n actionIndex = this.addActions(stack, token.value, token.end, actionIndex);\n if (!tokenizer.extend) {\n main = token;\n if (actionIndex > startIndex)\n break;\n }\n }\n }\n while (this.actions.length > actionIndex)\n this.actions.pop();\n if (lookAhead)\n stack.setLookAhead(lookAhead);\n if (!main && stack.pos == this.stream.end) {\n main = new CachedToken;\n main.value = stack.p.parser.eofTerm;\n main.start = main.end = stack.pos;\n actionIndex = this.addActions(stack, main.value, main.end, actionIndex);\n }\n this.mainToken = main;\n return this.actions;\n }\n getMainToken(stack) {\n if (this.mainToken)\n return this.mainToken;\n let main = new CachedToken, { pos, p } = stack;\n main.start = pos;\n main.end = Math.min(pos + 1, p.stream.end);\n main.value = pos == p.stream.end ? p.parser.eofTerm : 0 /* Term.Err */;\n return main;\n }\n updateCachedToken(token, tokenizer, stack) {\n let start = this.stream.clipPos(stack.pos);\n tokenizer.token(this.stream.reset(start, token), stack);\n if (token.value > -1) {\n let { parser } = stack.p;\n for (let i = 0; i < parser.specialized.length; i++)\n if (parser.specialized[i] == token.value) {\n let result = parser.specializers[i](this.stream.read(token.start, token.end), stack);\n if (result >= 0 && stack.p.parser.dialect.allows(result >> 1)) {\n if ((result & 1) == 0 /* Specialize.Specialize */)\n token.value = result >> 1;\n else\n token.extended = result >> 1;\n break;\n }\n }\n }\n else {\n token.value = 0 /* Term.Err */;\n token.end = this.stream.clipPos(start + 1);\n }\n }\n putAction(action, token, end, index) {\n // Don't add duplicate actions\n for (let i = 0; i < index; i += 3)\n if (this.actions[i] == action)\n return index;\n this.actions[index++] = action;\n this.actions[index++] = token;\n this.actions[index++] = end;\n return index;\n }\n addActions(stack, token, end, index) {\n let { state } = stack, { parser } = stack.p, { data } = parser;\n for (let set = 0; set < 2; set++) {\n for (let i = parser.stateSlot(state, set ? 2 /* ParseState.Skip */ : 1 /* ParseState.Actions */);; i += 3) {\n if (data[i] == 65535 /* Seq.End */) {\n if (data[i + 1] == 1 /* Seq.Next */) {\n i = pair(data, i + 2);\n }\n else {\n if (index == 0 && data[i + 1] == 2 /* Seq.Other */)\n index = this.putAction(pair(data, i + 2), token, end, index);\n break;\n }\n }\n if (data[i] == token)\n index = this.putAction(pair(data, i + 1), token, end, index);\n }\n }\n return index;\n }\n}\nclass Parse {\n constructor(parser, input, fragments, ranges) {\n this.parser = parser;\n this.input = input;\n this.ranges = ranges;\n this.recovering = 0;\n this.nextStackID = 0x2654; // ♔, ♕, ♖, ♗, ♘, ♙, ♠, ♡, ♢, ♣, ♤, ♥, ♦, ♧\n this.minStackPos = 0;\n this.reused = [];\n this.stoppedAt = null;\n this.lastBigReductionStart = -1;\n this.lastBigReductionSize = 0;\n this.bigReductionCount = 0;\n this.stream = new InputStream(input, ranges);\n this.tokens = new TokenCache(parser, this.stream);\n this.topTerm = parser.top[1];\n let { from } = ranges[0];\n this.stacks = [Stack.start(this, parser.top[0], from)];\n this.fragments = fragments.length && this.stream.end - from > parser.bufferLength * 4\n ? new FragmentCursor(fragments, parser.nodeSet) : null;\n }\n get parsedPos() {\n return this.minStackPos;\n }\n // Move the parser forward. This will process all parse stacks at\n // `this.pos` and try to advance them to a further position. If no\n // stack for such a position is found, it'll start error-recovery.\n //\n // When the parse is finished, this will return a syntax tree. When\n // not, it returns `null`.\n advance() {\n let stacks = this.stacks, pos = this.minStackPos;\n // This will hold stacks beyond `pos`.\n let newStacks = this.stacks = [];\n let stopped, stoppedTokens;\n // If a large amount of reductions happened with the same start\n // position, force the stack out of that production in order to\n // avoid creating a tree too deep to recurse through.\n // (This is an ugly kludge, because unfortunately there is no\n // straightforward, cheap way to check for this happening, due to\n // the history of reductions only being available in an\n // expensive-to-access format in the stack buffers.)\n if (this.bigReductionCount > 300 /* Rec.MaxLeftAssociativeReductionCount */ && stacks.length == 1) {\n let [s] = stacks;\n while (s.forceReduce() && s.stack.length && s.stack[s.stack.length - 2] >= this.lastBigReductionStart) { }\n this.bigReductionCount = this.lastBigReductionSize = 0;\n }\n // Keep advancing any stacks at `pos` until they either move\n // forward or can't be advanced. Gather stacks that can't be\n // advanced further in `stopped`.\n for (let i = 0; i < stacks.length; i++) {\n let stack = stacks[i];\n for (;;) {\n this.tokens.mainToken = null;\n if (stack.pos > pos) {\n newStacks.push(stack);\n }\n else if (this.advanceStack(stack, newStacks, stacks)) {\n continue;\n }\n else {\n if (!stopped) {\n stopped = [];\n stoppedTokens = [];\n }\n stopped.push(stack);\n let tok = this.tokens.getMainToken(stack);\n stoppedTokens.push(tok.value, tok.end);\n }\n break;\n }\n }\n if (!newStacks.length) {\n let finished = stopped && findFinished(stopped);\n if (finished) {\n if (verbose)\n console.log(\"Finish with \" + this.stackID(finished));\n return this.stackToTree(finished);\n }\n if (this.parser.strict) {\n if (verbose && stopped)\n console.log(\"Stuck with token \" + (this.tokens.mainToken ? this.parser.getName(this.tokens.mainToken.value) : \"none\"));\n throw new SyntaxError(\"No parse at \" + pos);\n }\n if (!this.recovering)\n this.recovering = 5 /* Rec.Distance */;\n }\n if (this.recovering && stopped) {\n let finished = this.stoppedAt != null && stopped[0].pos > this.stoppedAt ? stopped[0]\n : this.runRecovery(stopped, stoppedTokens, newStacks);\n if (finished) {\n if (verbose)\n console.log(\"Force-finish \" + this.stackID(finished));\n return this.stackToTree(finished.forceAll());\n }\n }\n if (this.recovering) {\n let maxRemaining = this.recovering == 1 ? 1 : this.recovering * 3 /* Rec.MaxRemainingPerStep */;\n if (newStacks.length > maxRemaining) {\n newStacks.sort((a, b) => b.score - a.score);\n while (newStacks.length > maxRemaining)\n newStacks.pop();\n }\n if (newStacks.some(s => s.reducePos > pos))\n this.recovering--;\n }\n else if (newStacks.length > 1) {\n // Prune stacks that are in the same state, or that have been\n // running without splitting for a while, to avoid getting stuck\n // with multiple successful stacks running endlessly on.\n outer: for (let i = 0; i < newStacks.length - 1; i++) {\n let stack = newStacks[i];\n for (let j = i + 1; j < newStacks.length; j++) {\n let other = newStacks[j];\n if (stack.sameState(other) ||\n stack.buffer.length > 500 /* Rec.MinBufferLengthPrune */ && other.buffer.length > 500 /* Rec.MinBufferLengthPrune */) {\n if (((stack.score - other.score) || (stack.buffer.length - other.buffer.length)) > 0) {\n newStacks.splice(j--, 1);\n }\n else {\n newStacks.splice(i--, 1);\n continue outer;\n }\n }\n }\n }\n if (newStacks.length > 12 /* Rec.MaxStackCount */)\n newStacks.splice(12 /* Rec.MaxStackCount */, newStacks.length - 12 /* Rec.MaxStackCount */);\n }\n this.minStackPos = newStacks[0].pos;\n for (let i = 1; i < newStacks.length; i++)\n if (newStacks[i].pos < this.minStackPos)\n this.minStackPos = newStacks[i].pos;\n return null;\n }\n stopAt(pos) {\n if (this.stoppedAt != null && this.stoppedAt < pos)\n throw new RangeError(\"Can't move stoppedAt forward\");\n this.stoppedAt = pos;\n }\n // Returns an updated version of the given stack, or null if the\n // stack can't advance normally. When `split` and `stacks` are\n // given, stacks split off by ambiguous operations will be pushed to\n // `split`, or added to `stacks` if they move `pos` forward.\n advanceStack(stack, stacks, split) {\n let start = stack.pos, { parser } = this;\n let base = verbose ? this.stackID(stack) + \" -> \" : \"\";\n if (this.stoppedAt != null && start > this.stoppedAt)\n return stack.forceReduce() ? stack : null;\n if (this.fragments) {\n let strictCx = stack.curContext && stack.curContext.tracker.strict, cxHash = strictCx ? stack.curContext.hash : 0;\n for (let cached = this.fragments.nodeAt(start); cached;) {\n let match = this.parser.nodeSet.types[cached.type.id] == cached.type ? parser.getGoto(stack.state, cached.type.id) : -1;\n if (match > -1 && cached.length && (!strictCx || (cached.prop(NodeProp.contextHash) || 0) == cxHash)) {\n stack.useNode(cached, match);\n if (verbose)\n console.log(base + this.stackID(stack) + ` (via reuse of ${parser.getName(cached.type.id)})`);\n return true;\n }\n if (!(cached instanceof Tree) || cached.children.length == 0 || cached.positions[0] > 0)\n break;\n let inner = cached.children[0];\n if (inner instanceof Tree && cached.positions[0] == 0)\n cached = inner;\n else\n break;\n }\n }\n let defaultReduce = parser.stateSlot(stack.state, 4 /* ParseState.DefaultReduce */);\n if (defaultReduce > 0) {\n stack.reduce(defaultReduce);\n if (verbose)\n console.log(base + this.stackID(stack) + ` (via always-reduce ${parser.getName(defaultReduce & 65535 /* Action.ValueMask */)})`);\n return true;\n }\n if (stack.stack.length >= 8400 /* Rec.CutDepth */) {\n while (stack.stack.length > 6000 /* Rec.CutTo */ && stack.forceReduce()) { }\n }\n let actions = this.tokens.getActions(stack);\n for (let i = 0; i < actions.length;) {\n let action = actions[i++], term = actions[i++], end = actions[i++];\n let last = i == actions.length || !split;\n let localStack = last ? stack : stack.split();\n let main = this.tokens.mainToken;\n localStack.apply(action, term, main ? main.start : localStack.pos, end);\n if (verbose)\n console.log(base + this.stackID(localStack) + ` (via ${(action & 65536 /* Action.ReduceFlag */) == 0 ? \"shift\"\n : `reduce of ${parser.getName(action & 65535 /* Action.ValueMask */)}`} for ${parser.getName(term)} @ ${start}${localStack == stack ? \"\" : \", split\"})`);\n if (last)\n return true;\n else if (localStack.pos > start)\n stacks.push(localStack);\n else\n split.push(localStack);\n }\n return false;\n }\n // Advance a given stack forward as far as it will go. Returns the\n // (possibly updated) stack if it got stuck, or null if it moved\n // forward and was given to `pushStackDedup`.\n advanceFully(stack, newStacks) {\n let pos = stack.pos;\n for (;;) {\n if (!this.advanceStack(stack, null, null))\n return false;\n if (stack.pos > pos) {\n pushStackDedup(stack, newStacks);\n return true;\n }\n }\n }\n runRecovery(stacks, tokens, newStacks) {\n let finished = null, restarted = false;\n for (let i = 0; i < stacks.length; i++) {\n let stack = stacks[i], token = tokens[i << 1], tokenEnd = tokens[(i << 1) + 1];\n let base = verbose ? this.stackID(stack) + \" -> \" : \"\";\n if (stack.deadEnd) {\n if (restarted)\n continue;\n restarted = true;\n stack.restart();\n if (verbose)\n console.log(base + this.stackID(stack) + \" (restarted)\");\n let done = this.advanceFully(stack, newStacks);\n if (done)\n continue;\n }\n let force = stack.split(), forceBase = base;\n for (let j = 0; j < 10 /* Rec.ForceReduceLimit */ && force.forceReduce(); j++) {\n if (verbose)\n console.log(forceBase + this.stackID(force) + \" (via force-reduce)\");\n let done = this.advanceFully(force, newStacks);\n if (done)\n break;\n if (verbose)\n forceBase = this.stackID(force) + \" -> \";\n }\n for (let insert of stack.recoverByInsert(token)) {\n if (verbose)\n console.log(base + this.stackID(insert) + \" (via recover-insert)\");\n this.advanceFully(insert, newStacks);\n }\n if (this.stream.end > stack.pos) {\n if (tokenEnd == stack.pos) {\n tokenEnd++;\n token = 0 /* Term.Err */;\n }\n stack.recoverByDelete(token, tokenEnd);\n if (verbose)\n console.log(base + this.stackID(stack) + ` (via recover-delete ${this.parser.getName(token)})`);\n pushStackDedup(stack, newStacks);\n }\n else if (!finished || finished.score < stack.score) {\n finished = stack;\n }\n }\n return finished;\n }\n // Convert the stack's buffer to a syntax tree.\n stackToTree(stack) {\n stack.close();\n return Tree.build({ buffer: StackBufferCursor.create(stack),\n nodeSet: this.parser.nodeSet,\n topID: this.topTerm,\n maxBufferLength: this.parser.bufferLength,\n reused: this.reused,\n start: this.ranges[0].from,\n length: stack.pos - this.ranges[0].from,\n minRepeatType: this.parser.minRepeatTerm });\n }\n stackID(stack) {\n let id = (stackIDs || (stackIDs = new WeakMap)).get(stack);\n if (!id)\n stackIDs.set(stack, id = String.fromCodePoint(this.nextStackID++));\n return id + stack;\n }\n}\nfunction pushStackDedup(stack, newStacks) {\n for (let i = 0; i < newStacks.length; i++) {\n let other = newStacks[i];\n if (other.pos == stack.pos && other.sameState(stack)) {\n if (newStacks[i].score < stack.score)\n newStacks[i] = stack;\n return;\n }\n }\n newStacks.push(stack);\n}\nclass Dialect {\n constructor(source, flags, disabled) {\n this.source = source;\n this.flags = flags;\n this.disabled = disabled;\n }\n allows(term) { return !this.disabled || this.disabled[term] == 0; }\n}\nconst id = x => x;\n/**\nContext trackers are used to track stateful context (such as\nindentation in the Python grammar, or parent elements in the XML\ngrammar) needed by external tokenizers. You declare them in a\ngrammar file as `@context exportName from \"module\"`.\n\nContext values should be immutable, and can be updated (replaced)\non shift or reduce actions.\n\nThe export used in a `@context` declaration should be of this\ntype.\n*/\nclass ContextTracker {\n /**\n Define a context tracker.\n */\n constructor(spec) {\n this.start = spec.start;\n this.shift = spec.shift || id;\n this.reduce = spec.reduce || id;\n this.reuse = spec.reuse || id;\n this.hash = spec.hash || (() => 0);\n this.strict = spec.strict !== false;\n }\n}\n/**\nHolds the parse tables for a given grammar, as generated by\n`lezer-generator`, and provides [methods](#common.Parser) to parse\ncontent with.\n*/\nclass LRParser extends Parser {\n /**\n @internal\n */\n constructor(spec) {\n super();\n /**\n @internal\n */\n this.wrappers = [];\n if (spec.version != 14 /* File.Version */)\n throw new RangeError(`Parser version (${spec.version}) doesn't match runtime version (${14 /* File.Version */})`);\n let nodeNames = spec.nodeNames.split(\" \");\n this.minRepeatTerm = nodeNames.length;\n for (let i = 0; i < spec.repeatNodeCount; i++)\n nodeNames.push(\"\");\n let topTerms = Object.keys(spec.topRules).map(r => spec.topRules[r][1]);\n let nodeProps = [];\n for (let i = 0; i < nodeNames.length; i++)\n nodeProps.push([]);\n function setProp(nodeID, prop, value) {\n nodeProps[nodeID].push([prop, prop.deserialize(String(value))]);\n }\n if (spec.nodeProps)\n for (let propSpec of spec.nodeProps) {\n let prop = propSpec[0];\n if (typeof prop == \"string\")\n prop = NodeProp[prop];\n for (let i = 1; i < propSpec.length;) {\n let next = propSpec[i++];\n if (next >= 0) {\n setProp(next, prop, propSpec[i++]);\n }\n else {\n let value = propSpec[i + -next];\n for (let j = -next; j > 0; j--)\n setProp(propSpec[i++], prop, value);\n i++;\n }\n }\n }\n this.nodeSet = new NodeSet(nodeNames.map((name, i) => NodeType.define({\n name: i >= this.minRepeatTerm ? undefined : name,\n id: i,\n props: nodeProps[i],\n top: topTerms.indexOf(i) > -1,\n error: i == 0,\n skipped: spec.skippedNodes && spec.skippedNodes.indexOf(i) > -1\n })));\n if (spec.propSources)\n this.nodeSet = this.nodeSet.extend(...spec.propSources);\n this.strict = false;\n this.bufferLength = DefaultBufferLength;\n let tokenArray = decodeArray(spec.tokenData);\n this.context = spec.context;\n this.specializerSpecs = spec.specialized || [];\n this.specialized = new Uint16Array(this.specializerSpecs.length);\n for (let i = 0; i < this.specializerSpecs.length; i++)\n this.specialized[i] = this.specializerSpecs[i].term;\n this.specializers = this.specializerSpecs.map(getSpecializer);\n this.states = decodeArray(spec.states, Uint32Array);\n this.data = decodeArray(spec.stateData);\n this.goto = decodeArray(spec.goto);\n this.maxTerm = spec.maxTerm;\n this.tokenizers = spec.tokenizers.map(value => typeof value == \"number\" ? new TokenGroup(tokenArray, value) : value);\n this.topRules = spec.topRules;\n this.dialects = spec.dialects || {};\n this.dynamicPrecedences = spec.dynamicPrecedences || null;\n this.tokenPrecTable = spec.tokenPrec;\n this.termNames = spec.termNames || null;\n this.maxNode = this.nodeSet.types.length - 1;\n this.dialect = this.parseDialect();\n this.top = this.topRules[Object.keys(this.topRules)[0]];\n }\n createParse(input, fragments, ranges) {\n let parse = new Parse(this, input, fragments, ranges);\n for (let w of this.wrappers)\n parse = w(parse, input, fragments, ranges);\n return parse;\n }\n /**\n Get a goto table entry @internal\n */\n getGoto(state, term, loose = false) {\n let table = this.goto;\n if (term >= table[0])\n return -1;\n for (let pos = table[term + 1];;) {\n let groupTag = table[pos++], last = groupTag & 1;\n let target = table[pos++];\n if (last && loose)\n return target;\n for (let end = pos + (groupTag >> 1); pos < end; pos++)\n if (table[pos] == state)\n return target;\n if (last)\n return -1;\n }\n }\n /**\n Check if this state has an action for a given terminal @internal\n */\n hasAction(state, terminal) {\n let data = this.data;\n for (let set = 0; set < 2; set++) {\n for (let i = this.stateSlot(state, set ? 2 /* ParseState.Skip */ : 1 /* ParseState.Actions */), next;; i += 3) {\n if ((next = data[i]) == 65535 /* Seq.End */) {\n if (data[i + 1] == 1 /* Seq.Next */)\n next = data[i = pair(data, i + 2)];\n else if (data[i + 1] == 2 /* Seq.Other */)\n return pair(data, i + 2);\n else\n break;\n }\n if (next == terminal || next == 0 /* Term.Err */)\n return pair(data, i + 1);\n }\n }\n return 0;\n }\n /**\n @internal\n */\n stateSlot(state, slot) {\n return this.states[(state * 6 /* ParseState.Size */) + slot];\n }\n /**\n @internal\n */\n stateFlag(state, flag) {\n return (this.stateSlot(state, 0 /* ParseState.Flags */) & flag) > 0;\n }\n /**\n @internal\n */\n validAction(state, action) {\n return !!this.allActions(state, a => a == action ? true : null);\n }\n /**\n @internal\n */\n allActions(state, action) {\n let deflt = this.stateSlot(state, 4 /* ParseState.DefaultReduce */);\n let result = deflt ? action(deflt) : undefined;\n for (let i = this.stateSlot(state, 1 /* ParseState.Actions */); result == null; i += 3) {\n if (this.data[i] == 65535 /* Seq.End */) {\n if (this.data[i + 1] == 1 /* Seq.Next */)\n i = pair(this.data, i + 2);\n else\n break;\n }\n result = action(pair(this.data, i + 1));\n }\n return result;\n }\n /**\n Get the states that can follow this one through shift actions or\n goto jumps. @internal\n */\n nextStates(state) {\n let result = [];\n for (let i = this.stateSlot(state, 1 /* ParseState.Actions */);; i += 3) {\n if (this.data[i] == 65535 /* Seq.End */) {\n if (this.data[i + 1] == 1 /* Seq.Next */)\n i = pair(this.data, i + 2);\n else\n break;\n }\n if ((this.data[i + 2] & (65536 /* Action.ReduceFlag */ >> 16)) == 0) {\n let value = this.data[i + 1];\n if (!result.some((v, i) => (i & 1) && v == value))\n result.push(this.data[i], value);\n }\n }\n return result;\n }\n /**\n Configure the parser. Returns a new parser instance that has the\n given settings modified. Settings not provided in `config` are\n kept from the original parser.\n */\n configure(config) {\n // Hideous reflection-based kludge to make it easy to create a\n // slightly modified copy of a parser.\n let copy = Object.assign(Object.create(LRParser.prototype), this);\n if (config.props)\n copy.nodeSet = this.nodeSet.extend(...config.props);\n if (config.top) {\n let info = this.topRules[config.top];\n if (!info)\n throw new RangeError(`Invalid top rule name ${config.top}`);\n copy.top = info;\n }\n if (config.tokenizers)\n copy.tokenizers = this.tokenizers.map(t => {\n let found = config.tokenizers.find(r => r.from == t);\n return found ? found.to : t;\n });\n if (config.specializers) {\n copy.specializers = this.specializers.slice();\n copy.specializerSpecs = this.specializerSpecs.map((s, i) => {\n let found = config.specializers.find(r => r.from == s.external);\n if (!found)\n return s;\n let spec = Object.assign(Object.assign({}, s), { external: found.to });\n copy.specializers[i] = getSpecializer(spec);\n return spec;\n });\n }\n if (config.contextTracker)\n copy.context = config.contextTracker;\n if (config.dialect)\n copy.dialect = this.parseDialect(config.dialect);\n if (config.strict != null)\n copy.strict = config.strict;\n if (config.wrap)\n copy.wrappers = copy.wrappers.concat(config.wrap);\n if (config.bufferLength != null)\n copy.bufferLength = config.bufferLength;\n return copy;\n }\n /**\n Tells you whether any [parse wrappers](#lr.ParserConfig.wrap)\n are registered for this parser.\n */\n hasWrappers() {\n return this.wrappers.length > 0;\n }\n /**\n Returns the name associated with a given term. This will only\n work for all terms when the parser was generated with the\n `--names` option. By default, only the names of tagged terms are\n stored.\n */\n getName(term) {\n return this.termNames ? this.termNames[term] : String(term <= this.maxNode && this.nodeSet.types[term].name || term);\n }\n /**\n The eof term id is always allocated directly after the node\n types. @internal\n */\n get eofTerm() { return this.maxNode + 1; }\n /**\n The type of top node produced by the parser.\n */\n get topNode() { return this.nodeSet.types[this.top[1]]; }\n /**\n @internal\n */\n dynamicPrecedence(term) {\n let prec = this.dynamicPrecedences;\n return prec == null ? 0 : prec[term] || 0;\n }\n /**\n @internal\n */\n parseDialect(dialect) {\n let values = Object.keys(this.dialects), flags = values.map(() => false);\n if (dialect)\n for (let part of dialect.split(\" \")) {\n let id = values.indexOf(part);\n if (id >= 0)\n flags[id] = true;\n }\n let disabled = null;\n for (let i = 0; i < values.length; i++)\n if (!flags[i]) {\n for (let j = this.dialects[values[i]], id; (id = this.data[j++]) != 65535 /* Seq.End */;)\n (disabled || (disabled = new Uint8Array(this.maxTerm + 1)))[id] = 1;\n }\n return new Dialect(dialect, flags, disabled);\n }\n /**\n Used by the output of the parser generator. Not available to\n user code. @hide\n */\n static deserialize(spec) {\n return new LRParser(spec);\n }\n}\nfunction pair(data, off) { return data[off] | (data[off + 1] << 16); }\nfunction findFinished(stacks) {\n let best = null;\n for (let stack of stacks) {\n let stopped = stack.p.stoppedAt;\n if ((stack.pos == stack.p.stream.end || stopped != null && stack.pos > stopped) &&\n stack.p.parser.stateFlag(stack.state, 2 /* StateFlag.Accepting */) &&\n (!best || best.score < stack.score))\n best = stack;\n }\n return best;\n}\nfunction getSpecializer(spec) {\n if (spec.external) {\n let mask = spec.extend ? 1 /* Specialize.Extend */ : 0 /* Specialize.Specialize */;\n return (value, stack) => (spec.external(value, stack) << 1) | mask;\n }\n return spec.get;\n}\n\nexport { ContextTracker, ExternalTokenizer, InputStream, LRParser, LocalTokenGroup, Stack };\n"],"names":["Stack","p","stack","state","reducePos","pos","score","buffer","bufferBase","curContext","lookAhead","parent","_","i","cx","StackContext","start","action","_a","depth","type","parser","lookaheadRecord","dPrec","base","size","count","baseStateID","term","end","mustSink","cur","top","index","mustMove","scan","nextState","next","nextStart","nextEnd","value","off","isNode","sim","SimulatedStack","nextStates","best","s","v","result","reduce","target","backup","seen","explore","rDepth","found","other","dialectID","last","context","newCx","tracker","goto","StackBufferCursor","decodeArray","input","Type","array","out","stop","digit","CachedToken","nullToken","InputStream","ranges","offset","assoc","range","idx","resolved","token","endOffset","endPos","chunk","chunkPos","nextChunk","n","from","to","r","TokenGroup","data","id","readToken","LocalTokenGroup","precTable","elseToken","skipped","atEof","nextPos","ExternalTokenizer","options","group","precOffset","groupMask","dialect","accEnd","overrides","low","high","mid","findOffset","prev","tableData","tableOffset","iPrev","verbose","stackIDs","cutAt","tree","side","cursor","IterMode","FragmentCursor","fragments","nodeSet","fr","Tree","NodeProp","TokenCache","stream","actionIndex","main","tokenizers","mask","tokenizer","startIndex","set","pair","Parse","stacks","newStacks","stopped","stoppedTokens","tok","finished","findFinished","maxRemaining","a","b","outer","j","split","strictCx","cxHash","cached","match","inner","defaultReduce","actions","localStack","pushStackDedup","tokens","restarted","tokenEnd","force","forceBase","insert","Dialect","source","flags","disabled","x","ContextTracker","spec","LRParser","Parser","nodeNames","topTerms","nodeProps","setProp","nodeID","prop","propSpec","NodeSet","name","NodeType","DefaultBufferLength","tokenArray","getSpecializer","parse","w","loose","table","groupTag","terminal","slot","flag","deflt","config","copy","info","t","prec","values","part"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/index-BBMh0BvB.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { L as Q } from "./index-B8srnV19.js";
|
|
2
|
-
import { s as P, t as O, a, L as o, f as r, h as t } from "./__vite-browser-external-ZW37Brf4.js";
|
|
3
|
-
const n = P({
|
|
4
|
-
LineComment: O.lineComment,
|
|
5
|
-
BlockComment: O.blockComment,
|
|
6
|
-
AnyChar: O.character,
|
|
7
|
-
Literal: O.string,
|
|
8
|
-
"tokens from grammar as empty prop extend specialize AtName": O.keyword,
|
|
9
|
-
"@top @left @right @cut @external": O.modifier,
|
|
10
|
-
"@precedence @tokens @context @dialects @skip @detectDelim @conflict": O.definitionKeyword,
|
|
11
|
-
"@extend @specialize": O.operatorKeyword,
|
|
12
|
-
"CharSet InvertedCharSet": O.regexp,
|
|
13
|
-
CharClass: O.atom,
|
|
14
|
-
RuleName: O.variableName,
|
|
15
|
-
"RuleDeclaration/RuleName InlineRule/RuleName TokensBody/RuleName": O.definition(O.variableName),
|
|
16
|
-
PrecedenceName: O.labelName,
|
|
17
|
-
Name: O.name,
|
|
18
|
-
"( )": O.paren,
|
|
19
|
-
"[ ]": O.squareBracket,
|
|
20
|
-
"{ }": O.brace,
|
|
21
|
-
'"!" ~ "*" + ? |': O.operator
|
|
22
|
-
}), $ = { __proto__: null, "@asciiLetter": 244, "@asciiUpperCase": 244, "@asciiLowerCase": 244, "@digit": 244, "@whitespace": 244, "@eof": 244, "@specialize": 76, "@extend": 78, "@top": 98, "@precedence": 102, "@left": 108, "@right": 110, "@cut": 112, "@tokens": 116, "@conflict": 126, "@local": 134, "@else": 142, "@external": 146, "@context": 172, "@dialects": 176, "@skip": 182, "@detectDelim": 190 }, l = { __proto__: null, tokens: 136, from: 148, prop: 156, as: 158, propSource: 162, extend: 166, specialize: 168 }, X = Q.deserialize({
|
|
23
|
-
version: 14,
|
|
24
|
-
states: "<zQ]QPOOOOQO'#Ca'#CaO}QPO'#C`OOQO'#Eq'#EqOOQO'#E`'#E`Q]QPOOOxQPO'#D^O!YQPO'#D`O!_QPO'#DgO!dQQO'#DpO!iQQO'#D{O!zQPO'#ETO#PQPO'#EVO#UQPO'#EYOOQO'#E^'#E^O#ZQPO'#CdO#fQPO'#CnO$iQPO'#CoOOQO,58z,58zO#UQPO,58zO!QQPO,58zOOQO-E8^-E8^O}QPO,59xO$pQPO'#DbOOQO,59z,59zO$xQPO'#DiOOQO,5:R,5:RO%ZQPO,5:[O!zQPO,5:bO!zQPO,5:gO!zQPO,5:jO#UQPO,5:lOOQO'#Cg'#CgO%`QQO,5:oO%eQPO'#EXOOQO,5:q,5:qO%mQPO,5:tO&eQPO'#CeO&pQPO,59OO#^QPO,59OOOQO,59O,59OOOQO,59Y,59YO&xQPO,59YO(bQPO'#EyO(oQPO'#EyOOQO'#Ey'#EyOOQO'#Cv'#CvO)nQPO'#EwO#UQPO'#C}O*[QPO'#DQOOQO'#Ex'#ExO$sQPO'#DVO!zQPO'#DYOOQO'#E{'#E{O*cQPO'#DUOOQO'#Ew'#EwO*vQPO'#EfO+ZQPO'#D[O+lQPO'#EvOOQO'#Ev'#EvOOQO,59Z,59ZO+}QPO,59ZO,SQPO'#DROOQO1G.f1G.fO#UQPO1G.fOOQO1G/d1G/dO#UQPO1G/dO!QQPO1G/dOOQO'#DX'#DXO,[QPO'#DcO,pQPO'#EgO,{QPO,59|OOQO,59|,59|O-TQPO'#DoOOQO'#E|'#E|OOQO'#Eh'#EhO-lQPO,5:TOOQO,5:T,5:TO-}QPO'#DjO.SQPO'#DlO.jQPO'#DsOOQO1G/v1G/vO.qQQO1G/|O.vQQO1G0RO/OQQO1G0UO!zQPO1G0WO/TQPO1G0ZO/YQPO'#ElO/eQPO,5:sOOQO,5:s,5:sO/mQPO'#E]OOQO1G0b1G0bO/xQPO,59POOQO,5:{,5:{OOQO1G.j1G.jO0^QPO1G.jOOQO-E8_-E8_O!zQPO'#EcO0fQPO1G.tOOQO1G.t1G.tOxQPO,59_O0nQPO'#CuOOQO,59`,59`OOQO,59i,59iO#UQPO,59iO0uQPO'#EeOOQO,59d,59dOOQO,59f,59fOOQO,59h,59hOOQO'#Ee'#EeO2VQPO,59pOOQO,59l,59lO2jQPO,59lOOQO,59q,59qOOQO,59t,59tOOQO,5;Q,5;QOOQO-E8d-E8dO2oQPO,59vOOQO1G.u1G.uOOQO,59m,59mO,VQPO,59mOOQO7+$Q7+$QOOQO7+%O7+%OO#UQPO7+%OOOQO,59},59}OOQO,5;R,5;ROOQO-E8e-E8eOOQO1G/h1G/hOOQO,5:Z,5:ZOOQO-E8f-E8fOOQO1G/o1G/oO3QQPO'#DkOOQO,5:U,5:UO3]QPO'#DnOOQO,5:W,5:WOOQO'#Ej'#EjO3eQPO,5:_OOQO,5:_,5:_OxQPO'#DtO3lQPO7+%hO3qQPO7+%mO!zQPO7+%mO3vQPO7+%pO3{QQO7+%rOOQO7+%u7+%uOOQO,5;W,5;WOOQO-E8j-E8jOOQO1G0_1G0_OOQO'#Em'#EmO4QQPO,5:wOOQO,5:w,5:wOxQPO'#CmOOQO'#Eb'#EbO4]QPO1G.kOOQO7+$U7+$UP&sQPO'#EaOOQO,5:},5:}OOQO-E8a-E8aOOQO7+$`7+$`OOQO1G.y1G.yOOQO,59a,59aO4qQPO,59aOOQO1G/T1G/TOOQO-E8c-E8cOOQO1G/W1G/WOOQO1G/X1G/XOOQO<<Hj<<HjO4yQPO'#EyO5_QPO'#EiO5mQPO,5:VOOQO,5:V,5:VO5xQPO,5:YOOQO-E8h-E8hOOQO1G/y1G/yO6TQPO,5:`O6lQPO<<ISOOQO<<IX<<IXO6qQQO<<IXOOQO<<I[<<I[O6vQPO<<I^OOQO-E8k-E8kOOQO1G0c1G0cO6{QPO,59XOOQO-E8`-E8`O#nQPO'#EdO7QQPO1G.{OOQO1G.{1G.{OOQO,5;T,5;TOOQO-E8g-E8gOOQO1G/q1G/qO7YQPO1G/tO7_QPO1G/tOOQO1G/z1G/zO7gQPO'#DyOOQOAN>nAN>nO7oQPOAN>sO6lQPOAN>xOOQO1G.s1G.sOOQO,5;O,5;OOOQO-E8b-E8bOOQO7+$g7+$gOOQO7+%`7+%`O7tQPO7+%`O7yQPO'#DzO8XQPO'#EkO8dQPO,5:eOOQO,5:e,5:eOOQOG24_G24_OOQOG24dG24dOOQO<<Hz<<HzOOQO,5:f,5:fOOQO,5;V,5;VOOQO-E8i-E8iOOQO1G0P1G0P",
|
|
25
|
-
stateData: "8s~O#dOSPOSQOS~O!RUO!TVO![WO!eXO!kYO!xZO!z[O!}]O#R^O#fPO~OV_O`aO#i`O~O`gO~O`iO~O!fkO~O!flO!pmO!snO!uoO!voO~O#fpO~O`rO~O`aO~OUxOYuO#fpO~O#fpO#hyO~OV_O]!SOd!SOe!SOf!SOs!ROv!`Ow!`Oz!TO}!UO!P!YO#fPO#n!OO~O_!^O~P#nO_!jO#f!fO~O]!kO_!oO!T!pO!a!qO#fPO~O`!rO~O!l!xO~O_!{O#fpO~O`!|O!R!|a!T!|a![!|a!e!|a!k!|a!x!|a!z!|a!}!|a#R!|a#b!|a#f!|a~O[#OOUXX#gXX~OU#QO#g#PO~O#g#TO#h#VO~O#i#XO]#mX_#mXd#mXe#mXf#mXk#mXm#mXo#mXs#mXv#mXw#mXz#mX}#mX!P#mX#f#mX#n#mXr#mX#g#mX#h#mX~OV_O^#WO`aO~P'QOV#mX~P'QOV_O]!SOd!SOe!SOf!SOs!ROv!`Ow!`Oz!TO}!UO#fPO#n!OO~Ok#^Om#_Oo#`O_#kX!P#kXr#kX#g#kX#h#kX~P(vOr#cO~P#nO_xX!PxXrxX#gxX#hxX~P(vO_#YX!P#YXr#YX#g#YX#h#YX~P(vO!P!YO_!OXr!OX#g!OX#h!OX~O!P!YO_#jXr#jX#g#jX#h#jX~O_#jO~OV_O#i#XO~O!W#pO!X#pO!Y#pO_!VX#f!VX#g!VX~O#g#qO_#ZX#f#ZX~O_#sO#f!fO~OV_O]!cX_!cX!T!cX!a!cX#f!cX!i!cX~O]!kO_#vO!T!pO!a!qO#fPO~O`#wO~O`#yO~O]!kO!T!pO!a!qO!i$OO#fPO~O_#}O~P.XO!l$PO~O!l$QO!q$RO~O!l$SO~O]$UO~O#g$VO_#`X#f#`X~O_$XO#fpO~O_$[O!RUO#fPO~O]$^O^$^O`$]O#fpOUXa#gXa~OU$`O#g#PO~O#g#TO#h$dO~O#h$fO~P#nOk#^Om#_Oo#`OV#XX]#XX_#XXd#XXe#XXf#XXs#XXv#XXw#XXz#XX}#XX!P#XX#f#XX#n#XXr#XX#g#XX#h#XX~O_xa!Pxarxa#gxa#hxa~P(vOr$jO~O!P!YO_!Oar!Oa#g!Oa#h!Oa~O]$nO_$pO#fPO~O]$qO#fPO~O_$sO~P.XO]$uO~O]$vO~O]$xO~O!l$yO~O_${O!RUO#fPO~O]$^O^$^O`$]O#fpOUXi#gXi~O#g%OO#h%QO~O^#WO#i#XO]#mX_#mX#f#mX#g#mX~O#g%RO]#]X_#]X#f#]X~O]$nO_%TO#fPO~O]%UO#fPO#g%VO~OV_O]!ha_!ha!T!ha!a!ha!i!ha#f!ha~O`%XO~O!l%ZO~O]%[O~O_%]O~O#g%OO#h%`O~O_%aO~O]%bO#fPO~O_%fO#fPO~O]%gO~O_%iO~OV_O_!nX#f!nX#g!nX~O#g%kO_#_X#f#_X~O_%mO#fPO~Oe#dfz#f#q~",
|
|
26
|
-
goto: ".d#qPPPP#r$QPP$}%nP%tPPPPP&m&q&}PPP'p(P(`(kP(kP(kP(k(kPP(k(kPP(u(|P)W(|P)_P)eP)mP)q)tPPP)mP)x){*R){P*U){)mPP*X*[P)mPP*`*f)mPP)mP)mPP)mP)mP*j)mP)m*m)mP*p*v*|+S+Y+`+g+t+z,Q,W,^,d,jPPP,pPPPP,t-Q-Z-gP.O.[SROTW!li!n!r#|T$Y!|$Z`QOTi!n!r!|#|$ZQfU`{a!P!R!W!Y#X#b%OQ$e#WY$m#w#y$o$q%VQ$t$OQ$|$]T%c%X%eQdQ`!Qa!P!R!W!Y#X#b%OQ!efQ#[{Q#l!`Q#t!kQ%W$tR%j%cQv_R#RwQqZSu_wQz`Q!tlQ!umQ!vnS!yr!zQ#f!UQ$T!wS$^#O$_Q$b#TR$w$RT$^#O$_QcQQ!bdQ!dfR#o!eQbQQt]S!acdQ!cfQ!woS#Z{!QQ#m!bS#n!d!eQ$h#[R$l#ok|a!P!R!W!Y#X#b#w#y$o$q%O%Vk}a!P!R!W!Y#X#b#w#y$o$q%O%VU#Y{|$mQ#k!`R$k#la!Sa!P!R!W!Y#X#b%OZ!Xa!R!Y#X%Oa!Va!P!R!W!Y#X#b%OS!gg!iR#e!TX!]a!R#X%OSROTT$Y!|$ZTROTRhVT!hg!iRjWX!li!n!r#|R#x!pR#z!qR!skT#{!r#|Q%Y$uR%h%[T%d%X%eRs[R!}tQTOReTQw_R#SwQ$_#OR$}$_Q#UzR$c#UQ%P$gR%_%PS#b!P!WR$i#bW!Za!R#X%OS#h!Z#iR#i![Q!igR#r!iQ!niR#u!nQ$o#wR%S$oQ#|!rR$r#|Q%e%XR%l%eQ!zrR$W!zQ$Z!|R$z$ZTSOTQ!_aQ#d!RQ$g#XR%^%OW![a!R#X%OR#g!YY!Pa!R!Y#X%OV#]!P!W#b`!Sa!P!R!W!Y#X#b%OS$n#w$oQ$q#yQ%U$qR%b%VY!Wa!R!Y#X%OV#a!P!W#bS!mi!nT#{!r#|",
|
|
27
|
-
nodeNames: "⚠ LineComment BlockComment Grammar RuleDeclaration RuleName ] [ Props Prop AtName Name = Literal . } { PropEsc ParamList Body CharSet AnyChar InvertedCharSet ScopedName Call ArgList CharClass ? Optional * Repeat + Repeat1 InlineRule ) ( ParenExpression Specialization @specialize @extend Sequence PrecedenceMarker ! PrecedenceName AmbiguityMarker ~ Choice | RuleDeclaration @top PrecedenceDeclaration @precedence PrecedenceBody Precedence @left @right @cut TokensDeclaration @tokens TokensBody TokenPrecedenceDeclaration PrecedenceBody TokenConflictDeclaration @conflict ConflictBody LiteralTokenDeclaration LocalTokensDeclaration @local tokens TokensBody ElseToken @else ExternalTokensDeclaration @external from TokensBody Token ExternalPropDeclaration prop as ExternalPropSourceDeclaration propSource ExternalSpecializeDeclaration extend specialize ContextDeclaration @context DialectsDeclaration @dialects DialectBody TopSkipDeclaration @skip SkipScope SkipBody DetectDelimDeclaration @detectDelim",
|
|
28
|
-
maxTerm: 125,
|
|
29
|
-
nodeProps: [
|
|
30
|
-
["group", 4, "Declaration Declaration", -16, 5, 13, 20, 21, 22, 23, 24, 26, 28, 30, 32, 33, 36, 37, 40, 46, "Expression", -16, 48, 50, 57, 60, 62, 65, 66, 72, 77, 80, 82, 85, 87, 90, 92, 94, "Declaration"],
|
|
31
|
-
["openedBy", 6, "[", 15, "{", 34, "("],
|
|
32
|
-
["closedBy", 7, "]", 16, "}", 35, ")"]
|
|
33
|
-
],
|
|
34
|
-
propSources: [n],
|
|
35
|
-
skippedNodes: [0, 1, 2],
|
|
36
|
-
repeatNodeCount: 14,
|
|
37
|
-
tokenData: "3w~R!OX^$Rpq$Rqr$vrs&ftu(^wx)zxy+myz+rz{+w{|+||},R}!O,W!O!P,}!P!Q-S!Q![,W!^!_.{!_!`/Q!`!a/V!a!b/[!b!c/a!c!},W!}#O0q#P#Q0v#R#S0{#T#o,W#o#p1n#p#q1s#q#r1x#r#s1}#y#z$R$f$g$R$g#BY,W#BY#BZ2S#BZ$IS,W$IS$I_2S$I_$I|,W$I|$JO2S$JO$JT,W$JT$JU2S$JU$KV,W$KV$KW2S$KW&FU,W&FU&FV2S&FV;'S,W;'S;=`,w<%lO,W~$WY#d~X^$Rpq$R#y#z$R$f$g$R#BY#BZ$R$IS$I_$R$I|$JO$R$JT$JU$R$KV$KW$R&FU&FV$R~${Pz~!}#O%O~%RUO#O%O#O#P%e#P#Q&Z#Q;'S%O;'S;=`&`<%lO%O~%hRO;'S%O;'S;=`%q;=`O%O~%tVO#O%O#O#P%e#P#Q&Z#Q;'S%O;'S;=`&`;=`<%l%O<%lO%O~&`Of~~&cP;=`<%l%O~&kW]~OY&fZr&frs'Ts#O&f#O#P'Y#P;'S&f;'S;=`(W<%lO&f~'YO]~~']RO;'S&f;'S;=`'f;=`O&f~'kX]~OY&fZr&frs'Ts#O&f#O#P'Y#P;'S&f;'S;=`(W;=`<%l&f<%lO&f~(ZP;=`<%l&f~(aP!}#O(d~(gUO#O(d#O#P(y#P#Q)o#Q;'S(d;'S;=`)t<%lO(d~(|RO;'S(d;'S;=`)V;=`O(d~)YVO#O(d#O#P(y#P#Q)o#Q;'S(d;'S;=`)t;=`<%l(d<%lO(d~)tOd~~)wP;=`<%l(d~*PW]~OY)zZw)zwx'Tx#O)z#O#P*i#P;'S)z;'S;=`+g<%lO)z~*lRO;'S)z;'S;=`*u;=`O)z~*zX]~OY)zZw)zwx'Tx#O)z#O#P*i#P;'S)z;'S;=`+g;=`<%l)z<%lO)z~+jP;=`<%l)z~+rOs~~+wOr~~+|Om~~,ROo~~,WO#g~R,_W#fP#qQ}!O,W!Q![,W!c!},W#R#S,W#T#o,W$g;'S,W;'S;=`,w<%lO,WR,zP;=`<%l,W~-SO^~~-VQz{-]!P!Q.d~-`TOz-]z{-o{;'S-];'S;=`.^<%lO-]~-rVOz-]z{-o{!P-]!P!Q.X!Q;'S-];'S;=`.^<%lO-]~.^OQ~~.aP;=`<%l-]~.iSP~OY.dZ;'S.d;'S;=`.u<%lO.d~.xP;=`<%l.d~/QO#i~~/VO[~~/[O#h~~/aOk~~/dW}!O/|!Q![/|!c!}/|#R#S/|#T#o/|$g;'S/|;'S;=`0k<%lO/|~0RWY~}!O/|!Q![/|!c!}/|#R#S/|#T#o/|$g;'S/|;'S;=`0k<%lO/|~0nP;=`<%l/|~0vOV~~0{OU~R1UWeP#fP#qQ}!O,W!Q![,W!c!},W#R#S,W#T#o,W$g;'S,W;'S;=`,w<%lO,W~1sO`~~1xO!P~~1}O_~~2SO}~~2]h#d~#fP#qQX^$Rpq$R}!O,W!Q![,W!c!},W#R#S,W#T#o,W#y#z$R$f$g$R$g#BY,W#BY#BZ2S#BZ$IS,W$IS$I_2S$I_$I|,W$I|$JO2S$JO$JT,W$JT$JU2S$JU$KV,W$KV$KW2S$KW&FU,W&FU&FV2S&FV;'S,W;'S;=`,w<%lO,W",
|
|
38
|
-
tokenizers: [0, 1],
|
|
39
|
-
topRules: { Grammar: [0, 3] },
|
|
40
|
-
specialized: [{ term: 10, get: (e) => $[e] || -1 }, { term: 125, get: (e) => l[e] || -1 }],
|
|
41
|
-
tokenPrec: 1086
|
|
42
|
-
}), i = /* @__PURE__ */ a.define({
|
|
43
|
-
name: "lezer",
|
|
44
|
-
parser: /* @__PURE__ */ X.configure({
|
|
45
|
-
props: [
|
|
46
|
-
/* @__PURE__ */ r.add({
|
|
47
|
-
"Body TokensBody SkipBody PrecedenceBody": t
|
|
48
|
-
})
|
|
49
|
-
]
|
|
50
|
-
}),
|
|
51
|
-
languageData: {
|
|
52
|
-
commentTokens: { block: { open: "/*", close: "*/" }, line: "//" },
|
|
53
|
-
indentOnInput: /^\s*\}$/
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
function S() {
|
|
57
|
-
return new o(i);
|
|
58
|
-
}
|
|
59
|
-
export {
|
|
60
|
-
S as lezer,
|
|
61
|
-
i as lezerLanguage
|
|
62
|
-
};
|
|
63
|
-
//# sourceMappingURL=index-BBMh0BvB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BBMh0BvB.js","sources":["../../../node_modules/.deno/@lezer+lezer@1.1.2/node_modules/@lezer/lezer/dist/index.js","../../../node_modules/.deno/@codemirror+lang-lezer@6.0.2/node_modules/@codemirror/lang-lezer/dist/index.js"],"sourcesContent":["import { LRParser } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\n\nconst lezerHighlighting = styleTags({\n LineComment: tags.lineComment,\n BlockComment: tags.blockComment,\n AnyChar: tags.character,\n Literal: tags.string,\n \"tokens from grammar as empty prop extend specialize AtName\": tags.keyword,\n \"@top @left @right @cut @external\": tags.modifier,\n \"@precedence @tokens @context @dialects @skip @detectDelim @conflict\": tags.definitionKeyword,\n \"@extend @specialize\": tags.operatorKeyword,\n \"CharSet InvertedCharSet\": tags.regexp,\n \"CharClass\": tags.atom,\n RuleName: tags.variableName,\n \"RuleDeclaration/RuleName InlineRule/RuleName TokensBody/RuleName\": tags.definition(tags.variableName),\n PrecedenceName: tags.labelName,\n Name: tags.name,\n \"( )\": tags.paren,\n \"[ ]\": tags.squareBracket,\n \"{ }\": tags.brace,\n '\"!\" ~ \"*\" + ? |': tags.operator\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_AtName = {__proto__:null,\"@asciiLetter\":244, \"@asciiUpperCase\":244, \"@asciiLowerCase\":244, \"@digit\":244, \"@whitespace\":244, \"@eof\":244, \"@specialize\":76, \"@extend\":78, \"@top\":98, \"@precedence\":102, \"@left\":108, \"@right\":110, \"@cut\":112, \"@tokens\":116, \"@conflict\":126, \"@local\":134, \"@else\":142, \"@external\":146, \"@context\":172, \"@dialects\":176, \"@skip\":182, \"@detectDelim\":190};\nconst spec_keyword = {__proto__:null,tokens:136, from:148, prop:156, as:158, propSource:162, extend:166, specialize:168};\nconst parser = LRParser.deserialize({\n version: 14,\n states: \"<zQ]QPOOOOQO'#Ca'#CaO}QPO'#C`OOQO'#Eq'#EqOOQO'#E`'#E`Q]QPOOOxQPO'#D^O!YQPO'#D`O!_QPO'#DgO!dQQO'#DpO!iQQO'#D{O!zQPO'#ETO#PQPO'#EVO#UQPO'#EYOOQO'#E^'#E^O#ZQPO'#CdO#fQPO'#CnO$iQPO'#CoOOQO,58z,58zO#UQPO,58zO!QQPO,58zOOQO-E8^-E8^O}QPO,59xO$pQPO'#DbOOQO,59z,59zO$xQPO'#DiOOQO,5:R,5:RO%ZQPO,5:[O!zQPO,5:bO!zQPO,5:gO!zQPO,5:jO#UQPO,5:lOOQO'#Cg'#CgO%`QQO,5:oO%eQPO'#EXOOQO,5:q,5:qO%mQPO,5:tO&eQPO'#CeO&pQPO,59OO#^QPO,59OOOQO,59O,59OOOQO,59Y,59YO&xQPO,59YO(bQPO'#EyO(oQPO'#EyOOQO'#Ey'#EyOOQO'#Cv'#CvO)nQPO'#EwO#UQPO'#C}O*[QPO'#DQOOQO'#Ex'#ExO$sQPO'#DVO!zQPO'#DYOOQO'#E{'#E{O*cQPO'#DUOOQO'#Ew'#EwO*vQPO'#EfO+ZQPO'#D[O+lQPO'#EvOOQO'#Ev'#EvOOQO,59Z,59ZO+}QPO,59ZO,SQPO'#DROOQO1G.f1G.fO#UQPO1G.fOOQO1G/d1G/dO#UQPO1G/dO!QQPO1G/dOOQO'#DX'#DXO,[QPO'#DcO,pQPO'#EgO,{QPO,59|OOQO,59|,59|O-TQPO'#DoOOQO'#E|'#E|OOQO'#Eh'#EhO-lQPO,5:TOOQO,5:T,5:TO-}QPO'#DjO.SQPO'#DlO.jQPO'#DsOOQO1G/v1G/vO.qQQO1G/|O.vQQO1G0RO/OQQO1G0UO!zQPO1G0WO/TQPO1G0ZO/YQPO'#ElO/eQPO,5:sOOQO,5:s,5:sO/mQPO'#E]OOQO1G0b1G0bO/xQPO,59POOQO,5:{,5:{OOQO1G.j1G.jO0^QPO1G.jOOQO-E8_-E8_O!zQPO'#EcO0fQPO1G.tOOQO1G.t1G.tOxQPO,59_O0nQPO'#CuOOQO,59`,59`OOQO,59i,59iO#UQPO,59iO0uQPO'#EeOOQO,59d,59dOOQO,59f,59fOOQO,59h,59hOOQO'#Ee'#EeO2VQPO,59pOOQO,59l,59lO2jQPO,59lOOQO,59q,59qOOQO,59t,59tOOQO,5;Q,5;QOOQO-E8d-E8dO2oQPO,59vOOQO1G.u1G.uOOQO,59m,59mO,VQPO,59mOOQO7+$Q7+$QOOQO7+%O7+%OO#UQPO7+%OOOQO,59},59}OOQO,5;R,5;ROOQO-E8e-E8eOOQO1G/h1G/hOOQO,5:Z,5:ZOOQO-E8f-E8fOOQO1G/o1G/oO3QQPO'#DkOOQO,5:U,5:UO3]QPO'#DnOOQO,5:W,5:WOOQO'#Ej'#EjO3eQPO,5:_OOQO,5:_,5:_OxQPO'#DtO3lQPO7+%hO3qQPO7+%mO!zQPO7+%mO3vQPO7+%pO3{QQO7+%rOOQO7+%u7+%uOOQO,5;W,5;WOOQO-E8j-E8jOOQO1G0_1G0_OOQO'#Em'#EmO4QQPO,5:wOOQO,5:w,5:wOxQPO'#CmOOQO'#Eb'#EbO4]QPO1G.kOOQO7+$U7+$UP&sQPO'#EaOOQO,5:},5:}OOQO-E8a-E8aOOQO7+$`7+$`OOQO1G.y1G.yOOQO,59a,59aO4qQPO,59aOOQO1G/T1G/TOOQO-E8c-E8cOOQO1G/W1G/WOOQO1G/X1G/XOOQO<<Hj<<HjO4yQPO'#EyO5_QPO'#EiO5mQPO,5:VOOQO,5:V,5:VO5xQPO,5:YOOQO-E8h-E8hOOQO1G/y1G/yO6TQPO,5:`O6lQPO<<ISOOQO<<IX<<IXO6qQQO<<IXOOQO<<I[<<I[O6vQPO<<I^OOQO-E8k-E8kOOQO1G0c1G0cO6{QPO,59XOOQO-E8`-E8`O#nQPO'#EdO7QQPO1G.{OOQO1G.{1G.{OOQO,5;T,5;TOOQO-E8g-E8gOOQO1G/q1G/qO7YQPO1G/tO7_QPO1G/tOOQO1G/z1G/zO7gQPO'#DyOOQOAN>nAN>nO7oQPOAN>sO6lQPOAN>xOOQO1G.s1G.sOOQO,5;O,5;OOOQO-E8b-E8bOOQO7+$g7+$gOOQO7+%`7+%`O7tQPO7+%`O7yQPO'#DzO8XQPO'#EkO8dQPO,5:eOOQO,5:e,5:eOOQOG24_G24_OOQOG24dG24dOOQO<<Hz<<HzOOQO,5:f,5:fOOQO,5;V,5;VOOQO-E8i-E8iOOQO1G0P1G0P\",\n stateData: \"8s~O#dOSPOSQOS~O!RUO!TVO![WO!eXO!kYO!xZO!z[O!}]O#R^O#fPO~OV_O`aO#i`O~O`gO~O`iO~O!fkO~O!flO!pmO!snO!uoO!voO~O#fpO~O`rO~O`aO~OUxOYuO#fpO~O#fpO#hyO~OV_O]!SOd!SOe!SOf!SOs!ROv!`Ow!`Oz!TO}!UO!P!YO#fPO#n!OO~O_!^O~P#nO_!jO#f!fO~O]!kO_!oO!T!pO!a!qO#fPO~O`!rO~O!l!xO~O_!{O#fpO~O`!|O!R!|a!T!|a![!|a!e!|a!k!|a!x!|a!z!|a!}!|a#R!|a#b!|a#f!|a~O[#OOUXX#gXX~OU#QO#g#PO~O#g#TO#h#VO~O#i#XO]#mX_#mXd#mXe#mXf#mXk#mXm#mXo#mXs#mXv#mXw#mXz#mX}#mX!P#mX#f#mX#n#mXr#mX#g#mX#h#mX~OV_O^#WO`aO~P'QOV#mX~P'QOV_O]!SOd!SOe!SOf!SOs!ROv!`Ow!`Oz!TO}!UO#fPO#n!OO~Ok#^Om#_Oo#`O_#kX!P#kXr#kX#g#kX#h#kX~P(vOr#cO~P#nO_xX!PxXrxX#gxX#hxX~P(vO_#YX!P#YXr#YX#g#YX#h#YX~P(vO!P!YO_!OXr!OX#g!OX#h!OX~O!P!YO_#jXr#jX#g#jX#h#jX~O_#jO~OV_O#i#XO~O!W#pO!X#pO!Y#pO_!VX#f!VX#g!VX~O#g#qO_#ZX#f#ZX~O_#sO#f!fO~OV_O]!cX_!cX!T!cX!a!cX#f!cX!i!cX~O]!kO_#vO!T!pO!a!qO#fPO~O`#wO~O`#yO~O]!kO!T!pO!a!qO!i$OO#fPO~O_#}O~P.XO!l$PO~O!l$QO!q$RO~O!l$SO~O]$UO~O#g$VO_#`X#f#`X~O_$XO#fpO~O_$[O!RUO#fPO~O]$^O^$^O`$]O#fpOUXa#gXa~OU$`O#g#PO~O#g#TO#h$dO~O#h$fO~P#nOk#^Om#_Oo#`OV#XX]#XX_#XXd#XXe#XXf#XXs#XXv#XXw#XXz#XX}#XX!P#XX#f#XX#n#XXr#XX#g#XX#h#XX~O_xa!Pxarxa#gxa#hxa~P(vOr$jO~O!P!YO_!Oar!Oa#g!Oa#h!Oa~O]$nO_$pO#fPO~O]$qO#fPO~O_$sO~P.XO]$uO~O]$vO~O]$xO~O!l$yO~O_${O!RUO#fPO~O]$^O^$^O`$]O#fpOUXi#gXi~O#g%OO#h%QO~O^#WO#i#XO]#mX_#mX#f#mX#g#mX~O#g%RO]#]X_#]X#f#]X~O]$nO_%TO#fPO~O]%UO#fPO#g%VO~OV_O]!ha_!ha!T!ha!a!ha!i!ha#f!ha~O`%XO~O!l%ZO~O]%[O~O_%]O~O#g%OO#h%`O~O_%aO~O]%bO#fPO~O_%fO#fPO~O]%gO~O_%iO~OV_O_!nX#f!nX#g!nX~O#g%kO_#_X#f#_X~O_%mO#fPO~Oe#dfz#f#q~\",\n goto: \".d#qPPPP#r$QPP$}%nP%tPPPPP&m&q&}PPP'p(P(`(kP(kP(kP(k(kPP(k(kPP(u(|P)W(|P)_P)eP)mP)q)tPPP)mP)x){*R){P*U){)mPP*X*[P)mPP*`*f)mPP)mP)mPP)mP)mP*j)mP)m*m)mP*p*v*|+S+Y+`+g+t+z,Q,W,^,d,jPPP,pPPPP,t-Q-Z-gP.O.[SROTW!li!n!r#|T$Y!|$Z`QOTi!n!r!|#|$ZQfU`{a!P!R!W!Y#X#b%OQ$e#WY$m#w#y$o$q%VQ$t$OQ$|$]T%c%X%eQdQ`!Qa!P!R!W!Y#X#b%OQ!efQ#[{Q#l!`Q#t!kQ%W$tR%j%cQv_R#RwQqZSu_wQz`Q!tlQ!umQ!vnS!yr!zQ#f!UQ$T!wS$^#O$_Q$b#TR$w$RT$^#O$_QcQQ!bdQ!dfR#o!eQbQQt]S!acdQ!cfQ!woS#Z{!QQ#m!bS#n!d!eQ$h#[R$l#ok|a!P!R!W!Y#X#b#w#y$o$q%O%Vk}a!P!R!W!Y#X#b#w#y$o$q%O%VU#Y{|$mQ#k!`R$k#la!Sa!P!R!W!Y#X#b%OZ!Xa!R!Y#X%Oa!Va!P!R!W!Y#X#b%OS!gg!iR#e!TX!]a!R#X%OSROTT$Y!|$ZTROTRhVT!hg!iRjWX!li!n!r#|R#x!pR#z!qR!skT#{!r#|Q%Y$uR%h%[T%d%X%eRs[R!}tQTOReTQw_R#SwQ$_#OR$}$_Q#UzR$c#UQ%P$gR%_%PS#b!P!WR$i#bW!Za!R#X%OS#h!Z#iR#i![Q!igR#r!iQ!niR#u!nQ$o#wR%S$oQ#|!rR$r#|Q%e%XR%l%eQ!zrR$W!zQ$Z!|R$z$ZTSOTQ!_aQ#d!RQ$g#XR%^%OW![a!R#X%OR#g!YY!Pa!R!Y#X%OV#]!P!W#b`!Sa!P!R!W!Y#X#b%OS$n#w$oQ$q#yQ%U$qR%b%VY!Wa!R!Y#X%OV#a!P!W#bS!mi!nT#{!r#|\",\n nodeNames: \"⚠ LineComment BlockComment Grammar RuleDeclaration RuleName ] [ Props Prop AtName Name = Literal . } { PropEsc ParamList Body CharSet AnyChar InvertedCharSet ScopedName Call ArgList CharClass ? Optional * Repeat + Repeat1 InlineRule ) ( ParenExpression Specialization @specialize @extend Sequence PrecedenceMarker ! PrecedenceName AmbiguityMarker ~ Choice | RuleDeclaration @top PrecedenceDeclaration @precedence PrecedenceBody Precedence @left @right @cut TokensDeclaration @tokens TokensBody TokenPrecedenceDeclaration PrecedenceBody TokenConflictDeclaration @conflict ConflictBody LiteralTokenDeclaration LocalTokensDeclaration @local tokens TokensBody ElseToken @else ExternalTokensDeclaration @external from TokensBody Token ExternalPropDeclaration prop as ExternalPropSourceDeclaration propSource ExternalSpecializeDeclaration extend specialize ContextDeclaration @context DialectsDeclaration @dialects DialectBody TopSkipDeclaration @skip SkipScope SkipBody DetectDelimDeclaration @detectDelim\",\n maxTerm: 125,\n nodeProps: [\n [\"group\", 4,\"Declaration Declaration\",-16,5,13,20,21,22,23,24,26,28,30,32,33,36,37,40,46,\"Expression\",-16,48,50,57,60,62,65,66,72,77,80,82,85,87,90,92,94,\"Declaration\"],\n [\"openedBy\", 6,\"[\",15,\"{\",34,\"(\"],\n [\"closedBy\", 7,\"]\",16,\"}\",35,\")\"]\n ],\n propSources: [lezerHighlighting],\n skippedNodes: [0,1,2],\n repeatNodeCount: 14,\n tokenData: \"3w~R!OX^$Rpq$Rqr$vrs&ftu(^wx)zxy+myz+rz{+w{|+||},R}!O,W!O!P,}!P!Q-S!Q![,W!^!_.{!_!`/Q!`!a/V!a!b/[!b!c/a!c!},W!}#O0q#P#Q0v#R#S0{#T#o,W#o#p1n#p#q1s#q#r1x#r#s1}#y#z$R$f$g$R$g#BY,W#BY#BZ2S#BZ$IS,W$IS$I_2S$I_$I|,W$I|$JO2S$JO$JT,W$JT$JU2S$JU$KV,W$KV$KW2S$KW&FU,W&FU&FV2S&FV;'S,W;'S;=`,w<%lO,W~$WY#d~X^$Rpq$R#y#z$R$f$g$R#BY#BZ$R$IS$I_$R$I|$JO$R$JT$JU$R$KV$KW$R&FU&FV$R~${Pz~!}#O%O~%RUO#O%O#O#P%e#P#Q&Z#Q;'S%O;'S;=`&`<%lO%O~%hRO;'S%O;'S;=`%q;=`O%O~%tVO#O%O#O#P%e#P#Q&Z#Q;'S%O;'S;=`&`;=`<%l%O<%lO%O~&`Of~~&cP;=`<%l%O~&kW]~OY&fZr&frs'Ts#O&f#O#P'Y#P;'S&f;'S;=`(W<%lO&f~'YO]~~']RO;'S&f;'S;=`'f;=`O&f~'kX]~OY&fZr&frs'Ts#O&f#O#P'Y#P;'S&f;'S;=`(W;=`<%l&f<%lO&f~(ZP;=`<%l&f~(aP!}#O(d~(gUO#O(d#O#P(y#P#Q)o#Q;'S(d;'S;=`)t<%lO(d~(|RO;'S(d;'S;=`)V;=`O(d~)YVO#O(d#O#P(y#P#Q)o#Q;'S(d;'S;=`)t;=`<%l(d<%lO(d~)tOd~~)wP;=`<%l(d~*PW]~OY)zZw)zwx'Tx#O)z#O#P*i#P;'S)z;'S;=`+g<%lO)z~*lRO;'S)z;'S;=`*u;=`O)z~*zX]~OY)zZw)zwx'Tx#O)z#O#P*i#P;'S)z;'S;=`+g;=`<%l)z<%lO)z~+jP;=`<%l)z~+rOs~~+wOr~~+|Om~~,ROo~~,WO#g~R,_W#fP#qQ}!O,W!Q![,W!c!},W#R#S,W#T#o,W$g;'S,W;'S;=`,w<%lO,WR,zP;=`<%l,W~-SO^~~-VQz{-]!P!Q.d~-`TOz-]z{-o{;'S-];'S;=`.^<%lO-]~-rVOz-]z{-o{!P-]!P!Q.X!Q;'S-];'S;=`.^<%lO-]~.^OQ~~.aP;=`<%l-]~.iSP~OY.dZ;'S.d;'S;=`.u<%lO.d~.xP;=`<%l.d~/QO#i~~/VO[~~/[O#h~~/aOk~~/dW}!O/|!Q![/|!c!}/|#R#S/|#T#o/|$g;'S/|;'S;=`0k<%lO/|~0RWY~}!O/|!Q![/|!c!}/|#R#S/|#T#o/|$g;'S/|;'S;=`0k<%lO/|~0nP;=`<%l/|~0vOV~~0{OU~R1UWeP#fP#qQ}!O,W!Q![,W!c!},W#R#S,W#T#o,W$g;'S,W;'S;=`,w<%lO,W~1sO`~~1xO!P~~1}O_~~2SO}~~2]h#d~#fP#qQX^$Rpq$R}!O,W!Q![,W!c!},W#R#S,W#T#o,W#y#z$R$f$g$R$g#BY,W#BY#BZ2S#BZ$IS,W$IS$I_2S$I_$I|,W$I|$JO2S$JO$JT,W$JT$JU2S$JU$KV,W$KV$KW2S$KW&FU,W&FU&FV2S&FV;'S,W;'S;=`,w<%lO,W\",\n tokenizers: [0, 1],\n topRules: {\"Grammar\":[0,3]},\n specialized: [{term: 10, get: value => spec_AtName[value] || -1},{term: 125, get: value => spec_keyword[value] || -1}],\n tokenPrec: 1086\n});\n\nexport { parser };\n","import { parser } from '@lezer/lezer';\nimport { LRLanguage, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\n\n/**\nA language provider based on the [Lezer Lezer\nparser](https://github.com/lezer-parser/lezer-grammar), extended\nwith highlighting and indentation information.\n*/\nconst lezerLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"lezer\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/foldNodeProp.add({\n \"Body TokensBody SkipBody PrecedenceBody\": foldInside\n })\n ]\n }),\n languageData: {\n commentTokens: { block: { open: \"/*\", close: \"*/\" }, line: \"//\" },\n indentOnInput: /^\\s*\\}$/\n }\n});\n/**\nLanguage support for Lezer grammars.\n*/\nfunction lezer() {\n return new LanguageSupport(lezerLanguage);\n}\n\nexport { lezer, lezerLanguage };\n"],"names":["lezerHighlighting","styleTags","tags","spec_AtName","spec_keyword","parser","LRParser","value","lezerLanguage","LRLanguage","foldNodeProp","foldInside","lezer","LanguageSupport"],"mappings":";;AAGA,MAAMA,IAAoBC,EAAU;AAAA,EAClC,aAAaC,EAAK;AAAA,EAClB,cAAcA,EAAK;AAAA,EACnB,SAASA,EAAK;AAAA,EACd,SAASA,EAAK;AAAA,EACd,8DAA8DA,EAAK;AAAA,EACnE,oCAAoCA,EAAK;AAAA,EACzC,uEAAuEA,EAAK;AAAA,EAC5E,uBAAuBA,EAAK;AAAA,EAC5B,2BAA2BA,EAAK;AAAA,EAChC,WAAaA,EAAK;AAAA,EAClB,UAAUA,EAAK;AAAA,EACf,oEAAoEA,EAAK,WAAWA,EAAK,YAAY;AAAA,EACrG,gBAAgBA,EAAK;AAAA,EACrB,MAAMA,EAAK;AAAA,EACX,OAAOA,EAAK;AAAA,EACZ,OAAOA,EAAK;AAAA,EACZ,OAAOA,EAAK;AAAA,EACZ,mBAAmBA,EAAK;AAC1B,CAAC,GAGKC,IAAc,EAAC,WAAU,MAAK,gBAAe,KAAK,mBAAkB,KAAK,mBAAkB,KAAK,UAAS,KAAK,eAAc,KAAK,QAAO,KAAK,eAAc,IAAI,WAAU,IAAI,QAAO,IAAI,eAAc,KAAK,SAAQ,KAAK,UAAS,KAAK,QAAO,KAAK,WAAU,KAAK,aAAY,KAAK,UAAS,KAAK,SAAQ,KAAK,aAAY,KAAK,YAAW,KAAK,aAAY,KAAK,SAAQ,KAAK,gBAAe,IAAG,GAC9XC,IAAe,EAAC,WAAU,MAAK,QAAO,KAAK,MAAK,KAAK,MAAK,KAAK,IAAG,KAAK,YAAW,KAAK,QAAO,KAAK,YAAW,IAAG,GACjHC,IAASC,EAAS,YAAY;AAAA,EAClC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,MAAM;AAAA,EACN,WAAW;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,IACT,CAAC,SAAS,GAAE,2BAA0B,KAAI,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,cAAa,KAAI,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,aAAa;AAAA,IACvK,CAAC,YAAY,GAAE,KAAI,IAAG,KAAI,IAAG,GAAG;AAAA,IAChC,CAAC,YAAY,GAAE,KAAI,IAAG,KAAI,IAAG,GAAG;AAAA,EACpC;AAAA,EACE,aAAa,CAACN,CAAiB;AAAA,EAC/B,cAAc,CAAC,GAAE,GAAE,CAAC;AAAA,EACpB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,YAAY,CAAC,GAAG,CAAC;AAAA,EACjB,UAAU,EAAC,SAAU,CAAC,GAAE,CAAC,EAAC;AAAA,EAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAAO,MAASJ,EAAYI,CAAK,KAAK,GAAE,GAAE,EAAC,MAAM,KAAK,KAAK,CAAAA,MAASH,EAAaG,CAAK,KAAK,GAAE,CAAC;AAAA,EACrH,WAAW;AACb,CAAC,GCvCKC,IAA6B,gBAAAC,EAAW,OAAO;AAAA,EACjD,MAAM;AAAA,EACN,QAAqB,gBAAAJ,EAAO,UAAU;AAAA,IAClC,OAAO;AAAA,MACU,gBAAAK,EAAa,IAAI;AAAA,QAC1B,2CAA2CC;AAAA,MAC3D,CAAa;AAAA,IACb;AAAA,EACA,CAAK;AAAA,EACD,cAAc;AAAA,IACV,eAAe,EAAE,OAAO,EAAE,MAAM,MAAM,OAAO,KAAI,GAAI,MAAM,KAAI;AAAA,IAC/D,eAAe;AAAA,EACvB;AACA,CAAC;AAID,SAASC,IAAQ;AACb,SAAO,IAAIC,EAAgBL,CAAa;AAC5C;","x_google_ignoreList":[0,1]}
|
package/dist/index-BQ530BQl.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const k=require("./__vite-browser-external-DEj2HSsT.cjs");class v{constructor(t,e,s,i,h,r,n,o,a,u=0,f){this.p=t,this.stack=e,this.state=s,this.reducePos=i,this.pos=h,this.score=r,this.buffer=n,this.bufferBase=o,this.curContext=a,this.lookAhead=u,this.parent=f}toString(){return`[${this.stack.filter((t,e)=>e%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,e,s=0){let i=t.parser.context;return new v(t,[],e,s,s,0,[],0,i?new y(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var e;let s=t>>19,i=t&65535,{parser:h}=this.p,r=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),n=h.dynamicPrecedence(i);if(n&&(this.score+=n),s==0){this.pushState(h.getGoto(this.state,i,!0),this.reducePos),i<h.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,r?8:4,!0),this.reduceContext(i,this.reducePos);return}let o=this.stack.length-(s-1)*3-(t&262144?6:0),a=o?this.stack[o-2]:this.p.ranges[0].from,u=this.reducePos-a;u>=2e3&&!(!((e=this.p.parser.nodeSet.types[i])===null||e===void 0)&&e.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=u));let f=o?this.stack[o-1]:0,p=this.bufferBase+this.buffer.length-f;if(i<h.minRepeatTerm||t&131072){let c=h.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,a,c,p+4,!0)}if(t&262144)this.state=this.stack[o];else{let c=this.stack[o-3];this.state=h.getGoto(c,i,!0)}for(;this.stack.length>o;)this.stack.pop();this.reduceContext(i,a)}storeNode(t,e,s,i=4,h=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let r=this,n=this.buffer.length;if(n==0&&r.parent&&(n=r.bufferBase-r.parent.bufferBase,r=r.parent),n>0&&r.buffer[n-4]==0&&r.buffer[n-1]>-1){if(e==s)return;if(r.buffer[n-2]>=e){r.buffer[n-2]=s;return}}}if(!h||this.pos==s)this.buffer.push(t,e,s,i);else{let r=this.buffer.length;if(r>0&&(this.buffer[r-4]!=0||this.buffer[r-1]<0)){let n=!1;for(let o=r;o>0&&this.buffer[o-2]>s;o-=4)if(this.buffer[o-1]>=0){n=!0;break}if(n)for(;r>0&&this.buffer[r-2]>s;)this.buffer[r]=this.buffer[r-4],this.buffer[r+1]=this.buffer[r-3],this.buffer[r+2]=this.buffer[r-2],this.buffer[r+3]=this.buffer[r-1],r-=4,i>4&&(i-=4)}this.buffer[r]=t,this.buffer[r+1]=e,this.buffer[r+2]=s,this.buffer[r+3]=i}}shift(t,e,s,i){if(t&131072)this.pushState(t&65535,this.pos);else if((t&262144)==0){let h=t,{parser:r}=this.p;(i>this.pos||e<=r.maxNode)&&(this.pos=i,r.stateFlag(h,1)||(this.reducePos=i)),this.pushState(h,s),this.shiftContext(e,s),e<=r.maxNode&&this.buffer.push(e,s,i,4)}else this.pos=i,this.shiftContext(e,s),e<=this.p.parser.maxNode&&this.buffer.push(e,s,i,4)}apply(t,e,s,i){t&65536?this.reduce(t):this.shift(t,e,s,i)}useNode(t,e){let s=this.p.reused.length-1;(s<0||this.p.reused[s]!=t)&&(this.p.reused.push(t),s++);let i=this.pos;this.reducePos=this.pos=i+t.length,this.pushState(e,i),this.buffer.push(s,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,e=t.buffer.length;for(;e>0&&t.buffer[e-2]>t.reducePos;)e-=4;let s=t.buffer.slice(e),i=t.bufferBase+e;for(;t&&i==t.bufferBase;)t=t.parent;return new v(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,s,i,this.curContext,this.lookAhead,t)}recoverByDelete(t,e){let s=t<=this.p.parser.maxNode;s&&this.storeNode(t,this.pos,e,4),this.storeNode(0,this.pos,e,s?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(t){for(let e=new L(this);;){let s=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,t);if(s==0)return!1;if((s&65536)==0)return!0;e.reduce(s)}}recoverByInsert(t){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let i=[];for(let h=0,r;h<e.length;h+=2)(r=e[h+1])!=this.state&&this.p.parser.hasAction(r,t)&&i.push(e[h],r);if(this.stack.length<120)for(let h=0;i.length<8&&h<e.length;h+=2){let r=e[h+1];i.some((n,o)=>o&1&&n==r)||i.push(e[h],r)}e=i}let s=[];for(let i=0;i<e.length&&s.length<4;i+=2){let h=e[i+1];if(h==this.state)continue;let r=this.split();r.pushState(h,this.pos),r.storeNode(0,r.pos,r.pos,4,!0),r.shiftContext(e[i],this.pos),r.reducePos=this.pos,r.score-=200,s.push(r)}return s}forceReduce(){let{parser:t}=this.p,e=t.stateSlot(this.state,5);if((e&65536)==0)return!1;if(!t.validAction(this.state,e)){let s=e>>19,i=e&65535,h=this.stack.length-s*3;if(h<0||t.getGoto(this.stack[h],i,!1)<0){let r=this.findForcedReduction();if(r==null)return!1;e=r}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}findForcedReduction(){let{parser:t}=this.p,e=[],s=(i,h)=>{if(!e.includes(i))return e.push(i),t.allActions(i,r=>{if(!(r&393216))if(r&65536){let n=(r>>19)-h;if(n>1){let o=r&65535,a=this.stack.length-n*3;if(a>=0&&t.getGoto(this.stack[a],o,!1)>=0)return n<<19|65536|o}}else{let n=s(r,h+1);if(n!=null)return n}})};return s(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=t.stack[e])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(e)))}reduceContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(e)))}emitContext(){let t=this.buffer.length-1;(t<0||this.buffer[t]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let t=this.buffer.length-1;(t<0||this.buffer[t]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let e=new y(this.curContext.tracker,t);e.hash!=this.curContext.hash&&this.emitContext(),this.curContext=e}}setLookAhead(t){return t<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=t,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class y{constructor(t,e){this.tracker=t,this.context=e,this.hash=t.strict?t.hash(e):0}}class L{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let e=t&65535,s=t>>19;s==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(s-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=i}}class T{constructor(t,e,s){this.stack=t,this.pos=e,this.index=s,this.buffer=t.buffer,this.index==0&&this.maybeNext()}static create(t,e=t.bufferBase+t.buffer.length){return new T(t,e,e-t.bufferBase)}maybeNext(){let t=this.stack.parent;t!=null&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new T(this.stack,this.pos,this.index)}}function b(l,t=Uint16Array){if(typeof l!="string")return l;let e=null;for(let s=0,i=0;s<l.length;){let h=0;for(;;){let r=l.charCodeAt(s++),n=!1;if(r==126){h=65535;break}r>=92&&r--,r>=34&&r--;let o=r-32;if(o>=46&&(o-=46,n=!0),h+=o,n)break;h*=46}e?e[i++]=h:e=new t(h)}return e}class P{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const N=new P;class M{constructor(t,e){this.input=t,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=N,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(t,e){let s=this.range,i=this.rangeIndex,h=this.pos+t;for(;h<s.from;){if(!i)return null;let r=this.ranges[--i];h-=s.from-r.to,s=r}for(;e<0?h>s.to:h>=s.to;){if(i==this.ranges.length-1)return null;let r=this.ranges[++i];h+=r.from-s.to,s=r}return h}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let e of this.ranges)if(e.to>t)return Math.max(t,e.from);return this.end}peek(t){let e=this.chunkOff+t,s,i;if(e>=0&&e<this.chunk.length)s=this.pos+t,i=this.chunk.charCodeAt(e);else{let h=this.resolveOffset(t,1);if(h==null)return-1;if(s=h,s>=this.chunk2Pos&&s<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(s-this.chunk2Pos);else{let r=this.rangeIndex,n=this.range;for(;n.to<=s;)n=this.ranges[++r];this.chunk2=this.input.chunk(this.chunk2Pos=s),s+this.chunk2.length>n.to&&(this.chunk2=this.chunk2.slice(0,n.to-s)),i=this.chunk2.charCodeAt(0)}}return s>=this.token.lookAhead&&(this.token.lookAhead=s+1),i}acceptToken(t,e=0){let s=e?this.resolveOffset(e,-1):this.pos;if(s==null||s<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=t,this.token.end=s}acceptTokenTo(t,e){this.token.value=t,this.token.end=e}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:e}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=e,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),e=this.pos+t.length;this.chunk=e>this.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,e){if(e?(this.token=e,e.start=t,e.lookAhead=t+1,e.value=e.extended=-1):this.token=N,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;t>=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t<this.chunkPos+this.chunk.length?this.chunkOff=t-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(t,e){if(t>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,e-this.chunkPos);if(t>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,e-this.chunk2Pos);if(t>=this.range.from&&e<=this.range.to)return this.input.read(t,e);let s="";for(let i of this.ranges){if(i.from>=e)break;i.to>t&&(s+=this.input.read(Math.max(i.from,t),Math.min(i.to,e)))}return s}}class x{constructor(t,e){this.data=t,this.id=e}token(t,e){let{parser:s}=e.p;F(this.data,t,e,this.id,s.data,s.tokenPrecTable)}}x.prototype.contextual=x.prototype.fallback=x.prototype.extend=!1;class B{constructor(t,e,s){this.precTable=e,this.elseToken=s,this.data=typeof t=="string"?b(t):t}token(t,e){let s=t.pos,i=0;for(;;){let h=t.next<0,r=t.resolveOffset(1,1);if(F(this.data,t,e,0,this.data,this.precTable),t.token.value>-1)break;if(this.elseToken==null)return;if(h||i++,r==null)break;t.reset(r,t.token)}i&&(t.reset(s,t.token),t.acceptToken(this.elseToken,i))}}B.prototype.contextual=x.prototype.fallback=x.prototype.extend=!1;class ${constructor(t,e={}){this.token=t,this.contextual=!!e.contextual,this.fallback=!!e.fallback,this.extend=!!e.extend}}function F(l,t,e,s,i,h){let r=0,n=1<<s,{dialect:o}=e.p.parser;t:for(;(n&l[r])!=0;){let a=l[r+1];for(let c=r+3;c<a;c+=2)if((l[c+1]&n)>0){let d=l[c];if(o.allows(d)&&(t.token.value==-1||t.token.value==d||E(d,t.token.value,i,h))){t.acceptToken(d);break}}let u=t.next,f=0,p=l[r+2];if(t.next<0&&p>f&&l[a+p*3-3]==65535){r=l[a+p*3-1];continue t}for(;f<p;){let c=f+p>>1,d=a+c+(c<<1),S=l[d],O=l[d+1]||65536;if(u<S)p=c;else if(u>=O)f=c+1;else{r=l[d+2],t.advance();continue t}}break}}function R(l,t,e){for(let s=t,i;(i=l[s])!=65535;s++)if(i==e)return s-t;return-1}function E(l,t,e,s){let i=R(e,s,t);return i<0||R(e,s,l)<i}const g=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG);let C=null;function z(l,t,e){let s=l.cursor(k.IterMode.IncludeAnonymous);for(s.moveTo(t);;)if(!(e<0?s.childBefore(t):s.childAfter(t)))for(;;){if((e<0?s.to<t:s.from>t)&&!s.type.isError)return e<0?Math.max(0,Math.min(s.to-1,t-25)):Math.min(l.length,Math.max(s.from+1,t+25));if(e<0?s.prevSibling():s.nextSibling())break;if(!s.parent())return e<0?0:l.length}}class j{constructor(t,e){this.fragments=t,this.nodeSet=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?z(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?z(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;for(;this.fragment&&this.safeTo<=t;)this.nextFragment();if(!this.fragment)return null;for(;;){let e=this.trees.length-1;if(e<0)return this.nextFragment(),null;let s=this.trees[e],i=this.index[e];if(i==s.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let h=s.children[i],r=this.start[e]+s.positions[i];if(r>t)return this.nextStart=r,null;if(h instanceof k.Tree){if(r==t){if(r<this.safeFrom)return null;let n=r+h.length;if(n<=this.safeTo){let o=h.prop(k.NodeProp.lookAhead);if(!o||n+o<this.fragment.to)return h}}this.index[e]++,r+h.length>=Math.max(this.safeFrom,t)&&(this.trees.push(h),this.start.push(r),this.index.push(0))}else this.index[e]++,this.nextStart=r+h.length}}}class G{constructor(t,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(s=>new P)}getActions(t){let e=0,s=null,{parser:i}=t.p,{tokenizers:h}=i,r=i.stateSlot(t.state,3),n=t.curContext?t.curContext.hash:0,o=0;for(let a=0;a<h.length;a++){if((1<<a&r)==0)continue;let u=h[a],f=this.tokens[a];if(!(s&&!u.fallback)&&((u.contextual||f.start!=t.pos||f.mask!=r||f.context!=n)&&(this.updateCachedToken(f,u,t),f.mask=r,f.context=n),f.lookAhead>f.end+25&&(o=Math.max(f.lookAhead,o)),f.value!=0)){let p=e;if(f.extended>-1&&(e=this.addActions(t,f.extended,f.end,e)),e=this.addActions(t,f.value,f.end,e),!u.extend&&(s=f,e>p))break}}for(;this.actions.length>e;)this.actions.pop();return o&&t.setLookAhead(o),!s&&t.pos==this.stream.end&&(s=new P,s.value=t.p.parser.eofTerm,s.start=s.end=t.pos,e=this.addActions(t,s.value,s.end,e)),this.mainToken=s,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let e=new P,{pos:s,p:i}=t;return e.start=s,e.end=Math.min(s+1,i.stream.end),e.value=s==i.stream.end?i.parser.eofTerm:0,e}updateCachedToken(t,e,s){let i=this.stream.clipPos(s.pos);if(e.token(this.stream.reset(i,t),s),t.value>-1){let{parser:h}=s.p;for(let r=0;r<h.specialized.length;r++)if(h.specialized[r]==t.value){let n=h.specializers[r](this.stream.read(t.start,t.end),s);if(n>=0&&s.p.parser.dialect.allows(n>>1)){(n&1)==0?t.value=n>>1:t.extended=n>>1;break}}}else t.value=0,t.end=this.stream.clipPos(i+1)}putAction(t,e,s,i){for(let h=0;h<i;h+=3)if(this.actions[h]==t)return i;return this.actions[i++]=t,this.actions[i++]=e,this.actions[i++]=s,i}addActions(t,e,s,i){let{state:h}=t,{parser:r}=t.p,{data:n}=r;for(let o=0;o<2;o++)for(let a=r.stateSlot(h,o?2:1);;a+=3){if(n[a]==65535)if(n[a+1]==1)a=m(n,a+2);else{i==0&&n[a+1]==2&&(i=this.putAction(m(n,a+2),e,s,i));break}n[a]==e&&(i=this.putAction(m(n,a+1),e,s,i))}return i}}class U{constructor(t,e,s,i){this.parser=t,this.input=e,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new M(e,i),this.tokens=new G(t,this.stream),this.topTerm=t.top[1];let{from:h}=i[0];this.stacks=[v.start(this,t.top[0],h)],this.fragments=s.length&&this.stream.end-h>t.bufferLength*4?new j(s,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,e=this.minStackPos,s=this.stacks=[],i,h;if(this.bigReductionCount>300&&t.length==1){let[r]=t;for(;r.forceReduce()&&r.stack.length&&r.stack[r.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;r<t.length;r++){let n=t[r];for(;;){if(this.tokens.mainToken=null,n.pos>e)s.push(n);else{if(this.advanceStack(n,s,t))continue;{i||(i=[],h=[]),i.push(n);let o=this.tokens.getMainToken(n);h.push(o.value,o.end)}}break}}if(!s.length){let r=i&&q(i);if(r)return g&&console.log("Finish with "+this.stackID(r)),this.stackToTree(r);if(this.parser.strict)throw g&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+e);this.recovering||(this.recovering=5)}if(this.recovering&&i){let r=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,h,s);if(r)return g&&console.log("Force-finish "+this.stackID(r)),this.stackToTree(r.forceAll())}if(this.recovering){let r=this.recovering==1?1:this.recovering*3;if(s.length>r)for(s.sort((n,o)=>o.score-n.score);s.length>r;)s.pop();s.some(n=>n.reducePos>e)&&this.recovering--}else if(s.length>1){t:for(let r=0;r<s.length-1;r++){let n=s[r];for(let o=r+1;o<s.length;o++){let a=s[o];if(n.sameState(a)||n.buffer.length>500&&a.buffer.length>500)if((n.score-a.score||n.buffer.length-a.buffer.length)>0)s.splice(o--,1);else{s.splice(r--,1);continue t}}}s.length>12&&s.splice(12,s.length-12)}this.minStackPos=s[0].pos;for(let r=1;r<s.length;r++)s[r].pos<this.minStackPos&&(this.minStackPos=s[r].pos);return null}stopAt(t){if(this.stoppedAt!=null&&this.stoppedAt<t)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=t}advanceStack(t,e,s){let i=t.pos,{parser:h}=this,r=g?this.stackID(t)+" -> ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let a=t.curContext&&t.curContext.tracker.strict,u=a?t.curContext.hash:0;for(let f=this.fragments.nodeAt(i);f;){let p=this.parser.nodeSet.types[f.type.id]==f.type?h.getGoto(t.state,f.type.id):-1;if(p>-1&&f.length&&(!a||(f.prop(k.NodeProp.contextHash)||0)==u))return t.useNode(f,p),g&&console.log(r+this.stackID(t)+` (via reuse of ${h.getName(f.type.id)})`),!0;if(!(f instanceof k.Tree)||f.children.length==0||f.positions[0]>0)break;let c=f.children[0];if(c instanceof k.Tree&&f.positions[0]==0)f=c;else break}}let n=h.stateSlot(t.state,4);if(n>0)return t.reduce(n),g&&console.log(r+this.stackID(t)+` (via always-reduce ${h.getName(n&65535)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let o=this.tokens.getActions(t);for(let a=0;a<o.length;){let u=o[a++],f=o[a++],p=o[a++],c=a==o.length||!s,d=c?t:t.split(),S=this.tokens.mainToken;if(d.apply(u,f,S?S.start:d.pos,p),g&&console.log(r+this.stackID(d)+` (via ${(u&65536)==0?"shift":`reduce of ${h.getName(u&65535)}`} for ${h.getName(f)} @ ${i}${d==t?"":", split"})`),c)return!0;d.pos>i?e.push(d):s.push(d)}return!1}advanceFully(t,e){let s=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>s)return I(t,e),!0}}runRecovery(t,e,s){let i=null,h=!1;for(let r=0;r<t.length;r++){let n=t[r],o=e[r<<1],a=e[(r<<1)+1],u=g?this.stackID(n)+" -> ":"";if(n.deadEnd&&(h||(h=!0,n.restart(),g&&console.log(u+this.stackID(n)+" (restarted)"),this.advanceFully(n,s))))continue;let f=n.split(),p=u;for(let c=0;c<10&&f.forceReduce()&&(g&&console.log(p+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,s));c++)g&&(p=this.stackID(f)+" -> ");for(let c of n.recoverByInsert(o))g&&console.log(u+this.stackID(c)+" (via recover-insert)"),this.advanceFully(c,s);this.stream.end>n.pos?(a==n.pos&&(a++,o=0),n.recoverByDelete(o,a),g&&console.log(u+this.stackID(n)+` (via recover-delete ${this.parser.getName(o)})`),I(n,s)):(!i||i.score<n.score)&&(i=n)}return i}stackToTree(t){return t.close(),k.Tree.build({buffer:T.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let e=(C||(C=new WeakMap)).get(t);return e||C.set(t,e=String.fromCodePoint(this.nextStackID++)),e+t}}function I(l,t){for(let e=0;e<t.length;e++){let s=t[e];if(s.pos==l.pos&&s.sameState(l)){t[e].score<l.score&&(t[e]=l);return}}t.push(l)}class H{constructor(t,e,s){this.source=t,this.flags=e,this.disabled=s}allows(t){return!this.disabled||this.disabled[t]==0}}const w=l=>l;class W{constructor(t){this.start=t.start,this.shift=t.shift||w,this.reduce=t.reduce||w,this.reuse=t.reuse||w,this.hash=t.hash||(()=>0),this.strict=t.strict!==!1}}class A extends k.Parser{constructor(t){if(super(),this.wrappers=[],t.version!=14)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let e=t.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let n=0;n<t.repeatNodeCount;n++)e.push("");let s=Object.keys(t.topRules).map(n=>t.topRules[n][1]),i=[];for(let n=0;n<e.length;n++)i.push([]);function h(n,o,a){i[n].push([o,o.deserialize(String(a))])}if(t.nodeProps)for(let n of t.nodeProps){let o=n[0];typeof o=="string"&&(o=k.NodeProp[o]);for(let a=1;a<n.length;){let u=n[a++];if(u>=0)h(u,o,n[a++]);else{let f=n[a+-u];for(let p=-u;p>0;p--)h(n[a++],o,f);a++}}}this.nodeSet=new k.NodeSet(e.map((n,o)=>k.NodeType.define({name:o>=this.minRepeatTerm?void 0:n,id:o,props:i[o],top:s.indexOf(o)>-1,error:o==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(o)>-1}))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=k.DefaultBufferLength;let r=b(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let n=0;n<this.specializerSpecs.length;n++)this.specialized[n]=this.specializerSpecs[n].term;this.specializers=this.specializerSpecs.map(D),this.states=b(t.states,Uint32Array),this.data=b(t.stateData),this.goto=b(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map(n=>typeof n=="number"?new x(r,n):n),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,e,s){let i=new U(this,t,e,s);for(let h of this.wrappers)i=h(i,t,e,s);return i}getGoto(t,e,s=!1){let i=this.goto;if(e>=i[0])return-1;for(let h=i[e+1];;){let r=i[h++],n=r&1,o=i[h++];if(n&&s)return o;for(let a=h+(r>>1);h<a;h++)if(i[h]==t)return o;if(n)return-1}}hasAction(t,e){let s=this.data;for(let i=0;i<2;i++)for(let h=this.stateSlot(t,i?2:1),r;;h+=3){if((r=s[h])==65535)if(s[h+1]==1)r=s[h=m(s,h+2)];else{if(s[h+1]==2)return m(s,h+2);break}if(r==e||r==0)return m(s,h+1)}return 0}stateSlot(t,e){return this.states[t*6+e]}stateFlag(t,e){return(this.stateSlot(t,0)&e)>0}validAction(t,e){return!!this.allActions(t,s=>s==e?!0:null)}allActions(t,e){let s=this.stateSlot(t,4),i=s?e(s):void 0;for(let h=this.stateSlot(t,1);i==null;h+=3){if(this.data[h]==65535)if(this.data[h+1]==1)h=m(this.data,h+2);else break;i=e(m(this.data,h+1))}return i}nextStates(t){let e=[];for(let s=this.stateSlot(t,1);;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=m(this.data,s+2);else break;if((this.data[s+2]&1)==0){let i=this.data[s+1];e.some((h,r)=>r&1&&h==i)||e.push(this.data[s],i)}}return e}configure(t){let e=Object.assign(Object.create(A.prototype),this);if(t.props&&(e.nodeSet=this.nodeSet.extend(...t.props)),t.top){let s=this.topRules[t.top];if(!s)throw new RangeError(`Invalid top rule name ${t.top}`);e.top=s}return t.tokenizers&&(e.tokenizers=this.tokenizers.map(s=>{let i=t.tokenizers.find(h=>h.from==s);return i?i.to:s})),t.specializers&&(e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map((s,i)=>{let h=t.specializers.find(n=>n.from==s.external);if(!h)return s;let r=Object.assign(Object.assign({},s),{external:h.to});return e.specializers[i]=D(r),r})),t.contextTracker&&(e.context=t.contextTracker),t.dialect&&(e.dialect=this.parseDialect(t.dialect)),t.strict!=null&&(e.strict=t.strict),t.wrap&&(e.wrappers=e.wrappers.concat(t.wrap)),t.bufferLength!=null&&(e.bufferLength=t.bufferLength),e}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let e=this.dynamicPrecedences;return e==null?0:e[t]||0}parseDialect(t){let e=Object.keys(this.dialects),s=e.map(()=>!1);if(t)for(let h of t.split(" ")){let r=e.indexOf(h);r>=0&&(s[r]=!0)}let i=null;for(let h=0;h<e.length;h++)if(!s[h])for(let r=this.dialects[e[h]],n;(n=this.data[r++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[n]=1;return new H(t,s,i)}static deserialize(t){return new A(t)}}function m(l,t){return l[t]|l[t+1]<<16}function q(l){let t=null;for(let e of l){let s=e.p.stoppedAt;(e.pos==e.p.stream.end||s!=null&&e.pos>s)&&e.p.parser.stateFlag(e.state,2)&&(!t||t.score<e.score)&&(t=e)}return t}function D(l){if(l.external){let t=l.extend?1:0;return(e,s)=>l.external(e,s)<<1|t}return l.get}exports.ContextTracker=W;exports.ExternalTokenizer=$;exports.LRParser=A;exports.LocalTokenGroup=B;
|
|
2
|
-
//# sourceMappingURL=index-BQ530BQl.cjs.map
|