@port-labs/jq-node-bindings 0.0.14 → 0.0.15-dev2
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/README.md +6 -1
- package/binding.gyp +42 -20
- package/configure +1 -1
- package/deps/jq/.gitattributes +12 -0
- package/deps/jq/AUTHORS +149 -43
- package/deps/jq/COPYING +75 -1
- package/deps/jq/ChangeLog +2 -2
- package/deps/jq/Makefile.am +106 -65
- package/deps/jq/NEWS.md +391 -0
- package/deps/jq/README.md +54 -52
- package/deps/jq/SECURITY.md +7 -0
- package/deps/jq/compile-ios.sh +106 -102
- package/deps/jq/configure.ac +72 -59
- package/deps/jq/docs/Pipfile +14 -0
- package/deps/jq/docs/Pipfile.lock +415 -0
- package/deps/jq/docs/README.md +15 -14
- package/deps/jq/docs/build_manpage.py +251 -0
- package/deps/jq/docs/build_mantests.py +21 -0
- package/deps/jq/docs/build_website.py +95 -0
- package/deps/jq/docs/content/download/default.yml +249 -0
- package/deps/jq/docs/content/index.yml +83 -0
- package/deps/jq/docs/content/{3.manual/v1.6 → manual/dev}/manual.yml +992 -452
- package/deps/jq/docs/content/{3.manual → manual}/v1.3/manual.yml +105 -116
- package/deps/jq/docs/content/{3.manual → manual}/v1.4/manual.yml +122 -129
- package/deps/jq/docs/content/{3.manual → manual}/v1.5/manual.yml +313 -262
- package/deps/jq/docs/content/{3.manual → manual/v1.6}/manual.yml +407 -332
- package/deps/jq/docs/content/manual/v1.7/manual.yml +3697 -0
- package/deps/jq/docs/content/tutorial/default.yml +337 -0
- package/deps/jq/docs/manual_schema.yml +60 -0
- package/deps/jq/docs/public/css/style.css +99 -0
- package/deps/jq/docs/public/icon.png +0 -0
- package/deps/jq/docs/public/icon.svg +1 -0
- package/deps/jq/docs/public/jq.svg +1 -0
- package/deps/jq/docs/public/js/manual-search.js +31 -49
- package/deps/jq/docs/templates/default.html.j2 +31 -0
- package/deps/jq/docs/templates/index.html.j2 +58 -0
- package/deps/jq/docs/templates/manual.html.j2 +120 -0
- package/deps/jq/docs/templates/shared/_footer.html.j2 +14 -0
- package/deps/jq/docs/templates/shared/_head.html.j2 +23 -0
- package/deps/jq/docs/templates/shared/_navbar.html.j2 +40 -0
- package/deps/jq/docs/validate_manual_schema.py +19 -0
- package/deps/jq/jq.1.prebuilt +1102 -294
- package/deps/jq/jq.spec +2 -3
- package/deps/jq/libjq.pc.in +11 -0
- package/deps/jq/m4/ax_pthread.m4 +522 -0
- package/deps/jq/modules/oniguruma/.travis.yml +17 -0
- package/deps/jq/modules/oniguruma/CMakeLists.txt +206 -41
- package/deps/jq/modules/oniguruma/COPYING +23 -25
- package/deps/jq/modules/oniguruma/HISTORY +368 -23
- package/deps/jq/modules/oniguruma/Makefile.am +61 -7
- package/deps/jq/modules/oniguruma/README +34 -20
- package/deps/jq/modules/oniguruma/README.md +106 -33
- package/deps/jq/modules/oniguruma/README_japanese +183 -0
- package/deps/jq/modules/oniguruma/autogen.sh +9 -0
- package/deps/jq/modules/oniguruma/cmake/Config.cmake.in +4 -0
- package/deps/jq/modules/oniguruma/configure.ac +66 -55
- package/deps/jq/modules/oniguruma/doc/API +485 -42
- package/deps/jq/modules/oniguruma/doc/API.ja +732 -293
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.API +397 -0
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.API.ja +393 -0
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.BUILTIN +95 -0
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.BUILTIN.ja +93 -0
- package/deps/jq/modules/oniguruma/doc/FAQ +3 -3
- package/deps/jq/modules/oniguruma/doc/FAQ.ja +8 -8
- package/deps/jq/modules/oniguruma/doc/RE +223 -63
- package/deps/jq/modules/oniguruma/doc/RE.ja +420 -265
- package/deps/jq/modules/oniguruma/doc/SYNTAX.md +1091 -0
- package/deps/jq/modules/oniguruma/doc/UNICODE_PROPERTIES +840 -697
- package/deps/jq/modules/oniguruma/harnesses/ascii_compatible.dict +113 -0
- package/deps/jq/modules/oniguruma/harnesses/base.c +749 -0
- package/deps/jq/modules/oniguruma/harnesses/deluxe.c +206 -0
- package/deps/jq/modules/oniguruma/harnesses/dict_conv.py +72 -0
- package/deps/jq/modules/oniguruma/harnesses/fuzzer.options +2 -0
- package/deps/jq/modules/oniguruma/harnesses/libfuzzer-onig.cpp +45 -0
- package/deps/jq/modules/oniguruma/harnesses/regset.c +392 -0
- package/deps/jq/modules/oniguruma/index.html +16 -5
- package/deps/jq/modules/oniguruma/index_ja.html +16 -5
- package/deps/jq/modules/oniguruma/make_win.bat +5 -0
- package/deps/jq/modules/oniguruma/make_win32.bat +5 -3
- package/deps/jq/modules/oniguruma/make_win64.bat +5 -3
- package/deps/jq/modules/oniguruma/onig-config.cmake.in +80 -0
- package/deps/jq/modules/oniguruma/onig-config.in +1 -1
- package/deps/jq/modules/oniguruma/oniguruma.pc.cmake.in +1 -1
- package/deps/jq/modules/oniguruma/oniguruma.pc.in +0 -1
- package/deps/jq/modules/oniguruma/sample/CMakeLists.txt +9 -2
- package/deps/jq/modules/oniguruma/sample/Makefile.am +24 -5
- package/deps/jq/modules/oniguruma/sample/bug_fix.c +13 -51
- package/deps/jq/modules/oniguruma/sample/callback_each_match.c +168 -0
- package/deps/jq/modules/oniguruma/sample/callout.c +268 -0
- package/deps/jq/modules/oniguruma/sample/count.c +125 -0
- package/deps/jq/modules/oniguruma/sample/crnl.c +6 -4
- package/deps/jq/modules/oniguruma/sample/echo.c +136 -0
- package/deps/jq/modules/oniguruma/sample/encode.c +53 -146
- package/deps/jq/modules/oniguruma/sample/listcap.c +18 -10
- package/deps/jq/modules/oniguruma/sample/names.c +10 -6
- package/deps/jq/modules/oniguruma/sample/posix.c +13 -2
- package/deps/jq/modules/oniguruma/sample/regset.c +95 -0
- package/deps/jq/modules/oniguruma/sample/scan.c +20 -6
- package/deps/jq/modules/oniguruma/sample/simple.c +8 -4
- package/deps/jq/modules/oniguruma/sample/sql.c +13 -8
- package/deps/jq/modules/oniguruma/sample/syntax.c +11 -10
- package/deps/jq/modules/oniguruma/sample/user_property.c +12 -7
- package/deps/jq/modules/oniguruma/src/Makefile.am +41 -15
- package/deps/jq/modules/oniguruma/src/Makefile.windows +196 -183
- package/deps/jq/modules/oniguruma/src/ascii.c +64 -7
- package/deps/jq/modules/oniguruma/src/big5.c +25 -15
- package/deps/jq/modules/oniguruma/src/config.h.cmake.in +7 -22
- package/deps/jq/modules/oniguruma/src/config.h.win32 +56 -84
- package/deps/jq/modules/oniguruma/src/config.h.win64 +56 -84
- package/deps/jq/modules/oniguruma/src/config.h.windows.in +62 -0
- package/deps/jq/modules/oniguruma/src/cp1251.c +14 -8
- package/deps/jq/modules/oniguruma/src/euc_jp.c +28 -30
- package/deps/jq/modules/oniguruma/src/euc_jp_prop.c +25 -32
- package/deps/jq/modules/oniguruma/src/euc_jp_prop.gperf +1 -2
- package/deps/jq/modules/oniguruma/src/euc_kr.c +27 -15
- package/deps/jq/modules/oniguruma/src/euc_tw.c +40 -17
- package/deps/jq/modules/oniguruma/src/gb18030.c +177 -119
- package/deps/jq/modules/oniguruma/src/gperf_fold_key_conv.py +12 -8
- package/deps/jq/modules/oniguruma/src/gperf_unfold_key_conv.py +8 -6
- package/deps/jq/modules/oniguruma/src/iso8859_1.c +92 -91
- package/deps/jq/modules/oniguruma/src/iso8859_10.c +13 -29
- package/deps/jq/modules/oniguruma/src/iso8859_11.c +4 -2
- package/deps/jq/modules/oniguruma/src/iso8859_13.c +13 -33
- package/deps/jq/modules/oniguruma/src/iso8859_14.c +13 -30
- package/deps/jq/modules/oniguruma/src/iso8859_15.c +13 -34
- package/deps/jq/modules/oniguruma/src/iso8859_16.c +13 -29
- package/deps/jq/modules/oniguruma/src/iso8859_2.c +13 -29
- package/deps/jq/modules/oniguruma/src/iso8859_3.c +13 -33
- package/deps/jq/modules/oniguruma/src/iso8859_4.c +13 -32
- package/deps/jq/modules/oniguruma/src/iso8859_5.c +16 -23
- package/deps/jq/modules/oniguruma/src/iso8859_6.c +4 -2
- package/deps/jq/modules/oniguruma/src/iso8859_7.c +14 -29
- package/deps/jq/modules/oniguruma/src/iso8859_8.c +4 -2
- package/deps/jq/modules/oniguruma/src/iso8859_9.c +13 -33
- package/deps/jq/modules/oniguruma/src/koi8.c +14 -27
- package/deps/jq/modules/oniguruma/src/koi8_r.c +12 -19
- package/deps/jq/modules/oniguruma/src/make_property.sh +21 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_egcb.sh +7 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_egcb_data.py +267 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_fold.sh +25 -11
- package/deps/jq/modules/oniguruma/src/make_unicode_fold_data.py +206 -26
- package/deps/jq/modules/oniguruma/src/make_unicode_property.sh +19 -10
- package/deps/jq/modules/oniguruma/src/make_unicode_property_data.py +474 -375
- package/deps/jq/modules/oniguruma/src/make_unicode_wb.sh +7 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_wb_data.py +267 -0
- package/deps/jq/modules/oniguruma/src/mktable.c +28 -24
- package/deps/jq/modules/oniguruma/src/onig_init.c +2 -2
- package/deps/jq/modules/oniguruma/src/oniggnu.h +7 -5
- package/deps/jq/modules/oniguruma/src/onigposix.h +40 -16
- package/deps/jq/modules/oniguruma/src/oniguruma.h +357 -107
- package/deps/jq/modules/oniguruma/src/regcomp.c +6214 -3933
- package/deps/jq/modules/oniguruma/src/regenc.c +197 -120
- package/deps/jq/modules/oniguruma/src/regenc.h +106 -63
- package/deps/jq/modules/oniguruma/src/regerror.c +112 -91
- package/deps/jq/modules/oniguruma/src/regexec.c +4876 -2010
- package/deps/jq/modules/oniguruma/src/regext.c +8 -8
- package/deps/jq/modules/oniguruma/src/reggnu.c +13 -17
- package/deps/jq/modules/oniguruma/src/regint.h +757 -491
- package/deps/jq/modules/oniguruma/src/regparse.c +7204 -3240
- package/deps/jq/modules/oniguruma/src/regparse.h +361 -218
- package/deps/jq/modules/oniguruma/src/regposerr.c +49 -9
- package/deps/jq/modules/oniguruma/src/regposix.c +106 -24
- package/deps/jq/modules/oniguruma/src/regsyntax.c +66 -13
- package/deps/jq/modules/oniguruma/src/regtrav.c +1 -1
- package/deps/jq/modules/oniguruma/src/regversion.c +6 -4
- package/deps/jq/modules/oniguruma/src/sjis.c +23 -52
- package/deps/jq/modules/oniguruma/src/sjis_prop.c +25 -32
- package/deps/jq/modules/oniguruma/src/sjis_prop.gperf +1 -2
- package/deps/jq/modules/oniguruma/src/st.c +248 -249
- package/deps/jq/modules/oniguruma/src/st.h +4 -5
- package/deps/jq/modules/oniguruma/src/unicode.c +869 -294
- package/deps/jq/modules/oniguruma/src/unicode_egcb_data.c +1419 -0
- package/deps/jq/modules/oniguruma/src/unicode_fold1_key.c +1829 -1300
- package/deps/jq/modules/oniguruma/src/unicode_fold2_key.c +32 -9
- package/deps/jq/modules/oniguruma/src/unicode_fold3_key.c +32 -9
- package/deps/jq/modules/oniguruma/src/unicode_fold_data.c +1210 -984
- package/deps/jq/modules/oniguruma/src/unicode_property_data.c +22480 -15198
- package/deps/jq/modules/oniguruma/src/unicode_property_data_posix.c +1463 -591
- package/deps/jq/modules/oniguruma/src/unicode_unfold_key.c +1958 -1418
- package/deps/jq/modules/oniguruma/src/unicode_wb_data.c +1106 -0
- package/deps/jq/modules/oniguruma/src/utf16_be.c +90 -49
- package/deps/jq/modules/oniguruma/src/utf16_le.c +80 -49
- package/deps/jq/modules/oniguruma/src/utf32_be.c +14 -42
- package/deps/jq/modules/oniguruma/src/utf32_le.c +13 -40
- package/deps/jq/modules/oniguruma/src/utf8.c +33 -78
- package/deps/jq/modules/oniguruma/test/CMakeLists.txt +55 -0
- package/deps/jq/modules/oniguruma/test/Makefile.am +65 -10
- package/deps/jq/modules/oniguruma/test/test.sh +17 -0
- package/deps/jq/modules/oniguruma/test/test_back.c +1450 -0
- package/deps/jq/modules/oniguruma/test/test_options.c +228 -0
- package/deps/jq/modules/oniguruma/test/test_regset.c +466 -0
- package/deps/jq/modules/oniguruma/test/test_syntax.c +365 -0
- package/deps/jq/modules/oniguruma/test/test_utf8.c +1761 -0
- package/deps/jq/modules/oniguruma/test/testc.c +128 -88
- package/deps/jq/modules/oniguruma/test/testp.c +613 -0
- package/deps/jq/modules/oniguruma/test/testu.c +75 -28
- package/deps/jq/modules/oniguruma/tis-ci/stub.c +3 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_back.config +26 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_regset.config +20 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_syntax.config +26 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_utf8.config +25 -0
- package/deps/jq/modules/oniguruma/tis-ci/testc.config +26 -0
- package/deps/jq/modules/oniguruma/tis-ci/testu.config +24 -0
- package/deps/jq/modules/oniguruma/tis.config +1336 -0
- package/deps/jq/modules/oniguruma/windows/CMakeLists.txt +8 -0
- package/deps/jq/modules/oniguruma/windows/testc.c +865 -869
- package/deps/jq/scripts/update-website +6 -5
- package/deps/jq/scripts/version +10 -7
- package/deps/jq/sig/jq-release-new.key +29 -0
- package/deps/jq/sig/v1.4/sha256sum.txt +1 -0
- package/deps/jq/sig/v1.5/sha256sum.txt +2 -0
- package/deps/jq/sig/v1.5rc1/sha256sum.txt +1 -0
- package/deps/jq/sig/v1.5rc2/sha256sum.txt +2 -0
- package/deps/jq/sig/v1.6/sha256sum.txt +2 -0
- package/deps/jq/sig/v1.7/jq-1.7.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7/jq-1.7.zip.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7/sha256sum.txt +23 -0
- package/deps/jq/sig/v1.7.1/jq-1.7.1.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-1.7.1.zip.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-osx-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-win64.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/sha256sum.txt +26 -0
- package/deps/jq/sig/v1.7rc1/jq-1.7rc1.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-1.7rc1.zip.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc1/sha256sum.txt +23 -0
- package/deps/jq/sig/v1.7rc2/jq-1.7rc2.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-1.7rc2.zip.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc2/sha256sum.txt +23 -0
- package/deps/jq/src/builtin.c +537 -343
- package/deps/jq/src/builtin.h +18 -0
- package/deps/jq/src/builtin.jq +116 -143
- package/deps/jq/src/bytecode.h +8 -4
- package/deps/jq/src/compile.c +157 -143
- package/deps/jq/src/compile.h +3 -4
- package/deps/jq/src/decNumber/ICU-license.html +45 -0
- package/deps/jq/src/decNumber/decBasic.c +3908 -0
- package/deps/jq/src/decNumber/decCommon.c +1835 -0
- package/deps/jq/src/decNumber/decContext.c +437 -0
- package/deps/jq/src/decNumber/decContext.h +254 -0
- package/deps/jq/src/decNumber/decDPD.h +1185 -0
- package/deps/jq/src/decNumber/decDouble.c +140 -0
- package/deps/jq/src/decNumber/decDouble.h +155 -0
- package/deps/jq/src/decNumber/decNumber.c +8143 -0
- package/deps/jq/src/decNumber/decNumber.h +182 -0
- package/deps/jq/src/decNumber/decNumberLocal.h +757 -0
- package/deps/jq/src/decNumber/decPacked.c +220 -0
- package/deps/jq/src/decNumber/decPacked.h +52 -0
- package/deps/jq/src/decNumber/decQuad.c +135 -0
- package/deps/jq/src/decNumber/decQuad.h +177 -0
- package/deps/jq/src/decNumber/decSingle.c +71 -0
- package/deps/jq/src/decNumber/decSingle.h +86 -0
- package/deps/jq/src/decNumber/decimal128.c +553 -0
- package/deps/jq/src/decNumber/decimal128.h +81 -0
- package/deps/jq/src/decNumber/decimal32.c +476 -0
- package/deps/jq/src/decNumber/decimal32.h +81 -0
- package/deps/jq/src/decNumber/decimal64.c +839 -0
- package/deps/jq/src/decNumber/decimal64.h +83 -0
- package/deps/jq/src/decNumber/decnumber.pdf +0 -0
- package/deps/jq/src/decNumber/example1.c +38 -0
- package/deps/jq/src/decNumber/example2.c +52 -0
- package/deps/jq/src/decNumber/example3.c +64 -0
- package/deps/jq/src/decNumber/example4.c +61 -0
- package/deps/jq/src/decNumber/example5.c +36 -0
- package/deps/jq/src/decNumber/example6.c +61 -0
- package/deps/jq/src/decNumber/example7.c +35 -0
- package/deps/jq/src/decNumber/example8.c +39 -0
- package/deps/jq/src/decNumber/readme.txt +81 -0
- package/deps/jq/src/exec_stack.h +5 -3
- package/deps/jq/src/execute.c +126 -44
- package/deps/jq/src/inject_errors.c +0 -2
- package/deps/jq/src/jq.h +10 -1
- package/deps/jq/src/jq_test.c +222 -11
- package/deps/jq/src/jv.c +807 -176
- package/deps/jq/src/jv.h +22 -1
- package/deps/jq/src/jv_alloc.c +33 -26
- package/deps/jq/src/jv_alloc.h +0 -11
- package/deps/jq/src/jv_aux.c +153 -67
- package/deps/jq/src/jv_dtoa.c +12 -2
- package/deps/jq/src/jv_dtoa_tsd.c +51 -0
- package/deps/jq/src/jv_dtoa_tsd.h +4 -0
- package/deps/jq/src/jv_parse.c +70 -15
- package/deps/jq/src/jv_print.c +56 -60
- package/deps/jq/src/jv_private.h +7 -0
- package/deps/jq/src/jv_thread.h +76 -0
- package/deps/jq/src/jv_unicode.c +18 -0
- package/deps/jq/src/jv_unicode.h +2 -0
- package/deps/jq/src/lexer.c +782 -543
- package/deps/jq/src/lexer.h +438 -64
- package/deps/jq/src/lexer.l +10 -3
- package/deps/jq/src/libm.h +16 -6
- package/deps/jq/src/linker.c +97 -40
- package/deps/jq/src/locfile.c +2 -1
- package/deps/jq/src/main.c +384 -336
- package/deps/jq/src/opcode_list.h +5 -2
- package/deps/jq/src/parser.c +2260 -1898
- package/deps/jq/src/parser.h +115 -98
- package/deps/jq/src/parser.y +124 -89
- package/deps/jq/src/util.c +854 -55
- package/deps/jq/src/util.h +6 -4
- package/deps/jq/tests/jq.test +762 -26
- package/deps/jq/tests/jq_fuzz_compile.c +27 -0
- package/deps/jq/tests/jq_fuzz_execute.cpp +42 -0
- package/deps/jq/tests/jq_fuzz_fixed.cpp +297 -0
- package/deps/jq/tests/jq_fuzz_load_file.c +28 -0
- package/deps/jq/tests/jq_fuzz_parse.c +21 -0
- package/deps/jq/tests/jq_fuzz_parse_extended.c +36 -0
- package/deps/jq/tests/jq_fuzz_parse_stream.c +21 -0
- package/deps/jq/tests/local.supp +14 -0
- package/deps/jq/tests/man.test +979 -0
- package/deps/jq/tests/manonig.test +76 -0
- package/deps/jq/tests/manonigtest +5 -0
- package/deps/jq/tests/mantest +1 -2
- package/deps/jq/tests/modules/home2/.jq/g.jq +1 -0
- package/deps/jq/tests/modules/shadow1.jq +2 -0
- package/deps/jq/tests/modules/shadow2.jq +1 -0
- package/deps/jq/tests/modules/test_bind_order0.jq +1 -0
- package/deps/jq/tests/modules/test_bind_order1.jq +1 -1
- package/deps/jq/tests/modules/test_bind_order2.jq +0 -1
- package/deps/jq/tests/no-main-program.jq +1 -0
- package/deps/jq/tests/onig.test +77 -2
- package/deps/jq/tests/setup +7 -2
- package/deps/jq/tests/shtest +478 -59
- package/deps/jq/tests/uri.test +38 -0
- package/deps/jq/tests/uritest +5 -0
- package/deps/jq/tests/yes-main-program.jq +2 -0
- package/index.d.ts +2 -0
- package/lib/index.js +3 -0
- package/lib/jq.js +15 -1
- package/lib/templateAsync.js +137 -0
- package/package.json +3 -3
- package/src/binding.cc +623 -146
- package/src/binding.h +3 -4
- package/test/santiy-async.test.js +171 -0
- package/test/santiy.test.js +2 -2
- package/test/template-async.test.js +182 -0
- package/test/template.test.js +3 -3
- package/deps/jq/.travis.yml +0 -202
- package/deps/jq/NEWS +0 -89
- package/deps/jq/appveyor.yml +0 -53
- package/deps/jq/docs/Gemfile +0 -7
- package/deps/jq/docs/Gemfile.lock +0 -63
- package/deps/jq/docs/Rakefile +0 -24
- package/deps/jq/docs/Rakefile.manual +0 -49
- package/deps/jq/docs/Rakefile.website +0 -76
- package/deps/jq/docs/content/1.tutorial/default.yml +0 -327
- package/deps/jq/docs/content/2.download/default.yml +0 -193
- package/deps/jq/docs/content/index/index.yml +0 -73
- package/deps/jq/docs/public/css/base.scss +0 -181
- package/deps/jq/docs/public/jq.png +0 -0
- package/deps/jq/docs/site.yml +0 -9
- package/deps/jq/docs/templates/default.liquid +0 -34
- package/deps/jq/docs/templates/index.liquid +0 -73
- package/deps/jq/docs/templates/manual.liquid +0 -99
- package/deps/jq/docs/templates/shared/_footer.liquid +0 -10
- package/deps/jq/docs/templates/shared/_head.liquid +0 -17
- package/deps/jq/docs/templates/shared/_navbar.liquid +0 -27
- package/deps/jq/modules/oniguruma/README.ja +0 -195
- package/deps/jq/modules/oniguruma/cmake/dist.cmake +0 -321
- package/deps/jq/modules/oniguruma/contributed/libfuzzer-onig.cpp +0 -31
- package/deps/jq/modules/oniguruma/dist.info +0 -10
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold1_key.c +0 -2250
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold2_key.c +0 -203
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold3_key.c +0 -113
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold_data.c +0 -1225
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data.c +0 -24742
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data_posix.c +0 -4846
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_unfold_key.c +0 -2571
- /package/deps/jq/sig/{jq-release.key → jq-release-old.key} +0 -0
- /package/deps/jq/tests/modules/{.jq → home1/.jq} +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
regint.h - Oniguruma (regular expression library)
|
|
5
5
|
**********************************************************************/
|
|
6
6
|
/*-
|
|
7
|
-
* Copyright (c) 2002-
|
|
7
|
+
* Copyright (c) 2002-2023 K.Kosako
|
|
8
8
|
* All rights reserved.
|
|
9
9
|
*
|
|
10
10
|
* Redistribution and use in source and binary forms, with or without
|
|
@@ -30,146 +30,150 @@
|
|
|
30
30
|
*/
|
|
31
31
|
|
|
32
32
|
/* for debug */
|
|
33
|
-
/* #define
|
|
33
|
+
/* #define ONIG_DEBUG_PARSE */
|
|
34
34
|
/* #define ONIG_DEBUG_COMPILE */
|
|
35
35
|
/* #define ONIG_DEBUG_SEARCH */
|
|
36
36
|
/* #define ONIG_DEBUG_MATCH */
|
|
37
|
+
/* #define ONIG_DEBUG_MATCH_COUNTER */
|
|
38
|
+
/* #define ONIG_DEBUG_CALL */
|
|
37
39
|
/* #define ONIG_DONT_OPTIMIZE */
|
|
38
40
|
|
|
39
41
|
/* for byte-code statistical data. */
|
|
40
42
|
/* #define ONIG_DEBUG_STATISTICS */
|
|
41
43
|
|
|
42
|
-
#if defined(
|
|
44
|
+
#if defined(ONIG_DEBUG_PARSE) || defined(ONIG_DEBUG_MATCH) || \
|
|
43
45
|
defined(ONIG_DEBUG_SEARCH) || defined(ONIG_DEBUG_COMPILE) || \
|
|
46
|
+
defined(ONIG_DEBUG_MATCH_COUNTER) || defined(ONIG_DEBUG_CALL) || \
|
|
44
47
|
defined(ONIG_DEBUG_STATISTICS)
|
|
45
48
|
#ifndef ONIG_DEBUG
|
|
46
49
|
#define ONIG_DEBUG
|
|
50
|
+
#define DBGFP stderr
|
|
47
51
|
#endif
|
|
48
52
|
#endif
|
|
49
53
|
|
|
50
|
-
#
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
#define PLATFORM_UNALIGNED_WORD_ACCESS
|
|
54
|
+
#ifndef ONIG_DISABLE_DIRECT_THREADING
|
|
55
|
+
#ifdef __GNUC__
|
|
56
|
+
#define USE_GOTO_LABELS_AS_VALUES
|
|
57
|
+
#endif
|
|
55
58
|
#endif
|
|
56
59
|
|
|
57
60
|
/* config */
|
|
58
61
|
/* spec. config */
|
|
59
|
-
#define
|
|
60
|
-
#define
|
|
62
|
+
#define USE_REGSET
|
|
63
|
+
#define USE_CALL
|
|
64
|
+
#define USE_CALLOUT
|
|
61
65
|
#define USE_BACKREF_WITH_LEVEL /* \k<name+n>, \k<name-n> */
|
|
62
|
-
#define
|
|
66
|
+
#define USE_WHOLE_OPTIONS
|
|
67
|
+
#define USE_RIGID_CHECK_CAPTURES_IN_EMPTY_REPEAT /* /(?:()|())*\2/ */
|
|
63
68
|
#define USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE /* /\n$/ =~ "\n" */
|
|
64
69
|
#define USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR
|
|
65
|
-
|
|
70
|
+
#define USE_RETRY_LIMIT
|
|
71
|
+
#ifdef USE_GOTO_LABELS_AS_VALUES
|
|
72
|
+
#define USE_THREADED_CODE
|
|
73
|
+
#define USE_DIRECT_THREADED_CODE
|
|
74
|
+
#endif
|
|
66
75
|
|
|
67
76
|
/* internal config */
|
|
77
|
+
#define USE_CHECK_VALIDITY_OF_STRING_IN_TREE
|
|
68
78
|
#define USE_OP_PUSH_OR_JUMP_EXACT
|
|
69
|
-
#define
|
|
79
|
+
#define USE_QUANT_PEEK_NEXT
|
|
70
80
|
#define USE_ST_LIBRARY
|
|
81
|
+
#define USE_TIMEOFDAY
|
|
82
|
+
#define USE_STRICT_POINTER_ADDRESS
|
|
83
|
+
#define USE_STRICT_POINTER_COMPARISON
|
|
71
84
|
|
|
72
|
-
#define
|
|
73
|
-
#define DEFAULT_MATCH_STACK_LIMIT_SIZE 0 /* unlimited */
|
|
74
|
-
#define DEFAULT_PARSE_DEPTH_LIMIT 4096
|
|
75
|
-
|
|
76
|
-
#if defined(__GNUC__)
|
|
77
|
-
# define ARG_UNUSED __attribute__ ((unused))
|
|
78
|
-
#else
|
|
79
|
-
# define ARG_UNUSED
|
|
80
|
-
#endif
|
|
81
|
-
|
|
82
|
-
/* */
|
|
83
|
-
/* escape other system UChar definition */
|
|
84
|
-
#include "config.h"
|
|
85
|
-
#ifdef ONIG_ESCAPE_UCHAR_COLLISION
|
|
86
|
-
#undef ONIG_ESCAPE_UCHAR_COLLISION
|
|
87
|
-
#endif
|
|
88
|
-
|
|
89
|
-
#define USE_WORD_BEGIN_END /* "\<", "\>" */
|
|
85
|
+
#define USE_WORD_BEGIN_END /* "\<", "\>" */
|
|
90
86
|
#define USE_CAPTURE_HISTORY
|
|
91
87
|
#define USE_VARIABLE_META_CHARS
|
|
92
|
-
#define USE_POSIX_API_REGION_OPTION
|
|
93
88
|
#define USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
|
|
94
|
-
/* #define
|
|
95
|
-
|
|
96
|
-
#define xmalloc malloc
|
|
97
|
-
#define xrealloc realloc
|
|
98
|
-
#define xcalloc calloc
|
|
99
|
-
#define xfree free
|
|
100
|
-
|
|
101
|
-
#define CHECK_INTERRUPT_IN_MATCH_AT
|
|
102
|
-
|
|
103
|
-
#define st_init_table onig_st_init_table
|
|
104
|
-
#define st_init_table_with_size onig_st_init_table_with_size
|
|
105
|
-
#define st_init_numtable onig_st_init_numtable
|
|
106
|
-
#define st_init_numtable_with_size onig_st_init_numtable_with_size
|
|
107
|
-
#define st_init_strtable onig_st_init_strtable
|
|
108
|
-
#define st_init_strtable_with_size onig_st_init_strtable_with_size
|
|
109
|
-
#define st_delete onig_st_delete
|
|
110
|
-
#define st_delete_safe onig_st_delete_safe
|
|
111
|
-
#define st_insert onig_st_insert
|
|
112
|
-
#define st_lookup onig_st_lookup
|
|
113
|
-
#define st_foreach onig_st_foreach
|
|
114
|
-
#define st_add_direct onig_st_add_direct
|
|
115
|
-
#define st_free_table onig_st_free_table
|
|
116
|
-
#define st_cleanup_safe onig_st_cleanup_safe
|
|
117
|
-
#define st_copy onig_st_copy
|
|
118
|
-
#define st_nothing_key_clone onig_st_nothing_key_clone
|
|
119
|
-
#define st_nothing_key_free onig_st_nothing_key_free
|
|
120
|
-
/* */
|
|
121
|
-
#define onig_st_is_member st_is_member
|
|
89
|
+
/* #define USE_REPEAT_AND_EMPTY_CHECK_LOCAL_VAR */
|
|
122
90
|
|
|
123
|
-
|
|
124
|
-
#define
|
|
91
|
+
/* enabled by configure --enable-posix-api=yes */
|
|
92
|
+
/* #define USE_POSIX_API */
|
|
125
93
|
|
|
126
|
-
#define
|
|
127
|
-
#define
|
|
128
|
-
#define
|
|
94
|
+
#define DEFAULT_PARSE_DEPTH_LIMIT 4096
|
|
95
|
+
#define INIT_MATCH_STACK_SIZE 160
|
|
96
|
+
#define DEFAULT_MATCH_STACK_LIMIT_SIZE 0 /* unlimited */
|
|
97
|
+
#define DEFAULT_RETRY_LIMIT_IN_MATCH 10000000
|
|
98
|
+
#define DEFAULT_RETRY_LIMIT_IN_SEARCH 0 /* unlimited */
|
|
99
|
+
#define DEFAULT_SUBEXP_CALL_LIMIT_IN_SEARCH 0 /* unlimited */
|
|
100
|
+
#define DEFAULT_SUBEXP_CALL_MAX_NEST_LEVEL 20
|
|
129
101
|
|
|
130
|
-
#if defined(_WIN32) && !defined(__GNUC__)
|
|
131
|
-
#define xalloca _alloca
|
|
132
|
-
#define xvsnprintf(buf,size,fmt,args) _vsnprintf_s(buf,size,_TRUNCATE,fmt,args)
|
|
133
|
-
#define xsnprintf sprintf_s
|
|
134
|
-
#define xstrcat(dest,src,size) strcat_s(dest,size,src)
|
|
135
|
-
#else
|
|
136
|
-
#define xalloca alloca
|
|
137
|
-
#define xvsnprintf vsnprintf
|
|
138
|
-
#define xsnprintf snprintf
|
|
139
|
-
#define xstrcat(dest,src,size) strcat(dest,src)
|
|
140
|
-
#endif
|
|
141
102
|
|
|
103
|
+
#include "regenc.h"
|
|
104
|
+
|
|
105
|
+
#ifndef ONIG_NO_STANDARD_C_HEADERS
|
|
142
106
|
|
|
143
|
-
#
|
|
107
|
+
#include <stddef.h>
|
|
108
|
+
#include <stdarg.h>
|
|
109
|
+
#include <limits.h>
|
|
144
110
|
#include <stdlib.h>
|
|
111
|
+
#include <string.h>
|
|
112
|
+
#include <ctype.h>
|
|
113
|
+
|
|
114
|
+
#ifdef HAVE_STDINT_H
|
|
115
|
+
#include <stdint.h>
|
|
145
116
|
#endif
|
|
146
117
|
|
|
147
118
|
#if defined(HAVE_ALLOCA_H) && !defined(__GNUC__)
|
|
148
119
|
#include <alloca.h>
|
|
149
120
|
#endif
|
|
150
121
|
|
|
151
|
-
#ifdef HAVE_STRING_H
|
|
152
|
-
# include <string.h>
|
|
153
|
-
#else
|
|
154
|
-
# include <strings.h>
|
|
155
|
-
#endif
|
|
156
|
-
|
|
157
|
-
#include <ctype.h>
|
|
158
122
|
#ifdef HAVE_SYS_TYPES_H
|
|
159
123
|
#ifndef __BORLANDC__
|
|
160
124
|
#include <sys/types.h>
|
|
161
125
|
#endif
|
|
162
126
|
#endif
|
|
163
127
|
|
|
164
|
-
#ifdef
|
|
128
|
+
#ifdef HAVE_INTTYPES_H
|
|
129
|
+
#include <inttypes.h>
|
|
130
|
+
#endif
|
|
131
|
+
|
|
132
|
+
#if defined(_WIN32) || defined(__BORLANDC__)
|
|
165
133
|
#include <malloc.h>
|
|
166
134
|
#endif
|
|
167
135
|
|
|
168
|
-
#
|
|
136
|
+
#if defined(ONIG_DEBUG) || defined(NEED_TO_INCLUDE_STDIO)
|
|
169
137
|
# include <stdio.h>
|
|
170
138
|
#endif
|
|
171
139
|
|
|
172
|
-
#
|
|
140
|
+
#ifdef ONIG_DEBUG_STATISTICS
|
|
141
|
+
#ifdef USE_TIMEOFDAY
|
|
142
|
+
|
|
143
|
+
#ifdef HAVE_SYS_TIME_H
|
|
144
|
+
#include <sys/time.h>
|
|
145
|
+
#endif
|
|
146
|
+
#ifdef HAVE_UNISTD_H
|
|
147
|
+
#include <unistd.h>
|
|
148
|
+
#endif
|
|
149
|
+
|
|
150
|
+
#else /* USE_TIMEOFDAY */
|
|
151
|
+
|
|
152
|
+
#ifdef HAVE_SYS_TIMES_H
|
|
153
|
+
#include <sys/times.h>
|
|
154
|
+
#endif
|
|
155
|
+
|
|
156
|
+
#endif /* USE_TIMEOFDAY */
|
|
157
|
+
#endif /* ONIG_DEBUG_STATISTICS */
|
|
158
|
+
|
|
159
|
+
/* I don't think these x....'s need to be included in
|
|
160
|
+
ONIG_NO_STANDARD_C_HEADERS, but they are required by Issue #170
|
|
161
|
+
and do so since there is no problem.
|
|
162
|
+
*/
|
|
163
|
+
#ifndef xmemset
|
|
164
|
+
#define xmemset memset
|
|
165
|
+
#endif
|
|
166
|
+
|
|
167
|
+
#ifndef xmemcpy
|
|
168
|
+
#define xmemcpy memcpy
|
|
169
|
+
#endif
|
|
170
|
+
|
|
171
|
+
#ifndef xmemmove
|
|
172
|
+
#define xmemmove memmove
|
|
173
|
+
#endif
|
|
174
|
+
|
|
175
|
+
#endif /* ONIG_NO_STANDARD_C_HEADERS */
|
|
176
|
+
|
|
173
177
|
|
|
174
178
|
#ifdef MIN
|
|
175
179
|
#undef MIN
|
|
@@ -177,6 +181,7 @@
|
|
|
177
181
|
#ifdef MAX
|
|
178
182
|
#undef MAX
|
|
179
183
|
#endif
|
|
184
|
+
|
|
180
185
|
#define MIN(a,b) (((a)>(b))?(b):(a))
|
|
181
186
|
#define MAX(a,b) (((a)<(b))?(b):(a))
|
|
182
187
|
|
|
@@ -186,415 +191,485 @@
|
|
|
186
191
|
#define CHECK_NULL_RETURN_MEMERR(p) if (IS_NULL(p)) return ONIGERR_MEMORY
|
|
187
192
|
#define NULL_UCHARP ((UChar* )0)
|
|
188
193
|
|
|
189
|
-
#ifdef
|
|
194
|
+
#ifdef USE_STRICT_POINTER_COMPARISON
|
|
195
|
+
#define PTR_GE(p,q) ((p) != NULL && (p) >= (q))
|
|
196
|
+
#else
|
|
197
|
+
#define PTR_GE(p,q) (p) >= (q)
|
|
198
|
+
#endif
|
|
190
199
|
|
|
191
|
-
#
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
200
|
+
#ifndef ONIG_INT_MAX
|
|
201
|
+
#define ONIG_INT_MAX INT_MAX
|
|
202
|
+
#endif
|
|
203
|
+
|
|
204
|
+
#define CHAR_MAP_SIZE 256
|
|
205
|
+
#define INFINITE_LEN ONIG_INFINITE_DISTANCE
|
|
206
|
+
#define STEP_BACK_MAX_CHAR_LEN 65535 /* INT_MAX is too big */
|
|
207
|
+
#define LOOK_BEHIND_MAX_CHAR_LEN STEP_BACK_MAX_CHAR_LEN
|
|
208
|
+
|
|
209
|
+
/* escape other system UChar definition */
|
|
210
|
+
#ifdef ONIG_ESCAPE_UCHAR_COLLISION
|
|
211
|
+
#undef ONIG_ESCAPE_UCHAR_COLLISION
|
|
212
|
+
#endif
|
|
213
|
+
|
|
214
|
+
#define xmalloc malloc
|
|
215
|
+
#define xrealloc realloc
|
|
216
|
+
#define xcalloc calloc
|
|
217
|
+
#define xfree free
|
|
218
|
+
|
|
219
|
+
#define st_init_table onig_st_init_table
|
|
220
|
+
#define st_init_table_with_size onig_st_init_table_with_size
|
|
221
|
+
#define st_init_numtable onig_st_init_numtable
|
|
222
|
+
#define st_init_numtable_with_size onig_st_init_numtable_with_size
|
|
223
|
+
#define st_init_strtable onig_st_init_strtable
|
|
224
|
+
#define st_init_strtable_with_size onig_st_init_strtable_with_size
|
|
225
|
+
#define st_delete onig_st_delete
|
|
226
|
+
#define st_delete_safe onig_st_delete_safe
|
|
227
|
+
#define st_insert onig_st_insert
|
|
228
|
+
#define st_lookup onig_st_lookup
|
|
229
|
+
#define st_foreach onig_st_foreach
|
|
230
|
+
#define st_add_direct onig_st_add_direct
|
|
231
|
+
#define st_free_table onig_st_free_table
|
|
232
|
+
#define st_cleanup_safe onig_st_cleanup_safe
|
|
233
|
+
#define st_copy onig_st_copy
|
|
234
|
+
#define st_nothing_key_clone onig_st_nothing_key_clone
|
|
235
|
+
#define st_nothing_key_free onig_st_nothing_key_free
|
|
236
|
+
/* */
|
|
237
|
+
#define onig_st_is_member st_is_member
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
#if defined(_WIN32) && !defined(__GNUC__)
|
|
241
|
+
|
|
242
|
+
#ifndef xalloca
|
|
243
|
+
#define xalloca _alloca
|
|
244
|
+
#endif
|
|
245
|
+
#ifndef xvsnprintf
|
|
246
|
+
#define xvsnprintf(buf,size,fmt,args) _vsnprintf_s(buf,size,_TRUNCATE,fmt,args)
|
|
247
|
+
#endif
|
|
248
|
+
#ifndef xsnprintf
|
|
249
|
+
#define xsnprintf sprintf_s
|
|
250
|
+
#endif
|
|
251
|
+
#ifndef xstrcat
|
|
252
|
+
#define xstrcat(dest,src,size) strcat_s(dest,size,src)
|
|
253
|
+
#endif
|
|
195
254
|
|
|
196
255
|
#else
|
|
197
256
|
|
|
198
|
-
#
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
257
|
+
#ifndef xalloca
|
|
258
|
+
#define xalloca alloca
|
|
259
|
+
#endif
|
|
260
|
+
#ifndef xvsnprintf
|
|
261
|
+
#define xvsnprintf vsnprintf
|
|
262
|
+
#endif
|
|
263
|
+
#ifndef xsnprintf
|
|
264
|
+
#define xsnprintf snprintf
|
|
265
|
+
#endif
|
|
266
|
+
#ifndef xstrcat
|
|
267
|
+
#define xstrcat(dest,src,size) strcat(dest,src)
|
|
268
|
+
#endif
|
|
202
269
|
|
|
203
|
-
/*
|
|
204
|
-
#define WORD_ALIGNMENT_SIZE SIZEOF_LONG
|
|
270
|
+
#endif /* defined(_WIN32) && !defined(__GNUC__) */
|
|
205
271
|
|
|
206
|
-
#define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\
|
|
207
|
-
(pad_size) = WORD_ALIGNMENT_SIZE \
|
|
208
|
-
- ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\
|
|
209
|
-
if ((pad_size) == WORD_ALIGNMENT_SIZE) (pad_size) = 0;\
|
|
210
|
-
} while (0)
|
|
211
272
|
|
|
212
|
-
#
|
|
213
|
-
|
|
214
|
-
(addr) -= ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\
|
|
215
|
-
} while (0)
|
|
273
|
+
#ifdef _WIN32
|
|
274
|
+
#ifdef _MSC_VER
|
|
216
275
|
|
|
217
|
-
#
|
|
276
|
+
#if _MSC_VER < 1300
|
|
277
|
+
typedef int intptr_t;
|
|
278
|
+
typedef unsigned int uintptr_t;
|
|
279
|
+
#endif
|
|
280
|
+
|
|
281
|
+
#if _MSC_VER < 1600
|
|
282
|
+
typedef __int32 int32_t;
|
|
283
|
+
typedef unsigned __int32 uint32_t;
|
|
284
|
+
typedef __int64 int64_t;
|
|
285
|
+
typedef unsigned __int64 uint64_t;
|
|
286
|
+
#endif
|
|
287
|
+
|
|
288
|
+
#endif
|
|
289
|
+
#endif /* _WIN32 */
|
|
290
|
+
|
|
291
|
+
#if SIZEOF_VOIDP == SIZEOF_LONG
|
|
292
|
+
typedef unsigned long hash_data_type;
|
|
293
|
+
#elif SIZEOF_VOIDP == SIZEOF_LONG_LONG
|
|
294
|
+
typedef unsigned long long hash_data_type;
|
|
295
|
+
#endif
|
|
296
|
+
|
|
297
|
+
/* strend hash */
|
|
298
|
+
typedef void* hash_table_type;
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
#ifdef USE_CALLOUT
|
|
302
|
+
|
|
303
|
+
typedef struct {
|
|
304
|
+
int flag;
|
|
305
|
+
OnigCalloutOf of;
|
|
306
|
+
int in;
|
|
307
|
+
int name_id;
|
|
308
|
+
const UChar* tag_start;
|
|
309
|
+
const UChar* tag_end;
|
|
310
|
+
OnigCalloutType type;
|
|
311
|
+
OnigCalloutFunc start_func;
|
|
312
|
+
OnigCalloutFunc end_func;
|
|
313
|
+
union {
|
|
314
|
+
struct {
|
|
315
|
+
const UChar* start;
|
|
316
|
+
const UChar* end;
|
|
317
|
+
} content;
|
|
318
|
+
struct {
|
|
319
|
+
int num;
|
|
320
|
+
int passed_num;
|
|
321
|
+
OnigType types[ONIG_CALLOUT_MAX_ARGS_NUM];
|
|
322
|
+
OnigValue vals[ONIG_CALLOUT_MAX_ARGS_NUM];
|
|
323
|
+
} arg;
|
|
324
|
+
} u;
|
|
325
|
+
} CalloutListEntry;
|
|
326
|
+
|
|
327
|
+
#endif
|
|
218
328
|
|
|
219
329
|
/* stack pop level */
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
330
|
+
enum StackPopLevel {
|
|
331
|
+
STACK_POP_LEVEL_FREE = 0,
|
|
332
|
+
STACK_POP_LEVEL_MEM_START = 1,
|
|
333
|
+
STACK_POP_LEVEL_ALL = 2
|
|
334
|
+
};
|
|
223
335
|
|
|
224
336
|
/* optimize flags */
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
337
|
+
enum OptimizeType {
|
|
338
|
+
OPTIMIZE_NONE = 0,
|
|
339
|
+
OPTIMIZE_STR, /* Slow Search */
|
|
340
|
+
OPTIMIZE_STR_FAST, /* Sunday quick search / BMH */
|
|
341
|
+
OPTIMIZE_STR_FAST_STEP_FORWARD, /* Sunday quick search / BMH */
|
|
342
|
+
OPTIMIZE_MAP /* char map */
|
|
343
|
+
};
|
|
231
344
|
|
|
232
345
|
/* bit status */
|
|
233
|
-
typedef unsigned int
|
|
234
|
-
|
|
235
|
-
#define
|
|
236
|
-
#define
|
|
237
|
-
#define
|
|
238
|
-
#define
|
|
239
|
-
((n) < (int )
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
346
|
+
typedef unsigned int MemStatusType;
|
|
347
|
+
|
|
348
|
+
#define MEM_STATUS_BITS_NUM (sizeof(MemStatusType) * 8)
|
|
349
|
+
#define MEM_STATUS_CLEAR(stats) (stats) = 0
|
|
350
|
+
#define MEM_STATUS_ON_ALL(stats) (stats) = ~((MemStatusType )0)
|
|
351
|
+
#define MEM_STATUS_AT(stats,n) \
|
|
352
|
+
((n) < (int )MEM_STATUS_BITS_NUM ? ((stats) & ((MemStatusType )1 << n)) : ((stats) & 1))
|
|
353
|
+
#define MEM_STATUS_AT0(stats,n) \
|
|
354
|
+
((n) > 0 && (n) < (int )MEM_STATUS_BITS_NUM ? ((stats) & ((MemStatusType )1 << n)) : ((stats) & 1))
|
|
355
|
+
|
|
356
|
+
#define MEM_STATUS_IS_ALL_ON(stats) (((stats) & 1) != 0)
|
|
357
|
+
|
|
358
|
+
#define MEM_STATUS_ON(stats,n) do {\
|
|
359
|
+
if ((n) < (int )MEM_STATUS_BITS_NUM) {\
|
|
360
|
+
if ((n) != 0)\
|
|
361
|
+
(stats) |= ((MemStatusType )1 << (n));\
|
|
362
|
+
}\
|
|
244
363
|
else\
|
|
245
364
|
(stats) |= 1;\
|
|
246
365
|
} while (0)
|
|
247
366
|
|
|
248
|
-
#define
|
|
249
|
-
if ((n) < (int )
|
|
250
|
-
(stats) |= (1 << (n));\
|
|
367
|
+
#define MEM_STATUS_ON_SIMPLE(stats,n) do {\
|
|
368
|
+
if ((n) < (int )MEM_STATUS_BITS_NUM)\
|
|
369
|
+
(stats) |= ((MemStatusType )1 << (n));\
|
|
370
|
+
} while (0)
|
|
371
|
+
|
|
372
|
+
#define MEM_STATUS_LIMIT_AT(stats,n) \
|
|
373
|
+
((n) < (int )MEM_STATUS_BITS_NUM ? ((stats) & ((MemStatusType )1 << n)) : 0)
|
|
374
|
+
#define MEM_STATUS_LIMIT_ON(stats,n) do {\
|
|
375
|
+
if ((n) < (int )MEM_STATUS_BITS_NUM && (n) != 0) {\
|
|
376
|
+
(stats) |= ((MemStatusType )1 << (n));\
|
|
377
|
+
}\
|
|
251
378
|
} while (0)
|
|
252
379
|
|
|
253
380
|
|
|
254
|
-
#define
|
|
381
|
+
#define IS_CODE_WORD_ASCII(enc,code) \
|
|
382
|
+
(ONIGENC_IS_CODE_ASCII(code) && ONIGENC_IS_CODE_WORD(enc,code))
|
|
383
|
+
#define IS_CODE_DIGIT_ASCII(enc, code) \
|
|
384
|
+
(ONIGENC_IS_CODE_ASCII(code) && ONIGENC_IS_CODE_DIGIT(enc,code))
|
|
385
|
+
#define IS_CODE_XDIGIT_ASCII(enc, code) \
|
|
386
|
+
(ONIGENC_IS_CODE_ASCII(code) && ONIGENC_IS_CODE_XDIGIT(enc,code))
|
|
255
387
|
|
|
256
388
|
#define DIGITVAL(code) ((code) - '0')
|
|
257
389
|
#define ODIGITVAL(code) DIGITVAL(code)
|
|
258
390
|
#define XDIGITVAL(enc,code) \
|
|
259
|
-
(
|
|
391
|
+
(IS_CODE_DIGIT_ASCII(enc,code) ? DIGITVAL(code) \
|
|
260
392
|
: (ONIGENC_IS_CODE_UPPER(enc,code) ? (code) - 'A' + 10 : (code) - 'a' + 10))
|
|
261
393
|
|
|
262
|
-
#define
|
|
263
|
-
|
|
264
|
-
#define
|
|
265
|
-
#define
|
|
266
|
-
#define
|
|
267
|
-
|
|
268
|
-
#define
|
|
269
|
-
|
|
270
|
-
#define
|
|
271
|
-
#define
|
|
272
|
-
#define
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
#define
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
#define REPEAT_INFINITE -1
|
|
285
|
-
#define IS_REPEAT_INFINITE(n) ((n) == REPEAT_INFINITE)
|
|
394
|
+
#define OPTON_CALLBACK_EACH_MATCH(option) \
|
|
395
|
+
((option) & ONIG_OPTION_CALLBACK_EACH_MATCH)
|
|
396
|
+
#define OPTON_FIND_LONGEST(option) ((option) & ONIG_OPTION_FIND_LONGEST)
|
|
397
|
+
#define OPTON_FIND_NOT_EMPTY(option) ((option) & ONIG_OPTION_FIND_NOT_EMPTY)
|
|
398
|
+
#define OPTON_NEGATE_SINGLELINE(option) ((option) & \
|
|
399
|
+
ONIG_OPTION_NEGATE_SINGLELINE)
|
|
400
|
+
#define OPTON_DONT_CAPTURE_GROUP(option) ((option) & \
|
|
401
|
+
ONIG_OPTION_DONT_CAPTURE_GROUP)
|
|
402
|
+
#define OPTON_CAPTURE_GROUP(option) ((option) & ONIG_OPTION_CAPTURE_GROUP)
|
|
403
|
+
#define OPTON_NOTBOL(option) ((option) & ONIG_OPTION_NOTBOL)
|
|
404
|
+
#define OPTON_NOTEOL(option) ((option) & ONIG_OPTION_NOTEOL)
|
|
405
|
+
#define OPTON_POSIX_REGION(option) ((option) & ONIG_OPTION_POSIX_REGION)
|
|
406
|
+
#define OPTON_CHECK_VALIDITY_OF_STRING(option) ((option) & \
|
|
407
|
+
ONIG_OPTION_CHECK_VALIDITY_OF_STRING)
|
|
408
|
+
#define OPTON_NOT_BEGIN_STRING(option) ((option) & ONIG_OPTION_NOT_BEGIN_STRING)
|
|
409
|
+
#define OPTON_NOT_END_STRING(option) ((option) & ONIG_OPTION_NOT_END_STRING)
|
|
410
|
+
#define OPTON_NOT_BEGIN_POSITION(option) ((option) & ONIG_OPTION_NOT_BEGIN_POSITION)
|
|
411
|
+
#define OPTON_MATCH_WHOLE_STRING(option) ((option) & ONIG_OPTION_MATCH_WHOLE_STRING)
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
#define INFINITE_REPEAT -1
|
|
415
|
+
#define IS_INFINITE_REPEAT(n) ((n) == INFINITE_REPEAT)
|
|
286
416
|
|
|
287
417
|
/* bitset */
|
|
288
418
|
#define BITS_PER_BYTE 8
|
|
289
419
|
#define SINGLE_BYTE_SIZE (1 << BITS_PER_BYTE)
|
|
290
|
-
#define BITS_IN_ROOM
|
|
291
|
-
#define
|
|
420
|
+
#define BITS_IN_ROOM 32 /* 4 * BITS_PER_BYTE */
|
|
421
|
+
#define BITSET_REAL_SIZE (SINGLE_BYTE_SIZE / BITS_IN_ROOM)
|
|
292
422
|
|
|
293
|
-
|
|
294
|
-
typedef
|
|
295
|
-
|
|
296
|
-
typedef unsigned char Bits;
|
|
297
|
-
#endif
|
|
298
|
-
typedef Bits BitSet[BITSET_SIZE];
|
|
299
|
-
typedef Bits* BitSetRef;
|
|
423
|
+
typedef uint32_t Bits;
|
|
424
|
+
typedef Bits BitSet[BITSET_REAL_SIZE];
|
|
425
|
+
typedef Bits* BitSetRef;
|
|
300
426
|
|
|
301
|
-
#define SIZE_BITSET
|
|
427
|
+
#define SIZE_BITSET sizeof(BitSet)
|
|
302
428
|
|
|
303
429
|
#define BITSET_CLEAR(bs) do {\
|
|
304
430
|
int i;\
|
|
305
|
-
for (i = 0; i < (int )
|
|
431
|
+
for (i = 0; i < (int )BITSET_REAL_SIZE; i++) { (bs)[i] = 0; } \
|
|
306
432
|
} while (0)
|
|
307
433
|
|
|
308
|
-
#define BS_ROOM(bs,pos) (bs)[pos
|
|
309
|
-
#define BS_BIT(pos) (
|
|
434
|
+
#define BS_ROOM(bs,pos) (bs)[(unsigned int )(pos) >> 5]
|
|
435
|
+
#define BS_BIT(pos) (1u << ((unsigned int )(pos) & 0x1f))
|
|
310
436
|
|
|
311
437
|
#define BITSET_AT(bs, pos) (BS_ROOM(bs,pos) & BS_BIT(pos))
|
|
312
438
|
#define BITSET_SET_BIT(bs, pos) BS_ROOM(bs,pos) |= BS_BIT(pos)
|
|
313
439
|
#define BITSET_CLEAR_BIT(bs, pos) BS_ROOM(bs,pos) &= ~(BS_BIT(pos))
|
|
314
440
|
#define BITSET_INVERT_BIT(bs, pos) BS_ROOM(bs,pos) ^= BS_BIT(pos)
|
|
315
441
|
|
|
316
|
-
/*
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
#define
|
|
324
|
-
|
|
325
|
-
#define
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
#define
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
(buf)->alloc = new_alloc;\
|
|
344
|
-
}\
|
|
345
|
-
} while (0)
|
|
346
|
-
|
|
347
|
-
#define BBUF_WRITE(buf,pos,bytes,n) do{\
|
|
348
|
-
int used = (pos) + (n);\
|
|
349
|
-
if ((buf)->alloc < (unsigned int )used) BBUF_EXPAND((buf),used);\
|
|
350
|
-
xmemcpy((buf)->p + (pos), (bytes), (n));\
|
|
351
|
-
if ((buf)->used < (unsigned int )used) (buf)->used = used;\
|
|
352
|
-
} while (0)
|
|
353
|
-
|
|
354
|
-
#define BBUF_WRITE1(buf,pos,byte) do{\
|
|
355
|
-
int used = (pos) + 1;\
|
|
356
|
-
if ((buf)->alloc < (unsigned int )used) BBUF_EXPAND((buf),used);\
|
|
357
|
-
(buf)->p[(pos)] = (byte);\
|
|
358
|
-
if ((buf)->used < (unsigned int )used) (buf)->used = used;\
|
|
359
|
-
} while (0)
|
|
360
|
-
|
|
361
|
-
#define BBUF_ADD(buf,bytes,n) BBUF_WRITE((buf),(buf)->used,(bytes),(n))
|
|
362
|
-
#define BBUF_ADD1(buf,byte) BBUF_WRITE1((buf),(buf)->used,(byte))
|
|
363
|
-
#define BBUF_GET_ADD_ADDRESS(buf) ((buf)->p + (buf)->used)
|
|
364
|
-
#define BBUF_GET_OFFSET_POS(buf) ((buf)->used)
|
|
365
|
-
|
|
366
|
-
/* from < to */
|
|
367
|
-
#define BBUF_MOVE_RIGHT(buf,from,to,n) do {\
|
|
368
|
-
if ((unsigned int )((to)+(n)) > (buf)->alloc) BBUF_EXPAND((buf),(to) + (n));\
|
|
369
|
-
xmemmove((buf)->p + (to), (buf)->p + (from), (n));\
|
|
370
|
-
if ((unsigned int )((to)+(n)) > (buf)->used) (buf)->used = (to) + (n);\
|
|
371
|
-
} while (0)
|
|
372
|
-
|
|
373
|
-
/* from > to */
|
|
374
|
-
#define BBUF_MOVE_LEFT(buf,from,to,n) do {\
|
|
375
|
-
xmemmove((buf)->p + (to), (buf)->p + (from), (n));\
|
|
376
|
-
} while (0)
|
|
377
|
-
|
|
378
|
-
/* from > to */
|
|
379
|
-
#define BBUF_MOVE_LEFT_REDUCE(buf,from,to) do {\
|
|
380
|
-
xmemmove((buf)->p + (to), (buf)->p + (from), (buf)->used - (from));\
|
|
381
|
-
(buf)->used -= (from - to);\
|
|
382
|
-
} while (0)
|
|
383
|
-
|
|
384
|
-
#define BBUF_INSERT(buf,pos,bytes,n) do {\
|
|
385
|
-
if (pos >= (buf)->used) {\
|
|
386
|
-
BBUF_WRITE(buf,pos,bytes,n);\
|
|
387
|
-
}\
|
|
388
|
-
else {\
|
|
389
|
-
BBUF_MOVE_RIGHT((buf),(pos),(pos) + (n),((buf)->used - (pos)));\
|
|
390
|
-
xmemcpy((buf)->p + (pos), (bytes), (n));\
|
|
391
|
-
}\
|
|
392
|
-
} while (0)
|
|
393
|
-
|
|
394
|
-
#define BBUF_GET_BYTE(buf, pos) (buf)->p[(pos)]
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
#define ANCHOR_BEGIN_BUF (1<<0)
|
|
398
|
-
#define ANCHOR_BEGIN_LINE (1<<1)
|
|
399
|
-
#define ANCHOR_BEGIN_POSITION (1<<2)
|
|
400
|
-
#define ANCHOR_END_BUF (1<<3)
|
|
401
|
-
#define ANCHOR_SEMI_END_BUF (1<<4)
|
|
402
|
-
#define ANCHOR_END_LINE (1<<5)
|
|
403
|
-
|
|
404
|
-
#define ANCHOR_WORD_BOUND (1<<6)
|
|
405
|
-
#define ANCHOR_NOT_WORD_BOUND (1<<7)
|
|
406
|
-
#define ANCHOR_WORD_BEGIN (1<<8)
|
|
407
|
-
#define ANCHOR_WORD_END (1<<9)
|
|
408
|
-
#define ANCHOR_PREC_READ (1<<10)
|
|
409
|
-
#define ANCHOR_PREC_READ_NOT (1<<11)
|
|
410
|
-
#define ANCHOR_LOOK_BEHIND (1<<12)
|
|
411
|
-
#define ANCHOR_LOOK_BEHIND_NOT (1<<13)
|
|
412
|
-
|
|
413
|
-
#define ANCHOR_ANYCHAR_STAR (1<<14) /* ".*" optimize info */
|
|
414
|
-
#define ANCHOR_ANYCHAR_STAR_ML (1<<15) /* ".*" optimize info (multi-line) */
|
|
442
|
+
/* has body */
|
|
443
|
+
#define ANCR_PREC_READ (1<<0)
|
|
444
|
+
#define ANCR_PREC_READ_NOT (1<<1)
|
|
445
|
+
#define ANCR_LOOK_BEHIND (1<<2)
|
|
446
|
+
#define ANCR_LOOK_BEHIND_NOT (1<<3)
|
|
447
|
+
/* no body */
|
|
448
|
+
#define ANCR_BEGIN_BUF (1<<4)
|
|
449
|
+
#define ANCR_BEGIN_LINE (1<<5)
|
|
450
|
+
#define ANCR_BEGIN_POSITION (1<<6)
|
|
451
|
+
#define ANCR_END_BUF (1<<7)
|
|
452
|
+
#define ANCR_SEMI_END_BUF (1<<8)
|
|
453
|
+
#define ANCR_END_LINE (1<<9)
|
|
454
|
+
#define ANCR_WORD_BOUNDARY (1<<10)
|
|
455
|
+
#define ANCR_NO_WORD_BOUNDARY (1<<11)
|
|
456
|
+
#define ANCR_WORD_BEGIN (1<<12)
|
|
457
|
+
#define ANCR_WORD_END (1<<13)
|
|
458
|
+
#define ANCR_ANYCHAR_INF (1<<14)
|
|
459
|
+
#define ANCR_ANYCHAR_INF_ML (1<<15)
|
|
460
|
+
#define ANCR_TEXT_SEGMENT_BOUNDARY (1<<16)
|
|
461
|
+
#define ANCR_NO_TEXT_SEGMENT_BOUNDARY (1<<17)
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
#define ANCHOR_HAS_BODY(a) ((a)->type < ANCR_BEGIN_BUF)
|
|
465
|
+
|
|
466
|
+
#define IS_WORD_ANCHOR_TYPE(type) \
|
|
467
|
+
((type) == ANCR_WORD_BOUNDARY || (type) == ANCR_NO_WORD_BOUNDARY || \
|
|
468
|
+
(type) == ANCR_WORD_BEGIN || (type) == ANCR_WORD_END)
|
|
415
469
|
|
|
416
470
|
/* operation code */
|
|
417
471
|
enum OpCode {
|
|
418
|
-
OP_FINISH = 0,
|
|
419
|
-
OP_END
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
OP_EXACTMBN, /* other length */
|
|
433
|
-
|
|
434
|
-
OP_EXACT1_IC, /* single byte, N = 1, ignore case */
|
|
435
|
-
OP_EXACTN_IC, /* single byte, ignore case */
|
|
436
|
-
|
|
472
|
+
OP_FINISH = 0, /* matching process terminator (no more alternative) */
|
|
473
|
+
OP_END, /* pattern code terminator (success end) */
|
|
474
|
+
OP_STR_1, /* single byte, N = 1 */
|
|
475
|
+
OP_STR_2, /* single byte, N = 2 */
|
|
476
|
+
OP_STR_3, /* single byte, N = 3 */
|
|
477
|
+
OP_STR_4, /* single byte, N = 4 */
|
|
478
|
+
OP_STR_5, /* single byte, N = 5 */
|
|
479
|
+
OP_STR_N, /* single byte */
|
|
480
|
+
OP_STR_MB2N1, /* mb-length = 2 N = 1 */
|
|
481
|
+
OP_STR_MB2N2, /* mb-length = 2 N = 2 */
|
|
482
|
+
OP_STR_MB2N3, /* mb-length = 2 N = 3 */
|
|
483
|
+
OP_STR_MB2N, /* mb-length = 2 */
|
|
484
|
+
OP_STR_MB3N, /* mb-length = 3 */
|
|
485
|
+
OP_STR_MBN, /* other length */
|
|
437
486
|
OP_CCLASS,
|
|
438
487
|
OP_CCLASS_MB,
|
|
439
488
|
OP_CCLASS_MIX,
|
|
440
489
|
OP_CCLASS_NOT,
|
|
441
490
|
OP_CCLASS_MB_NOT,
|
|
442
491
|
OP_CCLASS_MIX_NOT,
|
|
443
|
-
OP_CCLASS_NODE, /* pointer to CClassNode node */
|
|
444
|
-
|
|
445
492
|
OP_ANYCHAR, /* "." */
|
|
446
493
|
OP_ANYCHAR_ML, /* "." multi-line */
|
|
447
494
|
OP_ANYCHAR_STAR, /* ".*" */
|
|
448
495
|
OP_ANYCHAR_ML_STAR, /* ".*" multi-line */
|
|
449
496
|
OP_ANYCHAR_STAR_PEEK_NEXT,
|
|
450
497
|
OP_ANYCHAR_ML_STAR_PEEK_NEXT,
|
|
451
|
-
|
|
452
498
|
OP_WORD,
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
499
|
+
OP_WORD_ASCII,
|
|
500
|
+
OP_NO_WORD,
|
|
501
|
+
OP_NO_WORD_ASCII,
|
|
502
|
+
OP_WORD_BOUNDARY,
|
|
503
|
+
OP_NO_WORD_BOUNDARY,
|
|
456
504
|
OP_WORD_BEGIN,
|
|
457
505
|
OP_WORD_END,
|
|
458
|
-
|
|
506
|
+
OP_TEXT_SEGMENT_BOUNDARY,
|
|
459
507
|
OP_BEGIN_BUF,
|
|
460
508
|
OP_END_BUF,
|
|
461
509
|
OP_BEGIN_LINE,
|
|
462
510
|
OP_END_LINE,
|
|
463
511
|
OP_SEMI_END_BUF,
|
|
464
|
-
|
|
465
|
-
|
|
512
|
+
OP_CHECK_POSITION,
|
|
466
513
|
OP_BACKREF1,
|
|
467
514
|
OP_BACKREF2,
|
|
468
|
-
|
|
469
|
-
|
|
515
|
+
OP_BACKREF_N,
|
|
516
|
+
OP_BACKREF_N_IC,
|
|
470
517
|
OP_BACKREF_MULTI,
|
|
471
518
|
OP_BACKREF_MULTI_IC,
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
519
|
+
#ifdef USE_BACKREF_WITH_LEVEL
|
|
520
|
+
OP_BACKREF_WITH_LEVEL, /* \k<xxx+n>, \k<xxx-n> */
|
|
521
|
+
OP_BACKREF_WITH_LEVEL_IC, /* \k<xxx+n>, \k<xxx-n> */
|
|
522
|
+
#endif
|
|
523
|
+
OP_BACKREF_CHECK, /* (?(n)), (?('name')) */
|
|
524
|
+
#ifdef USE_BACKREF_WITH_LEVEL
|
|
525
|
+
OP_BACKREF_CHECK_WITH_LEVEL, /* (?(n-level)), (?('name-level')) */
|
|
526
|
+
#endif
|
|
527
|
+
OP_MEM_START,
|
|
528
|
+
OP_MEM_START_PUSH, /* push back-tracker to stack */
|
|
529
|
+
OP_MEM_END_PUSH, /* push back-tracker to stack */
|
|
530
|
+
#ifdef USE_CALL
|
|
531
|
+
OP_MEM_END_PUSH_REC, /* push back-tracker to stack */
|
|
532
|
+
#endif
|
|
533
|
+
OP_MEM_END,
|
|
534
|
+
#ifdef USE_CALL
|
|
535
|
+
OP_MEM_END_REC, /* push marker to stack */
|
|
536
|
+
#endif
|
|
481
537
|
OP_FAIL, /* pop stack and move */
|
|
482
538
|
OP_JUMP,
|
|
483
539
|
OP_PUSH,
|
|
540
|
+
OP_PUSH_SUPER,
|
|
484
541
|
OP_POP,
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
542
|
+
OP_POP_TO_MARK,
|
|
543
|
+
#ifdef USE_OP_PUSH_OR_JUMP_EXACT
|
|
544
|
+
OP_PUSH_OR_JUMP_EXACT1, /* if match exact then push, else jump. */
|
|
545
|
+
#endif
|
|
546
|
+
OP_PUSH_IF_PEEK_NEXT, /* if match exact then push, else none. */
|
|
547
|
+
OP_REPEAT, /* {n,m} */
|
|
548
|
+
OP_REPEAT_NG, /* {n,m}? (non greedy) */
|
|
489
549
|
OP_REPEAT_INC,
|
|
490
|
-
OP_REPEAT_INC_NG,
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
OP_FAIL_LOOK_BEHIND_NOT, /* (?<!...) end */
|
|
507
|
-
|
|
508
|
-
OP_CALL, /* \g<name> */
|
|
550
|
+
OP_REPEAT_INC_NG, /* non greedy */
|
|
551
|
+
OP_EMPTY_CHECK_START, /* null loop checker start */
|
|
552
|
+
OP_EMPTY_CHECK_END, /* null loop checker end */
|
|
553
|
+
OP_EMPTY_CHECK_END_MEMST, /* null loop checker end (with capture status) */
|
|
554
|
+
#ifdef USE_CALL
|
|
555
|
+
OP_EMPTY_CHECK_END_MEMST_PUSH, /* with capture status and push check-end */
|
|
556
|
+
#endif
|
|
557
|
+
OP_MOVE,
|
|
558
|
+
OP_STEP_BACK_START,
|
|
559
|
+
OP_STEP_BACK_NEXT,
|
|
560
|
+
OP_CUT_TO_MARK,
|
|
561
|
+
OP_MARK,
|
|
562
|
+
OP_SAVE_VAL,
|
|
563
|
+
OP_UPDATE_VAR,
|
|
564
|
+
#ifdef USE_CALL
|
|
565
|
+
OP_CALL, /* \g<name> */
|
|
509
566
|
OP_RETURN,
|
|
567
|
+
#endif
|
|
568
|
+
#ifdef USE_CALLOUT
|
|
569
|
+
OP_CALLOUT_CONTENTS, /* (?{...}) (?{{...}}) */
|
|
570
|
+
OP_CALLOUT_NAME, /* (*name) (*name[tag](args...)) */
|
|
571
|
+
#endif
|
|
572
|
+
};
|
|
510
573
|
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
574
|
+
enum SaveType {
|
|
575
|
+
SAVE_KEEP = 0, /* SAVE S */
|
|
576
|
+
SAVE_S = 1,
|
|
577
|
+
SAVE_RIGHT_RANGE = 2,
|
|
578
|
+
};
|
|
516
579
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
580
|
+
enum UpdateVarType {
|
|
581
|
+
UPDATE_VAR_KEEP_FROM_STACK_LAST = 0,
|
|
582
|
+
UPDATE_VAR_S_FROM_STACK = 1,
|
|
583
|
+
UPDATE_VAR_RIGHT_RANGE_FROM_STACK = 2,
|
|
584
|
+
UPDATE_VAR_RIGHT_RANGE_FROM_S_STACK = 3,
|
|
585
|
+
UPDATE_VAR_RIGHT_RANGE_TO_S = 4,
|
|
586
|
+
UPDATE_VAR_RIGHT_RANGE_INIT = 5,
|
|
587
|
+
};
|
|
588
|
+
|
|
589
|
+
enum CheckPositionType {
|
|
590
|
+
CHECK_POSITION_SEARCH_START = 0,
|
|
591
|
+
CHECK_POSITION_CURRENT_RIGHT_RANGE = 1,
|
|
592
|
+
};
|
|
593
|
+
|
|
594
|
+
enum TextSegmentBoundaryType {
|
|
595
|
+
EXTENDED_GRAPHEME_CLUSTER_BOUNDARY = 0,
|
|
596
|
+
WORD_BOUNDARY = 1,
|
|
520
597
|
};
|
|
521
598
|
|
|
522
599
|
typedef int RelAddrType;
|
|
523
600
|
typedef int AbsAddrType;
|
|
524
601
|
typedef int LengthType;
|
|
602
|
+
typedef int RelPositionType;
|
|
525
603
|
typedef int RepeatNumType;
|
|
526
|
-
typedef
|
|
527
|
-
typedef short int StateCheckNumType;
|
|
604
|
+
typedef int MemNumType;
|
|
528
605
|
typedef void* PointerType;
|
|
606
|
+
typedef int SaveType;
|
|
607
|
+
typedef int UpdateVarType;
|
|
608
|
+
typedef int ModeType;
|
|
529
609
|
|
|
530
610
|
#define SIZE_OPCODE 1
|
|
531
611
|
#define SIZE_RELADDR sizeof(RelAddrType)
|
|
532
612
|
#define SIZE_ABSADDR sizeof(AbsAddrType)
|
|
533
613
|
#define SIZE_LENGTH sizeof(LengthType)
|
|
534
614
|
#define SIZE_MEMNUM sizeof(MemNumType)
|
|
535
|
-
#define SIZE_STATE_CHECK_NUM sizeof(StateCheckNumType)
|
|
536
615
|
#define SIZE_REPEATNUM sizeof(RepeatNumType)
|
|
537
616
|
#define SIZE_OPTION sizeof(OnigOptionType)
|
|
538
617
|
#define SIZE_CODE_POINT sizeof(OnigCodePoint)
|
|
539
618
|
#define SIZE_POINTER sizeof(PointerType)
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
#define
|
|
543
|
-
#define GET_ABSADDR_INC(addr,p) PLATFORM_GET_INC(addr, p, AbsAddrType)
|
|
544
|
-
#define GET_LENGTH_INC(len,p) PLATFORM_GET_INC(len, p, LengthType)
|
|
545
|
-
#define GET_MEMNUM_INC(num,p) PLATFORM_GET_INC(num, p, MemNumType)
|
|
546
|
-
#define GET_REPEATNUM_INC(num,p) PLATFORM_GET_INC(num, p, RepeatNumType)
|
|
547
|
-
#define GET_OPTION_INC(option,p) PLATFORM_GET_INC(option, p, OnigOptionType)
|
|
548
|
-
#define GET_POINTER_INC(ptr,p) PLATFORM_GET_INC(ptr, p, PointerType)
|
|
549
|
-
#define GET_STATE_CHECK_NUM_INC(num,p) PLATFORM_GET_INC(num, p, StateCheckNumType)
|
|
619
|
+
#define SIZE_SAVE_TYPE sizeof(SaveType)
|
|
620
|
+
#define SIZE_UPDATE_VAR_TYPE sizeof(UpdateVarType)
|
|
621
|
+
#define SIZE_MODE sizeof(ModeType)
|
|
550
622
|
|
|
551
623
|
/* code point's address must be aligned address. */
|
|
552
624
|
#define GET_CODE_POINT(code,p) code = *((OnigCodePoint* )(p))
|
|
553
|
-
#define GET_BYTE_INC(byte,p) do{\
|
|
554
|
-
byte = *(p);\
|
|
555
|
-
(p)++;\
|
|
556
|
-
} while(0)
|
|
557
625
|
|
|
558
626
|
|
|
559
627
|
/* op-code + arg size */
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
#define
|
|
563
|
-
|
|
564
|
-
#define
|
|
565
|
-
#define
|
|
566
|
-
#define
|
|
567
|
-
#define
|
|
568
|
-
#define
|
|
569
|
-
#define
|
|
570
|
-
#define
|
|
571
|
-
#
|
|
572
|
-
#define
|
|
573
|
-
#define SIZE_OP_SET_OPTION (SIZE_OPCODE + SIZE_OPTION)
|
|
574
|
-
#define SIZE_OP_SET_OPTION_PUSH (SIZE_OPCODE + SIZE_OPTION)
|
|
575
|
-
#define SIZE_OP_FAIL SIZE_OPCODE
|
|
576
|
-
#define SIZE_OP_MEMORY_START (SIZE_OPCODE + SIZE_MEMNUM)
|
|
577
|
-
#define SIZE_OP_MEMORY_START_PUSH (SIZE_OPCODE + SIZE_MEMNUM)
|
|
578
|
-
#define SIZE_OP_MEMORY_END_PUSH (SIZE_OPCODE + SIZE_MEMNUM)
|
|
579
|
-
#define SIZE_OP_MEMORY_END_PUSH_REC (SIZE_OPCODE + SIZE_MEMNUM)
|
|
580
|
-
#define SIZE_OP_MEMORY_END (SIZE_OPCODE + SIZE_MEMNUM)
|
|
581
|
-
#define SIZE_OP_MEMORY_END_REC (SIZE_OPCODE + SIZE_MEMNUM)
|
|
582
|
-
#define SIZE_OP_PUSH_STOP_BT SIZE_OPCODE
|
|
583
|
-
#define SIZE_OP_POP_STOP_BT SIZE_OPCODE
|
|
584
|
-
#define SIZE_OP_NULL_CHECK_START (SIZE_OPCODE + SIZE_MEMNUM)
|
|
585
|
-
#define SIZE_OP_NULL_CHECK_END (SIZE_OPCODE + SIZE_MEMNUM)
|
|
586
|
-
#define SIZE_OP_LOOK_BEHIND (SIZE_OPCODE + SIZE_LENGTH)
|
|
587
|
-
#define SIZE_OP_PUSH_LOOK_BEHIND_NOT (SIZE_OPCODE + SIZE_RELADDR + SIZE_LENGTH)
|
|
588
|
-
#define SIZE_OP_FAIL_LOOK_BEHIND_NOT SIZE_OPCODE
|
|
589
|
-
#define SIZE_OP_CALL (SIZE_OPCODE + SIZE_ABSADDR)
|
|
590
|
-
#define SIZE_OP_RETURN SIZE_OPCODE
|
|
591
|
-
|
|
592
|
-
#ifdef USE_COMBINATION_EXPLOSION_CHECK
|
|
593
|
-
#define SIZE_OP_STATE_CHECK (SIZE_OPCODE + SIZE_STATE_CHECK_NUM)
|
|
594
|
-
#define SIZE_OP_STATE_CHECK_PUSH (SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR)
|
|
595
|
-
#define SIZE_OP_STATE_CHECK_PUSH_OR_JUMP (SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR)
|
|
596
|
-
#define SIZE_OP_STATE_CHECK_ANYCHAR_STAR (SIZE_OPCODE + SIZE_STATE_CHECK_NUM)
|
|
628
|
+
|
|
629
|
+
/* for relative address increment to go next op. */
|
|
630
|
+
#define SIZE_INC 1
|
|
631
|
+
|
|
632
|
+
#define OPSIZE_ANYCHAR_STAR 1
|
|
633
|
+
#define OPSIZE_ANYCHAR_STAR_PEEK_NEXT 1
|
|
634
|
+
#define OPSIZE_JUMP 1
|
|
635
|
+
#define OPSIZE_PUSH 1
|
|
636
|
+
#define OPSIZE_PUSH_SUPER 1
|
|
637
|
+
#define OPSIZE_POP 1
|
|
638
|
+
#define OPSIZE_POP_TO_MARK 1
|
|
639
|
+
#ifdef USE_OP_PUSH_OR_JUMP_EXACT
|
|
640
|
+
#define OPSIZE_PUSH_OR_JUMP_EXACT1 1
|
|
597
641
|
#endif
|
|
642
|
+
#define OPSIZE_PUSH_IF_PEEK_NEXT 1
|
|
643
|
+
#define OPSIZE_REPEAT 1
|
|
644
|
+
#define OPSIZE_REPEAT_INC 1
|
|
645
|
+
#define OPSIZE_REPEAT_INC_NG 1
|
|
646
|
+
#define OPSIZE_WORD_BOUNDARY 1
|
|
647
|
+
#define OPSIZE_BACKREF 1
|
|
648
|
+
#define OPSIZE_FAIL 1
|
|
649
|
+
#define OPSIZE_MEM_START 1
|
|
650
|
+
#define OPSIZE_MEM_START_PUSH 1
|
|
651
|
+
#define OPSIZE_MEM_END_PUSH 1
|
|
652
|
+
#define OPSIZE_MEM_END_PUSH_REC 1
|
|
653
|
+
#define OPSIZE_MEM_END 1
|
|
654
|
+
#define OPSIZE_MEM_END_REC 1
|
|
655
|
+
#define OPSIZE_EMPTY_CHECK_START 1
|
|
656
|
+
#define OPSIZE_EMPTY_CHECK_END 1
|
|
657
|
+
#define OPSIZE_CHECK_POSITION 1
|
|
658
|
+
#define OPSIZE_CALL 1
|
|
659
|
+
#define OPSIZE_RETURN 1
|
|
660
|
+
#define OPSIZE_MOVE 1
|
|
661
|
+
#define OPSIZE_STEP_BACK_START 1
|
|
662
|
+
#define OPSIZE_STEP_BACK_NEXT 1
|
|
663
|
+
#define OPSIZE_CUT_TO_MARK 1
|
|
664
|
+
#define OPSIZE_MARK 1
|
|
665
|
+
#define OPSIZE_SAVE_VAL 1
|
|
666
|
+
#define OPSIZE_UPDATE_VAR 1
|
|
667
|
+
|
|
668
|
+
#ifdef USE_CALLOUT
|
|
669
|
+
#define OPSIZE_CALLOUT_CONTENTS 1
|
|
670
|
+
#define OPSIZE_CALLOUT_NAME 1
|
|
671
|
+
#endif
|
|
672
|
+
|
|
598
673
|
|
|
599
674
|
#define MC_ESC(syn) (syn)->meta_char_table.esc
|
|
600
675
|
#define MC_ANYCHAR(syn) (syn)->meta_char_table.anychar
|
|
@@ -644,135 +719,326 @@ typedef void* PointerType;
|
|
|
644
719
|
#define FLAG_NCCLASS_SHARE (1<<1)
|
|
645
720
|
|
|
646
721
|
#define NCCLASS_SET_NOT(nd) NCCLASS_FLAG_SET(nd, FLAG_NCCLASS_NOT)
|
|
647
|
-
#define NCCLASS_SET_SHARE(nd) NCCLASS_FLAG_SET(nd, FLAG_NCCLASS_SHARE)
|
|
648
722
|
#define NCCLASS_CLEAR_NOT(nd) NCCLASS_FLAG_CLEAR(nd, FLAG_NCCLASS_NOT)
|
|
649
723
|
#define IS_NCCLASS_NOT(nd) IS_NCCLASS_FLAG_ON(nd, FLAG_NCCLASS_NOT)
|
|
650
|
-
#define IS_NCCLASS_SHARE(nd) IS_NCCLASS_FLAG_ON(nd, FLAG_NCCLASS_SHARE)
|
|
651
724
|
|
|
652
|
-
typedef struct {
|
|
653
|
-
int type;
|
|
654
|
-
/* struct _Node* next; */
|
|
655
|
-
/* unsigned int flags; */
|
|
656
|
-
} NodeBase;
|
|
657
725
|
|
|
658
726
|
typedef struct {
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
typedef long OnigStackIndex;
|
|
666
|
-
|
|
667
|
-
typedef struct _OnigStackType {
|
|
668
|
-
unsigned int type;
|
|
727
|
+
#ifdef USE_DIRECT_THREADED_CODE
|
|
728
|
+
const void* opaddr;
|
|
729
|
+
#else
|
|
730
|
+
enum OpCode opcode;
|
|
731
|
+
#endif
|
|
669
732
|
union {
|
|
670
733
|
struct {
|
|
671
|
-
UChar
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
734
|
+
UChar s[16]; /* Now used first 7 bytes only. */
|
|
735
|
+
} exact;
|
|
736
|
+
struct {
|
|
737
|
+
UChar* s;
|
|
738
|
+
LengthType n; /* number of chars */
|
|
739
|
+
} exact_n; /* EXACTN, EXACTN_IC, EXACTMB2N, EXACTMB3N */
|
|
740
|
+
struct {
|
|
741
|
+
UChar* s;
|
|
742
|
+
LengthType n; /* number of chars */
|
|
743
|
+
LengthType len; /* char byte length */
|
|
744
|
+
} exact_len_n; /* EXACTMBN */
|
|
745
|
+
struct {
|
|
746
|
+
BitSetRef bsp;
|
|
747
|
+
} cclass;
|
|
748
|
+
struct {
|
|
749
|
+
void* mb;
|
|
750
|
+
} cclass_mb;
|
|
751
|
+
struct {
|
|
752
|
+
void* mb; /* mb must be same position with cclass_mb for match_at(). */
|
|
753
|
+
BitSetRef bsp;
|
|
754
|
+
} cclass_mix;
|
|
755
|
+
struct {
|
|
756
|
+
UChar c;
|
|
757
|
+
} anychar_star_peek_next;
|
|
758
|
+
struct {
|
|
759
|
+
ModeType mode;
|
|
760
|
+
} word_boundary; /* OP_WORD_BOUNDARY, OP_NO_WORD_BOUNDARY, OP_WORD_BEGIN, OP_WORD_END */
|
|
678
761
|
struct {
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
} repeat;
|
|
762
|
+
enum TextSegmentBoundaryType type;
|
|
763
|
+
int not;
|
|
764
|
+
} text_segment_boundary;
|
|
683
765
|
struct {
|
|
684
|
-
|
|
685
|
-
}
|
|
766
|
+
enum CheckPositionType type;
|
|
767
|
+
} check_position;
|
|
686
768
|
struct {
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
769
|
+
union {
|
|
770
|
+
MemNumType n1; /* num == 1 */
|
|
771
|
+
MemNumType* ns; /* num > 1 */
|
|
772
|
+
};
|
|
773
|
+
int num;
|
|
774
|
+
int nest_level;
|
|
775
|
+
} backref_general; /* BACKREF_MULTI, BACKREF_MULTI_IC, BACKREF_WITH_LEVEL, BACKREF_CHECK, BACKREF_CHECK_WITH_LEVEL, */
|
|
693
776
|
struct {
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
} null_check;
|
|
697
|
-
#ifdef USE_SUBEXP_CALL
|
|
777
|
+
MemNumType n1;
|
|
778
|
+
} backref_n; /* BACKREF_N, BACKREF_N_IC */
|
|
698
779
|
struct {
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
780
|
+
MemNumType num;
|
|
781
|
+
} memory_start; /* MEMORY_START, MEMORY_START_PUSH */
|
|
782
|
+
struct {
|
|
783
|
+
MemNumType num;
|
|
784
|
+
} memory_end; /* MEMORY_END, MEMORY_END_REC, MEMORY_END_PUSH, MEMORY_END_PUSH_REC */
|
|
785
|
+
struct {
|
|
786
|
+
RelAddrType addr;
|
|
787
|
+
} jump;
|
|
788
|
+
struct {
|
|
789
|
+
RelAddrType addr;
|
|
790
|
+
} push;
|
|
791
|
+
struct {
|
|
792
|
+
RelAddrType addr;
|
|
793
|
+
UChar c;
|
|
794
|
+
} push_or_jump_exact1;
|
|
795
|
+
struct {
|
|
796
|
+
RelAddrType addr;
|
|
797
|
+
UChar c;
|
|
798
|
+
} push_if_peek_next;
|
|
799
|
+
struct {
|
|
800
|
+
MemNumType id;
|
|
801
|
+
} pop_to_mark;
|
|
802
|
+
struct {
|
|
803
|
+
MemNumType id;
|
|
804
|
+
RelAddrType addr;
|
|
805
|
+
} repeat; /* REPEAT, REPEAT_NG */
|
|
806
|
+
struct {
|
|
807
|
+
MemNumType id;
|
|
808
|
+
} repeat_inc; /* REPEAT_INC, REPEAT_INC_NG */
|
|
809
|
+
struct {
|
|
810
|
+
MemNumType mem;
|
|
811
|
+
} empty_check_start;
|
|
812
|
+
struct {
|
|
813
|
+
MemNumType mem;
|
|
814
|
+
MemStatusType empty_status_mem;
|
|
815
|
+
} empty_check_end; /* EMPTY_CHECK_END, EMPTY_CHECK_END_MEMST, EMPTY_CHECK_END_MEMST_PUSH */
|
|
816
|
+
struct {
|
|
817
|
+
RelAddrType addr;
|
|
818
|
+
} prec_read_not_start;
|
|
819
|
+
struct {
|
|
820
|
+
LengthType len;
|
|
821
|
+
} look_behind;
|
|
822
|
+
struct {
|
|
823
|
+
LengthType len;
|
|
824
|
+
RelAddrType addr;
|
|
825
|
+
} look_behind_not_start;
|
|
826
|
+
struct {
|
|
827
|
+
RelPositionType n; /* char relative position */
|
|
828
|
+
} move;
|
|
829
|
+
struct {
|
|
830
|
+
LengthType initial; /* char length */
|
|
831
|
+
LengthType remaining; /* char length */
|
|
832
|
+
RelAddrType addr;
|
|
833
|
+
} step_back_start;
|
|
834
|
+
struct {
|
|
835
|
+
MemNumType id;
|
|
836
|
+
int restore_pos; /* flag: restore current string position */
|
|
837
|
+
} cut_to_mark;
|
|
838
|
+
struct {
|
|
839
|
+
MemNumType id;
|
|
840
|
+
int save_pos; /* flag: save current string position */
|
|
841
|
+
} mark;
|
|
842
|
+
struct {
|
|
843
|
+
SaveType type;
|
|
844
|
+
MemNumType id;
|
|
845
|
+
} save_val;
|
|
846
|
+
struct {
|
|
847
|
+
UpdateVarType type;
|
|
848
|
+
MemNumType id;
|
|
849
|
+
int clear; /* UPDATE_VAR_RIGHT_RANGE_FROM_S_STACK or UPDATE_VAR_RIGHT_RANGE_FROM_STACK */
|
|
850
|
+
} update_var;
|
|
851
|
+
struct {
|
|
852
|
+
AbsAddrType addr;
|
|
853
|
+
#if defined(ONIG_DEBUG_MATCH_COUNTER) || defined(ONIG_DEBUG_CALL)
|
|
854
|
+
MemNumType called_mem;
|
|
703
855
|
#endif
|
|
704
|
-
|
|
705
|
-
|
|
856
|
+
} call;
|
|
857
|
+
#ifdef USE_CALLOUT
|
|
858
|
+
struct {
|
|
859
|
+
MemNumType num;
|
|
860
|
+
} callout_contents;
|
|
861
|
+
struct {
|
|
862
|
+
MemNumType num;
|
|
863
|
+
MemNumType id;
|
|
864
|
+
} callout_name;
|
|
865
|
+
#endif
|
|
866
|
+
};
|
|
867
|
+
} Operation;
|
|
706
868
|
|
|
707
869
|
typedef struct {
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
int
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
int best_len; /* for ONIG_OPTION_FIND_LONGEST */
|
|
716
|
-
UChar* best_s;
|
|
870
|
+
const UChar* pattern;
|
|
871
|
+
const UChar* pattern_end;
|
|
872
|
+
#ifdef USE_CALLOUT
|
|
873
|
+
void* tag_table;
|
|
874
|
+
int callout_num;
|
|
875
|
+
int callout_list_alloc;
|
|
876
|
+
CalloutListEntry* callout_list; /* index: callout num */
|
|
717
877
|
#endif
|
|
718
|
-
|
|
719
|
-
void* state_check_buff;
|
|
720
|
-
int state_check_buff_size;
|
|
721
|
-
#endif
|
|
722
|
-
} OnigMatchArg;
|
|
878
|
+
} RegexExt;
|
|
723
879
|
|
|
880
|
+
typedef struct {
|
|
881
|
+
int lower;
|
|
882
|
+
int upper;
|
|
883
|
+
union {
|
|
884
|
+
Operation* pcode; /* address of repeated body */
|
|
885
|
+
int offset;
|
|
886
|
+
} u;
|
|
887
|
+
} RepeatRange;
|
|
724
888
|
|
|
725
|
-
|
|
726
|
-
|
|
889
|
+
struct re_pattern_buffer {
|
|
890
|
+
/* common members of BBuf(bytes-buffer) */
|
|
891
|
+
Operation* ops;
|
|
892
|
+
#ifdef USE_DIRECT_THREADED_CODE
|
|
893
|
+
enum OpCode* ocs;
|
|
894
|
+
#endif
|
|
895
|
+
Operation* ops_curr;
|
|
896
|
+
unsigned int ops_used; /* used space for ops */
|
|
897
|
+
unsigned int ops_alloc; /* allocated space for ops */
|
|
898
|
+
unsigned char* string_pool;
|
|
899
|
+
unsigned char* string_pool_end;
|
|
900
|
+
|
|
901
|
+
int num_mem; /* used memory(...) num counted from 1 */
|
|
902
|
+
int num_repeat; /* OP_REPEAT/OP_REPEAT_NG id-counter */
|
|
903
|
+
int num_empty_check; /* OP_EMPTY_CHECK_START/END id counter */
|
|
904
|
+
int num_call; /* number of subexp call */
|
|
905
|
+
MemStatusType capture_history; /* (?@...) flag (1-31) */
|
|
906
|
+
MemStatusType push_mem_start; /* need backtrack flag */
|
|
907
|
+
MemStatusType push_mem_end; /* need backtrack flag */
|
|
908
|
+
int stack_pop_level;
|
|
909
|
+
int repeat_range_alloc;
|
|
910
|
+
RepeatRange* repeat_range;
|
|
911
|
+
|
|
912
|
+
OnigEncoding enc;
|
|
913
|
+
OnigOptionType options;
|
|
914
|
+
OnigSyntaxType* syntax;
|
|
915
|
+
OnigCaseFoldType case_fold_flag;
|
|
916
|
+
void* name_table;
|
|
917
|
+
|
|
918
|
+
/* optimization info (string search, char-map and anchors) */
|
|
919
|
+
int optimize; /* optimize flag */
|
|
920
|
+
int threshold_len; /* search str-length for apply optimize */
|
|
921
|
+
int anchor; /* BEGIN_BUF, BEGIN_POS, (SEMI_)END_BUF */
|
|
922
|
+
OnigLen anc_dist_min; /* (SEMI_)END_BUF anchor distance */
|
|
923
|
+
OnigLen anc_dist_max; /* (SEMI_)END_BUF anchor distance */
|
|
924
|
+
int sub_anchor; /* start-anchor for exact or map */
|
|
925
|
+
unsigned char *exact;
|
|
926
|
+
unsigned char *exact_end;
|
|
927
|
+
unsigned char map[CHAR_MAP_SIZE]; /* used as BMH skip or char-map */
|
|
928
|
+
int map_offset;
|
|
929
|
+
OnigLen dist_min; /* min-distance of exact or map */
|
|
930
|
+
OnigLen dist_max; /* max-distance of exact or map */
|
|
931
|
+
RegexExt* extp;
|
|
932
|
+
};
|
|
727
933
|
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
934
|
+
#define COP(reg) ((reg)->ops_curr)
|
|
935
|
+
#define COP_CURR_OFFSET(reg) ((reg)->ops_used - 1)
|
|
936
|
+
#define COP_CURR_OFFSET_BYTES(reg, p) \
|
|
937
|
+
((int )((char* )(&((reg)->ops_curr->p)) - (char* )((reg)->ops)))
|
|
732
938
|
|
|
733
|
-
extern void onig_add_end_call(void (*func)(void));
|
|
734
939
|
|
|
940
|
+
extern void onig_add_end_call(void (*func)(void));
|
|
941
|
+
extern void onig_warning(const char* s);
|
|
942
|
+
extern UChar* onig_error_code_to_format P_((int code));
|
|
943
|
+
extern void ONIG_VARIADIC_FUNC_ATTR onig_snprintf_with_pattern PV_((UChar buf[], int bufsize, OnigEncoding enc, UChar* pat, UChar* pat_end, const UChar *fmt, ...));
|
|
944
|
+
extern int onig_compile P_((regex_t* reg, const UChar* pattern, const UChar* pattern_end, OnigErrorInfo* einfo));
|
|
945
|
+
extern int onig_is_code_in_cc_len P_((int enclen, OnigCodePoint code, void* /* CClassNode* */ cc));
|
|
946
|
+
extern RegexExt* onig_get_regex_ext(regex_t* reg);
|
|
947
|
+
extern int onig_ext_set_pattern(regex_t* reg, const UChar* pattern, const UChar* pattern_end);
|
|
948
|
+
extern int onig_positive_int_multiply(int x, int y);
|
|
949
|
+
extern hash_table_type onig_st_init_strend_table_with_size P_((int size));
|
|
950
|
+
extern int onig_st_lookup_strend P_((hash_table_type table, const UChar* str_key, const UChar* end_key, hash_data_type *value));
|
|
951
|
+
extern int onig_st_insert_strend P_((hash_table_type table, const UChar* str_key, const UChar* end_key, hash_data_type value));
|
|
735
952
|
|
|
736
953
|
#ifdef ONIG_DEBUG
|
|
737
954
|
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
short int arg_type;
|
|
742
|
-
} OnigOpInfoType;
|
|
743
|
-
|
|
744
|
-
extern OnigOpInfoType OnigOpInfo[];
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
extern void onig_print_compiled_byte_code P_((FILE* f, UChar* bp, UChar** nextp, OnigEncoding enc));
|
|
955
|
+
#ifdef ONIG_DEBUG_COMPILE
|
|
956
|
+
extern void onig_print_compiled_byte_code_list(FILE* f, regex_t* reg);
|
|
957
|
+
#endif
|
|
748
958
|
|
|
749
959
|
#ifdef ONIG_DEBUG_STATISTICS
|
|
750
960
|
extern void onig_statistics_init P_((void));
|
|
751
|
-
extern
|
|
752
|
-
#endif
|
|
961
|
+
extern int onig_print_statistics P_((FILE* f));
|
|
753
962
|
#endif
|
|
754
963
|
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
extern
|
|
760
|
-
extern
|
|
761
|
-
extern
|
|
762
|
-
extern int
|
|
964
|
+
#endif /* ONIG_DEBUG */
|
|
965
|
+
|
|
966
|
+
#ifdef USE_CALLOUT
|
|
967
|
+
|
|
968
|
+
extern OnigCalloutType onig_get_callout_type_by_name_id(int name_id);
|
|
969
|
+
extern OnigCalloutFunc onig_get_callout_start_func_by_name_id(int id);
|
|
970
|
+
extern OnigCalloutFunc onig_get_callout_end_func_by_name_id(int id);
|
|
971
|
+
extern int onig_callout_tag_table_free(void* table);
|
|
972
|
+
extern void onig_free_reg_callout_list(int n, CalloutListEntry* list);
|
|
973
|
+
extern CalloutListEntry* onig_reg_callout_list_at(regex_t* reg, int num);
|
|
974
|
+
extern OnigCalloutFunc onig_get_callout_start_func(regex_t* reg, int callout_num);
|
|
975
|
+
|
|
976
|
+
/* for definition of builtin callout */
|
|
977
|
+
#define BC0_P(name, func) do {\
|
|
978
|
+
int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
|
|
979
|
+
id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
|
|
980
|
+
(UChar* )(name), (UChar* )((name) + len),\
|
|
981
|
+
ONIG_CALLOUT_IN_PROGRESS,\
|
|
982
|
+
onig_builtin_ ## func, 0, 0, 0, 0, 0);\
|
|
983
|
+
if (id < 0) return id;\
|
|
984
|
+
} while(0)
|
|
763
985
|
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
986
|
+
#define BC0_R(name, func) do {\
|
|
987
|
+
int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
|
|
988
|
+
id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
|
|
989
|
+
(UChar* )(name), (UChar* )((name) + len),\
|
|
990
|
+
ONIG_CALLOUT_IN_RETRACTION,\
|
|
991
|
+
onig_builtin_ ## func, 0, 0, 0, 0, 0);\
|
|
992
|
+
if (id < 0) return id;\
|
|
993
|
+
} while(0)
|
|
994
|
+
|
|
995
|
+
#define BC0_B(name, func) do {\
|
|
996
|
+
int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
|
|
997
|
+
id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
|
|
998
|
+
(UChar* )(name), (UChar* )((name) + len),\
|
|
999
|
+
ONIG_CALLOUT_IN_BOTH,\
|
|
1000
|
+
onig_builtin_ ## func, 0, 0, 0, 0, 0);\
|
|
1001
|
+
if (id < 0) return id;\
|
|
1002
|
+
} while(0)
|
|
1003
|
+
|
|
1004
|
+
#define BC_P(name, func, na, ts) do {\
|
|
1005
|
+
int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
|
|
1006
|
+
id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
|
|
1007
|
+
(UChar* )(name), (UChar* )((name) + len),\
|
|
1008
|
+
ONIG_CALLOUT_IN_PROGRESS,\
|
|
1009
|
+
onig_builtin_ ## func, 0, (na), (ts), 0, 0); \
|
|
1010
|
+
if (id < 0) return id;\
|
|
1011
|
+
} while(0)
|
|
1012
|
+
|
|
1013
|
+
#define BC_P_O(name, func, nts, ts, nopts, opts) do {\
|
|
1014
|
+
int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
|
|
1015
|
+
id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
|
|
1016
|
+
(UChar* )(name), (UChar* )((name) + len),\
|
|
1017
|
+
ONIG_CALLOUT_IN_PROGRESS,\
|
|
1018
|
+
onig_builtin_ ## func, 0, (nts), (ts), (nopts), (opts));\
|
|
1019
|
+
if (id < 0) return id;\
|
|
1020
|
+
} while(0)
|
|
1021
|
+
|
|
1022
|
+
#define BC_B(name, func, na, ts) do {\
|
|
1023
|
+
int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
|
|
1024
|
+
id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
|
|
1025
|
+
(UChar* )(name), (UChar* )((name) + len),\
|
|
1026
|
+
ONIG_CALLOUT_IN_BOTH,\
|
|
1027
|
+
onig_builtin_ ## func, 0, (na), (ts), 0, 0);\
|
|
1028
|
+
if (id < 0) return id;\
|
|
1029
|
+
} while(0)
|
|
1030
|
+
|
|
1031
|
+
#define BC_B_O(name, func, nts, ts, nopts, opts) do {\
|
|
1032
|
+
int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
|
|
1033
|
+
id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
|
|
1034
|
+
(UChar* )(name), (UChar* )((name) + len),\
|
|
1035
|
+
ONIG_CALLOUT_IN_BOTH,\
|
|
1036
|
+
onig_builtin_ ## func, 0, (nts), (ts), (nopts), (opts));\
|
|
1037
|
+
if (id < 0) return id;\
|
|
1038
|
+
} while(0)
|
|
1039
|
+
|
|
1040
|
+
#endif /* USE_CALLOUT */
|
|
772
1041
|
|
|
773
|
-
extern hash_table_type* onig_st_init_strend_table_with_size P_((int size));
|
|
774
|
-
extern int onig_st_lookup_strend P_((hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type *value));
|
|
775
|
-
extern int onig_st_insert_strend P_((hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type value));
|
|
776
1042
|
|
|
777
1043
|
typedef int (*ONIGENC_INIT_PROPERTY_LIST_FUNC_TYPE)(void);
|
|
778
1044
|
|