@port-labs/jq-node-bindings 0.0.13 → 0.0.15-dev1

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.
Files changed (453) hide show
  1. package/README.md +6 -1
  2. package/binding.gyp +41 -19
  3. package/configure +1 -1
  4. package/deps/jq/.gitattributes +12 -0
  5. package/deps/jq/AUTHORS +149 -43
  6. package/deps/jq/COPYING +75 -1
  7. package/deps/jq/ChangeLog +2 -2
  8. package/deps/jq/Makefile.am +106 -65
  9. package/deps/jq/NEWS.md +391 -0
  10. package/deps/jq/README.md +54 -52
  11. package/deps/jq/SECURITY.md +7 -0
  12. package/deps/jq/compile-ios.sh +106 -102
  13. package/deps/jq/configure.ac +72 -59
  14. package/deps/jq/docs/Pipfile +14 -0
  15. package/deps/jq/docs/Pipfile.lock +415 -0
  16. package/deps/jq/docs/README.md +15 -14
  17. package/deps/jq/docs/build_manpage.py +251 -0
  18. package/deps/jq/docs/build_mantests.py +21 -0
  19. package/deps/jq/docs/build_website.py +95 -0
  20. package/deps/jq/docs/content/download/default.yml +249 -0
  21. package/deps/jq/docs/content/index.yml +83 -0
  22. package/deps/jq/docs/content/{3.manual/v1.6 → manual/dev}/manual.yml +992 -452
  23. package/deps/jq/docs/content/{3.manual → manual}/v1.3/manual.yml +105 -116
  24. package/deps/jq/docs/content/{3.manual → manual}/v1.4/manual.yml +122 -129
  25. package/deps/jq/docs/content/{3.manual → manual}/v1.5/manual.yml +313 -262
  26. package/deps/jq/docs/content/{3.manual → manual/v1.6}/manual.yml +407 -332
  27. package/deps/jq/docs/content/manual/v1.7/manual.yml +3697 -0
  28. package/deps/jq/docs/content/tutorial/default.yml +337 -0
  29. package/deps/jq/docs/manual_schema.yml +60 -0
  30. package/deps/jq/docs/public/css/style.css +99 -0
  31. package/deps/jq/docs/public/icon.png +0 -0
  32. package/deps/jq/docs/public/icon.svg +1 -0
  33. package/deps/jq/docs/public/jq.svg +1 -0
  34. package/deps/jq/docs/public/js/manual-search.js +31 -49
  35. package/deps/jq/docs/templates/default.html.j2 +31 -0
  36. package/deps/jq/docs/templates/index.html.j2 +58 -0
  37. package/deps/jq/docs/templates/manual.html.j2 +120 -0
  38. package/deps/jq/docs/templates/shared/_footer.html.j2 +14 -0
  39. package/deps/jq/docs/templates/shared/_head.html.j2 +23 -0
  40. package/deps/jq/docs/templates/shared/_navbar.html.j2 +40 -0
  41. package/deps/jq/docs/validate_manual_schema.py +19 -0
  42. package/deps/jq/jq.1.prebuilt +1102 -294
  43. package/deps/jq/jq.spec +2 -3
  44. package/deps/jq/libjq.pc.in +11 -0
  45. package/deps/jq/m4/ax_pthread.m4 +522 -0
  46. package/deps/jq/modules/oniguruma/.travis.yml +17 -0
  47. package/deps/jq/modules/oniguruma/CMakeLists.txt +206 -41
  48. package/deps/jq/modules/oniguruma/COPYING +23 -25
  49. package/deps/jq/modules/oniguruma/HISTORY +368 -23
  50. package/deps/jq/modules/oniguruma/Makefile.am +61 -7
  51. package/deps/jq/modules/oniguruma/README +34 -20
  52. package/deps/jq/modules/oniguruma/README.md +106 -33
  53. package/deps/jq/modules/oniguruma/README_japanese +183 -0
  54. package/deps/jq/modules/oniguruma/autogen.sh +9 -0
  55. package/deps/jq/modules/oniguruma/cmake/Config.cmake.in +4 -0
  56. package/deps/jq/modules/oniguruma/configure.ac +66 -55
  57. package/deps/jq/modules/oniguruma/doc/API +485 -42
  58. package/deps/jq/modules/oniguruma/doc/API.ja +732 -293
  59. package/deps/jq/modules/oniguruma/doc/CALLOUTS.API +397 -0
  60. package/deps/jq/modules/oniguruma/doc/CALLOUTS.API.ja +393 -0
  61. package/deps/jq/modules/oniguruma/doc/CALLOUTS.BUILTIN +95 -0
  62. package/deps/jq/modules/oniguruma/doc/CALLOUTS.BUILTIN.ja +93 -0
  63. package/deps/jq/modules/oniguruma/doc/FAQ +3 -3
  64. package/deps/jq/modules/oniguruma/doc/FAQ.ja +8 -8
  65. package/deps/jq/modules/oniguruma/doc/RE +223 -63
  66. package/deps/jq/modules/oniguruma/doc/RE.ja +420 -265
  67. package/deps/jq/modules/oniguruma/doc/SYNTAX.md +1091 -0
  68. package/deps/jq/modules/oniguruma/doc/UNICODE_PROPERTIES +840 -697
  69. package/deps/jq/modules/oniguruma/harnesses/ascii_compatible.dict +113 -0
  70. package/deps/jq/modules/oniguruma/harnesses/base.c +749 -0
  71. package/deps/jq/modules/oniguruma/harnesses/deluxe.c +206 -0
  72. package/deps/jq/modules/oniguruma/harnesses/dict_conv.py +72 -0
  73. package/deps/jq/modules/oniguruma/harnesses/fuzzer.options +2 -0
  74. package/deps/jq/modules/oniguruma/harnesses/libfuzzer-onig.cpp +45 -0
  75. package/deps/jq/modules/oniguruma/harnesses/regset.c +392 -0
  76. package/deps/jq/modules/oniguruma/index.html +16 -5
  77. package/deps/jq/modules/oniguruma/index_ja.html +16 -5
  78. package/deps/jq/modules/oniguruma/make_win.bat +5 -0
  79. package/deps/jq/modules/oniguruma/make_win32.bat +5 -3
  80. package/deps/jq/modules/oniguruma/make_win64.bat +5 -3
  81. package/deps/jq/modules/oniguruma/onig-config.cmake.in +80 -0
  82. package/deps/jq/modules/oniguruma/onig-config.in +1 -1
  83. package/deps/jq/modules/oniguruma/oniguruma.pc.cmake.in +1 -1
  84. package/deps/jq/modules/oniguruma/oniguruma.pc.in +0 -1
  85. package/deps/jq/modules/oniguruma/sample/CMakeLists.txt +9 -2
  86. package/deps/jq/modules/oniguruma/sample/Makefile.am +24 -5
  87. package/deps/jq/modules/oniguruma/sample/bug_fix.c +13 -51
  88. package/deps/jq/modules/oniguruma/sample/callback_each_match.c +168 -0
  89. package/deps/jq/modules/oniguruma/sample/callout.c +268 -0
  90. package/deps/jq/modules/oniguruma/sample/count.c +125 -0
  91. package/deps/jq/modules/oniguruma/sample/crnl.c +6 -4
  92. package/deps/jq/modules/oniguruma/sample/echo.c +136 -0
  93. package/deps/jq/modules/oniguruma/sample/encode.c +53 -146
  94. package/deps/jq/modules/oniguruma/sample/listcap.c +18 -10
  95. package/deps/jq/modules/oniguruma/sample/names.c +10 -6
  96. package/deps/jq/modules/oniguruma/sample/posix.c +13 -2
  97. package/deps/jq/modules/oniguruma/sample/regset.c +95 -0
  98. package/deps/jq/modules/oniguruma/sample/scan.c +20 -6
  99. package/deps/jq/modules/oniguruma/sample/simple.c +8 -4
  100. package/deps/jq/modules/oniguruma/sample/sql.c +13 -8
  101. package/deps/jq/modules/oniguruma/sample/syntax.c +11 -10
  102. package/deps/jq/modules/oniguruma/sample/user_property.c +12 -7
  103. package/deps/jq/modules/oniguruma/src/Makefile.am +41 -15
  104. package/deps/jq/modules/oniguruma/src/Makefile.windows +196 -183
  105. package/deps/jq/modules/oniguruma/src/ascii.c +64 -7
  106. package/deps/jq/modules/oniguruma/src/big5.c +25 -15
  107. package/deps/jq/modules/oniguruma/src/config.h.cmake.in +7 -22
  108. package/deps/jq/modules/oniguruma/src/config.h.win32 +56 -84
  109. package/deps/jq/modules/oniguruma/src/config.h.win64 +56 -84
  110. package/deps/jq/modules/oniguruma/src/config.h.windows.in +62 -0
  111. package/deps/jq/modules/oniguruma/src/cp1251.c +14 -8
  112. package/deps/jq/modules/oniguruma/src/euc_jp.c +28 -30
  113. package/deps/jq/modules/oniguruma/src/euc_jp_prop.c +25 -32
  114. package/deps/jq/modules/oniguruma/src/euc_jp_prop.gperf +1 -2
  115. package/deps/jq/modules/oniguruma/src/euc_kr.c +27 -15
  116. package/deps/jq/modules/oniguruma/src/euc_tw.c +40 -17
  117. package/deps/jq/modules/oniguruma/src/gb18030.c +177 -119
  118. package/deps/jq/modules/oniguruma/src/gperf_fold_key_conv.py +12 -8
  119. package/deps/jq/modules/oniguruma/src/gperf_unfold_key_conv.py +8 -6
  120. package/deps/jq/modules/oniguruma/src/iso8859_1.c +92 -91
  121. package/deps/jq/modules/oniguruma/src/iso8859_10.c +13 -29
  122. package/deps/jq/modules/oniguruma/src/iso8859_11.c +4 -2
  123. package/deps/jq/modules/oniguruma/src/iso8859_13.c +13 -33
  124. package/deps/jq/modules/oniguruma/src/iso8859_14.c +13 -30
  125. package/deps/jq/modules/oniguruma/src/iso8859_15.c +13 -34
  126. package/deps/jq/modules/oniguruma/src/iso8859_16.c +13 -29
  127. package/deps/jq/modules/oniguruma/src/iso8859_2.c +13 -29
  128. package/deps/jq/modules/oniguruma/src/iso8859_3.c +13 -33
  129. package/deps/jq/modules/oniguruma/src/iso8859_4.c +13 -32
  130. package/deps/jq/modules/oniguruma/src/iso8859_5.c +16 -23
  131. package/deps/jq/modules/oniguruma/src/iso8859_6.c +4 -2
  132. package/deps/jq/modules/oniguruma/src/iso8859_7.c +14 -29
  133. package/deps/jq/modules/oniguruma/src/iso8859_8.c +4 -2
  134. package/deps/jq/modules/oniguruma/src/iso8859_9.c +13 -33
  135. package/deps/jq/modules/oniguruma/src/koi8.c +14 -27
  136. package/deps/jq/modules/oniguruma/src/koi8_r.c +12 -19
  137. package/deps/jq/modules/oniguruma/src/make_property.sh +21 -0
  138. package/deps/jq/modules/oniguruma/src/make_unicode_egcb.sh +7 -0
  139. package/deps/jq/modules/oniguruma/src/make_unicode_egcb_data.py +267 -0
  140. package/deps/jq/modules/oniguruma/src/make_unicode_fold.sh +25 -11
  141. package/deps/jq/modules/oniguruma/src/make_unicode_fold_data.py +206 -26
  142. package/deps/jq/modules/oniguruma/src/make_unicode_property.sh +19 -10
  143. package/deps/jq/modules/oniguruma/src/make_unicode_property_data.py +474 -375
  144. package/deps/jq/modules/oniguruma/src/make_unicode_wb.sh +7 -0
  145. package/deps/jq/modules/oniguruma/src/make_unicode_wb_data.py +267 -0
  146. package/deps/jq/modules/oniguruma/src/mktable.c +28 -24
  147. package/deps/jq/modules/oniguruma/src/onig_init.c +2 -2
  148. package/deps/jq/modules/oniguruma/src/oniggnu.h +7 -5
  149. package/deps/jq/modules/oniguruma/src/onigposix.h +40 -16
  150. package/deps/jq/modules/oniguruma/src/oniguruma.h +357 -107
  151. package/deps/jq/modules/oniguruma/src/regcomp.c +6214 -3933
  152. package/deps/jq/modules/oniguruma/src/regenc.c +197 -120
  153. package/deps/jq/modules/oniguruma/src/regenc.h +106 -63
  154. package/deps/jq/modules/oniguruma/src/regerror.c +112 -91
  155. package/deps/jq/modules/oniguruma/src/regexec.c +4876 -2010
  156. package/deps/jq/modules/oniguruma/src/regext.c +8 -8
  157. package/deps/jq/modules/oniguruma/src/reggnu.c +13 -17
  158. package/deps/jq/modules/oniguruma/src/regint.h +757 -491
  159. package/deps/jq/modules/oniguruma/src/regparse.c +7204 -3240
  160. package/deps/jq/modules/oniguruma/src/regparse.h +361 -218
  161. package/deps/jq/modules/oniguruma/src/regposerr.c +49 -9
  162. package/deps/jq/modules/oniguruma/src/regposix.c +106 -24
  163. package/deps/jq/modules/oniguruma/src/regsyntax.c +66 -13
  164. package/deps/jq/modules/oniguruma/src/regtrav.c +1 -1
  165. package/deps/jq/modules/oniguruma/src/regversion.c +6 -4
  166. package/deps/jq/modules/oniguruma/src/sjis.c +23 -52
  167. package/deps/jq/modules/oniguruma/src/sjis_prop.c +25 -32
  168. package/deps/jq/modules/oniguruma/src/sjis_prop.gperf +1 -2
  169. package/deps/jq/modules/oniguruma/src/st.c +248 -249
  170. package/deps/jq/modules/oniguruma/src/st.h +4 -5
  171. package/deps/jq/modules/oniguruma/src/unicode.c +869 -294
  172. package/deps/jq/modules/oniguruma/src/unicode_egcb_data.c +1419 -0
  173. package/deps/jq/modules/oniguruma/src/unicode_fold1_key.c +1829 -1300
  174. package/deps/jq/modules/oniguruma/src/unicode_fold2_key.c +32 -9
  175. package/deps/jq/modules/oniguruma/src/unicode_fold3_key.c +32 -9
  176. package/deps/jq/modules/oniguruma/src/unicode_fold_data.c +1210 -984
  177. package/deps/jq/modules/oniguruma/src/unicode_property_data.c +22480 -15198
  178. package/deps/jq/modules/oniguruma/src/unicode_property_data_posix.c +1463 -591
  179. package/deps/jq/modules/oniguruma/src/unicode_unfold_key.c +1958 -1418
  180. package/deps/jq/modules/oniguruma/src/unicode_wb_data.c +1106 -0
  181. package/deps/jq/modules/oniguruma/src/utf16_be.c +90 -49
  182. package/deps/jq/modules/oniguruma/src/utf16_le.c +80 -49
  183. package/deps/jq/modules/oniguruma/src/utf32_be.c +14 -42
  184. package/deps/jq/modules/oniguruma/src/utf32_le.c +13 -40
  185. package/deps/jq/modules/oniguruma/src/utf8.c +33 -78
  186. package/deps/jq/modules/oniguruma/test/CMakeLists.txt +55 -0
  187. package/deps/jq/modules/oniguruma/test/Makefile.am +65 -10
  188. package/deps/jq/modules/oniguruma/test/test.sh +17 -0
  189. package/deps/jq/modules/oniguruma/test/test_back.c +1450 -0
  190. package/deps/jq/modules/oniguruma/test/test_options.c +228 -0
  191. package/deps/jq/modules/oniguruma/test/test_regset.c +466 -0
  192. package/deps/jq/modules/oniguruma/test/test_syntax.c +365 -0
  193. package/deps/jq/modules/oniguruma/test/test_utf8.c +1761 -0
  194. package/deps/jq/modules/oniguruma/test/testc.c +128 -88
  195. package/deps/jq/modules/oniguruma/test/testp.c +613 -0
  196. package/deps/jq/modules/oniguruma/test/testu.c +75 -28
  197. package/deps/jq/modules/oniguruma/tis-ci/stub.c +3 -0
  198. package/deps/jq/modules/oniguruma/tis-ci/test_back.config +26 -0
  199. package/deps/jq/modules/oniguruma/tis-ci/test_regset.config +20 -0
  200. package/deps/jq/modules/oniguruma/tis-ci/test_syntax.config +26 -0
  201. package/deps/jq/modules/oniguruma/tis-ci/test_utf8.config +25 -0
  202. package/deps/jq/modules/oniguruma/tis-ci/testc.config +26 -0
  203. package/deps/jq/modules/oniguruma/tis-ci/testu.config +24 -0
  204. package/deps/jq/modules/oniguruma/tis.config +1336 -0
  205. package/deps/jq/modules/oniguruma/windows/CMakeLists.txt +8 -0
  206. package/deps/jq/modules/oniguruma/windows/testc.c +865 -869
  207. package/deps/jq/scripts/update-website +6 -5
  208. package/deps/jq/scripts/version +10 -7
  209. package/deps/jq/sig/jq-release-new.key +29 -0
  210. package/deps/jq/sig/v1.4/sha256sum.txt +1 -0
  211. package/deps/jq/sig/v1.5/sha256sum.txt +2 -0
  212. package/deps/jq/sig/v1.5rc1/sha256sum.txt +1 -0
  213. package/deps/jq/sig/v1.5rc2/sha256sum.txt +2 -0
  214. package/deps/jq/sig/v1.6/sha256sum.txt +2 -0
  215. package/deps/jq/sig/v1.7/jq-1.7.tar.gz.asc +16 -0
  216. package/deps/jq/sig/v1.7/jq-1.7.zip.asc +16 -0
  217. package/deps/jq/sig/v1.7/jq-linux-amd64.asc +16 -0
  218. package/deps/jq/sig/v1.7/jq-linux-arm64.asc +16 -0
  219. package/deps/jq/sig/v1.7/jq-linux-armel.asc +16 -0
  220. package/deps/jq/sig/v1.7/jq-linux-armhf.asc +16 -0
  221. package/deps/jq/sig/v1.7/jq-linux-i386.asc +16 -0
  222. package/deps/jq/sig/v1.7/jq-linux-mips.asc +16 -0
  223. package/deps/jq/sig/v1.7/jq-linux-mips64.asc +16 -0
  224. package/deps/jq/sig/v1.7/jq-linux-mips64el.asc +16 -0
  225. package/deps/jq/sig/v1.7/jq-linux-mips64r6.asc +16 -0
  226. package/deps/jq/sig/v1.7/jq-linux-mips64r6el.asc +16 -0
  227. package/deps/jq/sig/v1.7/jq-linux-mipsel.asc +16 -0
  228. package/deps/jq/sig/v1.7/jq-linux-mipsr6.asc +16 -0
  229. package/deps/jq/sig/v1.7/jq-linux-mipsr6el.asc +16 -0
  230. package/deps/jq/sig/v1.7/jq-linux-powerpc.asc +16 -0
  231. package/deps/jq/sig/v1.7/jq-linux-ppc64el.asc +16 -0
  232. package/deps/jq/sig/v1.7/jq-linux-riscv64.asc +16 -0
  233. package/deps/jq/sig/v1.7/jq-linux-s390x.asc +16 -0
  234. package/deps/jq/sig/v1.7/jq-macos-amd64.asc +16 -0
  235. package/deps/jq/sig/v1.7/jq-macos-arm64.asc +16 -0
  236. package/deps/jq/sig/v1.7/jq-windows-amd64.exe.asc +16 -0
  237. package/deps/jq/sig/v1.7/jq-windows-i386.exe.asc +16 -0
  238. package/deps/jq/sig/v1.7/sha256sum.txt +23 -0
  239. package/deps/jq/sig/v1.7.1/jq-1.7.1.tar.gz.asc +16 -0
  240. package/deps/jq/sig/v1.7.1/jq-1.7.1.zip.asc +16 -0
  241. package/deps/jq/sig/v1.7.1/jq-linux-amd64.asc +16 -0
  242. package/deps/jq/sig/v1.7.1/jq-linux-arm64.asc +16 -0
  243. package/deps/jq/sig/v1.7.1/jq-linux-armel.asc +16 -0
  244. package/deps/jq/sig/v1.7.1/jq-linux-armhf.asc +16 -0
  245. package/deps/jq/sig/v1.7.1/jq-linux-i386.asc +16 -0
  246. package/deps/jq/sig/v1.7.1/jq-linux-mips.asc +16 -0
  247. package/deps/jq/sig/v1.7.1/jq-linux-mips64.asc +16 -0
  248. package/deps/jq/sig/v1.7.1/jq-linux-mips64el.asc +16 -0
  249. package/deps/jq/sig/v1.7.1/jq-linux-mips64r6.asc +16 -0
  250. package/deps/jq/sig/v1.7.1/jq-linux-mips64r6el.asc +16 -0
  251. package/deps/jq/sig/v1.7.1/jq-linux-mipsel.asc +16 -0
  252. package/deps/jq/sig/v1.7.1/jq-linux-mipsr6.asc +16 -0
  253. package/deps/jq/sig/v1.7.1/jq-linux-mipsr6el.asc +16 -0
  254. package/deps/jq/sig/v1.7.1/jq-linux-powerpc.asc +16 -0
  255. package/deps/jq/sig/v1.7.1/jq-linux-ppc64el.asc +16 -0
  256. package/deps/jq/sig/v1.7.1/jq-linux-riscv64.asc +16 -0
  257. package/deps/jq/sig/v1.7.1/jq-linux-s390x.asc +16 -0
  258. package/deps/jq/sig/v1.7.1/jq-linux64.asc +16 -0
  259. package/deps/jq/sig/v1.7.1/jq-macos-amd64.asc +16 -0
  260. package/deps/jq/sig/v1.7.1/jq-macos-arm64.asc +16 -0
  261. package/deps/jq/sig/v1.7.1/jq-osx-amd64.asc +16 -0
  262. package/deps/jq/sig/v1.7.1/jq-win64.exe.asc +16 -0
  263. package/deps/jq/sig/v1.7.1/jq-windows-amd64.exe.asc +16 -0
  264. package/deps/jq/sig/v1.7.1/jq-windows-i386.exe.asc +16 -0
  265. package/deps/jq/sig/v1.7.1/sha256sum.txt +26 -0
  266. package/deps/jq/sig/v1.7rc1/jq-1.7rc1.tar.gz.asc +16 -0
  267. package/deps/jq/sig/v1.7rc1/jq-1.7rc1.zip.asc +16 -0
  268. package/deps/jq/sig/v1.7rc1/jq-linux-amd64.asc +16 -0
  269. package/deps/jq/sig/v1.7rc1/jq-linux-arm64.asc +16 -0
  270. package/deps/jq/sig/v1.7rc1/jq-linux-armel.asc +16 -0
  271. package/deps/jq/sig/v1.7rc1/jq-linux-armhf.asc +16 -0
  272. package/deps/jq/sig/v1.7rc1/jq-linux-i386.asc +16 -0
  273. package/deps/jq/sig/v1.7rc1/jq-linux-mips.asc +16 -0
  274. package/deps/jq/sig/v1.7rc1/jq-linux-mips64.asc +16 -0
  275. package/deps/jq/sig/v1.7rc1/jq-linux-mips64el.asc +16 -0
  276. package/deps/jq/sig/v1.7rc1/jq-linux-mips64r6.asc +16 -0
  277. package/deps/jq/sig/v1.7rc1/jq-linux-mips64r6el.asc +16 -0
  278. package/deps/jq/sig/v1.7rc1/jq-linux-mipsel.asc +16 -0
  279. package/deps/jq/sig/v1.7rc1/jq-linux-mipsr6.asc +16 -0
  280. package/deps/jq/sig/v1.7rc1/jq-linux-mipsr6el.asc +16 -0
  281. package/deps/jq/sig/v1.7rc1/jq-linux-powerpc.asc +16 -0
  282. package/deps/jq/sig/v1.7rc1/jq-linux-ppc64el.asc +16 -0
  283. package/deps/jq/sig/v1.7rc1/jq-linux-riscv64.asc +16 -0
  284. package/deps/jq/sig/v1.7rc1/jq-linux-s390x.asc +16 -0
  285. package/deps/jq/sig/v1.7rc1/jq-macos-amd64.asc +16 -0
  286. package/deps/jq/sig/v1.7rc1/jq-macos-arm64.asc +16 -0
  287. package/deps/jq/sig/v1.7rc1/jq-windows-amd64.exe.asc +16 -0
  288. package/deps/jq/sig/v1.7rc1/jq-windows-i386.exe.asc +16 -0
  289. package/deps/jq/sig/v1.7rc1/sha256sum.txt +23 -0
  290. package/deps/jq/sig/v1.7rc2/jq-1.7rc2.tar.gz.asc +16 -0
  291. package/deps/jq/sig/v1.7rc2/jq-1.7rc2.zip.asc +16 -0
  292. package/deps/jq/sig/v1.7rc2/jq-linux-amd64.asc +16 -0
  293. package/deps/jq/sig/v1.7rc2/jq-linux-arm64.asc +16 -0
  294. package/deps/jq/sig/v1.7rc2/jq-linux-armel.asc +16 -0
  295. package/deps/jq/sig/v1.7rc2/jq-linux-armhf.asc +16 -0
  296. package/deps/jq/sig/v1.7rc2/jq-linux-i386.asc +16 -0
  297. package/deps/jq/sig/v1.7rc2/jq-linux-mips.asc +16 -0
  298. package/deps/jq/sig/v1.7rc2/jq-linux-mips64.asc +16 -0
  299. package/deps/jq/sig/v1.7rc2/jq-linux-mips64el.asc +16 -0
  300. package/deps/jq/sig/v1.7rc2/jq-linux-mips64r6.asc +16 -0
  301. package/deps/jq/sig/v1.7rc2/jq-linux-mips64r6el.asc +16 -0
  302. package/deps/jq/sig/v1.7rc2/jq-linux-mipsel.asc +16 -0
  303. package/deps/jq/sig/v1.7rc2/jq-linux-mipsr6.asc +16 -0
  304. package/deps/jq/sig/v1.7rc2/jq-linux-mipsr6el.asc +16 -0
  305. package/deps/jq/sig/v1.7rc2/jq-linux-powerpc.asc +16 -0
  306. package/deps/jq/sig/v1.7rc2/jq-linux-ppc64el.asc +16 -0
  307. package/deps/jq/sig/v1.7rc2/jq-linux-riscv64.asc +16 -0
  308. package/deps/jq/sig/v1.7rc2/jq-linux-s390x.asc +16 -0
  309. package/deps/jq/sig/v1.7rc2/jq-macos-amd64.asc +16 -0
  310. package/deps/jq/sig/v1.7rc2/jq-macos-arm64.asc +16 -0
  311. package/deps/jq/sig/v1.7rc2/jq-windows-amd64.exe.asc +16 -0
  312. package/deps/jq/sig/v1.7rc2/jq-windows-i386.exe.asc +16 -0
  313. package/deps/jq/sig/v1.7rc2/sha256sum.txt +23 -0
  314. package/deps/jq/src/builtin.c +537 -343
  315. package/deps/jq/src/builtin.h +18 -0
  316. package/deps/jq/src/builtin.jq +116 -143
  317. package/deps/jq/src/bytecode.h +8 -4
  318. package/deps/jq/src/compile.c +157 -143
  319. package/deps/jq/src/compile.h +3 -4
  320. package/deps/jq/src/decNumber/ICU-license.html +45 -0
  321. package/deps/jq/src/decNumber/decBasic.c +3908 -0
  322. package/deps/jq/src/decNumber/decCommon.c +1835 -0
  323. package/deps/jq/src/decNumber/decContext.c +437 -0
  324. package/deps/jq/src/decNumber/decContext.h +254 -0
  325. package/deps/jq/src/decNumber/decDPD.h +1185 -0
  326. package/deps/jq/src/decNumber/decDouble.c +140 -0
  327. package/deps/jq/src/decNumber/decDouble.h +155 -0
  328. package/deps/jq/src/decNumber/decNumber.c +8143 -0
  329. package/deps/jq/src/decNumber/decNumber.h +182 -0
  330. package/deps/jq/src/decNumber/decNumberLocal.h +757 -0
  331. package/deps/jq/src/decNumber/decPacked.c +220 -0
  332. package/deps/jq/src/decNumber/decPacked.h +52 -0
  333. package/deps/jq/src/decNumber/decQuad.c +135 -0
  334. package/deps/jq/src/decNumber/decQuad.h +177 -0
  335. package/deps/jq/src/decNumber/decSingle.c +71 -0
  336. package/deps/jq/src/decNumber/decSingle.h +86 -0
  337. package/deps/jq/src/decNumber/decimal128.c +553 -0
  338. package/deps/jq/src/decNumber/decimal128.h +81 -0
  339. package/deps/jq/src/decNumber/decimal32.c +476 -0
  340. package/deps/jq/src/decNumber/decimal32.h +81 -0
  341. package/deps/jq/src/decNumber/decimal64.c +839 -0
  342. package/deps/jq/src/decNumber/decimal64.h +83 -0
  343. package/deps/jq/src/decNumber/decnumber.pdf +0 -0
  344. package/deps/jq/src/decNumber/example1.c +38 -0
  345. package/deps/jq/src/decNumber/example2.c +52 -0
  346. package/deps/jq/src/decNumber/example3.c +64 -0
  347. package/deps/jq/src/decNumber/example4.c +61 -0
  348. package/deps/jq/src/decNumber/example5.c +36 -0
  349. package/deps/jq/src/decNumber/example6.c +61 -0
  350. package/deps/jq/src/decNumber/example7.c +35 -0
  351. package/deps/jq/src/decNumber/example8.c +39 -0
  352. package/deps/jq/src/decNumber/readme.txt +81 -0
  353. package/deps/jq/src/exec_stack.h +5 -3
  354. package/deps/jq/src/execute.c +126 -44
  355. package/deps/jq/src/inject_errors.c +0 -2
  356. package/deps/jq/src/jq.h +10 -1
  357. package/deps/jq/src/jq_test.c +222 -11
  358. package/deps/jq/src/jv.c +807 -176
  359. package/deps/jq/src/jv.h +22 -1
  360. package/deps/jq/src/jv_alloc.c +33 -26
  361. package/deps/jq/src/jv_alloc.h +0 -11
  362. package/deps/jq/src/jv_aux.c +153 -67
  363. package/deps/jq/src/jv_dtoa.c +12 -2
  364. package/deps/jq/src/jv_dtoa_tsd.c +51 -0
  365. package/deps/jq/src/jv_dtoa_tsd.h +4 -0
  366. package/deps/jq/src/jv_parse.c +70 -15
  367. package/deps/jq/src/jv_print.c +56 -60
  368. package/deps/jq/src/jv_private.h +7 -0
  369. package/deps/jq/src/jv_thread.h +76 -0
  370. package/deps/jq/src/jv_unicode.c +18 -0
  371. package/deps/jq/src/jv_unicode.h +2 -0
  372. package/deps/jq/src/lexer.c +782 -543
  373. package/deps/jq/src/lexer.h +438 -64
  374. package/deps/jq/src/lexer.l +10 -3
  375. package/deps/jq/src/libm.h +16 -6
  376. package/deps/jq/src/linker.c +97 -40
  377. package/deps/jq/src/locfile.c +2 -1
  378. package/deps/jq/src/main.c +384 -336
  379. package/deps/jq/src/opcode_list.h +5 -2
  380. package/deps/jq/src/parser.c +2260 -1898
  381. package/deps/jq/src/parser.h +115 -98
  382. package/deps/jq/src/parser.y +124 -89
  383. package/deps/jq/src/util.c +854 -55
  384. package/deps/jq/src/util.h +6 -4
  385. package/deps/jq/tests/jq.test +762 -26
  386. package/deps/jq/tests/jq_fuzz_compile.c +27 -0
  387. package/deps/jq/tests/jq_fuzz_execute.cpp +42 -0
  388. package/deps/jq/tests/jq_fuzz_fixed.cpp +297 -0
  389. package/deps/jq/tests/jq_fuzz_load_file.c +28 -0
  390. package/deps/jq/tests/jq_fuzz_parse.c +21 -0
  391. package/deps/jq/tests/jq_fuzz_parse_extended.c +36 -0
  392. package/deps/jq/tests/jq_fuzz_parse_stream.c +21 -0
  393. package/deps/jq/tests/local.supp +14 -0
  394. package/deps/jq/tests/man.test +979 -0
  395. package/deps/jq/tests/manonig.test +76 -0
  396. package/deps/jq/tests/manonigtest +5 -0
  397. package/deps/jq/tests/mantest +1 -2
  398. package/deps/jq/tests/modules/home2/.jq/g.jq +1 -0
  399. package/deps/jq/tests/modules/shadow1.jq +2 -0
  400. package/deps/jq/tests/modules/shadow2.jq +1 -0
  401. package/deps/jq/tests/modules/test_bind_order0.jq +1 -0
  402. package/deps/jq/tests/modules/test_bind_order1.jq +1 -1
  403. package/deps/jq/tests/modules/test_bind_order2.jq +0 -1
  404. package/deps/jq/tests/no-main-program.jq +1 -0
  405. package/deps/jq/tests/onig.test +77 -2
  406. package/deps/jq/tests/setup +7 -2
  407. package/deps/jq/tests/shtest +478 -59
  408. package/deps/jq/tests/uri.test +38 -0
  409. package/deps/jq/tests/uritest +5 -0
  410. package/deps/jq/tests/yes-main-program.jq +2 -0
  411. package/lib/index.js +3 -0
  412. package/lib/jq.js +15 -1
  413. package/lib/templateAsync.js +137 -0
  414. package/package.json +7 -7
  415. package/src/binding.cc +623 -146
  416. package/src/binding.h +3 -4
  417. package/test/santiy-async.test.js +171 -0
  418. package/test/santiy.test.js +2 -2
  419. package/test/template-async.test.js +182 -0
  420. package/test/template.test.js +3 -3
  421. package/deps/jq/.travis.yml +0 -202
  422. package/deps/jq/NEWS +0 -89
  423. package/deps/jq/appveyor.yml +0 -53
  424. package/deps/jq/docs/Gemfile +0 -7
  425. package/deps/jq/docs/Gemfile.lock +0 -63
  426. package/deps/jq/docs/Rakefile +0 -24
  427. package/deps/jq/docs/Rakefile.manual +0 -49
  428. package/deps/jq/docs/Rakefile.website +0 -76
  429. package/deps/jq/docs/content/1.tutorial/default.yml +0 -327
  430. package/deps/jq/docs/content/2.download/default.yml +0 -193
  431. package/deps/jq/docs/content/index/index.yml +0 -73
  432. package/deps/jq/docs/public/css/base.scss +0 -181
  433. package/deps/jq/docs/public/jq.png +0 -0
  434. package/deps/jq/docs/site.yml +0 -9
  435. package/deps/jq/docs/templates/default.liquid +0 -34
  436. package/deps/jq/docs/templates/index.liquid +0 -73
  437. package/deps/jq/docs/templates/manual.liquid +0 -99
  438. package/deps/jq/docs/templates/shared/_footer.liquid +0 -10
  439. package/deps/jq/docs/templates/shared/_head.liquid +0 -17
  440. package/deps/jq/docs/templates/shared/_navbar.liquid +0 -27
  441. package/deps/jq/modules/oniguruma/README.ja +0 -195
  442. package/deps/jq/modules/oniguruma/cmake/dist.cmake +0 -321
  443. package/deps/jq/modules/oniguruma/contributed/libfuzzer-onig.cpp +0 -31
  444. package/deps/jq/modules/oniguruma/dist.info +0 -10
  445. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold1_key.c +0 -2250
  446. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold2_key.c +0 -203
  447. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold3_key.c +0 -113
  448. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold_data.c +0 -1225
  449. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data.c +0 -24742
  450. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data_posix.c +0 -4846
  451. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_unfold_key.c +0 -2571
  452. /package/deps/jq/sig/{jq-release.key → jq-release-old.key} +0 -0
  453. /package/deps/jq/tests/modules/{.jq → home1/.jq} +0 -0
@@ -4,7 +4,7 @@
4
4
  regparse.h - Oniguruma (regular expression library)
5
5
  **********************************************************************/
6
6
  /*-
7
- * Copyright (c) 2002-2007 K.Kosako <sndgk393 AT ybb DOT ne DOT jp>
7
+ * Copyright (c) 2002-2022 K.Kosako
8
8
  * All rights reserved.
9
9
  *
10
10
  * Redistribution and use in source and binary forms, with or without
@@ -31,173 +31,128 @@
31
31
 
32
32
  #include "regint.h"
33
33
 
34
+ #define ND_STRING_MARGIN 16
35
+ #define ND_STRING_BUF_SIZE 24 /* sizeof(CClassNode) - sizeof(int)*4 */
36
+ #define ND_BACKREFS_SIZE 6
37
+
34
38
  /* node type */
35
- #define NT_STR 0
36
- #define NT_CCLASS 1
37
- #define NT_CTYPE 2
38
- #define NT_CANY 3
39
- #define NT_BREF 4
40
- #define NT_QTFR 5
41
- #define NT_ENCLOSE 6
42
- #define NT_ANCHOR 7
43
- #define NT_LIST 8
44
- #define NT_ALT 9
45
- #define NT_CALL 10
39
+ typedef enum {
40
+ ND_STRING = 0,
41
+ ND_CCLASS = 1,
42
+ ND_CTYPE = 2,
43
+ ND_BACKREF = 3,
44
+ ND_QUANT = 4,
45
+ ND_BAG = 5,
46
+ ND_ANCHOR = 6,
47
+ ND_LIST = 7,
48
+ ND_ALT = 8,
49
+ ND_CALL = 9,
50
+ ND_GIMMICK = 10
51
+ } NodeType;
52
+
53
+ enum BagType {
54
+ BAG_MEMORY = 0,
55
+ BAG_OPTION = 1,
56
+ BAG_STOP_BACKTRACK = 2,
57
+ BAG_IF_ELSE = 3,
58
+ };
59
+
60
+ enum GimmickType {
61
+ GIMMICK_FAIL = 0,
62
+ GIMMICK_SAVE = 1,
63
+ GIMMICK_UPDATE_VAR = 2,
64
+ #ifdef USE_CALLOUT
65
+ GIMMICK_CALLOUT = 3,
66
+ #endif
67
+ };
46
68
 
47
- /* node type bit */
48
- #define NTYPE2BIT(type) (1<<(type))
49
-
50
- #define BIT_NT_STR NTYPE2BIT(NT_STR)
51
- #define BIT_NT_CCLASS NTYPE2BIT(NT_CCLASS)
52
- #define BIT_NT_CTYPE NTYPE2BIT(NT_CTYPE)
53
- #define BIT_NT_CANY NTYPE2BIT(NT_CANY)
54
- #define BIT_NT_BREF NTYPE2BIT(NT_BREF)
55
- #define BIT_NT_QTFR NTYPE2BIT(NT_QTFR)
56
- #define BIT_NT_ENCLOSE NTYPE2BIT(NT_ENCLOSE)
57
- #define BIT_NT_ANCHOR NTYPE2BIT(NT_ANCHOR)
58
- #define BIT_NT_LIST NTYPE2BIT(NT_LIST)
59
- #define BIT_NT_ALT NTYPE2BIT(NT_ALT)
60
- #define BIT_NT_CALL NTYPE2BIT(NT_CALL)
61
-
62
- #define IS_NODE_TYPE_SIMPLE(type) \
63
- ((NTYPE2BIT(type) & (BIT_NT_STR | BIT_NT_CCLASS | BIT_NT_CTYPE |\
64
- BIT_NT_CANY | BIT_NT_BREF)) != 0)
65
-
66
- #define NTYPE(node) ((node)->u.base.type)
67
- #define SET_NTYPE(node, ntype) (node)->u.base.type = (ntype)
68
-
69
- #define NSTR(node) (&((node)->u.str))
70
- #define NCCLASS(node) (&((node)->u.cclass))
71
- #define NCTYPE(node) (&((node)->u.ctype))
72
- #define NBREF(node) (&((node)->u.bref))
73
- #define NQTFR(node) (&((node)->u.qtfr))
74
- #define NENCLOSE(node) (&((node)->u.enclose))
75
- #define NANCHOR(node) (&((node)->u.anchor))
76
- #define NCONS(node) (&((node)->u.cons))
77
- #define NCALL(node) (&((node)->u.call))
78
-
79
- #define NCAR(node) (NCONS(node)->car)
80
- #define NCDR(node) (NCONS(node)->cdr)
81
-
82
-
83
-
84
- #define ANCHOR_ANYCHAR_STAR_MASK (ANCHOR_ANYCHAR_STAR | ANCHOR_ANYCHAR_STAR_ML)
85
- #define ANCHOR_END_BUF_MASK (ANCHOR_END_BUF | ANCHOR_SEMI_END_BUF)
86
-
87
- #define ENCLOSE_MEMORY (1<<0)
88
- #define ENCLOSE_OPTION (1<<1)
89
- #define ENCLOSE_STOP_BACKTRACK (1<<2)
90
-
91
- #define NODE_STR_MARGIN 16
92
- #define NODE_STR_BUF_SIZE 24 /* sizeof(CClassNode) - sizeof(int)*4 */
93
- #define NODE_BACKREFS_SIZE 6
94
-
95
- #define NSTR_RAW (1<<0) /* by backslashed number */
96
- #define NSTR_AMBIG (1<<1)
97
- #define NSTR_DONT_GET_OPT_INFO (1<<2)
98
-
99
- #define NSTRING_LEN(node) ((node)->u.str.end - (node)->u.str.s)
100
- #define NSTRING_SET_RAW(node) (node)->u.str.flag |= NSTR_RAW
101
- #define NSTRING_CLEAR_RAW(node) (node)->u.str.flag &= ~NSTR_RAW
102
- #define NSTRING_SET_AMBIG(node) (node)->u.str.flag |= NSTR_AMBIG
103
- #define NSTRING_SET_DONT_GET_OPT_INFO(node) \
104
- (node)->u.str.flag |= NSTR_DONT_GET_OPT_INFO
105
- #define NSTRING_IS_RAW(node) (((node)->u.str.flag & NSTR_RAW) != 0)
106
- #define NSTRING_IS_AMBIG(node) (((node)->u.str.flag & NSTR_AMBIG) != 0)
107
- #define NSTRING_IS_DONT_GET_OPT_INFO(node) \
108
- (((node)->u.str.flag & NSTR_DONT_GET_OPT_INFO) != 0)
69
+ enum BodyEmptyType {
70
+ BODY_IS_NOT_EMPTY = 0,
71
+ BODY_MAY_BE_EMPTY = 1,
72
+ BODY_MAY_BE_EMPTY_MEM = 2,
73
+ BODY_MAY_BE_EMPTY_REC = 3
74
+ };
109
75
 
110
- #define BACKREFS_P(br) \
111
- (IS_NOT_NULL((br)->back_dynamic) ? (br)->back_dynamic : (br)->back_static);
112
-
113
- #define NQ_TARGET_ISNOT_EMPTY 0
114
- #define NQ_TARGET_IS_EMPTY 1
115
- #define NQ_TARGET_IS_EMPTY_MEM 2
116
- #define NQ_TARGET_IS_EMPTY_REC 3
117
-
118
- /* status bits */
119
- #define NST_MIN_FIXED (1<<0)
120
- #define NST_MAX_FIXED (1<<1)
121
- #define NST_CLEN_FIXED (1<<2)
122
- #define NST_MARK1 (1<<3)
123
- #define NST_MARK2 (1<<4)
124
- #define NST_MEM_BACKREFED (1<<5)
125
- #define NST_STOP_BT_SIMPLE_REPEAT (1<<6)
126
- #define NST_RECURSION (1<<7)
127
- #define NST_CALLED (1<<8)
128
- #define NST_ADDR_FIXED (1<<9)
129
- #define NST_NAMED_GROUP (1<<10)
130
- #define NST_NAME_REF (1<<11)
131
- #define NST_IN_REPEAT (1<<12) /* STK_REPEAT is nested in stack. */
132
- #define NST_NEST_LEVEL (1<<13)
133
- #define NST_BY_NUMBER (1<<14) /* {n,m} */
134
-
135
- #define SET_ENCLOSE_STATUS(node,f) (node)->u.enclose.state |= (f)
136
- #define CLEAR_ENCLOSE_STATUS(node,f) (node)->u.enclose.state &= ~(f)
137
-
138
- #define IS_ENCLOSE_CALLED(en) (((en)->state & NST_CALLED) != 0)
139
- #define IS_ENCLOSE_ADDR_FIXED(en) (((en)->state & NST_ADDR_FIXED) != 0)
140
- #define IS_ENCLOSE_RECURSION(en) (((en)->state & NST_RECURSION) != 0)
141
- #define IS_ENCLOSE_MARK1(en) (((en)->state & NST_MARK1) != 0)
142
- #define IS_ENCLOSE_MARK2(en) (((en)->state & NST_MARK2) != 0)
143
- #define IS_ENCLOSE_MIN_FIXED(en) (((en)->state & NST_MIN_FIXED) != 0)
144
- #define IS_ENCLOSE_MAX_FIXED(en) (((en)->state & NST_MAX_FIXED) != 0)
145
- #define IS_ENCLOSE_CLEN_FIXED(en) (((en)->state & NST_CLEN_FIXED) != 0)
146
- #define IS_ENCLOSE_STOP_BT_SIMPLE_REPEAT(en) \
147
- (((en)->state & NST_STOP_BT_SIMPLE_REPEAT) != 0)
148
- #define IS_ENCLOSE_NAMED_GROUP(en) (((en)->state & NST_NAMED_GROUP) != 0)
149
-
150
- #define SET_CALL_RECURSION(node) (node)->u.call.state |= NST_RECURSION
151
- #define IS_CALL_RECURSION(cn) (((cn)->state & NST_RECURSION) != 0)
152
- #define IS_CALL_NAME_REF(cn) (((cn)->state & NST_NAME_REF) != 0)
153
- #define IS_BACKREF_NAME_REF(bn) (((bn)->state & NST_NAME_REF) != 0)
154
- #define IS_BACKREF_NEST_LEVEL(bn) (((bn)->state & NST_NEST_LEVEL) != 0)
155
- #define IS_QUANTIFIER_IN_REPEAT(qn) (((qn)->state & NST_IN_REPEAT) != 0)
156
- #define IS_QUANTIFIER_BY_NUMBER(qn) (((qn)->state & NST_BY_NUMBER) != 0)
157
-
158
- #define CALLNODE_REFNUM_UNDEF -1
76
+ /* bytes buffer */
77
+ typedef struct _BBuf {
78
+ UChar* p;
79
+ unsigned int used;
80
+ unsigned int alloc;
81
+ } BBuf;
82
+
83
+
84
+ struct _Node;
159
85
 
160
86
  typedef struct {
161
- NodeBase base;
87
+ NodeType node_type;
88
+ int status;
89
+ struct _Node* parent;
90
+
162
91
  UChar* s;
163
92
  UChar* end;
164
93
  unsigned int flag;
165
- int capa; /* (allocated size - 1) or 0: use buf[] */
166
- UChar buf[NODE_STR_BUF_SIZE];
94
+ UChar buf[ND_STRING_BUF_SIZE];
95
+ int capacity; /* (allocated size - 1) or 0: use buf[] */
167
96
  } StrNode;
168
97
 
169
98
  typedef struct {
170
- NodeBase base;
171
- int state;
172
- struct _Node* target;
99
+ NodeType node_type;
100
+ int status;
101
+ struct _Node* parent;
102
+
103
+ unsigned int flags;
104
+ BitSet bs;
105
+ BBuf* mbuf; /* multi-byte info or NULL */
106
+ } CClassNode;
107
+
108
+ typedef struct {
109
+ NodeType node_type;
110
+ int status;
111
+ struct _Node* parent;
112
+ struct _Node* body;
113
+
173
114
  int lower;
174
115
  int upper;
175
116
  int greedy;
176
- int target_empty_info;
117
+ enum BodyEmptyType emptiness;
177
118
  struct _Node* head_exact;
178
119
  struct _Node* next_head_exact;
179
- int is_refered; /* include called node. don't eliminate even if {0} */
180
- #ifdef USE_COMBINATION_EXPLOSION_CHECK
181
- int comb_exp_check_num; /* 1,2,3...: check, 0: no check */
182
- #endif
183
- } QtfrNode;
120
+ int include_referred; /* include called node. don't eliminate even if {0} */
121
+ MemStatusType empty_status_mem;
122
+ } QuantNode;
184
123
 
185
124
  typedef struct {
186
- NodeBase base;
187
- int state;
188
- int type;
189
- int regnum;
190
- OnigOptionType option;
191
- struct _Node* target;
192
- AbsAddrType call_addr;
125
+ NodeType node_type;
126
+ int status;
127
+ struct _Node* parent;
128
+ struct _Node* body;
129
+
130
+ enum BagType type;
131
+ union {
132
+ struct {
133
+ int regnum;
134
+ AbsAddrType called_addr;
135
+ int entry_count;
136
+ int called_state;
137
+ } m;
138
+ struct {
139
+ OnigOptionType options;
140
+ } o;
141
+ struct {
142
+ /* body is condition */
143
+ struct _Node* Then;
144
+ struct _Node* Else;
145
+ } te;
146
+ };
193
147
  /* for multiple call reference */
194
- OnigLen min_len; /* min length (byte) */
195
- OnigLen max_len; /* max length (byte) */
196
- int char_len; /* character length */
197
- int opt_count; /* referenced count in optimize_node_left() */
198
- } EncloseNode;
148
+ OnigLen min_len; /* min length (byte) */
149
+ OnigLen max_len; /* max length (byte) */
150
+ OnigLen min_char_len;
151
+ OnigLen max_char_len;
152
+ int opt_count; /* referenced count in optimize_nodes() */
153
+ } BagNode;
199
154
 
200
- #ifdef USE_SUBEXP_CALL
155
+ #ifdef USE_CALL
201
156
 
202
157
  typedef struct {
203
158
  int offset;
@@ -211,141 +166,329 @@ typedef struct {
211
166
  } UnsetAddrList;
212
167
 
213
168
  typedef struct {
214
- NodeBase base;
215
- int state;
216
- int group_num;
169
+ NodeType node_type;
170
+ int status;
171
+ struct _Node* parent;
172
+ struct _Node* body; /* to BagNode : BAG_MEMORY */
173
+
174
+ int by_number;
175
+ int called_gnum;
217
176
  UChar* name;
218
177
  UChar* name_end;
219
- struct _Node* target; /* EncloseNode : ENCLOSE_MEMORY */
220
- UnsetAddrList* unset_addr_list;
178
+ int entry_count;
221
179
  } CallNode;
222
180
 
223
181
  #endif
224
182
 
225
183
  typedef struct {
226
- NodeBase base;
227
- int state;
184
+ NodeType node_type;
185
+ int status;
186
+ struct _Node* parent;
187
+
228
188
  int back_num;
229
- int back_static[NODE_BACKREFS_SIZE];
189
+ int back_static[ND_BACKREFS_SIZE];
230
190
  int* back_dynamic;
231
191
  int nest_level;
232
- } BRefNode;
192
+ } BackRefNode;
233
193
 
234
194
  typedef struct {
235
- NodeBase base;
195
+ NodeType node_type;
196
+ int status;
197
+ struct _Node* parent;
198
+ struct _Node* body;
199
+
236
200
  int type;
237
- struct _Node* target;
238
- int char_len;
201
+ OnigLen char_min_len;
202
+ OnigLen char_max_len;
203
+ int ascii_mode;
204
+ struct _Node* lead_node;
239
205
  } AnchorNode;
240
206
 
241
207
  typedef struct {
242
- NodeBase base;
208
+ NodeType node_type;
209
+ int status;
210
+ struct _Node* parent;
211
+
243
212
  struct _Node* car;
244
213
  struct _Node* cdr;
245
214
  } ConsAltNode;
246
215
 
247
216
  typedef struct {
248
- NodeBase base;
217
+ NodeType node_type;
218
+ int status;
219
+ struct _Node* parent;
220
+
249
221
  int ctype;
250
222
  int not;
223
+ int ascii_mode;
251
224
  } CtypeNode;
252
225
 
226
+ typedef struct {
227
+ NodeType node_type;
228
+ int status;
229
+ struct _Node* parent;
230
+
231
+ enum GimmickType type;
232
+ int detail_type;
233
+ int num;
234
+ int id;
235
+ } GimmickNode;
236
+
253
237
  typedef struct _Node {
254
238
  union {
255
- NodeBase base;
256
- StrNode str;
257
- CClassNode cclass;
258
- QtfrNode qtfr;
259
- EncloseNode enclose;
260
- BRefNode bref;
261
- AnchorNode anchor;
262
- ConsAltNode cons;
263
- CtypeNode ctype;
264
- #ifdef USE_SUBEXP_CALL
265
- CallNode call;
239
+ struct {
240
+ NodeType node_type;
241
+ int status;
242
+ struct _Node* parent;
243
+ struct _Node* body;
244
+ } base;
245
+
246
+ StrNode str;
247
+ CClassNode cclass;
248
+ QuantNode quant;
249
+ BagNode bag;
250
+ BackRefNode backref;
251
+ AnchorNode anchor;
252
+ ConsAltNode cons;
253
+ CtypeNode ctype;
254
+ #ifdef USE_CALL
255
+ CallNode call;
266
256
  #endif
257
+ GimmickNode gimmick;
267
258
  } u;
268
259
  } Node;
269
260
 
261
+ typedef struct {
262
+ int new_val;
263
+ } GroupNumMap;
264
+
270
265
 
271
266
  #define NULL_NODE ((Node* )0)
272
267
 
273
- #define SCANENV_MEMNODES_SIZE 8
274
- #define SCANENV_MEM_NODES(senv) \
275
- (IS_NOT_NULL((senv)->mem_nodes_dynamic) ? \
276
- (senv)->mem_nodes_dynamic : (senv)->mem_nodes_static)
268
+
269
+ /* node type bit */
270
+ #define ND_TYPE2BIT(type) (1<<(type))
271
+
272
+ #define ND_BIT_STRING ND_TYPE2BIT(ND_STRING)
273
+ #define ND_BIT_CCLASS ND_TYPE2BIT(ND_CCLASS)
274
+ #define ND_BIT_CTYPE ND_TYPE2BIT(ND_CTYPE)
275
+ #define ND_BIT_BACKREF ND_TYPE2BIT(ND_BACKREF)
276
+ #define ND_BIT_QUANT ND_TYPE2BIT(ND_QUANT)
277
+ #define ND_BIT_BAG ND_TYPE2BIT(ND_BAG)
278
+ #define ND_BIT_ANCHOR ND_TYPE2BIT(ND_ANCHOR)
279
+ #define ND_BIT_LIST ND_TYPE2BIT(ND_LIST)
280
+ #define ND_BIT_ALT ND_TYPE2BIT(ND_ALT)
281
+ #define ND_BIT_CALL ND_TYPE2BIT(ND_CALL)
282
+ #define ND_BIT_GIMMICK ND_TYPE2BIT(ND_GIMMICK)
283
+
284
+ #define ND_TYPE(node) ((node)->u.base.node_type)
285
+ #define ND_SET_TYPE(node, ntype) (node)->u.base.node_type = (ntype)
286
+
287
+ #define STR_(node) (&((node)->u.str))
288
+ #define CCLASS_(node) (&((node)->u.cclass))
289
+ #define CTYPE_(node) (&((node)->u.ctype))
290
+ #define BACKREF_(node) (&((node)->u.backref))
291
+ #define QUANT_(node) (&((node)->u.quant))
292
+ #define BAG_(node) (&((node)->u.bag))
293
+ #define ANCHOR_(node) (&((node)->u.anchor))
294
+ #define CONS_(node) (&((node)->u.cons))
295
+ #define CALL_(node) (&((node)->u.call))
296
+ #define GIMMICK_(node) (&((node)->u.gimmick))
297
+
298
+ #define ND_CAR(node) (CONS_(node)->car)
299
+ #define ND_CDR(node) (CONS_(node)->cdr)
300
+
301
+ #define CTYPE_ANYCHAR -1
302
+ #define ND_IS_ANYCHAR(node) \
303
+ (ND_TYPE(node) == ND_CTYPE && CTYPE_(node)->ctype == CTYPE_ANYCHAR)
304
+
305
+
306
+ #define ANCR_ANYCHAR_INF_MASK (ANCR_ANYCHAR_INF | ANCR_ANYCHAR_INF_ML)
307
+ #define ANCR_END_BUF_MASK (ANCR_END_BUF | ANCR_SEMI_END_BUF)
308
+
309
+ #define ND_STRING_CRUDE (1<<0)
310
+ #define ND_STRING_CASE_EXPANDED (1<<1)
311
+
312
+ #define ND_STRING_LEN(node) (int )((node)->u.str.end - (node)->u.str.s)
313
+ #define ND_STRING_SET_CRUDE(node) (node)->u.str.flag |= ND_STRING_CRUDE
314
+ #define ND_STRING_CLEAR_CRUDE(node) (node)->u.str.flag &= ~ND_STRING_CRUDE
315
+ #define ND_STRING_SET_CASE_EXPANDED(node) (node)->u.str.flag |= ND_STRING_CASE_EXPANDED
316
+ #define ND_STRING_IS_CRUDE(node) \
317
+ (((node)->u.str.flag & ND_STRING_CRUDE) != 0)
318
+ #define ND_STRING_IS_CASE_EXPANDED(node) \
319
+ (((node)->u.str.flag & ND_STRING_CASE_EXPANDED) != 0)
320
+
321
+ #define BACKREFS_P(br) \
322
+ (IS_NOT_NULL((br)->back_dynamic) ? (br)->back_dynamic : (br)->back_static)
323
+
324
+ /* node status bits */
325
+ #define ND_ST_FIXED_MIN (1<<0)
326
+ #define ND_ST_FIXED_MAX (1<<1)
327
+ #define ND_ST_FIXED_CLEN (1<<2)
328
+ #define ND_ST_MARK1 (1<<3)
329
+ #define ND_ST_MARK2 (1<<4)
330
+ #define ND_ST_STRICT_REAL_REPEAT (1<<5)
331
+ #define ND_ST_RECURSION (1<<6)
332
+ #define ND_ST_CALLED (1<<7)
333
+ #define ND_ST_FIXED_ADDR (1<<8)
334
+ #define ND_ST_NAMED_GROUP (1<<9)
335
+ #define ND_ST_IN_REAL_REPEAT (1<<10) /* STK_REPEAT is nested in stack. */
336
+ #define ND_ST_IN_ZERO_REPEAT (1<<11) /* (....){0} */
337
+ #define ND_ST_IN_MULTI_ENTRY (1<<12)
338
+ #define ND_ST_NEST_LEVEL (1<<13)
339
+ #define ND_ST_BY_NUMBER (1<<14) /* {n,m} */
340
+ #define ND_ST_BY_NAME (1<<15) /* backref by name */
341
+ #define ND_ST_BACKREF (1<<16)
342
+ #define ND_ST_CHECKER (1<<17)
343
+ #define ND_ST_PROHIBIT_RECURSION (1<<18)
344
+ #define ND_ST_SUPER (1<<19)
345
+ #define ND_ST_EMPTY_STATUS_CHECK (1<<20)
346
+ #define ND_ST_IGNORECASE (1<<21)
347
+ #define ND_ST_MULTILINE (1<<22)
348
+ #define ND_ST_TEXT_SEGMENT_WORD (1<<23)
349
+ #define ND_ST_ABSENT_WITH_SIDE_EFFECTS (1<<24) /* stopper or clear */
350
+ #define ND_ST_FIXED_CLEN_MIN_SURE (1<<25)
351
+ #define ND_ST_REFERENCED (1<<26)
352
+ #define ND_ST_INPEEK (1<<27)
353
+ #define ND_ST_WHOLE_OPTIONS (1<<28)
354
+
355
+
356
+ #define ND_STATUS(node) (((Node* )node)->u.base.status)
357
+ #define ND_STATUS_ADD(node,f) (ND_STATUS(node) |= (ND_ST_ ## f))
358
+ #define ND_STATUS_REMOVE(node,f) (ND_STATUS(node) &= ~(ND_ST_ ## f))
359
+
360
+ #define ND_IS_BY_NUMBER(node) ((ND_STATUS(node) & ND_ST_BY_NUMBER) != 0)
361
+ #define ND_IS_IN_REAL_REPEAT(node) ((ND_STATUS(node) & ND_ST_IN_REAL_REPEAT) != 0)
362
+ #define ND_IS_CALLED(node) ((ND_STATUS(node) & ND_ST_CALLED) != 0)
363
+ #define ND_IS_IN_MULTI_ENTRY(node) ((ND_STATUS(node) & ND_ST_IN_MULTI_ENTRY) != 0)
364
+ #define ND_IS_RECURSION(node) ((ND_STATUS(node) & ND_ST_RECURSION) != 0)
365
+ #define ND_IS_IN_ZERO_REPEAT(node) ((ND_STATUS(node) & ND_ST_IN_ZERO_REPEAT) != 0)
366
+ #define ND_IS_NAMED_GROUP(node) ((ND_STATUS(node) & ND_ST_NAMED_GROUP) != 0)
367
+ #define ND_IS_FIXED_ADDR(node) ((ND_STATUS(node) & ND_ST_FIXED_ADDR) != 0)
368
+ #define ND_IS_FIXED_CLEN(node) ((ND_STATUS(node) & ND_ST_FIXED_CLEN) != 0)
369
+ #define ND_IS_FIXED_MIN(node) ((ND_STATUS(node) & ND_ST_FIXED_MIN) != 0)
370
+ #define ND_IS_FIXED_MAX(node) ((ND_STATUS(node) & ND_ST_FIXED_MAX) != 0)
371
+ #define ND_IS_MARK1(node) ((ND_STATUS(node) & ND_ST_MARK1) != 0)
372
+ #define ND_IS_MARK2(node) ((ND_STATUS(node) & ND_ST_MARK2) != 0)
373
+ #define ND_IS_NEST_LEVEL(node) ((ND_STATUS(node) & ND_ST_NEST_LEVEL) != 0)
374
+ #define ND_IS_BY_NAME(node) ((ND_STATUS(node) & ND_ST_BY_NAME) != 0)
375
+ #define ND_IS_BACKREF(node) ((ND_STATUS(node) & ND_ST_BACKREF) != 0)
376
+ #define ND_IS_CHECKER(node) ((ND_STATUS(node) & ND_ST_CHECKER) != 0)
377
+ #define ND_IS_SUPER(node) ((ND_STATUS(node) & ND_ST_SUPER) != 0)
378
+ #define ND_IS_PROHIBIT_RECURSION(node) \
379
+ ((ND_STATUS(node) & ND_ST_PROHIBIT_RECURSION) != 0)
380
+ #define ND_IS_STRICT_REAL_REPEAT(node) \
381
+ ((ND_STATUS(node) & ND_ST_STRICT_REAL_REPEAT) != 0)
382
+ #define ND_IS_EMPTY_STATUS_CHECK(node) \
383
+ ((ND_STATUS(node) & ND_ST_EMPTY_STATUS_CHECK) != 0)
384
+ #define ND_IS_IGNORECASE(node) ((ND_STATUS(node) & ND_ST_IGNORECASE) != 0)
385
+ #define ND_IS_MULTILINE(node) ((ND_STATUS(node) & ND_ST_MULTILINE) != 0)
386
+ #define ND_IS_TEXT_SEGMENT_WORD(node) ((ND_STATUS(node) & ND_ST_TEXT_SEGMENT_WORD) != 0)
387
+ #define ND_IS_ABSENT_WITH_SIDE_EFFECTS(node) ((ND_STATUS(node) & ND_ST_ABSENT_WITH_SIDE_EFFECTS) != 0)
388
+ #define ND_IS_FIXED_CLEN_MIN_SURE(node) ((ND_STATUS(node) & ND_ST_FIXED_CLEN_MIN_SURE) != 0)
389
+ #define ND_IS_REFERENCED(node) ((ND_STATUS(node) & ND_ST_REFERENCED) != 0)
390
+ #define ND_IS_INPEEK(node) ((ND_STATUS(node) & ND_ST_INPEEK) != 0)
391
+ #define ND_IS_WHOLE_OPTIONS(node) ((ND_STATUS(node) & ND_ST_WHOLE_OPTIONS) != 0)
392
+
393
+ #define ND_PARENT(node) ((node)->u.base.parent)
394
+ #define ND_BODY(node) ((node)->u.base.body)
395
+ #define ND_QUANT_BODY(node) ((node)->body)
396
+ #define ND_BAG_BODY(node) ((node)->body)
397
+ #define ND_CALL_BODY(node) ((node)->body)
398
+ #define ND_ANCHOR_BODY(node) ((node)->body)
399
+
400
+ #define PARSEENV_MEMENV_SIZE 8
401
+ #define PARSEENV_MEMENV(senv) \
402
+ (IS_NOT_NULL((senv)->mem_env_dynamic) ? \
403
+ (senv)->mem_env_dynamic : (senv)->mem_env_static)
404
+
405
+ #define IS_SYNTAX_OP(syn, opm) (((syn)->op & (opm)) != 0)
406
+ #define IS_SYNTAX_OP2(syn, opm) (((syn)->op2 & (opm)) != 0)
407
+ #define IS_SYNTAX_BV(syn, bvm) (((syn)->behavior & (bvm)) != 0)
408
+
409
+ #define ID_ENTRY(env, id) do {\
410
+ id = (env)->id_num++;\
411
+ } while(0)
412
+
413
+
414
+ typedef struct {
415
+ Node* mem_node;
416
+ Node* empty_repeat_node;
417
+ } MemEnv;
277
418
 
278
419
  typedef struct {
279
- OnigOptionType option;
420
+ enum SaveType type;
421
+ } SaveItem;
422
+
423
+ typedef struct {
424
+ OnigOptionType options;
280
425
  OnigCaseFoldType case_fold_flag;
281
426
  OnigEncoding enc;
282
427
  OnigSyntaxType* syntax;
283
- BitStatusType capture_history;
284
- BitStatusType bt_mem_start;
285
- BitStatusType bt_mem_end;
286
- BitStatusType backrefed_mem;
428
+ MemStatusType cap_history;
429
+ MemStatusType backtrack_mem; /* backtrack/recursion */
430
+ MemStatusType backrefed_mem;
287
431
  UChar* pattern;
288
432
  UChar* pattern_end;
289
433
  UChar* error;
290
434
  UChar* error_end;
291
435
  regex_t* reg; /* for reg->names only */
292
436
  int num_call;
293
- #ifdef USE_SUBEXP_CALL
294
- UnsetAddrList* unset_addr_list;
295
- #endif
296
437
  int num_mem;
297
- #ifdef USE_NAMED_GROUP
298
438
  int num_named;
299
- #endif
300
439
  int mem_alloc;
301
- Node* mem_nodes_static[SCANENV_MEMNODES_SIZE];
302
- Node** mem_nodes_dynamic;
303
- #ifdef USE_COMBINATION_EXPLOSION_CHECK
304
- int num_comb_exp_check;
305
- int comb_exp_max_regnum;
306
- int curr_max_regnum;
307
- int has_recursion;
440
+ MemEnv mem_env_static[PARSEENV_MEMENV_SIZE];
441
+ MemEnv* mem_env_dynamic;
442
+ int backref_num;
443
+ int keep_num;
444
+ int id_num;
445
+ int save_alloc_num;
446
+ SaveItem* saves;
447
+ #ifdef USE_CALL
448
+ UnsetAddrList* unset_addr_list;
308
449
  #endif
309
- unsigned int parse_depth;
310
- } ScanEnv;
311
-
450
+ unsigned int parse_depth;
451
+ #ifdef ONIG_DEBUG_PARSE
452
+ unsigned int max_parse_depth;
453
+ #endif
454
+ unsigned int flags;
455
+ } ParseEnv;
312
456
 
313
- #define IS_SYNTAX_OP(syn, opm) (((syn)->op & (opm)) != 0)
314
- #define IS_SYNTAX_OP2(syn, opm) (((syn)->op2 & (opm)) != 0)
315
- #define IS_SYNTAX_BV(syn, bvm) (((syn)->behavior & (bvm)) != 0)
457
+ #define PE_FLAG_HAS_CALL_ZERO (1<<0)
458
+ #define PE_FLAG_HAS_WHOLE_OPTIONS (1<<1)
459
+ #define PE_FLAG_HAS_ABSENT_STOPPER (1<<2)
316
460
 
317
- #ifdef USE_NAMED_GROUP
318
- typedef struct {
319
- int new_val;
320
- } GroupNumRemap;
321
461
 
322
- extern int onig_renumber_name_table P_((regex_t* reg, GroupNumRemap* map));
323
- #endif
462
+ extern int onig_renumber_name_table P_((regex_t* reg, GroupNumMap* map));
324
463
 
325
464
  extern int onig_strncmp P_((const UChar* s1, const UChar* s2, int n));
326
465
  extern void onig_strcpy P_((UChar* dest, const UChar* src, const UChar* end));
327
- extern void onig_scan_env_set_error_string P_((ScanEnv* env, int ecode, UChar* arg, UChar* arg_end));
328
- extern int onig_scan_unsigned_number P_((UChar** src, const UChar* end, OnigEncoding enc));
329
- extern void onig_reduce_nested_quantifier P_((Node* pnode, Node* cnode));
330
- extern void onig_node_conv_to_str_node P_((Node* node, int raw));
466
+ extern void onig_scan_env_set_error_string P_((ParseEnv* env, int ecode, UChar* arg, UChar* arg_end));
467
+ extern int onig_reduce_nested_quantifier P_((Node* pnode));
468
+ extern int onig_node_copy(Node** rcopy, Node* from);
331
469
  extern int onig_node_str_cat P_((Node* node, const UChar* s, const UChar* end));
332
- extern int onig_node_str_set P_((Node* node, const UChar* s, const UChar* end));
470
+ extern int onig_node_str_set P_((Node* node, const UChar* s, const UChar* end, int need_free));
471
+ extern void onig_node_str_clear P_((Node* node, int need_free));
333
472
  extern void onig_node_free P_((Node* node));
334
- extern Node* onig_node_new_enclose P_((int type));
335
- extern Node* onig_node_new_anchor P_((int type));
473
+ extern int onig_node_reset_empty P_((Node* node));
474
+ extern int onig_node_reset_fail P_((Node* node));
475
+ extern Node* onig_node_new_bag P_((enum BagType type));
336
476
  extern Node* onig_node_new_str P_((const UChar* s, const UChar* end));
337
477
  extern Node* onig_node_new_list P_((Node* left, Node* right));
338
- extern Node* onig_node_list_add P_((Node* list, Node* x));
339
478
  extern Node* onig_node_new_alt P_((Node* left, Node* right));
340
- extern void onig_node_str_clear P_((Node* node));
341
479
  extern int onig_names_free P_((regex_t* reg));
342
- extern int onig_parse_make_tree P_((Node** root, const UChar* pattern, const UChar* end, regex_t* reg, ScanEnv* env));
480
+ extern int onig_parse_tree P_((Node** root, const UChar* pattern, const UChar* end, regex_t* reg, ParseEnv* env));
343
481
  extern int onig_free_shared_cclass_table P_((void));
482
+ extern int onig_is_code_in_cc P_((OnigEncoding enc, OnigCodePoint code, CClassNode* cc));
483
+ extern int onig_new_cclass_with_code_list(Node** rnode, OnigEncoding enc, int n, OnigCodePoint codes[]);
484
+ extern OnigLen onig_get_tiny_min_len(Node* node, unsigned int inhibit_node_types, int* invalid_node);
485
+
486
+ #ifdef USE_CALLOUT
487
+ extern int onig_global_callout_names_free(void);
488
+ #endif
344
489
 
345
490
  #ifdef ONIG_DEBUG
346
- #ifdef USE_NAMED_GROUP
347
491
  extern int onig_print_names(FILE*, regex_t*);
348
492
  #endif
349
- #endif
350
493
 
351
494
  #endif /* REGPARSE_H */