ctags.rb 1.0.19 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2961) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +8 -3
  4. data/README.md +20 -39
  5. data/ext/extconf.rb +5 -9
  6. data/ext/vendor/ctags/.ctags +4 -0
  7. data/ext/vendor/ctags/.dir-locals.el +2 -0
  8. data/ext/vendor/ctags/.editorconfig +10 -0
  9. data/ext/vendor/ctags/.gdbinit +3 -0
  10. data/ext/vendor/ctags/.gitignore +69 -0
  11. data/ext/vendor/{exuberant-ctags → ctags}/.indent.pro +0 -0
  12. data/ext/vendor/ctags/.travis.yml +66 -0
  13. data/ext/vendor/ctags/.uncrustify.cfg +151 -0
  14. data/ext/vendor/{exuberant-ctags → ctags}/COPYING +0 -0
  15. data/ext/vendor/ctags/Makefile.am +114 -0
  16. data/ext/vendor/ctags/README.md +47 -0
  17. data/ext/vendor/ctags/Tmain/alias-for-unknown-language.d/exit-expected.txt +1 -0
  18. data/ext/vendor/ctags/Tmain/alias-for-unknown-language.d/run.sh +7 -0
  19. data/ext/vendor/ctags/Tmain/alias-for-unknown-language.d/stderr-expected.txt +1 -0
  20. data/ext/vendor/{jansson-2.5/test/suites/invalid/empty/input → ctags/Tmain/alias-for-unknown-language.d/stdout-expected.txt} +0 -0
  21. data/ext/vendor/ctags/Tmain/allow-null-tag.d/exit-expected.txt +1 -0
  22. data/ext/vendor/ctags/Tmain/allow-null-tag.d/input.json +1 -0
  23. data/ext/vendor/ctags/Tmain/allow-null-tag.d/run.sh +7 -0
  24. data/ext/vendor/ctags/Tmain/allow-null-tag.d/stderr-expected.txt +0 -0
  25. data/ext/vendor/ctags/Tmain/allow-null-tag.d/stdout-expected.txt +1 -0
  26. data/ext/vendor/ctags/Tmain/broken-tagname-quiet.d/exit-expected.txt +1 -0
  27. data/ext/vendor/ctags/Tmain/broken-tagname-quiet.d/input.cst +1 -0
  28. data/ext/vendor/ctags/Tmain/broken-tagname-quiet.d/run.sh +10 -0
  29. data/ext/vendor/ctags/Tmain/broken-tagname-quiet.d/stderr-expected.txt +0 -0
  30. data/ext/vendor/ctags/Tmain/broken-tagname-quiet.d/stdout-expected.txt +1 -0
  31. data/ext/vendor/ctags/Tmain/broken-tagname.d/exit-expected.txt +1 -0
  32. data/ext/vendor/ctags/Tmain/broken-tagname.d/input.cst +2 -0
  33. data/ext/vendor/ctags/Tmain/broken-tagname.d/run.sh +18 -0
  34. data/ext/vendor/ctags/Tmain/broken-tagname.d/stderr-expected.txt +9 -0
  35. data/ext/vendor/ctags/Tmain/broken-tagname.d/stdout-expected.txt +1 -0
  36. data/ext/vendor/ctags/Tmain/c-anon-counter.d/exit-expected.txt +1 -0
  37. data/ext/vendor/ctags/Tmain/c-anon-counter.d/input1.c +11 -0
  38. data/ext/vendor/ctags/Tmain/c-anon-counter.d/input2.c +11 -0
  39. data/ext/vendor/ctags/Tmain/c-anon-counter.d/run.sh +17 -0
  40. data/ext/vendor/ctags/Tmain/c-anon-counter.d/stderr-expected.txt +0 -0
  41. data/ext/vendor/ctags/Tmain/c-anon-counter.d/stdout-expected.txt +0 -0
  42. data/ext/vendor/ctags/Tmain/cxx-how-kinds-defs-are-shared-or-copyed.d/run.sh +36 -0
  43. data/ext/vendor/ctags/Tmain/cxx-how-kinds-defs-are-shared-or-copyed.d/stdout-expected.txt +8 -0
  44. data/ext/vendor/ctags/Tmain/define-own-file-kind.d/exit-expected.txt +1 -0
  45. data/ext/vendor/ctags/Tmain/define-own-file-kind.d/run.sh +6 -0
  46. data/ext/vendor/ctags/Tmain/define-own-file-kind.d/stderr-expected.txt +0 -0
  47. data/ext/vendor/ctags/Tmain/define-own-file-kind.d/stdout-expected.txt +1 -0
  48. data/ext/vendor/ctags/Tmain/disable-fixed-field.d/exit-expected.txt +1 -0
  49. data/ext/vendor/ctags/Tmain/disable-fixed-field.d/run.sh +11 -0
  50. data/ext/vendor/ctags/Tmain/disable-fixed-field.d/stderr-expected.txt +6 -0
  51. data/ext/vendor/ctags/Tmain/disable-fixed-field.d/stdout-expected.txt +0 -0
  52. data/ext/vendor/ctags/Tmain/disable-languages.d/input-matlab.m +1 -0
  53. data/ext/vendor/ctags/Tmain/disable-languages.d/input-objc.m +1 -0
  54. data/ext/vendor/ctags/Tmain/disable-languages.d/input.m +0 -0
  55. data/ext/vendor/ctags/Tmain/disable-languages.d/run.sh +51 -0
  56. data/ext/vendor/ctags/Tmain/disable-languages.d/stderr-expected.txt +0 -0
  57. data/ext/vendor/ctags/Tmain/disable-languages.d/stdout-expected.txt +18 -0
  58. data/ext/vendor/ctags/Tmain/dot-ctags-with-indentation.d/args.ctags +5 -0
  59. data/ext/vendor/ctags/Tmain/dot-ctags-with-indentation.d/exit-expected.txt +1 -0
  60. data/ext/vendor/ctags/Tmain/dot-ctags-with-indentation.d/run.sh +7 -0
  61. data/ext/vendor/ctags/Tmain/dot-ctags-with-indentation.d/stderr-expected.txt +5 -0
  62. data/ext/vendor/ctags/Tmain/dot-ctags-with-indentation.d/stdout-expected.txt +0 -0
  63. data/ext/vendor/ctags/Tmain/emacs-modeline-downcased-mode.d/exti-expected.txt +1 -0
  64. data/ext/vendor/ctags/Tmain/emacs-modeline-downcased-mode.d/functions +11 -0
  65. data/ext/vendor/ctags/Tmain/emacs-modeline-downcased-mode.d/run.sh +6 -0
  66. data/ext/vendor/ctags/Tmain/emacs-modeline-downcased-mode.d/stderr-expected.txt +1 -0
  67. data/ext/vendor/ctags/Tmain/emacs-modeline-downcased-mode.d/stdout-expected.txt +1 -0
  68. data/ext/vendor/ctags/Tmain/enable-kind-postfix-with-wildcard.d/run.sh +6 -0
  69. data/ext/vendor/ctags/Tmain/enable-kind-postfix-with-wildcard.d/stderr-expected.txt +0 -0
  70. data/ext/vendor/ctags/Tmain/enable-kind-postfix-with-wildcard.d/stdout-expected.txt +0 -0
  71. data/ext/vendor/ctags/Tmain/enable-kind-postfix.d/run.sh +8 -0
  72. data/ext/vendor/ctags/Tmain/enable-kind-postfix.d/stderr-expected.txt +0 -0
  73. data/ext/vendor/ctags/Tmain/enable-kind-postfix.d/stdout-expected.txt +2 -0
  74. data/ext/vendor/ctags/Tmain/enable-kind-prefix-with-wildcard.d/run.sh +6 -0
  75. data/ext/vendor/ctags/Tmain/enable-kind-prefix-with-wildcard.d/stderr-expected.txt +0 -0
  76. data/ext/vendor/ctags/Tmain/enable-kind-prefix-with-wildcard.d/stdout-expected.txt +0 -0
  77. data/ext/vendor/ctags/Tmain/enable-kind-prefix.d/run.sh +5 -0
  78. data/ext/vendor/ctags/Tmain/enable-kind-prefix.d/stderr-expected.txt +0 -0
  79. data/ext/vendor/ctags/Tmain/enable-kind-prefix.d/stdout-expected.txt +2 -0
  80. data/ext/vendor/ctags/Tmain/enable-non-existing-kind.d/run.sh +6 -0
  81. data/ext/vendor/ctags/Tmain/enable-non-existing-kind.d/stderr-expected.txt +1 -0
  82. data/ext/vendor/ctags/Tmain/extension-vs-pattern.d/exit-expected.txt +1 -0
  83. data/ext/vendor/ctags/Tmain/extension-vs-pattern.d/input.xxx +0 -0
  84. data/ext/vendor/ctags/Tmain/extension-vs-pattern.d/run.sh +19 -0
  85. data/ext/vendor/ctags/Tmain/extension-vs-pattern.d/stderr-expected.txt +0 -0
  86. data/ext/vendor/ctags/Tmain/extension-vs-pattern.d/stdout-expected.txt +2 -0
  87. data/ext/vendor/ctags/Tmain/extra-field.d/exit-expected.txt +1 -0
  88. data/ext/vendor/ctags/Tmain/extra-field.d/input.cpp +7 -0
  89. data/ext/vendor/ctags/Tmain/extra-field.d/run.sh +8 -0
  90. data/ext/vendor/ctags/Tmain/extra-field.d/stderr-expected.txt +0 -0
  91. data/ext/vendor/ctags/Tmain/extra-field.d/stdout-expected.txt +10 -0
  92. data/ext/vendor/ctags/Tmain/extra-long.d/run.sh +24 -0
  93. data/ext/vendor/ctags/Tmain/extra-long.d/stdout-expected.txt +35 -0
  94. data/ext/vendor/ctags/Tmain/input-encoding-option.d/exit-expected.txt +1 -0
  95. data/ext/vendor/ctags/Tmain/input-encoding-option.d/input.java +4 -0
  96. data/ext/vendor/ctags/Tmain/input-encoding-option.d/input.js +1 -0
  97. data/ext/vendor/ctags/Tmain/input-encoding-option.d/run.sh +22 -0
  98. data/ext/vendor/ctags/Tmain/input-encoding-option.d/stderr-expected.txt +0 -0
  99. data/ext/vendor/ctags/Tmain/input-encoding-option.d/stdout-expected.txt +0 -0
  100. data/ext/vendor/ctags/Tmain/input-encoding-option.d/tags-expected.txt +10 -0
  101. data/ext/vendor/ctags/Tmain/interactive-mode.d/run.sh +45 -0
  102. data/ext/vendor/ctags/Tmain/interactive-mode.d/stdout-expected.txt +46 -0
  103. data/ext/vendor/ctags/Tmain/interactive-mode.d/test.c +9 -0
  104. data/ext/vendor/ctags/Tmain/interactive-mode.d/test.rb +7 -0
  105. data/ext/vendor/ctags/Tmain/invalid-encoding-option.d/exit-expected.txt +1 -0
  106. data/ext/vendor/ctags/Tmain/invalid-encoding-option.d/input.java +4 -0
  107. data/ext/vendor/ctags/Tmain/invalid-encoding-option.d/input.js +1 -0
  108. data/ext/vendor/ctags/Tmain/invalid-encoding-option.d/run.sh +14 -0
  109. data/ext/vendor/ctags/Tmain/invalid-encoding-option.d/stderr-expected.txt +1 -0
  110. data/ext/vendor/ctags/Tmain/invalid-encoding-option.d/stdout-expected.txt +0 -0
  111. data/ext/vendor/ctags/Tmain/json-output-format.d/input.c +7 -0
  112. data/ext/vendor/ctags/Tmain/json-output-format.d/input.py +3 -0
  113. data/ext/vendor/ctags/Tmain/json-output-format.d/run.sh +14 -0
  114. data/ext/vendor/ctags/Tmain/json-output-format.d/stdout-expected.txt +22 -0
  115. data/ext/vendor/ctags/Tmain/kind-long-lregex.d/run.sh +22 -0
  116. data/ext/vendor/ctags/Tmain/kind-long-lregex.d/stdout-expected.txt +6 -0
  117. data/ext/vendor/ctags/Tmain/kind-long-lxcmd.d/foo.sh +8 -0
  118. data/ext/vendor/ctags/Tmain/kind-long-lxcmd.d/run.sh +30 -0
  119. data/ext/vendor/ctags/Tmain/kind-long-lxcmd.d/stdout-expected.txt +9 -0
  120. data/ext/vendor/ctags/Tmain/kind-long.d/run.sh +7 -0
  121. data/ext/vendor/ctags/Tmain/kind-long.d/stdout-expected.txt +2 -0
  122. data/ext/vendor/ctags/Tmain/langmap-option-including-patterns.d/exit-expected.txt +1 -0
  123. data/ext/vendor/ctags/Tmain/langmap-option-including-patterns.d/run.sh +18 -0
  124. data/ext/vendor/ctags/Tmain/langmap-option-including-patterns.d/stderr-expected.txt +0 -0
  125. data/ext/vendor/ctags/Tmain/langmap-option-including-patterns.d/stdout-expected.txt +12 -0
  126. data/ext/vendor/ctags/Tmain/langmap-option.d/exit-expected.txt +1 -0
  127. data/ext/vendor/ctags/Tmain/langmap-option.d/run.sh +16 -0
  128. data/ext/vendor/ctags/Tmain/langmap-option.d/stderr-expected.txt +0 -0
  129. data/ext/vendor/ctags/Tmain/langmap-option.d/stdout-expected.txt +6 -0
  130. data/ext/vendor/ctags/Tmain/languages-and-language-force-options.d/exit-expected.txt +1 -0
  131. data/ext/vendor/ctags/Tmain/languages-and-language-force-options.d/input.c +0 -0
  132. data/ext/vendor/ctags/Tmain/languages-and-language-force-options.d/run.sh +5 -0
  133. data/ext/vendor/ctags/Tmain/languages-and-language-force-options.d/stderr-expected.txt +1 -0
  134. data/ext/vendor/ctags/Tmain/list-extra.d/exit-expected.txt +1 -0
  135. data/ext/vendor/ctags/Tmain/list-extra.d/run.sh +7 -0
  136. data/ext/vendor/ctags/Tmain/list-extra.d/stderr-expected.txt +0 -0
  137. data/ext/vendor/ctags/Tmain/list-extra.d/stdout-expected.txt +14 -0
  138. data/ext/vendor/ctags/Tmain/list-fields-with-prefix.d/run.sh +12 -0
  139. data/ext/vendor/ctags/Tmain/list-fields-with-prefix.d/stdout-expected.txt +13 -0
  140. data/ext/vendor/ctags/Tmain/list-fields.d/exit-expected.txt +1 -0
  141. data/ext/vendor/ctags/Tmain/list-fields.d/input.c +15 -0
  142. data/ext/vendor/ctags/Tmain/list-fields.d/input.java +4 -0
  143. data/ext/vendor/ctags/Tmain/list-fields.d/input.sh +5 -0
  144. data/ext/vendor/ctags/Tmain/list-fields.d/run.sh +39 -0
  145. data/ext/vendor/ctags/Tmain/list-fields.d/stderr-expected.txt +0 -0
  146. data/ext/vendor/ctags/Tmain/list-fields.d/stdout-expected.txt +94 -0
  147. data/ext/vendor/ctags/Tmain/list-file-kind.d/exit-expected.txt +1 -0
  148. data/ext/vendor/ctags/Tmain/list-file-kind.d/run.sh +8 -0
  149. data/ext/vendor/ctags/Tmain/list-file-kind.d/stderr-expected.txt +0 -0
  150. data/ext/vendor/ctags/Tmain/list-file-kind.d/stdout-expected.txt +2 -0
  151. data/ext/vendor/ctags/Tmain/list-kinds-full.d/exit-expected.txt +1 -0
  152. data/ext/vendor/ctags/Tmain/list-kinds-full.d/run.sh +8 -0
  153. data/ext/vendor/ctags/Tmain/list-kinds-full.d/stderr-expected.txt +0 -0
  154. data/ext/vendor/ctags/Tmain/list-kinds-full.d/stdout-expected.txt +37 -0
  155. data/ext/vendor/ctags/Tmain/list-language-fields.d/run.sh +8 -0
  156. data/ext/vendor/ctags/Tmain/list-language-fields.d/stdout-expected.txt +2 -0
  157. data/ext/vendor/ctags/Tmain/list-params.d/run.sh +29 -0
  158. data/ext/vendor/ctags/Tmain/list-params.d/stderr-expected.txt +0 -0
  159. data/ext/vendor/ctags/Tmain/list-params.d/stdout-expected.txt +34 -0
  160. data/ext/vendor/ctags/Tmain/list-pseudo-tags.d/exit-expected.txt +1 -0
  161. data/ext/vendor/ctags/Tmain/list-pseudo-tags.d/run.sh +8 -0
  162. data/ext/vendor/ctags/Tmain/list-pseudo-tags.d/stderr-expected.txt +0 -0
  163. data/ext/vendor/ctags/Tmain/list-pseudo-tags.d/stdout-expected.txt +9 -0
  164. data/ext/vendor/ctags/Tmain/list-roles.d/exit-expected.txt +1 -0
  165. data/ext/vendor/ctags/Tmain/list-roles.d/run.sh +47 -0
  166. data/ext/vendor/ctags/Tmain/list-roles.d/stderr-expected.txt +0 -0
  167. data/ext/vendor/ctags/Tmain/list-roles.d/stdout-expected.txt +108 -0
  168. data/ext/vendor/ctags/Tmain/load-dot-ctags-twice.d/dot.ctags +1 -0
  169. data/ext/vendor/ctags/Tmain/load-dot-ctags-twice.d/exit-expected.txt +1 -0
  170. data/ext/vendor/ctags/Tmain/load-dot-ctags-twice.d/run.sh +8 -0
  171. data/ext/vendor/ctags/Tmain/load-dot-ctags-twice.d/stderr-expected.txt +2 -0
  172. data/ext/vendor/ctags/Tmain/load-dot-ctags-twice.d/stdout-expected.txt +0 -0
  173. data/ext/vendor/ctags/Tmain/lregex-accept-reserved-kind.d/exit-expected.txt +1 -0
  174. data/ext/vendor/ctags/Tmain/lregex-accept-reserved-kind.d/run.sh +6 -0
  175. data/ext/vendor/ctags/Tmain/lregex-accept-reserved-kind.d/stderr-expected.txt +0 -0
  176. data/ext/vendor/ctags/Tmain/lregex-accept-reserved-kind.d/stdout-expected.txt +0 -0
  177. data/ext/vendor/ctags/Tmain/lregex-list-kinds-full.d/exit-expected.txt +1 -0
  178. data/ext/vendor/ctags/Tmain/lregex-list-kinds-full.d/run.sh +15 -0
  179. data/ext/vendor/ctags/Tmain/lregex-list-kinds-full.d/stderr-expected.txt +0 -0
  180. data/ext/vendor/ctags/Tmain/lregex-list-kinds-full.d/stdout-expected.txt +5 -0
  181. data/ext/vendor/ctags/Tmain/lregex-list-kinds-uniquely.d/run.sh +10 -0
  182. data/ext/vendor/ctags/Tmain/lregex-list-kinds-uniquely.d/stdout-expected.txt +1 -0
  183. data/ext/vendor/ctags/Tmain/lregex-list-kinds.d/exit-expected.txt +1 -0
  184. data/ext/vendor/ctags/Tmain/lregex-list-kinds.d/run.sh +13 -0
  185. data/ext/vendor/ctags/Tmain/lregex-list-kinds.d/stderr-expected.txt +0 -0
  186. data/ext/vendor/ctags/Tmain/lregex-list-kinds.d/stdout-expected.txt +4 -0
  187. data/ext/vendor/ctags/Tmain/lregex-reject-reserved-kind.d/exit-expected.txt +1 -0
  188. data/ext/vendor/ctags/Tmain/lregex-reject-reserved-kind.d/run.sh +6 -0
  189. data/ext/vendor/ctags/Tmain/lregex-reject-reserved-kind.d/stderr-expected.txt +1 -0
  190. data/ext/vendor/ctags/Tmain/lregex-reject-reserved-kind.d/stdout-expected.txt +0 -0
  191. data/ext/vendor/ctags/Tmain/lxcmd-accept-reserved-kind.d/exit-expected.txt +1 -0
  192. data/ext/vendor/ctags/Tmain/lxcmd-accept-reserved-kind.d/foo.sh +9 -0
  193. data/ext/vendor/ctags/Tmain/lxcmd-accept-reserved-kind.d/run.sh +11 -0
  194. data/ext/vendor/ctags/Tmain/lxcmd-accept-reserved-kind.d/stderr-expected.txt +0 -0
  195. data/ext/vendor/ctags/Tmain/lxcmd-accept-reserved-kind.d/stdout-expected.txt +0 -0
  196. data/ext/vendor/ctags/Tmain/lxcmd-backend-not-found.d/exit-expected.txt +1 -0
  197. data/ext/vendor/ctags/Tmain/lxcmd-backend-not-found.d/foo.sh +5 -0
  198. data/ext/vendor/ctags/Tmain/lxcmd-backend-not-found.d/run.sh +10 -0
  199. data/ext/vendor/ctags/Tmain/lxcmd-backend-not-found.d/stderr-expected.txt +0 -0
  200. data/ext/vendor/ctags/Tmain/lxcmd-backend-not-found.d/stdout-expected.txt +0 -0
  201. data/ext/vendor/ctags/Tmain/lxcmd-backend-premature-death.d/README +3 -0
  202. data/ext/vendor/ctags/Tmain/lxcmd-backend-premature-death.d/exit-expected.txt +1 -0
  203. data/ext/vendor/ctags/Tmain/lxcmd-backend-premature-death.d/foo.sh +5 -0
  204. data/ext/vendor/ctags/Tmain/lxcmd-backend-premature-death.d/run.sh +10 -0
  205. data/ext/vendor/ctags/Tmain/lxcmd-backend-premature-death.d/stderr-expected.txt +1 -0
  206. data/ext/vendor/ctags/Tmain/lxcmd-backend-premature-death.d/stdout-expected.txt +0 -0
  207. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/foo0.sh +6 -0
  208. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/foo1.sh +6 -0
  209. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/foo2.sh +6 -0
  210. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/foo3.sh +6 -0
  211. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/foo4.sh +6 -0
  212. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/foo5.sh +6 -0
  213. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/foo6.sh +6 -0
  214. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/foo7.sh +6 -0
  215. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/foo8.sh +6 -0
  216. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/run.sh +12 -0
  217. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/stderr-expected.txt +9 -0
  218. data/ext/vendor/ctags/Tmain/lxcmd-broken-kind.d/stdout-expected.txt +0 -0
  219. data/ext/vendor/ctags/Tmain/lxcmd-disabled-kind.d/exit-expected.txt +1 -0
  220. data/ext/vendor/ctags/Tmain/lxcmd-disabled-kind.d/foo.sh +24 -0
  221. data/ext/vendor/ctags/Tmain/lxcmd-disabled-kind.d/run.sh +10 -0
  222. data/ext/vendor/ctags/Tmain/lxcmd-disabled-kind.d/stderr-expected.txt +0 -0
  223. data/ext/vendor/ctags/Tmain/lxcmd-disabled-kind.d/stdout-expected.txt +8 -0
  224. data/ext/vendor/ctags/Tmain/lxcmd-exit-status-override.d/exit-expected.txt +1 -0
  225. data/ext/vendor/ctags/Tmain/lxcmd-exit-status-override.d/foo.sh +5 -0
  226. data/ext/vendor/ctags/Tmain/lxcmd-exit-status-override.d/run.sh +10 -0
  227. data/ext/vendor/ctags/Tmain/lxcmd-exit-status-override.d/stderr-expected.txt +0 -0
  228. data/ext/vendor/ctags/Tmain/lxcmd-exit-status-override.d/stdout-expected.txt +1 -0
  229. data/ext/vendor/ctags/Tmain/lxcmd-list-kinds-full.d/exit-expected.txt +1 -0
  230. data/ext/vendor/ctags/Tmain/lxcmd-list-kinds-full.d/foo.sh +8 -0
  231. data/ext/vendor/ctags/Tmain/lxcmd-list-kinds-full.d/run.sh +28 -0
  232. data/ext/vendor/ctags/Tmain/lxcmd-list-kinds-full.d/stderr-expected.txt +0 -0
  233. data/ext/vendor/ctags/Tmain/lxcmd-list-kinds-full.d/stdout-expected.txt +10 -0
  234. data/ext/vendor/ctags/Tmain/lxcmd-list-kinds.d/exit-expected.txt +1 -0
  235. data/ext/vendor/ctags/Tmain/lxcmd-list-kinds.d/foo.sh +6 -0
  236. data/ext/vendor/ctags/Tmain/lxcmd-list-kinds.d/run.sh +15 -0
  237. data/ext/vendor/ctags/Tmain/lxcmd-list-kinds.d/stderr-expected.txt +0 -0
  238. data/ext/vendor/ctags/Tmain/lxcmd-list-kinds.d/stdout-expected.txt +2 -0
  239. data/ext/vendor/ctags/Tmain/lxcmd-ptag-kind-desc.d/exit-expected.txt +1 -0
  240. data/ext/vendor/ctags/Tmain/lxcmd-ptag-kind-desc.d/foo.sh +6 -0
  241. data/ext/vendor/ctags/Tmain/lxcmd-ptag-kind-desc.d/input.foo +0 -0
  242. data/ext/vendor/ctags/Tmain/lxcmd-ptag-kind-desc.d/run.sh +18 -0
  243. data/ext/vendor/ctags/Tmain/lxcmd-ptag-kind-desc.d/stderr-expected.txt +0 -0
  244. data/ext/vendor/ctags/Tmain/lxcmd-ptag-kind-desc.d/stdout-expected.txt +2 -0
  245. data/ext/vendor/ctags/Tmain/lxcmd-reject-invalid-notAvailableStatus.d/exit-expected.txt +1 -0
  246. data/ext/vendor/ctags/Tmain/lxcmd-reject-invalid-notAvailableStatus.d/run.sh +9 -0
  247. data/ext/vendor/ctags/Tmain/lxcmd-reject-invalid-notAvailableStatus.d/stderr-expected.txt +1 -0
  248. data/ext/vendor/ctags/Tmain/lxcmd-reject-invalid-notAvailableStatus.d/stdout-expected.txt +0 -0
  249. data/ext/vendor/ctags/Tmain/lxcmd-reject-reserved-kind.d/exit-expected.txt +1 -0
  250. data/ext/vendor/ctags/Tmain/lxcmd-reject-reserved-kind.d/foo.sh +8 -0
  251. data/ext/vendor/ctags/Tmain/lxcmd-reject-reserved-kind.d/run.sh +10 -0
  252. data/ext/vendor/ctags/Tmain/lxcmd-reject-reserved-kind.d/stderr-expected.txt +1 -0
  253. data/ext/vendor/ctags/Tmain/lxcmd-reject-reserved-kind.d/stdout-expected.txt +0 -0
  254. data/ext/vendor/ctags/Tmain/lxcmd-reject-specifying-in-dot-ctags.d/.ctags +3 -0
  255. data/ext/vendor/ctags/Tmain/lxcmd-reject-specifying-in-dot-ctags.d/exit-expected.txt +1 -0
  256. data/ext/vendor/ctags/Tmain/lxcmd-reject-specifying-in-dot-ctags.d/run.sh +5 -0
  257. data/ext/vendor/ctags/Tmain/lxcmd-reject-specifying-in-dot-ctags.d/stderr-expected.txt +1 -0
  258. data/ext/vendor/ctags/Tmain/lxcmd-reject-specifying-in-dot-ctags.d/stdout-expected.txt +0 -0
  259. data/ext/vendor/ctags/Tmain/map-for-unknown-language.d/exit-expected.txt +1 -0
  260. data/ext/vendor/ctags/Tmain/map-for-unknown-language.d/run.sh +7 -0
  261. data/ext/vendor/ctags/Tmain/map-for-unknown-language.d/stderr-expected.txt +1 -0
  262. data/ext/vendor/ctags/Tmain/map-for-unknown-language.d/stdout-expected.txt +0 -0
  263. data/ext/vendor/ctags/Tmain/map-lang-option.d/exit-expected.txt +1 -0
  264. data/ext/vendor/ctags/Tmain/map-lang-option.d/run.sh +17 -0
  265. data/ext/vendor/ctags/Tmain/map-lang-option.d/stderr-expected.txt +0 -0
  266. data/ext/vendor/ctags/Tmain/map-lang-option.d/stdout-expected.txt +5 -0
  267. data/ext/vendor/ctags/Tmain/map-removing.d/ada.m +2 -0
  268. data/ext/vendor/ctags/Tmain/map-removing.d/exit-expected.txt +1 -0
  269. data/ext/vendor/ctags/Tmain/map-removing.d/matlab.m +1 -0
  270. data/ext/vendor/ctags/Tmain/map-removing.d/objc.m +1 -0
  271. data/ext/vendor/ctags/Tmain/map-removing.d/run.sh +45 -0
  272. data/ext/vendor/ctags/Tmain/map-removing.d/stderr-expected.txt +0 -0
  273. data/ext/vendor/ctags/Tmain/map-removing.d/stdout-expected.txt +32 -0
  274. data/ext/vendor/ctags/Tmain/maxdepth.d/run.sh +15 -0
  275. data/ext/vendor/ctags/Tmain/maxdepth.d/src/a.c +4 -0
  276. data/ext/vendor/ctags/Tmain/maxdepth.d/src/subdir/b.c +5 -0
  277. data/ext/vendor/ctags/Tmain/maxdepth.d/stdout-expected.txt +5 -0
  278. data/ext/vendor/ctags/Tmain/nameless-long-option.d/exit-expected.txt +1 -0
  279. data/ext/vendor/ctags/Tmain/nameless-long-option.d/run.sh +7 -0
  280. data/ext/vendor/ctags/Tmain/nameless-long-option.d/stderr-expected.txt +2 -0
  281. data/ext/vendor/ctags/Tmain/nameless-long-option.d/stdout-expected.txt +0 -0
  282. data/ext/vendor/ctags/Tmain/no-input-encoding-option.d/exit-expected.txt +1 -0
  283. data/ext/vendor/ctags/Tmain/no-input-encoding-option.d/input.java +4 -0
  284. data/ext/vendor/ctags/Tmain/no-input-encoding-option.d/input.js +1 -0
  285. data/ext/vendor/ctags/Tmain/no-input-encoding-option.d/run.sh +13 -0
  286. data/ext/vendor/ctags/Tmain/no-input-encoding-option.d/stderr-expected.txt +1 -0
  287. data/ext/vendor/ctags/Tmain/no-input-encoding-option.d/stdout-expected.txt +0 -0
  288. data/ext/vendor/ctags/Tmain/null-description-in-pseudo-tag.d/exit-expected.txt +1 -0
  289. data/ext/vendor/ctags/Tmain/null-description-in-pseudo-tag.d/run.sh +9 -0
  290. data/ext/vendor/ctags/Tmain/null-description-in-pseudo-tag.d/stdout-expected.txt +1 -0
  291. data/ext/vendor/ctags/Tmain/omit-long-patterns.d/gen.sh +39 -0
  292. data/ext/vendor/ctags/Tmain/omit-long-patterns.d/input.sh +16 -0
  293. data/ext/vendor/ctags/Tmain/omit-long-patterns.d/run.sh +5 -0
  294. data/ext/vendor/ctags/Tmain/omit-long-patterns.d/stdout-expected.txt +3 -0
  295. data/ext/vendor/ctags/Tmain/option-echo-and-force-quit.d/exit-expected.txt +1 -0
  296. data/ext/vendor/ctags/Tmain/option-echo-and-force-quit.d/run.sh +8 -0
  297. data/ext/vendor/ctags/Tmain/option-echo-and-force-quit.d/stderr-expected.txt +3 -0
  298. data/ext/vendor/ctags/Tmain/option-echo-and-force-quit.d/stdout-expected.txt +0 -0
  299. data/ext/vendor/ctags/Tmain/output-encoding-option.d/exit-expected.txt +1 -0
  300. data/ext/vendor/ctags/Tmain/output-encoding-option.d/input.java +4 -0
  301. data/ext/vendor/ctags/Tmain/output-encoding-option.d/input.js +1 -0
  302. data/ext/vendor/ctags/Tmain/output-encoding-option.d/run.sh +21 -0
  303. data/ext/vendor/ctags/Tmain/output-encoding-option.d/stderr-expected.txt +0 -0
  304. data/ext/vendor/ctags/Tmain/output-encoding-option.d/stdout-expected.txt +0 -0
  305. data/ext/vendor/ctags/Tmain/output-encoding-option.d/tags-expected.txt +10 -0
  306. data/ext/vendor/ctags/Tmain/output-format-option.d/input.c +5 -0
  307. data/ext/vendor/ctags/Tmain/output-format-option.d/run.sh +10 -0
  308. data/ext/vendor/ctags/Tmain/output-format-option.d/stdout-expected.txt +8 -0
  309. data/ext/vendor/ctags/Tmain/pattern-length-limit.d/input.java +3 -0
  310. data/ext/vendor/ctags/Tmain/pattern-length-limit.d/run.sh +17 -0
  311. data/ext/vendor/ctags/Tmain/pattern-length-limit.d/stdout-expected.txt +6 -0
  312. data/ext/vendor/ctags/Tmain/ptag-kind-desc.d/input.foo +1 -0
  313. data/ext/vendor/ctags/Tmain/ptag-kind-desc.d/input.sh +0 -0
  314. data/ext/vendor/ctags/Tmain/ptag-kind-desc.d/run.sh +17 -0
  315. data/ext/vendor/ctags/Tmain/ptag-kind-desc.d/stdout-expected.txt +16 -0
  316. data/ext/vendor/ctags/Tmain/readtags-qualifier-end-field.d/exit-expected.txt +1 -0
  317. data/ext/vendor/ctags/Tmain/readtags-qualifier-end-field.d/output.tags +10 -0
  318. data/ext/vendor/ctags/Tmain/readtags-qualifier-end-field.d/run.sh +23 -0
  319. data/ext/vendor/ctags/Tmain/readtags-qualifier-end-field.d/stderr-expected.txt +0 -0
  320. data/ext/vendor/ctags/Tmain/readtags-qualifier-end-field.d/stdout-expected.txt +3 -0
  321. data/ext/vendor/ctags/Tmain/readtags-qualifier.d/base.py +28 -0
  322. data/ext/vendor/ctags/Tmain/readtags-qualifier.d/exit-expected.txt +1 -0
  323. data/ext/vendor/ctags/Tmain/readtags-qualifier.d/output.tags +27 -0
  324. data/ext/vendor/ctags/Tmain/readtags-qualifier.d/run.sh +33 -0
  325. data/ext/vendor/ctags/Tmain/readtags-qualifier.d/stderr-expected.txt +0 -0
  326. data/ext/vendor/ctags/Tmain/readtags-qualifier.d/stdout-expected.txt +53 -0
  327. data/ext/vendor/ctags/Tmain/regex-for-unknown-language.d/exit-expected.txt +1 -0
  328. data/ext/vendor/ctags/Tmain/regex-for-unknown-language.d/run.sh +7 -0
  329. data/ext/vendor/ctags/Tmain/regex-for-unknown-language.d/stderr-expected.txt +1 -0
  330. data/ext/vendor/ctags/Tmain/regex-for-unknown-language.d/stdout-expected.txt +0 -0
  331. data/ext/vendor/ctags/Tmain/selector-dont-select-disabled-lang.d/exit-expected.txt +1 -0
  332. data/ext/vendor/ctags/Tmain/selector-dont-select-disabled-lang.d/input.h +6 -0
  333. data/ext/vendor/ctags/Tmain/selector-dont-select-disabled-lang.d/run.sh +7 -0
  334. data/ext/vendor/ctags/Tmain/selector-dont-select-disabled-lang.d/stderr-expected.txt +0 -0
  335. data/ext/vendor/ctags/Tmain/selector-dont-select-disabled-lang.d/stdout-expected.txt +1 -0
  336. data/ext/vendor/ctags/Tmain/sorted-help-message.d/exit-expected.txt +1 -0
  337. data/ext/vendor/ctags/Tmain/sorted-help-message.d/run.sh +53 -0
  338. data/ext/vendor/ctags/Tmain/sorted-help-message.d/stderr-expected.txt +0 -0
  339. data/ext/vendor/ctags/Tmain/sorted-help-message.d/stdout-expected.txt +0 -0
  340. data/ext/vendor/ctags/Tmain/sorted-list-languages.d/exit-expected.txt +1 -0
  341. data/ext/vendor/ctags/Tmain/sorted-list-languages.d/run.sh +22 -0
  342. data/ext/vendor/ctags/Tmain/sorted-list-languages.d/stderr-expected.txt +0 -0
  343. data/ext/vendor/ctags/Tmain/sorted-list-languages.d/stdout-expected.txt +0 -0
  344. data/ext/vendor/ctags/Tmain/tags-pseudo-tags.d/exit-expected.txt +1 -0
  345. data/ext/vendor/ctags/Tmain/tags-pseudo-tags.d/input.php +1 -0
  346. data/ext/vendor/ctags/Tmain/tags-pseudo-tags.d/run.sh +15 -0
  347. data/ext/vendor/ctags/Tmain/tags-pseudo-tags.d/stderr-expected.txt +0 -0
  348. data/ext/vendor/ctags/Tmain/tags-pseudo-tags.d/stdout-expected.txt +24 -0
  349. data/ext/vendor/ctags/Tmain/tmain-example.d/exit-expected.txt +1 -0
  350. data/ext/vendor/ctags/Tmain/tmain-example.d/run.sh +8 -0
  351. data/ext/vendor/ctags/Tmain/tmain-example.d/stderr-expected.txt +0 -0
  352. data/ext/vendor/ctags/Tmain/tmain-example.d/stdout-expected.txt +4 -0
  353. data/ext/vendor/ctags/Tmain/tmain-example.d/tags-expected.txt +1 -0
  354. data/ext/vendor/ctags/Tmain/tmain-skip-example.d/run.sh +9 -0
  355. data/ext/vendor/ctags/Tmain/tmain-skip-example.d/stdout-expected.txt +1 -0
  356. data/ext/vendor/ctags/Tmain/two-inputs-requiring-scope-stack.d/a.dts +627 -0
  357. data/ext/vendor/ctags/Tmain/two-inputs-requiring-scope-stack.d/b.dts +3 -0
  358. data/ext/vendor/ctags/Tmain/utils.sh +31 -0
  359. data/ext/vendor/ctags/Tmain/warn-reusing-kind-letter.d/run.sh +13 -0
  360. data/ext/vendor/ctags/Tmain/warn-reusing-kind-letter.d/stdout-expected.txt +1 -0
  361. data/ext/vendor/ctags/Tmain/wildcard-in-lang-of-fields-option.d/run.sh +7 -0
  362. data/ext/vendor/ctags/Tmain/wildcard-in-lang-of-fields-option.d/stdout-expected.txt +2 -0
  363. data/ext/vendor/ctags/Tmain/wrong-parser-name-in-field.d/exit-expected.txt +1 -0
  364. data/ext/vendor/ctags/Tmain/wrong-parser-name-in-field.d/run.sh +7 -0
  365. data/ext/vendor/ctags/Tmain/wrong-parser-name-in-field.d/stderr-expected.txt +2 -0
  366. data/ext/vendor/ctags/Tmain/xcmd-dont-run-setgid-executable.d/exit-expected.txt +1 -0
  367. data/ext/vendor/ctags/Tmain/xcmd-dont-run-setgid-executable.d/run.sh +25 -0
  368. data/ext/vendor/ctags/Tmain/xcmd-dont-run-setgid-executable.d/stderr-expected.txt +1 -0
  369. data/ext/vendor/ctags/Tmain/xcmd-dont-run-setgid-executable.d/stdout-expected.txt +1 -0
  370. data/ext/vendor/ctags/Tmain/xcmd-dont-run-setuid-executable.d/exit-expected.txt +1 -0
  371. data/ext/vendor/ctags/Tmain/xcmd-dont-run-setuid-executable.d/run.sh +26 -0
  372. data/ext/vendor/ctags/Tmain/xcmd-dont-run-setuid-executable.d/stderr-expected.txt +1 -0
  373. data/ext/vendor/ctags/Tmain/xcmd-dont-run-setuid-executable.d/stdout-expected.txt +1 -0
  374. data/ext/vendor/ctags/Tmain/xcmd-for-unknown-language.d/exit-expected.txt +1 -0
  375. data/ext/vendor/ctags/Tmain/xcmd-for-unknown-language.d/run.sh +7 -0
  376. data/ext/vendor/ctags/Tmain/xcmd-for-unknown-language.d/stderr-expected.txt +1 -0
  377. data/ext/vendor/ctags/Tmain/xcmd-for-unknown-language.d/stdout-expected.txt +0 -0
  378. data/ext/vendor/ctags/Tmain/xcmd-tag-relative-option.d/input.dog +2 -0
  379. data/ext/vendor/ctags/Tmain/xcmd-tag-relative-option.d/run.sh +28 -0
  380. data/ext/vendor/ctags/Tmain/xcmd-tag-relative-option.d/stderr-expected.txt +0 -0
  381. data/ext/vendor/ctags/Tmain/xcmd-tag-relative-option.d/stdout-expected.txt +6 -0
  382. data/ext/vendor/ctags/Tmain/xcmd-tag-relative-option.d/xcmd-dog +17 -0
  383. data/ext/vendor/ctags/Tmain/xformat-and-parser-own-field.d/input.rst +5 -0
  384. data/ext/vendor/ctags/Tmain/xformat-and-parser-own-field.d/run.sh +63 -0
  385. data/ext/vendor/ctags/Tmain/xformat-and-parser-own-field.d/stderr-expected.txt +3 -0
  386. data/ext/vendor/ctags/Tmain/xformat-and-parser-own-field.d/stdout-expected.txt +28 -0
  387. data/ext/vendor/ctags/Tmain/xformat-common-fields.d/input.py +3 -0
  388. data/ext/vendor/ctags/Tmain/xformat-common-fields.d/run.sh +13 -0
  389. data/ext/vendor/ctags/Tmain/xformat-common-fields.d/stdout-expected.txt +118 -0
  390. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-528-sml.d/expected.tags +0 -0
  391. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-528-sml.d/input.sml +1 -0
  392. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-529-bas.d/input.bas +1 -0
  393. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-530-css.d/input.css +1 -0
  394. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-531-make.d/input.mk +1 -0
  395. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-532-vim.d/input.vim +1 -0
  396. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-536-flex.d/input.as +1 -0
  397. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-537-beta.d/input.bet +1 -0
  398. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-538-sql.d/input.sql +1 -0
  399. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-539-js.d/input.js +1 -0
  400. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-540-fortran.d/input.f +1 -0
  401. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-541-json.d/input.json +1 -0
  402. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-542-vhdl.d/input.vhdl +1 -0
  403. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-543-eiffel.d/input.e +1 -0
  404. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-625-r.d/input.r +1 -0
  405. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-627-perl.d/input.pl +2 -0
  406. data/ext/vendor/ctags/Units/afl-fuzz.r/github-issue-628-vera.d/input.vr +1 -0
  407. data/ext/vendor/ctags/Units/conflib-recursive.d/args.ctags +1 -0
  408. data/ext/vendor/ctags/Units/conflib-recursive.d/expected.tags +6 -0
  409. data/ext/vendor/ctags/Units/conflib-recursive.d/features +2 -0
  410. data/ext/vendor/ctags/Units/conflib-recursive.d/input.cof +17 -0
  411. data/ext/vendor/ctags/Units/conflib-recursive.d/optlib/lang.d/def.d/a.ctags +4 -0
  412. data/ext/vendor/ctags/Units/conflib-recursive.d/optlib/lang.d/map.d/b.ctags +4 -0
  413. data/ext/vendor/ctags/Units/conflib-recursive.d/optlib/lang.d/regex.d/c.ctags +4 -0
  414. data/ext/vendor/ctags/Units/conflib-recursive.d/optlib/lang.d/regex.d/d.ctags +4 -0
  415. data/ext/vendor/ctags/Units/conflib-recursive.d/optlib/lang.d/regex.d/e.ctags +4 -0
  416. data/ext/vendor/ctags/Units/conflib-simple.d/args.ctags +1 -0
  417. data/ext/vendor/ctags/Units/conflib-simple.d/expected.tags +6 -0
  418. data/ext/vendor/ctags/Units/conflib-simple.d/features +1 -0
  419. data/ext/vendor/ctags/Units/conflib-simple.d/input.coffee +17 -0
  420. data/ext/vendor/ctags/Units/conflib-simple.d/optlib/coffee.ctags +8 -0
  421. data/ext/vendor/ctags/Units/cork-etags.d/expected.tags-e +5 -0
  422. data/ext/vendor/ctags/Units/cork-etags.d/input.clj +9 -0
  423. data/ext/vendor/ctags/Units/cork-xref.d/expected.tags-x +3 -0
  424. data/ext/vendor/ctags/Units/cork-xref.d/input.clj +9 -0
  425. data/ext/vendor/ctags/Units/dotted-names.d/expected.tags +19 -0
  426. data/ext/vendor/ctags/Units/dotted-names.d/input.json +25 -0
  427. data/ext/vendor/ctags/Units/extension-with-template-suffix.d/expected.tags +1 -0
  428. data/ext/vendor/ctags/Units/extension-with-template-suffix.d/input.c.in +5 -0
  429. data/ext/vendor/ctags/Units/extra-file-scope-option.d/args.ctags +1 -0
  430. data/ext/vendor/ctags/Units/extra-file-scope-option.d/expected.tags +1 -0
  431. data/ext/vendor/ctags/Units/extra-file-scope-option.d/input.c +2 -0
  432. data/ext/vendor/ctags/Units/extra-total-lines.d/args.ctags +9 -0
  433. data/ext/vendor/ctags/Units/extra-total-lines.d/expected.tags +2 -0
  434. data/ext/vendor/ctags/Units/extra-total-lines.d/foo.h +27 -0
  435. data/ext/vendor/ctags/Units/extra-total-lines.d/input.c +6 -0
  436. data/ext/vendor/ctags/Units/file-kind-alt.d/args.ctags +1 -0
  437. data/ext/vendor/ctags/Units/file-kind-alt.d/expected.tags +1 -0
  438. data/ext/vendor/ctags/Units/file-kind-alt.d/input.rb +0 -0
  439. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/README +9 -0
  440. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/csharp-fha-0.d/expected.tags +0 -0
  441. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/csharp-fha-0.d/input.cs +1 -0
  442. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/d-fha-0.d/README +5 -0
  443. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/d-fha-0.d/expected.tags +1 -0
  444. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/d-fha-0.d/input.d +1 -0
  445. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/eiffel-fha-0.d/expected.tags +0 -0
  446. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/eiffel-fha-0.d/input.e +1 -0
  447. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/java-fha-0.d/expected.tags +0 -0
  448. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/java-fha-0.d/input.java +1 -0
  449. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/systemverilog-fha-0.d/expected.tags +0 -0
  450. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/systemverilog-fha-0.d/input.sv +1 -0
  451. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/vera-fha-0.d/expected.tags +1 -0
  452. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/vera-fha-0.d/input.vr +1 -0
  453. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/verilog-fha-0.d/expected.tags +0 -0
  454. data/ext/vendor/ctags/Units/fuzz-hitting-assertions.r/verilog-fha-0.d/input.v +1 -0
  455. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-after-shbang.d/args.ctags +1 -0
  456. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-after-shbang.d/expected.tags +1 -0
  457. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-after-shbang.d/input.nolang +4 -0
  458. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-eof.d/args.ctags +1 -0
  459. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-eof.d/expected.tags +1 -0
  460. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-eof.d/input.nolang +34 -0
  461. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-firstline0.d/args.ctags +1 -0
  462. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-firstline0.d/expected.tags +1 -0
  463. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-firstline0.d/input.nolang +3 -0
  464. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-firstline1.d/args.ctags +1 -0
  465. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-firstline1.d/expected.tags +1 -0
  466. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-emacs-firstline1.d/input.nolang +6 -0
  467. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-vim0.d/args.ctags +1 -0
  468. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-vim0.d/expected.tags +1 -0
  469. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-vim0.d/input.nolang +7 -0
  470. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-vim1.d/args.ctags +1 -0
  471. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-vim1.d/expected.tags +1 -0
  472. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-vim1.d/input.nolang +7 -0
  473. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-vim2.d/args.ctags +2 -0
  474. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-vim2.d/expected.tags +1 -0
  475. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-vim2.d/input.nolang +7 -0
  476. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-zsh-autoload.d/args.ctags +2 -0
  477. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-zsh-autoload.d/expected.tags +1 -0
  478. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-zsh-autoload.d/input.nolang +4 -0
  479. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-zsh-compdef.d/args.ctags +3 -0
  480. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-zsh-compdef.d/expected.tags +1 -0
  481. data/ext/vendor/ctags/Units/main-guessing.r/nolang-modeline-zsh-compdef.d/input.nolang +4 -0
  482. data/ext/vendor/ctags/Units/main-guessing.r/nolang-shebang-python3.d/args.ctags +1 -0
  483. data/ext/vendor/ctags/Units/main-guessing.r/nolang-shebang-python3.d/expected.tags +1 -0
  484. data/ext/vendor/ctags/Units/main-guessing.r/nolang-shebang-python3.d/input.nolang +5 -0
  485. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-coffeetags-pseudo.d/expected.tags +3 -0
  486. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-coffeetags-pseudo.d/features +1 -0
  487. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-coffeetags-pseudo.d/filter +2 -0
  488. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-coffeetags-pseudo.d/input.coffee +2 -0
  489. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-coffeetags-pseudo.d/languages +1 -0
  490. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-coffeetags.d/expected.tags +5 -0
  491. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-coffeetags.d/features +1 -0
  492. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-coffeetags.d/input.coffee +17 -0
  493. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-coffeetags.d/languages +1 -0
  494. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-etags.d/expected.tags-e +7 -0
  495. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-etags.d/features +1 -0
  496. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-etags.d/input.coffee +17 -0
  497. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-etags.d/languages +1 -0
  498. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-simple.d/args.ctags +6 -0
  499. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-simple.d/expected.tags +3 -0
  500. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-simple.d/features +2 -0
  501. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-simple.d/input.dog +2 -0
  502. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-simple.d/xcmd-dog +17 -0
  503. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-xref.d/expected.tags-x +5 -0
  504. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-xref.d/features +1 -0
  505. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-xref.d/input.coffee +17 -0
  506. data/ext/vendor/ctags/Units/main-xcmd.r/xcmd-xref.d/languages +1 -0
  507. data/ext/vendor/ctags/Units/matlab-tg-corpus.d/expected.tags +14 -0
  508. data/ext/vendor/ctags/Units/matlab-tg-corpus.d/features +1 -0
  509. data/ext/vendor/ctags/Units/matlab-tg-corpus.d/input.m +105 -0
  510. data/ext/vendor/ctags/Units/modeline-vs-2gram.m/args.ctags +1 -0
  511. data/ext/vendor/ctags/Units/modeline-vs-2gram.m/expected.tags +1 -0
  512. data/ext/vendor/ctags/Units/modeline-vs-2gram.m/input.m +3 -0
  513. data/ext/vendor/ctags/Units/noext-tg-matlab.d/args.ctags +1 -0
  514. data/ext/vendor/ctags/Units/noext-tg-matlab.d/expected.tags +14 -0
  515. data/ext/vendor/ctags/Units/noext-tg-matlab.d/features +1 -0
  516. data/ext/vendor/ctags/Units/noext-tg-matlab.d/input.nolang +106 -0
  517. data/ext/vendor/ctags/Units/noext-tg-objc.d/args.ctags +1 -0
  518. data/ext/vendor/ctags/Units/noext-tg-objc.d/expected.tags +17 -0
  519. data/ext/vendor/ctags/Units/noext-tg-objc.d/input.nolang +152 -0
  520. data/ext/vendor/ctags/Units/objc-tg-corpus.d/expected.tags +17 -0
  521. data/ext/vendor/ctags/Units/objc-tg-corpus.d/input.m +151 -0
  522. data/ext/vendor/ctags/Units/ocaml_empty.ml_etags.t/expected.tags-e +2 -0
  523. data/ext/vendor/ctags/Units/ocaml_empty.ml_etags.t/input.ml +0 -0
  524. data/ext/vendor/ctags/Units/ocaml_empty.ml_xref.t/expected.tags-x +1 -0
  525. data/ext/vendor/ctags/Units/ocaml_empty.ml_xref.t/input.ml +0 -0
  526. data/ext/vendor/ctags/Units/option-add-alias.d/args.ctags +2 -0
  527. data/ext/vendor/ctags/Units/option-add-alias.d/expected.tags +1 -0
  528. data/ext/vendor/ctags/Units/option-add-alias.d/input.nolang +3 -0
  529. data/ext/vendor/ctags/Units/option-disable-kind-in-both.d/args.ctags +2 -0
  530. data/ext/vendor/ctags/Units/option-disable-kind-in-both.d/expected.tags +0 -0
  531. data/ext/vendor/ctags/Units/option-disable-kind-in-both.d/input.c +6 -0
  532. data/ext/vendor/ctags/Units/option-disable-kind-in-builtin.d/args.ctags +2 -0
  533. data/ext/vendor/ctags/Units/option-disable-kind-in-builtin.d/expected.tags +1 -0
  534. data/ext/vendor/ctags/Units/option-disable-kind-in-builtin.d/features +1 -0
  535. data/ext/vendor/ctags/Units/option-disable-kind-in-builtin.d/input.c +6 -0
  536. data/ext/vendor/ctags/Units/option-disable-kind-in-regex.d/args.ctags +2 -0
  537. data/ext/vendor/ctags/Units/option-disable-kind-in-regex.d/expected.tags +1 -0
  538. data/ext/vendor/ctags/Units/option-disable-kind-in-regex.d/input.c +6 -0
  539. data/ext/vendor/ctags/Units/option-lang-compatibility.d/args.ctags +3 -0
  540. data/ext/vendor/ctags/Units/option-lang-compatibility.d/expected.tags +3 -0
  541. data/ext/vendor/ctags/Units/option-lang-compatibility.d/features +1 -0
  542. data/ext/vendor/ctags/Units/option-lang-compatibility.d/input.foo +3 -0
  543. data/ext/vendor/ctags/Units/option-langmap-ext--ext.d/args.ctags +1 -0
  544. data/ext/vendor/ctags/Units/option-langmap-ext--ext.d/expected.tags +1 -0
  545. data/ext/vendor/ctags/Units/option-langmap-ext--ext.d/input.x +5 -0
  546. data/ext/vendor/ctags/Units/option-langmap-ext--pat-ext.d/args.ctags +1 -0
  547. data/ext/vendor/ctags/Units/option-langmap-ext--pat-ext.d/expected.tags +1 -0
  548. data/ext/vendor/ctags/Units/option-langmap-ext--pat-ext.d/input.zzz +5 -0
  549. data/ext/vendor/ctags/Units/option-langmap-ext-pat--ext.d/args.ctags +1 -0
  550. data/ext/vendor/ctags/Units/option-langmap-ext-pat--ext.d/expected.tags +1 -0
  551. data/ext/vendor/ctags/Units/option-langmap-ext-pat--ext.d/input.x +5 -0
  552. data/ext/vendor/ctags/Units/option-langmap-pat--ext.d/args.ctags +1 -0
  553. data/ext/vendor/ctags/Units/option-langmap-pat--ext.d/expected.tags +1 -0
  554. data/ext/vendor/ctags/Units/option-langmap-pat--ext.d/input.x +5 -0
  555. data/ext/vendor/ctags/Units/option-langmap-pat--pat-ext.d/args.ctags +1 -0
  556. data/ext/vendor/ctags/Units/option-langmap-pat--pat-ext.d/expected.tags +1 -0
  557. data/ext/vendor/ctags/Units/option-langmap-pat--pat-ext.d/input.zzz +5 -0
  558. data/ext/vendor/ctags/Units/option-same-kind-in-regex-and-builtin.d/args.ctags +2 -0
  559. data/ext/vendor/ctags/Units/option-same-kind-in-regex-and-builtin.d/expected.tags +2 -0
  560. data/ext/vendor/ctags/Units/option-same-kind-in-regex-and-builtin.d/features +1 -0
  561. data/ext/vendor/ctags/Units/option-same-kind-in-regex-and-builtin.d/input.c +7 -0
  562. data/ext/vendor/ctags/Units/parser-ada.r/ada-adb.d/expected.tags +7 -0
  563. data/ext/vendor/ctags/Units/parser-ada.r/ada-adb.d/input.adb +35 -0
  564. data/ext/vendor/ctags/Units/parser-ada.r/ada-ads.d/expected.tags +16 -0
  565. data/ext/vendor/ctags/Units/parser-ada.r/ada-ads.d/input.ads +50 -0
  566. data/ext/vendor/ctags/Units/parser-ada.r/ada-function.d/args.ctags +1 -0
  567. data/ext/vendor/ctags/Units/parser-ada.r/ada-function.d/input.broken +1 -0
  568. data/ext/vendor/ctags/Units/parser-ada.r/ada-partial-bug.d/expected.tags +1 -0
  569. data/ext/vendor/ctags/Units/parser-ada.r/ada-partial-bug.d/input.adb +3 -0
  570. data/ext/vendor/ctags/Units/parser-ada.r/ada-partial-bug2.d/input.adb +3 -0
  571. data/ext/vendor/ctags/Units/parser-ada.r/ada-partial-type.d/expected.tags +4 -0
  572. data/ext/vendor/ctags/Units/parser-ada.r/ada-partial-type.d/input.ads +8 -0
  573. data/ext/vendor/ctags/Units/parser-ada.r/ada-protected.d/input.adb +1 -0
  574. data/ext/vendor/ctags/Units/parser-ansibleplaybook.r/play-name.d/args.ctags +1 -0
  575. data/ext/vendor/ctags/Units/parser-ansibleplaybook.r/play-name.d/expected.tags +2 -0
  576. data/ext/vendor/ctags/Units/parser-ansibleplaybook.r/play-name.d/features +1 -0
  577. data/ext/vendor/ctags/Units/parser-ansibleplaybook.r/play-name.d/input.yml +4 -0
  578. data/ext/vendor/ctags/Units/parser-ant.r/regex-based.d/args.ctags +1 -0
  579. data/ext/vendor/ctags/Units/parser-ant.r/regex-based.d/expected.tags +9 -0
  580. data/ext/vendor/ctags/Units/parser-ant.r/regex-based.d/features +1 -0
  581. data/ext/vendor/ctags/Units/parser-ant.r/regex-based.d/input.xml +102 -0
  582. data/ext/vendor/ctags/Units/parser-ant.r/xpath-based.d/args.ctags +3 -0
  583. data/ext/vendor/ctags/Units/parser-ant.r/xpath-based.d/expected.tags +9 -0
  584. data/ext/vendor/ctags/Units/parser-ant.r/xpath-based.d/features +1 -0
  585. data/ext/vendor/ctags/Units/parser-ant.r/xpath-based.d/input.xml +103 -0
  586. data/ext/vendor/ctags/Units/parser-asm.r/68hc11.asm.d/expected.tags +10 -0
  587. data/ext/vendor/ctags/Units/parser-asm.r/68hc11.asm.d/input.asm +23 -0
  588. data/ext/vendor/ctags/Units/parser-asm.r/bd32.s.d/expected.tags +5 -0
  589. data/ext/vendor/ctags/Units/parser-asm.r/bd32.s.d/input.s +43 -0
  590. data/ext/vendor/ctags/Units/parser-asm.r/bug538629.asm.d/expected.tags +1 -0
  591. data/ext/vendor/ctags/Units/parser-asm.r/bug538629.asm.d/input.asm +1 -0
  592. data/ext/vendor/ctags/Units/parser-asm.r/gas.s.d/args.ctags +1 -0
  593. data/ext/vendor/ctags/Units/parser-asm.r/gas.s.d/expected.tags +3 -0
  594. data/ext/vendor/ctags/Units/parser-asm.r/gas.s.d/input.s +13 -0
  595. data/ext/vendor/ctags/Units/parser-asm.r/masm.asm.d/expected.tags +11 -0
  596. data/ext/vendor/ctags/Units/parser-asm.r/masm.asm.d/input.asm +33 -0
  597. data/ext/vendor/ctags/Units/parser-asm.r/moniker.x68.d/expected.tags +15 -0
  598. data/ext/vendor/ctags/Units/parser-asm.r/moniker.x68.d/input.x68 +116 -0
  599. data/ext/vendor/ctags/Units/parser-autoconf.r/m4-disable-ac.d/args.ctags +4 -0
  600. data/ext/vendor/ctags/Units/parser-autoconf.r/m4-disable-ac.d/expected.tags +2 -0
  601. data/ext/vendor/ctags/Units/parser-autoconf.r/m4-disable-ac.d/input.ac +12 -0
  602. data/ext/vendor/ctags/Units/parser-autoconf.r/nested-block.ac.b/DESC.rst +15 -0
  603. data/ext/vendor/ctags/Units/parser-autoconf.r/nested-block.ac.b/args.ctags +2 -0
  604. data/ext/vendor/ctags/Units/parser-autoconf.r/nested-block.ac.b/expected.tags +8 -0
  605. data/ext/vendor/ctags/Units/parser-autoconf.r/nested-block.ac.b/input.ac +12 -0
  606. data/ext/vendor/ctags/Units/parser-autoconf.r/simple.ac.d/args.ctags +2 -0
  607. data/ext/vendor/ctags/Units/parser-autoconf.r/simple.ac.d/expected.tags +14 -0
  608. data/ext/vendor/ctags/Units/parser-autoconf.r/simple.ac.d/input.ac +47 -0
  609. data/ext/vendor/ctags/Units/parser-automake.r/disable-make-parser.d/args.ctags +4 -0
  610. data/ext/vendor/ctags/Units/parser-automake.r/disable-make-parser.d/expected.tags +2 -0
  611. data/ext/vendor/ctags/Units/parser-automake.r/disable-make-parser.d/input.am +1 -0
  612. data/ext/vendor/ctags/Units/parser-automake.r/langstack.am.d/args.ctags +4 -0
  613. data/ext/vendor/ctags/Units/parser-automake.r/langstack.am.d/expected.tags +9 -0
  614. data/ext/vendor/ctags/Units/parser-automake.r/langstack.am.d/input.am +15 -0
  615. data/ext/vendor/ctags/Units/parser-automake.r/simple.am.d/args.ctags +4 -0
  616. data/ext/vendor/ctags/Units/parser-automake.r/simple.am.d/expected.tags +47 -0
  617. data/ext/vendor/ctags/Units/parser-automake.r/simple.am.d/input.am +92 -0
  618. data/ext/vendor/ctags/Units/parser-awk.r/gawk-alias.d/args.ctags +1 -0
  619. data/ext/vendor/ctags/Units/parser-awk.r/gawk-alias.d/expected.tags +1 -0
  620. data/ext/vendor/ctags/Units/parser-awk.r/gawk-alias.d/input.unknown +10 -0
  621. data/ext/vendor/ctags/Units/parser-awk.r/simple-awk.d/expected.tags +1 -0
  622. data/ext/vendor/ctags/Units/parser-awk.r/simple-awk.d/input.awk +9 -0
  623. data/ext/vendor/ctags/Units/parser-awk.r/simple2-awk.d/expected.tags +2 -0
  624. data/ext/vendor/ctags/Units/parser-awk.r/simple2-awk.d/input.awk +37 -0
  625. data/ext/vendor/ctags/Units/parser-c.r/attr-attached-to-array-failed.b/args.ctags +1 -0
  626. data/ext/vendor/ctags/Units/parser-c.r/attr-attached-to-array-failed.b/expected.tags +3 -0
  627. data/ext/vendor/ctags/Units/parser-c.r/attr-attached-to-array-failed.b/input.c +3 -0
  628. data/ext/vendor/ctags/Units/parser-c.r/attr-attached-to-array.d/args.ctags +1 -0
  629. data/ext/vendor/ctags/Units/parser-c.r/attr-attached-to-array.d/expected.tags +5 -0
  630. data/ext/vendor/ctags/Units/parser-c.r/attr-attached-to-array.d/input.c +4 -0
  631. data/ext/vendor/ctags/Units/parser-c.r/backslash-in-input.c.d/expected.tags +1 -0
  632. data/ext/vendor/ctags/Units/parser-c.r/backslash-in-input.c.d/input.c +5 -0
  633. data/ext/vendor/ctags/Units/parser-c.r/bit_field.c.d/args.ctags +2 -0
  634. data/ext/vendor/ctags/Units/parser-c.r/bit_field.c.d/expected.tags +25 -0
  635. data/ext/vendor/ctags/Units/parser-c.r/bit_field.c.d/input.c +35 -0
  636. data/ext/vendor/ctags/Units/parser-c.r/bug1020715.c.d/args.ctags +3 -0
  637. data/ext/vendor/ctags/Units/parser-c.r/bug1020715.c.d/expected.tags +1 -0
  638. data/ext/vendor/ctags/Units/parser-c.r/bug1020715.c.d/input.c +52 -0
  639. data/ext/vendor/ctags/Units/parser-c.r/bug1085585.c.d/args.ctags +1 -0
  640. data/ext/vendor/ctags/Units/parser-c.r/bug1085585.c.d/expected.tags +2 -0
  641. data/ext/vendor/ctags/Units/parser-c.r/bug1085585.c.d/input.c +37 -0
  642. data/ext/vendor/ctags/Units/parser-c.r/bug1086609.c.d/expected.tags +1 -0
  643. data/ext/vendor/ctags/Units/parser-c.r/bug1086609.c.d/input.c +41 -0
  644. data/ext/vendor/ctags/Units/parser-c.r/bug1198.c.d/args.ctags +2 -0
  645. data/ext/vendor/ctags/Units/parser-c.r/bug1198.c.d/expected.tags +4 -0
  646. data/ext/vendor/ctags/Units/parser-c.r/bug1198.c.d/input.c +32 -0
  647. data/ext/vendor/ctags/Units/parser-c.r/bug1201689.c.d/expected.tags +1 -0
  648. data/ext/vendor/ctags/Units/parser-c.r/bug1201689.c.d/input.c +35 -0
  649. data/ext/vendor/ctags/Units/parser-c.r/bug1458930.c.d/args.ctags +1 -0
  650. data/ext/vendor/ctags/Units/parser-c.r/bug1458930.c.d/expected.tags +2 -0
  651. data/ext/vendor/ctags/Units/parser-c.r/bug1458930.c.d/input.c +3 -0
  652. data/ext/vendor/ctags/Units/parser-c.r/bug1466117.c.d/expected.tags +7 -0
  653. data/ext/vendor/ctags/Units/parser-c.r/bug1466117.c.d/input.c +10 -0
  654. data/ext/vendor/ctags/Units/parser-c.r/bug1491666.c.d/args.ctags +1 -0
  655. data/ext/vendor/ctags/Units/parser-c.r/bug1491666.c.d/expected.tags +7 -0
  656. data/ext/vendor/ctags/Units/parser-c.r/bug1491666.c.d/input.c +13 -0
  657. data/ext/vendor/ctags/Units/parser-c.r/bug1764143.h.d/expected.tags +2 -0
  658. data/ext/vendor/ctags/Units/parser-c.r/bug1764143.h.d/input.h +27 -0
  659. data/ext/vendor/ctags/Units/parser-c.r/bug507864.c.d/README +13 -0
  660. data/ext/vendor/ctags/Units/parser-c.r/bug507864.c.d/expected.tags +2 -0
  661. data/ext/vendor/ctags/Units/parser-c.r/bug507864.c.d/input.c +2 -0
  662. data/ext/vendor/ctags/Units/parser-c.r/bug556645.c.d/README +19 -0
  663. data/ext/vendor/ctags/Units/parser-c.r/bug556645.c.d/expected.tags +2 -0
  664. data/ext/vendor/ctags/Units/parser-c.r/bug556645.c.d/input.c +39 -0
  665. data/ext/vendor/ctags/Units/parser-c.r/bug556646.c.d/expected.tags +21 -0
  666. data/ext/vendor/ctags/Units/parser-c.r/bug556646.c.d/input.c +42 -0
  667. data/ext/vendor/ctags/Units/parser-c.r/bug945.c.d/args.ctags +2 -0
  668. data/ext/vendor/ctags/Units/parser-c.r/bug945.c.d/expected.tags +1 -0
  669. data/ext/vendor/ctags/Units/parser-c.r/bug945.c.d/input.c +11 -0
  670. data/ext/vendor/ctags/Units/parser-c.r/bug950.c.d/args.ctags +2 -0
  671. data/ext/vendor/ctags/Units/parser-c.r/bug950.c.d/expected.tags +7 -0
  672. data/ext/vendor/ctags/Units/parser-c.r/bug950.c.d/input.c +20 -0
  673. data/ext/vendor/ctags/Units/parser-c.r/c-define-mixed.d/args.ctags +2 -0
  674. data/ext/vendor/ctags/Units/parser-c.r/c-define-mixed.d/expected.tags +2 -0
  675. data/ext/vendor/ctags/Units/parser-c.r/c-define-mixed.d/input.c +7 -0
  676. data/ext/vendor/ctags/Units/parser-c.r/c-digraphs.d/expected.tags +11 -0
  677. data/ext/vendor/ctags/Units/parser-c.r/c-digraphs.d/input.c +35 -0
  678. data/ext/vendor/ctags/Units/parser-c.r/c-include.d/args.ctags +3 -0
  679. data/ext/vendor/ctags/Units/parser-c.r/c-include.d/expected.tags +12 -0
  680. data/ext/vendor/ctags/Units/parser-c.r/c-include.d/input.c +32 -0
  681. data/ext/vendor/ctags/Units/parser-c.r/c-knr.d/args.ctags +2 -0
  682. data/ext/vendor/ctags/Units/parser-c.r/c-knr.d/expected.tags +12 -0
  683. data/ext/vendor/ctags/Units/parser-c.r/c-knr.d/input.c +39 -0
  684. data/ext/vendor/ctags/Units/parser-c.r/c-label.d/args.ctags +1 -0
  685. data/ext/vendor/ctags/Units/parser-c.r/c-label.d/expected.tags +2 -0
  686. data/ext/vendor/ctags/Units/parser-c.r/c-label.d/input.c +16 -0
  687. data/ext/vendor/ctags/Units/parser-c.r/c-multichars-between-single-quotes.d/expected.tags +1 -0
  688. data/ext/vendor/ctags/Units/parser-c.r/c-multichars-between-single-quotes.d/input.c +1 -0
  689. data/ext/vendor/ctags/Units/parser-c.r/c-sample.d/expected.tags +1 -0
  690. data/ext/vendor/ctags/Units/parser-c.r/c-sample.d/input.c +5 -0
  691. data/ext/vendor/ctags/Units/parser-c.r/c-size_t-wchar_t-typedef.d/expected.tags +2 -0
  692. data/ext/vendor/ctags/Units/parser-c.r/c-size_t-wchar_t-typedef.d/input.c +3 -0
  693. data/ext/vendor/ctags/Units/parser-c.r/c-trigraphs.d/expected.tags +14 -0
  694. data/ext/vendor/ctags/Units/parser-c.r/c-trigraphs.d/input.c +56 -0
  695. data/ext/vendor/ctags/Units/parser-c.r/complex_decl.c.d/expected.tags +1 -0
  696. data/ext/vendor/ctags/Units/parser-c.r/complex_decl.c.d/input.c +2 -0
  697. data/ext/vendor/ctags/Units/parser-c.r/directives.c.d/README +1 -0
  698. data/ext/vendor/ctags/Units/parser-c.r/directives.c.d/args.ctags +2 -0
  699. data/ext/vendor/ctags/Units/parser-c.r/directives.c.d/expected.tags +21 -0
  700. data/ext/vendor/ctags/Units/parser-c.r/directives.c.d/input.c +72 -0
  701. data/ext/vendor/ctags/Units/parser-c.r/end-field-of-macro.d/args.ctags +2 -0
  702. data/ext/vendor/ctags/Units/parser-c.r/end-field-of-macro.d/expected.tags +3 -0
  703. data/ext/vendor/ctags/Units/parser-c.r/end-field-of-macro.d/input.c +8 -0
  704. data/ext/vendor/ctags/Units/parser-c.r/enum.c.d/args.ctags +1 -0
  705. data/ext/vendor/ctags/Units/parser-c.r/enum.c.d/expected.tags +16 -0
  706. data/ext/vendor/ctags/Units/parser-c.r/enum.c.d/input.c +33 -0
  707. data/ext/vendor/ctags/Units/parser-c.r/extern_variable.h.b/README +15 -0
  708. data/ext/vendor/ctags/Units/parser-c.r/extern_variable.h.b/args.ctags +1 -0
  709. data/ext/vendor/ctags/Units/parser-c.r/extern_variable.h.b/expected.tags +0 -0
  710. data/ext/vendor/ctags/Units/parser-c.r/extern_variable.h.b/input.h +4 -0
  711. data/ext/vendor/ctags/Units/parser-c.r/func_typedef.h.d/expected.tags +1 -0
  712. data/ext/vendor/ctags/Units/parser-c.r/func_typedef.h.d/input.h +1 -0
  713. data/ext/vendor/ctags/Units/parser-c.r/if0.c.d/args.ctags +1 -0
  714. data/ext/vendor/ctags/Units/parser-c.r/if0.c.d/expected.tags +2 -0
  715. data/ext/vendor/ctags/Units/parser-c.r/if0.c.d/input.c +5 -0
  716. data/ext/vendor/ctags/Units/parser-c.r/line_directives.c.d/README +73 -0
  717. data/ext/vendor/ctags/Units/parser-c.r/line_directives.c.d/args.ctags +5 -0
  718. data/ext/vendor/ctags/Units/parser-c.r/line_directives.c.d/expected.tags +5 -0
  719. data/ext/vendor/ctags/Units/parser-c.r/line_directives.c.d/filter +19 -0
  720. data/ext/vendor/ctags/Units/parser-c.r/line_directives.c.d/input.c +16 -0
  721. data/ext/vendor/ctags/Units/parser-c.r/local.c.d/args.ctags +1 -0
  722. data/ext/vendor/ctags/Units/parser-c.r/local.c.d/expected.tags +6 -0
  723. data/ext/vendor/ctags/Units/parser-c.r/local.c.d/input.c +22 -0
  724. data/ext/vendor/ctags/Units/parser-c.r/macros.c.d/README +45 -0
  725. data/ext/vendor/ctags/Units/parser-c.r/macros.c.d/args.ctags +5 -0
  726. data/ext/vendor/ctags/Units/parser-c.r/macros.c.d/expected.tags +9 -0
  727. data/ext/vendor/ctags/Units/parser-c.r/macros.c.d/input.c +15 -0
  728. data/ext/vendor/ctags/Units/parser-c.r/option-disable-undef.c.d/args.ctags +1 -0
  729. data/ext/vendor/ctags/Units/parser-c.r/option-disable-undef.c.d/expected.tags +1 -0
  730. data/ext/vendor/ctags/Units/parser-c.r/option-disable-undef.c.d/input.c +2 -0
  731. data/ext/vendor/ctags/Units/parser-c.r/prototype.h.d/args.ctags +2 -0
  732. data/ext/vendor/ctags/Units/parser-c.r/prototype.h.d/expected.tags +2 -0
  733. data/ext/vendor/ctags/Units/parser-c.r/prototype.h.d/input.h +2 -0
  734. data/ext/vendor/ctags/Units/parser-c.r/spurious_label_tags.c.d/args.ctags +1 -0
  735. data/ext/vendor/ctags/Units/parser-c.r/spurious_label_tags.c.d/expected.tags +1 -0
  736. data/ext/vendor/ctags/Units/parser-c.r/spurious_label_tags.c.d/input.c +17 -0
  737. data/ext/vendor/ctags/Units/parser-c.r/static_array.c.d/expected.tags +1 -0
  738. data/ext/vendor/ctags/Units/parser-c.r/static_array.c.d/input.c +3 -0
  739. data/ext/vendor/ctags/Units/parser-c.r/using-cxx-keyword-in-c-code.d/args.ctags +1 -0
  740. data/ext/vendor/ctags/Units/parser-c.r/using-cxx-keyword-in-c-code.d/expected.tags +1 -0
  741. data/ext/vendor/ctags/Units/parser-c.r/using-cxx-keyword-in-c-code.d/input.c +1 -0
  742. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/if0-false-with-param.c.d/args.ctags +2 -0
  743. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/if0-false-with-param.c.d/expected.tags +1 -0
  744. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/if0-false-with-param.c.d/input.c +5 -0
  745. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/if0-true-with-param.c.d/args.ctags +2 -0
  746. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/if0-true-with-param.c.d/expected.tags +2 -0
  747. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/if0-true-with-param.c.d/input.c +5 -0
  748. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/macros-specified-with-param.c.d/README +1 -0
  749. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/macros-specified-with-param.c.d/args.ctags +5 -0
  750. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/macros-specified-with-param.c.d/expected.tags +9 -0
  751. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/macros-specified-with-param.c.d/input.c +15 -0
  752. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/simple-cpreprocessor.d/args.ctags +3 -0
  753. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/simple-cpreprocessor.d/expected.tags +2 -0
  754. data/ext/vendor/ctags/Units/parser-cpreprocessor.r/simple-cpreprocessor.d/input.c +7 -0
  755. data/ext/vendor/ctags/Units/parser-css.r/css-at-rules.d/expected.tags +4 -0
  756. data/ext/vendor/ctags/Units/parser-css.r/css-at-rules.d/input.css +27 -0
  757. data/ext/vendor/ctags/Units/parser-css.r/css-at-supports.d/expected.tags +2 -0
  758. data/ext/vendor/ctags/Units/parser-css.r/css-at-supports.d/input.css +6 -0
  759. data/ext/vendor/ctags/Units/parser-css.r/css-attribute-selectors.d/expected.tags +5 -0
  760. data/ext/vendor/ctags/Units/parser-css.r/css-attribute-selectors.d/input.css +6 -0
  761. data/ext/vendor/ctags/Units/parser-css.r/css-comma-no-space.d/expected.tags +2 -0
  762. data/ext/vendor/ctags/Units/parser-css.r/css-comma-no-space.d/input.css +1 -0
  763. data/ext/vendor/ctags/Units/parser-css.r/css-namespace-selectors.d/expected.tags +3 -0
  764. data/ext/vendor/ctags/Units/parser-css.r/css-namespace-selectors.d/input.css +4 -0
  765. data/ext/vendor/ctags/Units/parser-css.r/css-pseudo-classes.d/expected.tags +11 -0
  766. data/ext/vendor/ctags/Units/parser-css.r/css-pseudo-classes.d/input.css +15 -0
  767. data/ext/vendor/ctags/Units/parser-css.r/css-simple.d/expected.tags +10 -0
  768. data/ext/vendor/ctags/Units/parser-css.r/css-simple.d/input.css +27 -0
  769. data/ext/vendor/ctags/Units/parser-css.r/css-singlequote-in-comment-issue2.d/expected.tags +2 -0
  770. data/ext/vendor/ctags/Units/parser-css.r/css-singlequote-in-comment-issue2.d/input.css +2 -0
  771. data/ext/vendor/ctags/Units/parser-css.r/css-tag-types.d/expected.tags +36 -0
  772. data/ext/vendor/ctags/Units/parser-css.r/css-tag-types.d/input.css +38 -0
  773. data/ext/vendor/ctags/Units/parser-css.r/css-trivial.d/expected.tags +5 -0
  774. data/ext/vendor/ctags/Units/parser-css.r/css-trivial.d/input.css +5 -0
  775. data/ext/vendor/ctags/Units/parser-cxx.r/1117-using-in-c.d/input.c +1 -0
  776. data/ext/vendor/ctags/Units/parser-cxx.r/README +3 -0
  777. data/ext/vendor/ctags/Units/parser-cxx.r/angle_bracket.cpp.d/expected.tags +3 -0
  778. data/ext/vendor/ctags/Units/parser-cxx.r/angle_bracket.cpp.d/input.cpp +16 -0
  779. data/ext/vendor/ctags/Units/parser-cxx.r/attribute.cpp.d/args.ctags +4 -0
  780. data/ext/vendor/ctags/Units/parser-cxx.r/attribute.cpp.d/expected.tags +28 -0
  781. data/ext/vendor/ctags/Units/parser-cxx.r/attribute.cpp.d/input.cpp +49 -0
  782. data/ext/vendor/ctags/Units/parser-cxx.r/brackets.cpp.d/args.ctags +3 -0
  783. data/ext/vendor/ctags/Units/parser-cxx.r/brackets.cpp.d/expected.tags +16 -0
  784. data/ext/vendor/ctags/Units/parser-cxx.r/brackets.cpp.d/input.cpp +51 -0
  785. data/ext/vendor/ctags/Units/parser-cxx.r/bug-github-1111.cpp.d/expected.tags +0 -0
  786. data/ext/vendor/ctags/Units/parser-cxx.r/bug-github-1111.cpp.d/input.cpp +1 -0
  787. data/ext/vendor/ctags/Units/parser-cxx.r/bug-github-871.cpp.d/args.ctags +1 -0
  788. data/ext/vendor/ctags/Units/parser-cxx.r/bug-github-871.cpp.d/expected.tags +2 -0
  789. data/ext/vendor/ctags/Units/parser-cxx.r/bug-github-871.cpp.d/input.cpp +24 -0
  790. data/ext/vendor/ctags/Units/parser-cxx.r/bug-github-pull-972.cpp.d/args.ctags +3 -0
  791. data/ext/vendor/ctags/Units/parser-cxx.r/bug-github-pull-972.cpp.d/expected.tags +7 -0
  792. data/ext/vendor/ctags/Units/parser-cxx.r/bug-github-pull-972.cpp.d/input.cpp +24 -0
  793. data/ext/vendor/ctags/Units/parser-cxx.r/bug1020715.cpp.d/expected.tags +1 -0
  794. data/ext/vendor/ctags/Units/parser-cxx.r/bug1020715.cpp.d/input.cpp +6 -0
  795. data/ext/vendor/ctags/Units/parser-cxx.r/bug1093123.cpp.d/args.ctags +2 -0
  796. data/ext/vendor/ctags/Units/parser-cxx.r/bug1093123.cpp.d/expected.tags +3 -0
  797. data/ext/vendor/ctags/Units/parser-cxx.r/bug1093123.cpp.d/input.cpp +7 -0
  798. data/ext/vendor/ctags/Units/parser-cxx.r/bug1187505.cpp.d/args.ctags +2 -0
  799. data/ext/vendor/ctags/Units/parser-cxx.r/bug1187505.cpp.d/expected.tags +1 -0
  800. data/ext/vendor/ctags/Units/parser-cxx.r/bug1187505.cpp.d/input.cpp +5 -0
  801. data/ext/vendor/ctags/Units/parser-cxx.r/bug1548443.cpp.d/args.ctags +3 -0
  802. data/ext/vendor/ctags/Units/parser-cxx.r/bug1548443.cpp.d/expected.tags +6 -0
  803. data/ext/vendor/ctags/Units/parser-cxx.r/bug1548443.cpp.d/input.cpp +9 -0
  804. data/ext/vendor/ctags/Units/parser-cxx.r/bug1563476.cpp.d/args.ctags +2 -0
  805. data/ext/vendor/ctags/Units/parser-cxx.r/bug1563476.cpp.d/expected.tags +3 -0
  806. data/ext/vendor/ctags/Units/parser-cxx.r/bug1563476.cpp.d/input.cpp +16 -0
  807. data/ext/vendor/ctags/Units/parser-cxx.r/bug1575055.cpp.d/README +3 -0
  808. data/ext/vendor/ctags/Units/parser-cxx.r/bug1575055.cpp.d/expected.tags +3 -0
  809. data/ext/vendor/ctags/Units/parser-cxx.r/bug1575055.cpp.d/input.cpp +4 -0
  810. data/ext/vendor/ctags/Units/parser-cxx.r/bug1585745.cpp.d/expected.tags +6 -0
  811. data/ext/vendor/ctags/Units/parser-cxx.r/bug1585745.cpp.d/input.cpp +8 -0
  812. data/ext/vendor/ctags/Units/parser-cxx.r/bug1770479.cpp.d/args.ctags +1 -0
  813. data/ext/vendor/ctags/Units/parser-cxx.r/bug1770479.cpp.d/expected.tags +4 -0
  814. data/ext/vendor/ctags/Units/parser-cxx.r/bug1770479.cpp.d/input.cpp +17 -0
  815. data/ext/vendor/ctags/Units/parser-cxx.r/bug1773926.cpp.d/args.ctags +1 -0
  816. data/ext/vendor/ctags/Units/parser-cxx.r/bug1773926.cpp.d/expected.tags +4 -0
  817. data/ext/vendor/ctags/Units/parser-cxx.r/bug1773926.cpp.d/input.cpp +12 -0
  818. data/ext/vendor/ctags/Units/parser-cxx.r/bug1799340.cpp.d/expected.tags +3 -0
  819. data/ext/vendor/ctags/Units/parser-cxx.r/bug1799340.cpp.d/input.cpp +3 -0
  820. data/ext/vendor/ctags/Units/parser-cxx.r/bug1799343-1.cpp.d/args.ctags +2 -0
  821. data/ext/vendor/ctags/Units/parser-cxx.r/bug1799343-1.cpp.d/expected.tags +7 -0
  822. data/ext/vendor/ctags/Units/parser-cxx.r/bug1799343-1.cpp.d/input.cpp +10 -0
  823. data/ext/vendor/ctags/Units/parser-cxx.r/bug1799343-2.cpp.d/args.ctags +2 -0
  824. data/ext/vendor/ctags/Units/parser-cxx.r/bug1799343-2.cpp.d/expected.tags +15 -0
  825. data/ext/vendor/ctags/Units/parser-cxx.r/bug1799343-2.cpp.d/input.cpp +27 -0
  826. data/ext/vendor/ctags/Units/parser-cxx.r/bug1907083.cpp.d/expected.tags +4 -0
  827. data/ext/vendor/ctags/Units/parser-cxx.r/bug1907083.cpp.d/input.cpp +5 -0
  828. data/ext/vendor/ctags/Units/parser-cxx.r/bug1924919.cpp.d/README +17 -0
  829. data/ext/vendor/ctags/Units/parser-cxx.r/bug1924919.cpp.d/args.ctags +2 -0
  830. data/ext/vendor/ctags/Units/parser-cxx.r/bug1924919.cpp.d/expected.tags +4 -0
  831. data/ext/vendor/ctags/Units/parser-cxx.r/bug1924919.cpp.d/input.cpp +6 -0
  832. data/ext/vendor/ctags/Units/parser-cxx.r/bug639639.cpp.d/expected.tags +3 -0
  833. data/ext/vendor/ctags/Units/parser-cxx.r/bug639639.cpp.d/input.h +46 -0
  834. data/ext/vendor/ctags/Units/parser-cxx.r/bug639644.cpp.d/expected.tags +2 -0
  835. data/ext/vendor/ctags/Units/parser-cxx.r/bug639644.cpp.d/input.h +41 -0
  836. data/ext/vendor/ctags/Units/parser-cxx.r/bug665086.cpp.d/expected.tags +3 -0
  837. data/ext/vendor/ctags/Units/parser-cxx.r/bug665086.cpp.d/input.cpp +32 -0
  838. data/ext/vendor/ctags/Units/parser-cxx.r/bug834.cpp.d/args.ctags +2 -0
  839. data/ext/vendor/ctags/Units/parser-cxx.r/bug834.cpp.d/expected.tags +5 -0
  840. data/ext/vendor/ctags/Units/parser-cxx.r/bug834.cpp.d/input.cpp +17 -0
  841. data/ext/vendor/ctags/Units/parser-cxx.r/bug849591.cpp.d/expected.tags +2 -0
  842. data/ext/vendor/ctags/Units/parser-cxx.r/bug849591.cpp.d/input.cpp +56 -0
  843. data/ext/vendor/ctags/Units/parser-cxx.r/bug852368.cpp.d/args.ctags +2 -0
  844. data/ext/vendor/ctags/Units/parser-cxx.r/bug852368.cpp.d/expected.tags +1 -0
  845. data/ext/vendor/ctags/Units/parser-cxx.r/bug852368.cpp.d/input.cpp +34 -0
  846. data/ext/vendor/ctags/Units/parser-cxx.r/bug872494.cpp.d/expected.tags +5 -0
  847. data/ext/vendor/ctags/Units/parser-cxx.r/bug872494.cpp.d/input.cpp +43 -0
  848. data/ext/vendor/ctags/Units/parser-cxx.r/c-header-as-cpp.d/args.ctags +1 -0
  849. data/ext/vendor/ctags/Units/parser-cxx.r/c-header-as-cpp.d/expected.tags +3 -0
  850. data/ext/vendor/ctags/Units/parser-cxx.r/c-header-as-cpp.d/input.h +20 -0
  851. data/ext/vendor/ctags/Units/parser-cxx.r/class-inheritance.cpp.d/args.ctags +3 -0
  852. data/ext/vendor/ctags/Units/parser-cxx.r/class-inheritance.cpp.d/expected.tags +10 -0
  853. data/ext/vendor/ctags/Units/parser-cxx.r/class-inheritance.cpp.d/input.cpp +42 -0
  854. data/ext/vendor/ctags/Units/parser-cxx.r/class.cpp.d/args.ctags +3 -0
  855. data/ext/vendor/ctags/Units/parser-cxx.r/class.cpp.d/expected.tags +1 -0
  856. data/ext/vendor/ctags/Units/parser-cxx.r/class.cpp.d/input.cpp +12 -0
  857. data/ext/vendor/ctags/Units/parser-cxx.r/complex-macros.d/args.ctags +13 -0
  858. data/ext/vendor/ctags/Units/parser-cxx.r/complex-macros.d/expected.tags +23 -0
  859. data/ext/vendor/ctags/Units/parser-cxx.r/complex-macros.d/input.cpp +57 -0
  860. data/ext/vendor/ctags/Units/parser-cxx.r/cpp-type-alias-with-using-keyword.d/expected.tags +2 -0
  861. data/ext/vendor/ctags/Units/parser-cxx.r/cpp-type-alias-with-using-keyword.d/input.cpp +7 -0
  862. data/ext/vendor/ctags/Units/parser-cxx.r/cpp_destructor.cpp.d/expected.tags +10 -0
  863. data/ext/vendor/ctags/Units/parser-cxx.r/cpp_destructor.cpp.d/input.cpp +16 -0
  864. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-keywords-as-c-identifiers.b/README +28 -0
  865. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-keywords-as-c-identifiers.b/args.ctags +3 -0
  866. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-keywords-as-c-identifiers.b/expected.tags +356 -0
  867. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-keywords-as-c-identifiers.b/gen-expected-tags.sh +68 -0
  868. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-keywords-as-c-identifiers.b/gen-input.sh +79 -0
  869. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-keywords-as-c-identifiers.b/input.c +1 -0
  870. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-keywords-as-c-identifiers.b/input.h +200 -0
  871. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-keywords-as-c-identifiers.b/keywords.sh +42 -0
  872. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-shift-operators-in-template-parameters.d/README +1 -0
  873. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-shift-operators-in-template-parameters.d/args.ctags +2 -0
  874. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-shift-operators-in-template-parameters.d/expected.tags +4 -0
  875. data/ext/vendor/ctags/Units/parser-cxx.r/cxx-shift-operators-in-template-parameters.d/input.cpp +4 -0
  876. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-delete.d/args.ctags +2 -0
  877. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-delete.d/expected.tags +3 -0
  878. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-delete.d/input.cpp +6 -0
  879. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-final.d/args.ctags +2 -0
  880. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-final.d/expected.tags +8 -0
  881. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-final.d/input.cpp +23 -0
  882. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-lambdas.d/args.ctags +4 -0
  883. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-lambdas.d/expected.tags +19 -0
  884. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-lambdas.d/input.cpp +24 -0
  885. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-noexcept.d/args.ctags +2 -0
  886. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-noexcept.d/expected.tags +4 -0
  887. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-noexcept.d/input.cpp +7 -0
  888. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-override.d/args.ctags +2 -0
  889. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-override.d/expected.tags +9 -0
  890. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-override.d/input.cpp +24 -0
  891. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-raw-strings.d/expected.tags +22 -0
  892. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11-raw-strings.d/input.cpp +34 -0
  893. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11enum.cpp.d/args.ctags +5 -0
  894. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11enum.cpp.d/expected.tags +49 -0
  895. data/ext/vendor/ctags/Units/parser-cxx.r/cxx11enum.cpp.d/input.cpp +46 -0
  896. data/ext/vendor/ctags/Units/parser-cxx.r/cxx14-combined.d/args.ctags +2 -0
  897. data/ext/vendor/ctags/Units/parser-cxx.r/cxx14-combined.d/expected.tags +5 -0
  898. data/ext/vendor/ctags/Units/parser-cxx.r/cxx14-combined.d/input.cpp +8 -0
  899. data/ext/vendor/ctags/Units/parser-cxx.r/extern.d/args.ctags +2 -0
  900. data/ext/vendor/ctags/Units/parser-cxx.r/extern.d/expected.tags +5 -0
  901. data/ext/vendor/ctags/Units/parser-cxx.r/extern.d/input.cpp +20 -0
  902. data/ext/vendor/ctags/Units/parser-cxx.r/foreach.d/args.ctags +2 -0
  903. data/ext/vendor/ctags/Units/parser-cxx.r/foreach.d/expected.tags +6 -0
  904. data/ext/vendor/ctags/Units/parser-cxx.r/foreach.d/input.cpp +27 -0
  905. data/ext/vendor/ctags/Units/parser-cxx.r/function-return-types.d/args.ctags +4 -0
  906. data/ext/vendor/ctags/Units/parser-cxx.r/function-return-types.d/expected.tags +45 -0
  907. data/ext/vendor/ctags/Units/parser-cxx.r/function-return-types.d/input.cpp +128 -0
  908. data/ext/vendor/ctags/Units/parser-cxx.r/functions.cpp.d/args.ctags +2 -0
  909. data/ext/vendor/ctags/Units/parser-cxx.r/functions.cpp.d/expected.tags +31 -0
  910. data/ext/vendor/ctags/Units/parser-cxx.r/functions.cpp.d/input.cpp +85 -0
  911. data/ext/vendor/ctags/Units/parser-cxx.r/ignoring-macro-with-parameters.d/args.ctags +3 -0
  912. data/ext/vendor/ctags/Units/parser-cxx.r/ignoring-macro-with-parameters.d/expected.tags +3 -0
  913. data/ext/vendor/ctags/Units/parser-cxx.r/ignoring-macro-with-parameters.d/input.hxx +5 -0
  914. data/ext/vendor/ctags/Units/parser-cxx.r/iostream.d/args.ctags +1 -0
  915. data/ext/vendor/ctags/Units/parser-cxx.r/iostream.d/expected.tags +1 -0
  916. data/ext/vendor/ctags/Units/parser-cxx.r/iostream.d/input.cpp +7 -0
  917. data/ext/vendor/ctags/Units/parser-cxx.r/less-than-operator-between-anglebrackets.d/args.ctags +1 -0
  918. data/ext/vendor/ctags/Units/parser-cxx.r/less-than-operator-between-anglebrackets.d/expected.tags +13 -0
  919. data/ext/vendor/ctags/Units/parser-cxx.r/less-than-operator-between-anglebrackets.d/input.cpp +16 -0
  920. data/ext/vendor/ctags/Units/parser-cxx.r/namespace-alias-in-function.d/args.ctags +1 -0
  921. data/ext/vendor/ctags/Units/parser-cxx.r/namespace-alias-in-function.d/expected.tags +4 -0
  922. data/ext/vendor/ctags/Units/parser-cxx.r/namespace-alias-in-function.d/input.cpp +9 -0
  923. data/ext/vendor/ctags/Units/parser-cxx.r/namespace-and-scope.b/args.ctags +2 -0
  924. data/ext/vendor/ctags/Units/parser-cxx.r/namespace-and-scope.b/expected.tags +3 -0
  925. data/ext/vendor/ctags/Units/parser-cxx.r/namespace-and-scope.b/input.cpp +4 -0
  926. data/ext/vendor/ctags/Units/parser-cxx.r/namespace.cpp.d/args.ctags +4 -0
  927. data/ext/vendor/ctags/Units/parser-cxx.r/namespace.cpp.d/expected.tags +30 -0
  928. data/ext/vendor/ctags/Units/parser-cxx.r/namespace.cpp.d/input.cpp +55 -0
  929. data/ext/vendor/ctags/Units/parser-cxx.r/new-delete.d/args.ctags +2 -0
  930. data/ext/vendor/ctags/Units/parser-cxx.r/new-delete.d/expected.tags +1 -0
  931. data/ext/vendor/ctags/Units/parser-cxx.r/new-delete.d/input.cpp +9 -0
  932. data/ext/vendor/ctags/Units/parser-cxx.r/operators.cpp.d/args.ctags +2 -0
  933. data/ext/vendor/ctags/Units/parser-cxx.r/operators.cpp.d/expected.tags +25 -0
  934. data/ext/vendor/ctags/Units/parser-cxx.r/operators.cpp.d/input.cpp +105 -0
  935. data/ext/vendor/ctags/Units/parser-cxx.r/pointer-to-array.d/args.ctags +1 -0
  936. data/ext/vendor/ctags/Units/parser-cxx.r/pointer-to-array.d/expected.tags +8 -0
  937. data/ext/vendor/ctags/Units/parser-cxx.r/pointer-to-array.d/input.c +20 -0
  938. data/ext/vendor/ctags/Units/parser-cxx.r/properties.cpp.d/args.ctags +4 -0
  939. data/ext/vendor/ctags/Units/parser-cxx.r/properties.cpp.d/expected.tags +22 -0
  940. data/ext/vendor/ctags/Units/parser-cxx.r/properties.cpp.d/input.cpp +44 -0
  941. data/ext/vendor/ctags/Units/parser-cxx.r/rojas.h.d/args.ctags +1 -0
  942. data/ext/vendor/ctags/Units/parser-cxx.r/rojas.h.d/expected.tags +6 -0
  943. data/ext/vendor/ctags/Units/parser-cxx.r/rojas.h.d/input.h +20 -0
  944. data/ext/vendor/ctags/Units/parser-cxx.r/signature.cpp.d/README +5 -0
  945. data/ext/vendor/ctags/Units/parser-cxx.r/signature.cpp.d/args.ctags +3 -0
  946. data/ext/vendor/ctags/Units/parser-cxx.r/signature.cpp.d/expected.tags +4 -0
  947. data/ext/vendor/ctags/Units/parser-cxx.r/signature.cpp.d/input.cpp +10 -0
  948. data/ext/vendor/ctags/Units/parser-cxx.r/template-specializations.d/args.ctags +4 -0
  949. data/ext/vendor/ctags/Units/parser-cxx.r/template-specializations.d/expected.tags +14 -0
  950. data/ext/vendor/ctags/Units/parser-cxx.r/template-specializations.d/input.cpp +39 -0
  951. data/ext/vendor/ctags/Units/parser-cxx.r/templates-in-labmdas-1.cpp.d/args.ctags +4 -0
  952. data/ext/vendor/ctags/Units/parser-cxx.r/templates-in-labmdas-1.cpp.d/expected.tags +10 -0
  953. data/ext/vendor/ctags/Units/parser-cxx.r/templates-in-labmdas-1.cpp.d/input.cpp +31 -0
  954. data/ext/vendor/ctags/Units/parser-cxx.r/templates-in-labmdas-2.cpp.d/args.ctags +4 -0
  955. data/ext/vendor/ctags/Units/parser-cxx.r/templates-in-labmdas-2.cpp.d/expected.tags +5 -0
  956. data/ext/vendor/ctags/Units/parser-cxx.r/templates-in-labmdas-2.cpp.d/input.cpp +16 -0
  957. data/ext/vendor/ctags/Units/parser-cxx.r/templates.d/args.ctags +4 -0
  958. data/ext/vendor/ctags/Units/parser-cxx.r/templates.d/expected.tags +14 -0
  959. data/ext/vendor/ctags/Units/parser-cxx.r/templates.d/input.cpp +22 -0
  960. data/ext/vendor/ctags/Units/parser-cxx.r/templates2.d/args.ctags +4 -0
  961. data/ext/vendor/ctags/Units/parser-cxx.r/templates2.d/expected.tags +8 -0
  962. data/ext/vendor/ctags/Units/parser-cxx.r/templates2.d/input.cpp +27 -0
  963. data/ext/vendor/ctags/Units/parser-cxx.r/templates3.d/args.ctags +4 -0
  964. data/ext/vendor/ctags/Units/parser-cxx.r/templates3.d/expected.tags +4 -0
  965. data/ext/vendor/ctags/Units/parser-cxx.r/templates3.d/input.cpp +13 -0
  966. data/ext/vendor/ctags/Units/parser-cxx.r/typedefs.cpp.d/args.ctags +3 -0
  967. data/ext/vendor/ctags/Units/parser-cxx.r/typedefs.cpp.d/expected.tags +41 -0
  968. data/ext/vendor/ctags/Units/parser-cxx.r/typedefs.cpp.d/input.cpp +72 -0
  969. data/ext/vendor/ctags/Units/parser-cxx.r/using.cpp.d/args.ctags +3 -0
  970. data/ext/vendor/ctags/Units/parser-cxx.r/using.cpp.d/expected.tags +9 -0
  971. data/ext/vendor/ctags/Units/parser-cxx.r/using.cpp.d/input.cpp +18 -0
  972. data/ext/vendor/ctags/Units/parser-cxx.r/variable-declarations.cpp.d/args.ctags +1 -0
  973. data/ext/vendor/ctags/Units/parser-cxx.r/variable-declarations.cpp.d/expected.tags +54 -0
  974. data/ext/vendor/ctags/Units/parser-cxx.r/variable-declarations.cpp.d/input.cpp +83 -0
  975. data/ext/vendor/ctags/Units/parser-cxx.r/variables-in-control-statements.d/args.ctags +1 -0
  976. data/ext/vendor/ctags/Units/parser-cxx.r/variables-in-control-statements.d/expected.tags +12 -0
  977. data/ext/vendor/ctags/Units/parser-cxx.r/variables-in-control-statements.d/input.cpp +109 -0
  978. data/ext/vendor/ctags/Units/parser-cxx.r/variables-prototypes-2.cpp.d/args.ctags +2 -0
  979. data/ext/vendor/ctags/Units/parser-cxx.r/variables-prototypes-2.cpp.d/expected.tags +3 -0
  980. data/ext/vendor/ctags/Units/parser-cxx.r/variables-prototypes-2.cpp.d/input.cpp +11 -0
  981. data/ext/vendor/ctags/Units/parser-cxx.r/variables-prototypes.cpp.b/args.ctags +2 -0
  982. data/ext/vendor/ctags/Units/parser-cxx.r/variables-prototypes.cpp.b/expected.tags +94 -0
  983. data/ext/vendor/ctags/Units/parser-cxx.r/variables-prototypes.cpp.b/input.cpp +152 -0
  984. data/ext/vendor/ctags/Units/parser-d.r/d-accessmod.d/args.ctags +1 -0
  985. data/ext/vendor/ctags/Units/parser-d.r/d-accessmod.d/expected.tags +35 -0
  986. data/ext/vendor/ctags/Units/parser-d.r/d-accessmod.d/input.d +93 -0
  987. data/ext/vendor/ctags/Units/parser-d.r/d-size_t-wchar_t-alias.d/expected.tags +2 -0
  988. data/ext/vendor/ctags/Units/parser-d.r/d-size_t-wchar_t-alias.d/input.d +3 -0
  989. data/ext/vendor/ctags/Units/parser-d.r/simple.d.d/expected.tags +28 -0
  990. data/ext/vendor/ctags/Units/parser-d.r/simple.d.d/input.d +96 -0
  991. data/ext/vendor/ctags/Units/parser-dts.r/dts-core-dump.d/input.dts +1 -0
  992. data/ext/vendor/ctags/Units/parser-dts.r/dts-fq-without-scope-field.d/README +6 -0
  993. data/ext/vendor/ctags/Units/parser-dts.r/dts-fq-without-scope-field.d/args.ctags +2 -0
  994. data/ext/vendor/ctags/Units/parser-dts.r/dts-fq-without-scope-field.d/expected.tags +8 -0
  995. data/ext/vendor/ctags/Units/parser-dts.r/dts-fq-without-scope-field.d/input.dts +12 -0
  996. data/ext/vendor/ctags/Units/parser-dts.r/dts-simple.d/args.ctags +2 -0
  997. data/ext/vendor/ctags/Units/parser-dts.r/dts-simple.d/expected.tags +8 -0
  998. data/ext/vendor/ctags/Units/parser-dts.r/dts-simple.d/input.dts +12 -0
  999. data/ext/vendor/ctags/Units/parser-eiffel.r/aliases.e.d/expected.tags +15 -0
  1000. data/ext/vendor/ctags/Units/parser-eiffel.r/aliases.e.d/input.e +29 -0
  1001. data/ext/vendor/ctags/Units/parser-eiffel.r/attributes.e.d/expected.tags +14 -0
  1002. data/ext/vendor/ctags/Units/parser-eiffel.r/attributes.e.d/input.e +54 -0
  1003. data/ext/vendor/ctags/Units/parser-eiffel.r/class.e.d/expected.tags +9 -0
  1004. data/ext/vendor/ctags/Units/parser-eiffel.r/class.e.d/input.e +72 -0
  1005. data/ext/vendor/ctags/Units/parser-eiffel.r/deprecated-syntax.e.d/README +6 -0
  1006. data/ext/vendor/ctags/Units/parser-eiffel.r/deprecated-syntax.e.d/expected.tags +7 -0
  1007. data/ext/vendor/ctags/Units/parser-eiffel.r/deprecated-syntax.e.d/input.e +42 -0
  1008. data/ext/vendor/ctags/Units/parser-eiffel.r/functions.e.d/expected.tags +10 -0
  1009. data/ext/vendor/ctags/Units/parser-eiffel.r/functions.e.d/input.e +44 -0
  1010. data/ext/vendor/ctags/Units/parser-eiffel.r/inherit-rename.e.d/expected.tags +3 -0
  1011. data/ext/vendor/ctags/Units/parser-eiffel.r/inherit-rename.e.d/input.e +17 -0
  1012. data/ext/vendor/ctags/Units/parser-eiffel.r/local-kind.e.d/args.ctags +1 -0
  1013. data/ext/vendor/ctags/Units/parser-eiffel.r/local-kind.e.d/expected.tags +7 -0
  1014. data/ext/vendor/ctags/Units/parser-eiffel.r/local-kind.e.d/input.e +13 -0
  1015. data/ext/vendor/ctags/Units/parser-eiffel.r/note.e.d/expected.tags +1 -0
  1016. data/ext/vendor/ctags/Units/parser-eiffel.r/note.e.d/input.e +11 -0
  1017. data/ext/vendor/ctags/Units/parser-eiffel.r/obsolete.e.d/expected.tags +4 -0
  1018. data/ext/vendor/ctags/Units/parser-eiffel.r/obsolete.e.d/input.e +17 -0
  1019. data/ext/vendor/ctags/Units/parser-eiffel.r/procedures.e.d/expected.tags +5 -0
  1020. data/ext/vendor/ctags/Units/parser-eiffel.r/procedures.e.d/input.e +32 -0
  1021. data/ext/vendor/ctags/Units/parser-eiffel.r/verbatim.e.d/expected.tags +4 -0
  1022. data/ext/vendor/ctags/Units/parser-eiffel.r/verbatim.e.d/input.e +34 -0
  1023. data/ext/vendor/ctags/Units/parser-flex.r/flex_comment.mxml.d/expected.tags +0 -0
  1024. data/ext/vendor/ctags/Units/parser-flex.r/flex_comment.mxml.d/input.mxml +5 -0
  1025. data/ext/vendor/ctags/Units/parser-flex.r/flex_only_mxml.mxml.d/expected.tags +8 -0
  1026. data/ext/vendor/ctags/Units/parser-flex.r/flex_only_mxml.mxml.d/input.mxml +29 -0
  1027. data/ext/vendor/ctags/Units/parser-flex.r/flex_with_actionscript.mxml.d/expected.tags +2 -0
  1028. data/ext/vendor/ctags/Units/parser-flex.r/flex_with_actionscript.mxml.d/input.mxml +16 -0
  1029. data/ext/vendor/ctags/Units/parser-fortran.r/array-spec.f90.d/expected.tags +6 -0
  1030. data/ext/vendor/ctags/Units/parser-fortran.r/array-spec.f90.d/input.f90 +10 -0
  1031. data/ext/vendor/ctags/Units/parser-fortran.r/array_spec.f90.d/expected.tags +8 -0
  1032. data/ext/vendor/ctags/Units/parser-fortran.r/array_spec.f90.d/input.f90 +15 -0
  1033. data/ext/vendor/ctags/Units/parser-fortran.r/auto.f.d/expected.tags +4 -0
  1034. data/ext/vendor/ctags/Units/parser-fortran.r/auto.f.d/input.f +7 -0
  1035. data/ext/vendor/ctags/Units/parser-fortran.r/bug565813.f90.d/expected.tags +7 -0
  1036. data/ext/vendor/ctags/Units/parser-fortran.r/bug565813.f90.d/input.f90 +42 -0
  1037. data/ext/vendor/ctags/Units/parser-fortran.r/bug620288.f.d/expected.tags +2 -0
  1038. data/ext/vendor/ctags/Units/parser-fortran.r/bug620288.f.d/input.f +98 -0
  1039. data/ext/vendor/ctags/Units/parser-fortran.r/bug629.d/args.ctags +1 -0
  1040. data/ext/vendor/ctags/Units/parser-fortran.r/bug629.d/expected.tags +1 -0
  1041. data/ext/vendor/ctags/Units/parser-fortran.r/bug629.d/input.c +5 -0
  1042. data/ext/vendor/ctags/Units/parser-fortran.r/bug670433.f90.d/README +1 -0
  1043. data/ext/vendor/ctags/Units/parser-fortran.r/bug670433.f90.d/expected.tags +4 -0
  1044. data/ext/vendor/ctags/Units/parser-fortran.r/bug670433.f90.d/input.f90 +40 -0
  1045. data/ext/vendor/ctags/Units/parser-fortran.r/bug726712.f90.d/expected.tags +3 -0
  1046. data/ext/vendor/ctags/Units/parser-fortran.r/bug726712.f90.d/input.f90 +72 -0
  1047. data/ext/vendor/ctags/Units/parser-fortran.r/bug726875.f90.d/expected.tags +3 -0
  1048. data/ext/vendor/ctags/Units/parser-fortran.r/bug726875.f90.d/input.f90 +28 -0
  1049. data/ext/vendor/ctags/Units/parser-fortran.r/bug734933.f90.d/expected.tags +16 -0
  1050. data/ext/vendor/ctags/Units/parser-fortran.r/bug734933.f90.d/input.f90 +39 -0
  1051. data/ext/vendor/ctags/Units/parser-fortran.r/bug858165.f90.d/expected.tags +5 -0
  1052. data/ext/vendor/ctags/Units/parser-fortran.r/bug858165.f90.d/input.f90 +25 -0
  1053. data/ext/vendor/ctags/Units/parser-fortran.r/bug877956.f90.d/args.ctags +1 -0
  1054. data/ext/vendor/ctags/Units/parser-fortran.r/bug877956.f90.d/expected.tags-x +4 -0
  1055. data/ext/vendor/ctags/Units/parser-fortran.r/bug877956.f90.d/input.f90 +54 -0
  1056. data/ext/vendor/ctags/Units/parser-fortran.r/byte.f.d/expected.tags +10 -0
  1057. data/ext/vendor/ctags/Units/parser-fortran.r/byte.f.d/input.f +7 -0
  1058. data/ext/vendor/ctags/Units/parser-fortran.r/char-selector.f90.d/expected.tags +10 -0
  1059. data/ext/vendor/ctags/Units/parser-fortran.r/char-selector.f90.d/input.f90 +19 -0
  1060. data/ext/vendor/ctags/Units/parser-fortran.r/common.f.d/expected.tags +4 -0
  1061. data/ext/vendor/ctags/Units/parser-fortran.r/common.f.d/input.f +4 -0
  1062. data/ext/vendor/ctags/Units/parser-fortran.r/continuation.f90.d/expected.tags +4 -0
  1063. data/ext/vendor/ctags/Units/parser-fortran.r/continuation.f90.d/input.f90 +6 -0
  1064. data/ext/vendor/ctags/Units/parser-fortran.r/debian_432872.f90.d/expected.tags +2 -0
  1065. data/ext/vendor/ctags/Units/parser-fortran.r/debian_432872.f90.d/input.f90 +8 -0
  1066. data/ext/vendor/ctags/Units/parser-fortran.r/dopbl2.f.d/expected.tags +1 -0
  1067. data/ext/vendor/ctags/Units/parser-fortran.r/dopbl2.f.d/input.f +227 -0
  1068. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-abstract-implementation.d/args.ctags +1 -0
  1069. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-abstract-implementation.d/expected.tags +2 -0
  1070. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-abstract-implementation.d/input.f90 +4 -0
  1071. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-abstract-interface.d/args.ctags +1 -0
  1072. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-abstract-interface.d/expected.tags +9 -0
  1073. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-abstract-interface.d/input.f90 +21 -0
  1074. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-associate.d/expected.tags +4 -0
  1075. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-associate.d/input.f90 +20 -0
  1076. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-bind-c.d/args.ctags +1 -0
  1077. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-bind-c.d/expected.tags +5 -0
  1078. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-bind-c.d/input.f90 +25 -0
  1079. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-block.d/expected.tags +3 -0
  1080. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-block.d/input.f90 +19 -0
  1081. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-enum.d/expected.tags +45 -0
  1082. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-enum.d/input.f90 +52 -0
  1083. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-extends-qualifier.d/args.ctags +1 -0
  1084. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-extends-qualifier.d/expected.tags +9 -0
  1085. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-extends-qualifier.d/input.f90 +12 -0
  1086. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-forall.d/expected.tags +4 -0
  1087. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-forall.d/input.f90 +26 -0
  1088. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-interface.d/args.ctags +1 -0
  1089. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-interface.d/expected.tags +9 -0
  1090. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-interface.d/input.f90 +33 -0
  1091. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-method.d/args.ctags +1 -0
  1092. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-method.d/expected.tags +10 -0
  1093. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-method.d/input.f90 +13 -0
  1094. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-pointer.d/expected.tags +12 -0
  1095. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-pointer.d/input.f90 +32 -0
  1096. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-procedure-qualifiers.d/expected.tags +7 -0
  1097. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-procedure-qualifiers.d/input.f90 +10 -0
  1098. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-procedure.d/expected.tags +4 -0
  1099. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-procedure.d/input.f90 +19 -0
  1100. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-signature.d/args.ctags +2 -0
  1101. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-signature.d/expected.tags +9 -0
  1102. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-signature.d/input.f90 +25 -0
  1103. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-square-parens.d/expected.tags +14 -0
  1104. data/ext/vendor/ctags/Units/parser-fortran.r/fortran-square-parens.d/input.f90 +39 -0
  1105. data/ext/vendor/ctags/Units/parser-fortran.r/implied_program.f.d/expected.tags +1 -0
  1106. data/ext/vendor/ctags/Units/parser-fortran.r/implied_program.f.d/input.f +6 -0
  1107. data/ext/vendor/ctags/Units/parser-fortran.r/initialization.f90.d/expected.tags +3 -0
  1108. data/ext/vendor/ctags/Units/parser-fortran.r/initialization.f90.d/input.f90 +16 -0
  1109. data/ext/vendor/ctags/Units/parser-fortran.r/invalid_name.f90.d/expected.tags +7 -0
  1110. data/ext/vendor/ctags/Units/parser-fortran.r/invalid_name.f90.d/input.f90 +12 -0
  1111. data/ext/vendor/ctags/Units/parser-fortran.r/lanus.for.d/expected.tags +5 -0
  1112. data/ext/vendor/ctags/Units/parser-fortran.r/lanus.for.d/input.for +47 -0
  1113. data/ext/vendor/ctags/Units/parser-fortran.r/misc_types.f.d/expected.tags +3 -0
  1114. data/ext/vendor/ctags/Units/parser-fortran.r/misc_types.f.d/input.f +32 -0
  1115. data/ext/vendor/ctags/Units/parser-fortran.r/misc_types.f90.d/expected.tags +16 -0
  1116. data/ext/vendor/ctags/Units/parser-fortran.r/misc_types.f90.d/input.f90 +43 -0
  1117. data/ext/vendor/ctags/Units/parser-fortran.r/namelist.f.d/expected.tags +4 -0
  1118. data/ext/vendor/ctags/Units/parser-fortran.r/namelist.f.d/input.f +4 -0
  1119. data/ext/vendor/ctags/Units/parser-fortran.r/numlib.f90.d/args.ctags +1 -0
  1120. data/ext/vendor/ctags/Units/parser-fortran.r/numlib.f90.d/expected.tags +4 -0
  1121. data/ext/vendor/ctags/Units/parser-fortran.r/numlib.f90.d/input.f90 +57 -0
  1122. data/ext/vendor/ctags/Units/parser-fortran.r/pure_elem.f95.d/README +1 -0
  1123. data/ext/vendor/ctags/Units/parser-fortran.r/pure_elem.f95.d/expected.tags +4 -0
  1124. data/ext/vendor/ctags/Units/parser-fortran.r/pure_elem.f95.d/input.f95 +37 -0
  1125. data/ext/vendor/ctags/Units/parser-fortran.r/recursive.f95.d/args.ctags +1 -0
  1126. data/ext/vendor/ctags/Units/parser-fortran.r/recursive.f95.d/expected.tags +14 -0
  1127. data/ext/vendor/ctags/Units/parser-fortran.r/recursive.f95.d/input.f95 +68 -0
  1128. data/ext/vendor/ctags/Units/parser-fortran.r/semicolon.f90.d/expected.tags +3 -0
  1129. data/ext/vendor/ctags/Units/parser-fortran.r/semicolon.f90.d/input.f90 +5 -0
  1130. data/ext/vendor/ctags/Units/parser-fortran.r/stdcall.f.d/expected.tags +30 -0
  1131. data/ext/vendor/ctags/Units/parser-fortran.r/stdcall.f.d/input.f +178 -0
  1132. data/ext/vendor/ctags/Units/parser-fortran.r/structure.f.d/expected.tags +23 -0
  1133. data/ext/vendor/ctags/Units/parser-fortran.r/structure.f.d/input.f +29 -0
  1134. data/ext/vendor/ctags/Units/parser-fortran.r/union.f.d/expected.tags +8 -0
  1135. data/ext/vendor/ctags/Units/parser-fortran.r/union.f.d/input.f +21 -0
  1136. data/ext/vendor/ctags/Units/parser-fortran.r/value.f.d/expected.tags +3 -0
  1137. data/ext/vendor/ctags/Units/parser-fortran.r/value.f.d/input.f +9 -0
  1138. data/ext/vendor/ctags/Units/parser-go.r/go-funcs.d/args.ctags +1 -0
  1139. data/ext/vendor/ctags/Units/parser-go.r/go-funcs.d/expected.tags +8 -0
  1140. data/ext/vendor/ctags/Units/parser-go.r/go-funcs.d/input.go +25 -0
  1141. data/ext/vendor/ctags/Units/parser-go.r/go-goroutines.d/args.ctags +1 -0
  1142. data/ext/vendor/ctags/Units/parser-go.r/go-goroutines.d/expected.tags +3 -0
  1143. data/ext/vendor/ctags/Units/parser-go.r/go-goroutines.d/input.go +41 -0
  1144. data/ext/vendor/ctags/Units/parser-go.r/go-helloworld.d/args.ctags +1 -0
  1145. data/ext/vendor/ctags/Units/parser-go.r/go-helloworld.d/expected.tags +2 -0
  1146. data/ext/vendor/ctags/Units/parser-go.r/go-helloworld.d/input.go +10 -0
  1147. data/ext/vendor/ctags/Units/parser-go.r/go-incomplete-input.d/args.ctags +1 -0
  1148. data/ext/vendor/ctags/Units/parser-go.r/go-incomplete-input.d/input.go +1 -0
  1149. data/ext/vendor/ctags/Units/parser-go.r/go-op-less-than.d/args.ctags +1 -0
  1150. data/ext/vendor/ctags/Units/parser-go.r/go-op-less-than.d/expected.tags +4 -0
  1151. data/ext/vendor/ctags/Units/parser-go.r/go-op-less-than.d/input.go +15 -0
  1152. data/ext/vendor/ctags/Units/parser-go.r/go-timeouts.d/args.ctags +1 -0
  1153. data/ext/vendor/ctags/Units/parser-go.r/go-timeouts.d/expected.tags +2 -0
  1154. data/ext/vendor/ctags/Units/parser-go.r/go-timeouts.d/input.go +54 -0
  1155. data/ext/vendor/ctags/Units/parser-go.r/go-torture.d/args.ctags +1 -0
  1156. data/ext/vendor/ctags/Units/parser-go.r/go-torture.d/expected.tags +38 -0
  1157. data/ext/vendor/ctags/Units/parser-go.r/go-torture.d/input.go +50 -0
  1158. data/ext/vendor/ctags/Units/parser-html.r/simple.html.t/args.ctags +3 -0
  1159. data/ext/vendor/ctags/Units/parser-html.r/simple.html.t/expected.tags +16 -0
  1160. data/ext/vendor/ctags/Units/parser-html.r/simple.html.t/features +1 -0
  1161. data/ext/vendor/ctags/Units/parser-html.r/simple.html.t/input.html +59 -0
  1162. data/ext/vendor/ctags/Units/parser-java.r/accented-latin1-identifiers.java.d/README +10 -0
  1163. data/ext/vendor/ctags/Units/parser-java.r/accented-latin1-identifiers.java.d/expected.tags +1 -0
  1164. data/ext/vendor/ctags/Units/parser-java.r/accented-latin1-identifiers.java.d/input.java +4 -0
  1165. data/ext/vendor/ctags/Units/parser-java.r/bug1447756.java.d/expected.tags +2 -0
  1166. data/ext/vendor/ctags/Units/parser-java.r/bug1447756.java.d/input.java +9 -0
  1167. data/ext/vendor/ctags/Units/parser-java.r/bug1691412.java.d/expected.tags +4 -0
  1168. data/ext/vendor/ctags/Units/parser-java.r/bug1691412.java.d/input.java +17 -0
  1169. data/ext/vendor/ctags/Units/parser-java.r/bug1777340.java.d/expected.tags +3 -0
  1170. data/ext/vendor/ctags/Units/parser-java.r/bug1777340.java.d/input.java +4 -0
  1171. data/ext/vendor/ctags/Units/parser-java.r/bug1777344.java.b/expected.tags +8 -0
  1172. data/ext/vendor/ctags/Units/parser-java.r/bug1777344.java.b/input.java +7 -0
  1173. data/ext/vendor/ctags/Units/parser-java.r/bug2049723.java.d/expected.tags +3 -0
  1174. data/ext/vendor/ctags/Units/parser-java.r/bug2049723.java.d/input.java +6 -0
  1175. data/ext/vendor/ctags/Units/parser-java.r/bug2117073.java.d/expected.tags +3 -0
  1176. data/ext/vendor/ctags/Units/parser-java.r/bug2117073.java.d/input.java +12 -0
  1177. data/ext/vendor/ctags/Units/parser-java.r/bug814263.java.d/expected.tags +3 -0
  1178. data/ext/vendor/ctags/Units/parser-java.r/bug814263.java.d/input.java +6 -0
  1179. data/ext/vendor/ctags/Units/parser-java.r/enum.java.d/expected.tags +14 -0
  1180. data/ext/vendor/ctags/Units/parser-java.r/enum.java.d/input.java +23 -0
  1181. data/ext/vendor/ctags/Units/parser-java.r/imported-role.d/args.ctags +3 -0
  1182. data/ext/vendor/ctags/Units/parser-java.r/imported-role.d/expected.tags +3 -0
  1183. data/ext/vendor/ctags/Units/parser-java.r/imported-role.d/input.java +3 -0
  1184. data/ext/vendor/ctags/Units/parser-java.r/infinite_loop.java.d/expected.tags +1 -0
  1185. data/ext/vendor/ctags/Units/parser-java.r/infinite_loop.java.d/input.java +2 -0
  1186. data/ext/vendor/ctags/Units/parser-java.r/java-catch-block.d/args.ctags +3 -0
  1187. data/ext/vendor/ctags/Units/parser-java.r/java-catch-block.d/expected.tags +2 -0
  1188. data/ext/vendor/ctags/Units/parser-java.r/java-catch-block.d/input.java +7 -0
  1189. data/ext/vendor/ctags/Units/parser-java.r/java_enum.java.d/expected.tags +10 -0
  1190. data/ext/vendor/ctags/Units/parser-java.r/java_enum.java.d/input.java +15 -0
  1191. data/ext/vendor/ctags/Units/parser-javascript.r/1795612.js.d/README +2 -0
  1192. data/ext/vendor/ctags/Units/parser-javascript.r/1795612.js.d/expected.tags +4 -0
  1193. data/ext/vendor/ctags/Units/parser-javascript.r/1795612.js.d/input.js +29 -0
  1194. data/ext/vendor/ctags/Units/parser-javascript.r/1850914.js.d/expected.tags +3 -0
  1195. data/ext/vendor/ctags/Units/parser-javascript.r/1850914.js.d/input.js +24 -0
  1196. data/ext/vendor/ctags/Units/parser-javascript.r/1878155.js.d/expected.tags +4 -0
  1197. data/ext/vendor/ctags/Units/parser-javascript.r/1878155.js.d/input.js +19 -0
  1198. data/ext/vendor/ctags/Units/parser-javascript.r/1880687.js.d/expected.tags +41 -0
  1199. data/ext/vendor/ctags/Units/parser-javascript.r/1880687.js.d/input.js +242 -0
  1200. data/ext/vendor/ctags/Units/parser-javascript.r/2023624.js.d/expected.tags +2 -0
  1201. data/ext/vendor/ctags/Units/parser-javascript.r/2023624.js.d/input.js +15 -0
  1202. data/ext/vendor/ctags/Units/parser-javascript.r/3470609.js.d/expected.tags +12 -0
  1203. data/ext/vendor/ctags/Units/parser-javascript.r/3470609.js.d/input.js +48 -0
  1204. data/ext/vendor/ctags/Units/parser-javascript.r/bug1950327.js.d/expected.tags +13 -0
  1205. data/ext/vendor/ctags/Units/parser-javascript.r/bug1950327.js.d/input.js +41 -0
  1206. data/ext/vendor/ctags/Units/parser-javascript.r/bug2777310.js.d/expected.tags +5 -0
  1207. data/ext/vendor/ctags/Units/parser-javascript.r/bug2777310.js.d/input.js +6 -0
  1208. data/ext/vendor/ctags/Units/parser-javascript.r/bug2888482.js.d/expected.tags +2 -0
  1209. data/ext/vendor/ctags/Units/parser-javascript.r/bug2888482.js.d/input.js +12 -0
  1210. data/ext/vendor/ctags/Units/parser-javascript.r/bug3036476.js.d/expected.tags +4 -0
  1211. data/ext/vendor/ctags/Units/parser-javascript.r/bug3036476.js.d/input.js +20 -0
  1212. data/ext/vendor/ctags/Units/parser-javascript.r/bug3571233.js.d/expected.tags +10 -0
  1213. data/ext/vendor/ctags/Units/parser-javascript.r/bug3571233.js.d/input.js +56 -0
  1214. data/ext/vendor/ctags/Units/parser-javascript.r/generators.d/expected.tags +8 -0
  1215. data/ext/vendor/ctags/Units/parser-javascript.r/generators.d/input.js +27 -0
  1216. data/ext/vendor/ctags/Units/parser-javascript.r/js-arraylist.d/expected.tags +8 -0
  1217. data/ext/vendor/ctags/Units/parser-javascript.r/js-arraylist.d/input.js +20 -0
  1218. data/ext/vendor/ctags/Units/parser-javascript.r/js-broken-strings.d/expected.tags +4 -0
  1219. data/ext/vendor/ctags/Units/parser-javascript.r/js-broken-strings.d/input.js +10 -0
  1220. data/ext/vendor/ctags/Units/parser-javascript.r/js-class-related-unterminated.d/expected.tags +15 -0
  1221. data/ext/vendor/ctags/Units/parser-javascript.r/js-class-related-unterminated.d/input.js +62 -0
  1222. data/ext/vendor/ctags/Units/parser-javascript.r/js-comma-at-end-of-object.d/expected.tags +5 -0
  1223. data/ext/vendor/ctags/Units/parser-javascript.r/js-comma-at-end-of-object.d/input.js +11 -0
  1224. data/ext/vendor/ctags/Units/parser-javascript.r/js-complex-return.d/expected.tags +17 -0
  1225. data/ext/vendor/ctags/Units/parser-javascript.r/js-complex-return.d/input.js +61 -0
  1226. data/ext/vendor/ctags/Units/parser-javascript.r/js-const.d/expected.tags +7 -0
  1227. data/ext/vendor/ctags/Units/parser-javascript.r/js-const.d/input.js +10 -0
  1228. data/ext/vendor/ctags/Units/parser-javascript.r/js-function-in-arglist.d/expected.tags +5 -0
  1229. data/ext/vendor/ctags/Units/parser-javascript.r/js-function-in-arglist.d/input.js +8 -0
  1230. data/ext/vendor/ctags/Units/parser-javascript.r/js-implicit-semicolons.d/expected.tags +14 -0
  1231. data/ext/vendor/ctags/Units/parser-javascript.r/js-implicit-semicolons.d/input.js +16 -0
  1232. data/ext/vendor/ctags/Units/parser-javascript.r/js-let.d/expected.tags +7 -0
  1233. data/ext/vendor/ctags/Units/parser-javascript.r/js-let.d/input.js +8 -0
  1234. data/ext/vendor/ctags/Units/parser-javascript.r/js-methods.b/expected.tags +3 -0
  1235. data/ext/vendor/ctags/Units/parser-javascript.r/js-methods.b/input.js +9 -0
  1236. data/ext/vendor/ctags/Units/parser-javascript.r/js-multiple-vars.d/expected.tags +23 -0
  1237. data/ext/vendor/ctags/Units/parser-javascript.r/js-multiple-vars.d/input.js +25 -0
  1238. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input0.d/args.ctags +1 -0
  1239. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input0.d/expected.tags +0 -0
  1240. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input0.d/input.js +1 -0
  1241. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input1.d/args.ctags +1 -0
  1242. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input1.d/expected.tags +2 -0
  1243. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input1.d/input.js +1 -0
  1244. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input2.d/args.ctags +1 -0
  1245. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input2.d/expected.tags +0 -0
  1246. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input2.d/input.js +1 -0
  1247. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input3.d/README +7 -0
  1248. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input3.d/args.ctags +1 -0
  1249. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input3.d/expected.tags +1 -0
  1250. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input3.d/input.js +1 -0
  1251. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input4.d/README +1 -0
  1252. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input4.d/args.ctags +1 -0
  1253. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input4.d/expected.tags +0 -0
  1254. data/ext/vendor/ctags/Units/parser-javascript.r/js-null-tag-for-broken-input4.d/input.js +1 -0
  1255. data/ext/vendor/ctags/Units/parser-javascript.r/js-parenthesis-rvalue.d/expected.tags +22 -0
  1256. data/ext/vendor/ctags/Units/parser-javascript.r/js-parenthesis-rvalue.d/input.js +35 -0
  1257. data/ext/vendor/ctags/Units/parser-javascript.r/js-scope.d/expected.tags +3 -0
  1258. data/ext/vendor/ctags/Units/parser-javascript.r/js-scope.d/input.js +18 -0
  1259. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-gjs.d/args.ctags +3 -0
  1260. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-gjs.d/expected.tags +1 -0
  1261. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-gjs.d/input.nolang +3 -0
  1262. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-node.d/args.ctags +2 -0
  1263. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-node.d/expected.tags +1 -0
  1264. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-node.d/input.nolang +3 -0
  1265. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-nodejs.d/args.ctags +2 -0
  1266. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-nodejs.d/expected.tags +1 -0
  1267. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-nodejs.d/input.nolang +3 -0
  1268. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-seed.d/args.ctags +2 -0
  1269. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-seed.d/expected.tags +1 -0
  1270. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang-seed.d/input.nolang +3 -0
  1271. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang.d/expected.tags +1 -0
  1272. data/ext/vendor/ctags/Units/parser-javascript.r/js-shebang.d/input.js +3 -0
  1273. data/ext/vendor/ctags/Units/parser-javascript.r/js-signature.d/args.ctags +1 -0
  1274. data/ext/vendor/ctags/Units/parser-javascript.r/js-signature.d/expected.tags +9 -0
  1275. data/ext/vendor/ctags/Units/parser-javascript.r/js-signature.d/input.js +38 -0
  1276. data/ext/vendor/ctags/Units/parser-javascript.r/js-string-continuation.d/expected.tags +5 -0
  1277. data/ext/vendor/ctags/Units/parser-javascript.r/js-string-continuation.d/input.js +19 -0
  1278. data/ext/vendor/ctags/Units/parser-javascript.r/js-sub-block-scope.d/expected.tags +7 -0
  1279. data/ext/vendor/ctags/Units/parser-javascript.r/js-sub-block-scope.d/input.js +17 -0
  1280. data/ext/vendor/ctags/Units/parser-javascript.r/js-template-strings.d/expected.tags +7 -0
  1281. data/ext/vendor/ctags/Units/parser-javascript.r/js-template-strings.d/input.js +27 -0
  1282. data/ext/vendor/ctags/Units/parser-javascript.r/js-tricky-newlines.d/expected.tags +6 -0
  1283. data/ext/vendor/ctags/Units/parser-javascript.r/js-tricky-newlines.d/input.js +8 -0
  1284. data/ext/vendor/ctags/Units/parser-javascript.r/js-two-vars.d/expected.tags +2 -0
  1285. data/ext/vendor/ctags/Units/parser-javascript.r/js-two-vars.d/input.js +1 -0
  1286. data/ext/vendor/ctags/Units/parser-javascript.r/js-unknown-construct-nesting.d/expected.tags +4 -0
  1287. data/ext/vendor/ctags/Units/parser-javascript.r/js-unknown-construct-nesting.d/input.js +23 -0
  1288. data/ext/vendor/ctags/Units/parser-javascript.r/js-unterminated-leak.d/input.js +1 -0
  1289. data/ext/vendor/ctags/Units/parser-javascript.r/js-var-at-eof.d/expected.tags +1 -0
  1290. data/ext/vendor/ctags/Units/parser-javascript.r/js-var-at-eof.d/input.js +1 -0
  1291. data/ext/vendor/ctags/Units/parser-javascript.r/jsFunc_tutorial.js.d/expected.tags +73 -0
  1292. data/ext/vendor/ctags/Units/parser-javascript.r/jsFunc_tutorial.js.d/input.js +524 -0
  1293. data/ext/vendor/ctags/Units/parser-javascript.r/no_terminator.js.d/expected.tags +5 -0
  1294. data/ext/vendor/ctags/Units/parser-javascript.r/no_terminator.js.d/input.js +32 -0
  1295. data/ext/vendor/ctags/Units/parser-javascript.r/regexp.js.d/expected.tags +16 -0
  1296. data/ext/vendor/ctags/Units/parser-javascript.r/regexp.js.d/input.js +49 -0
  1297. data/ext/vendor/ctags/Units/parser-javascript.r/secondary_fcn_name.js.d/expected.tags +5 -0
  1298. data/ext/vendor/ctags/Units/parser-javascript.r/secondary_fcn_name.js.d/input.js +40 -0
  1299. data/ext/vendor/ctags/Units/parser-javascript.r/simple-jsx.d/expected.tags +1 -0
  1300. data/ext/vendor/ctags/Units/parser-javascript.r/simple-jsx.d/input.jsx +7 -0
  1301. data/ext/vendor/ctags/Units/parser-javascript.r/ui5.controller.js.d/expected.tags +5 -0
  1302. data/ext/vendor/ctags/Units/parser-javascript.r/ui5.controller.js.d/input.js +31 -0
  1303. data/ext/vendor/ctags/Units/parser-lua.r/lua-double-equals.d/expected.tags +0 -0
  1304. data/ext/vendor/ctags/Units/parser-lua.r/lua-double-equals.d/input.lua +7 -0
  1305. data/ext/vendor/ctags/Units/parser-lua.r/lua-equal-after-function.d/expected.tags +0 -0
  1306. data/ext/vendor/ctags/Units/parser-lua.r/lua-equal-after-function.d/input.lua +3 -0
  1307. data/ext/vendor/ctags/Units/parser-lua.r/lua-skip-whitespaces-in-name.d/expected.tags +8 -0
  1308. data/ext/vendor/ctags/Units/parser-lua.r/lua-skip-whitespaces-in-name.d/input.lua +44 -0
  1309. data/ext/vendor/ctags/Units/parser-lua.r/simple.lua.d/expected.tags +3 -0
  1310. data/ext/vendor/ctags/Units/parser-lua.r/simple.lua.d/input.lua +20 -0
  1311. data/ext/vendor/ctags/Units/parser-m4.r/m4-comment.d/args.ctags +3 -0
  1312. data/ext/vendor/ctags/Units/parser-m4.r/m4-comment.d/expected.tags +2 -0
  1313. data/ext/vendor/ctags/Units/parser-m4.r/m4-comment.d/input.m4 +3 -0
  1314. data/ext/vendor/ctags/Units/parser-m4.r/m4-disable-m4.d/args.ctags +4 -0
  1315. data/ext/vendor/ctags/Units/parser-m4.r/m4-disable-m4.d/expected.tags +4 -0
  1316. data/ext/vendor/ctags/Units/parser-m4.r/m4-disable-m4.d/input.m4 +10 -0
  1317. data/ext/vendor/ctags/Units/parser-m4.r/m4-multi-undef.d/args.ctags +3 -0
  1318. data/ext/vendor/ctags/Units/parser-m4.r/m4-multi-undef.d/expected.tags +4 -0
  1319. data/ext/vendor/ctags/Units/parser-m4.r/m4-multi-undef.d/input.m4 +1 -0
  1320. data/ext/vendor/ctags/Units/parser-m4.r/m4-quotestring.b/DESC.rst +12 -0
  1321. data/ext/vendor/ctags/Units/parser-m4.r/m4-quotestring.b/expected.tags +2 -0
  1322. data/ext/vendor/ctags/Units/parser-m4.r/m4-quotestring.b/input.m4 +4 -0
  1323. data/ext/vendor/ctags/Units/parser-m4.r/m4-simple.d/args.ctags +2 -0
  1324. data/ext/vendor/ctags/Units/parser-m4.r/m4-simple.d/expected.tags +50 -0
  1325. data/ext/vendor/ctags/Units/parser-m4.r/m4-simple.d/input.m4 +111 -0
  1326. data/ext/vendor/ctags/Units/parser-m4.r/m4-switch-lang-by-ac.d/args.ctags +3 -0
  1327. data/ext/vendor/ctags/Units/parser-m4.r/m4-switch-lang-by-ac.d/expected.tags +5 -0
  1328. data/ext/vendor/ctags/Units/parser-m4.r/m4-switch-lang-by-ac.d/input.m4 +10 -0
  1329. data/ext/vendor/ctags/Units/parser-m4.r/m4-switch-lang-by-m4.d/args.ctags +3 -0
  1330. data/ext/vendor/ctags/Units/parser-m4.r/m4-switch-lang-by-m4.d/expected.tags +3 -0
  1331. data/ext/vendor/ctags/Units/parser-m4.r/m4-switch-lang-by-m4.d/input.m4 +3 -0
  1332. data/ext/vendor/ctags/Units/parser-make.r/bug2959889.mak.d/expected.tags +0 -0
  1333. data/ext/vendor/ctags/Units/parser-make.r/bug2959889.mak.d/input.mak +1 -0
  1334. data/ext/vendor/ctags/Units/parser-make.r/make.comment-in-rule.d/expected.tags +1 -0
  1335. data/ext/vendor/ctags/Units/parser-make.r/make.comment-in-rule.d/input.mak +17 -0
  1336. data/ext/vendor/ctags/Units/parser-make.r/make.continuation.d/expected.tags +2 -0
  1337. data/ext/vendor/ctags/Units/parser-make.r/make.continuation.d/input.mak +11 -0
  1338. data/ext/vendor/ctags/Units/parser-make.r/make.gnumake-not-special-targets.d/expected.tags +1 -0
  1339. data/ext/vendor/ctags/Units/parser-make.r/make.gnumake-not-special-targets.d/input.mak +5 -0
  1340. data/ext/vendor/ctags/Units/parser-make.r/make.gnumake-pattern-rules.d/expected.tags +5 -0
  1341. data/ext/vendor/ctags/Units/parser-make.r/make.gnumake-pattern-rules.d/input.mak +8 -0
  1342. data/ext/vendor/ctags/Units/parser-make.r/make.include.d/args.ctags +2 -0
  1343. data/ext/vendor/ctags/Units/parser-make.r/make.include.d/expected.tags +22 -0
  1344. data/ext/vendor/ctags/Units/parser-make.r/make.include.d/input.mk +21 -0
  1345. data/ext/vendor/ctags/Units/parser-make.r/make.multi-target.d/expected.tags +4 -0
  1346. data/ext/vendor/ctags/Units/parser-make.r/make.multi-target.d/input.mak +8 -0
  1347. data/ext/vendor/ctags/Units/parser-make.r/make.parenthesis.d/expected.tags +4 -0
  1348. data/ext/vendor/ctags/Units/parser-make.r/make.parenthesis.d/input.mk +6 -0
  1349. data/ext/vendor/ctags/Units/parser-make.r/make.target-with-parentheses.d/expected.tags +2 -0
  1350. data/ext/vendor/ctags/Units/parser-make.r/make.target-with-parentheses.d/input.mak +1 -0
  1351. data/ext/vendor/ctags/Units/parser-make.r/make.variable-on-cmdline.d/expected.tags +1 -0
  1352. data/ext/vendor/ctags/Units/parser-make.r/make.variable-on-cmdline.d/input.mak +2 -0
  1353. data/ext/vendor/ctags/Units/parser-make.r/make.variable-set-if-undefined.d/expected.tags +1 -0
  1354. data/ext/vendor/ctags/Units/parser-make.r/make.variable-set-if-undefined.d/input.mak +1 -0
  1355. data/ext/vendor/ctags/Units/parser-man.r/double-quoted.d/args.ctags +1 -0
  1356. data/ext/vendor/ctags/Units/parser-man.r/double-quoted.d/expected.tags +2 -0
  1357. data/ext/vendor/ctags/Units/parser-man.r/double-quoted.d/input.1 +7 -0
  1358. data/ext/vendor/ctags/Units/parser-man.r/simple.d/args.ctags +1 -0
  1359. data/ext/vendor/ctags/Units/parser-man.r/simple.d/expected.tags +4 -0
  1360. data/ext/vendor/ctags/Units/parser-man.r/simple.d/input.1 +22 -0
  1361. data/ext/vendor/ctags/Units/parser-myrddin.r/simple.d/expected.tags +8 -0
  1362. data/ext/vendor/ctags/Units/parser-myrddin.r/simple.d/input.myr +14 -0
  1363. data/ext/vendor/ctags/Units/parser-objectivec.r/objc.m.d/expected.tags +3 -0
  1364. data/ext/vendor/ctags/Units/parser-objectivec.r/objc.m.d/input.m +6 -0
  1365. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_implementation.m.d/args.ctags +0 -0
  1366. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_implementation.m.d/expected.tags +13 -0
  1367. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_implementation.m.d/input.m +125 -0
  1368. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_interface.h.d/args.ctags +2 -0
  1369. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_interface.h.d/expected.tags +23 -0
  1370. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_interface.h.d/input.h +64 -0
  1371. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_property.h.d/args.ctags +0 -0
  1372. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_property.h.d/expected.tags +6 -0
  1373. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_property.h.d/input.h +13 -0
  1374. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_protocol.h.d/args.ctags +0 -0
  1375. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_protocol.h.d/expected.tags +3 -0
  1376. data/ext/vendor/ctags/Units/parser-objectivec.r/objectivec_protocol.h.d/input.h +6 -0
  1377. data/ext/vendor/ctags/Units/parser-perl.r/bug612621.pl.d/expected.tags +2 -0
  1378. data/ext/vendor/ctags/Units/parser-perl.r/bug612621.pl.d/input.pl +57 -0
  1379. data/ext/vendor/ctags/Units/parser-perl.r/bug842077.pl.d/expected.tags +1 -0
  1380. data/ext/vendor/ctags/Units/parser-perl.r/bug842077.pl.d/input.pl +33 -0
  1381. data/ext/vendor/ctags/Units/parser-perl.r/format.pl.d/expected.tags +2 -0
  1382. data/ext/vendor/ctags/Units/parser-perl.r/format.pl.d/input.pl +15 -0
  1383. data/ext/vendor/ctags/Units/parser-perl.r/package.pm.d/expected.tags +9 -0
  1384. data/ext/vendor/ctags/Units/parser-perl.r/package.pm.d/input.pm +57 -0
  1385. data/ext/vendor/ctags/Units/parser-perl.r/perl-autoloader.d/expected.tags +2 -0
  1386. data/ext/vendor/ctags/Units/parser-perl.r/perl-autoloader.d/input.pm +14 -0
  1387. data/ext/vendor/ctags/Units/parser-perl.r/perl-selfloader.d/expected.tags +2 -0
  1388. data/ext/vendor/ctags/Units/parser-perl.r/perl-selfloader.d/input.pm +14 -0
  1389. data/ext/vendor/ctags/Units/parser-perl.r/perl-two-line-package.d/args.ctags +1 -0
  1390. data/ext/vendor/ctags/Units/parser-perl.r/perl-two-line-package.d/expected.tags +6 -0
  1391. data/ext/vendor/ctags/Units/parser-perl.r/perl-two-line-package.d/input.pm +16 -0
  1392. data/ext/vendor/ctags/Units/parser-perl.r/simple.pl.d/args.ctags +2 -0
  1393. data/ext/vendor/ctags/Units/parser-perl.r/simple.pl.d/expected.tags +5 -0
  1394. data/ext/vendor/ctags/Units/parser-perl.r/simple.pl.d/input.pl +21 -0
  1395. data/ext/vendor/ctags/Units/parser-perl6.r/perl6-bunch1.d/expected.tags +45 -0
  1396. data/ext/vendor/ctags/Units/parser-perl6.r/perl6-bunch1.d/input.pm +120 -0
  1397. data/ext/vendor/ctags/Units/parser-perl6.r/perl6-bunch2.d/expected.tags +89 -0
  1398. data/ext/vendor/ctags/Units/parser-perl6.r/perl6-bunch2.d/input.pm +956 -0
  1399. data/ext/vendor/ctags/Units/parser-perl6.r/perl6-package.d/expected.tags +8 -0
  1400. data/ext/vendor/ctags/Units/parser-perl6.r/perl6-package.d/input.pm +6 -0
  1401. data/ext/vendor/ctags/Units/parser-php.r/anonymous_functions.php.d/expected.tags +8 -0
  1402. data/ext/vendor/ctags/Units/parser-php.r/anonymous_functions.php.d/input.php +47 -0
  1403. data/ext/vendor/ctags/Units/parser-php.r/bug681824.php.d/expected.tags +1 -0
  1404. data/ext/vendor/ctags/Units/parser-php.r/bug681824.php.d/input.php +32 -0
  1405. data/ext/vendor/ctags/Units/parser-php.r/classes.php.d/expected.tags +7 -0
  1406. data/ext/vendor/ctags/Units/parser-php.r/classes.php.d/input.php +38 -0
  1407. data/ext/vendor/ctags/Units/parser-php.r/mode.php.d/expected.tags +10 -0
  1408. data/ext/vendor/ctags/Units/parser-php.r/mode.php.d/input.php +125 -0
  1409. data/ext/vendor/ctags/Units/parser-php.r/php-anonymous-classes.d/args.ctags +1 -0
  1410. data/ext/vendor/ctags/Units/parser-php.r/php-anonymous-classes.d/expected.tags +14 -0
  1411. data/ext/vendor/ctags/Units/parser-php.r/php-anonymous-classes.d/input.php +26 -0
  1412. data/ext/vendor/ctags/Units/parser-php.r/php-anonymous_functions.d/args.ctags +1 -0
  1413. data/ext/vendor/ctags/Units/parser-php.r/php-anonymous_functions.d/expected.tags +8 -0
  1414. data/ext/vendor/ctags/Units/parser-php.r/php-anonymous_functions.d/input.php +31 -0
  1415. data/ext/vendor/ctags/Units/parser-php.r/php-bug681824.d/args.ctags +1 -0
  1416. data/ext/vendor/ctags/Units/parser-php.r/php-bug681824.d/expected.tags +1 -0
  1417. data/ext/vendor/ctags/Units/parser-php.r/php-bug681824.d/input.php +32 -0
  1418. data/ext/vendor/ctags/Units/parser-php.r/php-case_sensitivity.d/expected.tags +16 -0
  1419. data/ext/vendor/ctags/Units/parser-php.r/php-case_sensitivity.d/input.php +40 -0
  1420. data/ext/vendor/ctags/Units/parser-php.r/php-classes.d/args.ctags +1 -0
  1421. data/ext/vendor/ctags/Units/parser-php.r/php-classes.d/expected.tags +15 -0
  1422. data/ext/vendor/ctags/Units/parser-php.r/php-classes.d/input.php +69 -0
  1423. data/ext/vendor/ctags/Units/parser-php.r/php-full-qualified-tags.d/args.ctags +1 -0
  1424. data/ext/vendor/ctags/Units/parser-php.r/php-full-qualified-tags.d/expected.tags +5 -0
  1425. data/ext/vendor/ctags/Units/parser-php.r/php-full-qualified-tags.d/input.php +10 -0
  1426. data/ext/vendor/ctags/Units/parser-php.r/php-mode.d/expected.tags +10 -0
  1427. data/ext/vendor/ctags/Units/parser-php.r/php-mode.d/input.php +125 -0
  1428. data/ext/vendor/ctags/Units/parser-php.r/php-namespaces.d/expected.tags +13 -0
  1429. data/ext/vendor/ctags/Units/parser-php.r/php-namespaces.d/input.php +73 -0
  1430. data/ext/vendor/ctags/Units/parser-php.r/php-namespaces2.d/expected.tags +11 -0
  1431. data/ext/vendor/ctags/Units/parser-php.r/php-namespaces2.d/input.php +60 -0
  1432. data/ext/vendor/ctags/Units/parser-php.r/php-php5_5_class_kw.d/expected.tags +4 -0
  1433. data/ext/vendor/ctags/Units/parser-php.r/php-php5_5_class_kw.d/input.php +19 -0
  1434. data/ext/vendor/ctags/Units/parser-php.r/php-return-type-declaration.d/args.ctags +2 -0
  1435. data/ext/vendor/ctags/Units/parser-php.r/php-return-type-declaration.d/expected.tags +14 -0
  1436. data/ext/vendor/ctags/Units/parser-php.r/php-return-type-declaration.d/input.php +59 -0
  1437. data/ext/vendor/ctags/Units/parser-php.r/php-semi-reserved-keywords.d/expected.tags +15 -0
  1438. data/ext/vendor/ctags/Units/parser-php.r/php-semi-reserved-keywords.d/input.php +26 -0
  1439. data/ext/vendor/ctags/Units/parser-php.r/php-simple.d/args.ctags +1 -0
  1440. data/ext/vendor/ctags/Units/parser-php.r/php-simple.d/expected.tags +11 -0
  1441. data/ext/vendor/ctags/Units/parser-php.r/php-simple.d/input.php +49 -0
  1442. data/ext/vendor/ctags/Units/parser-php.r/php-strings.d/expected.tags +8 -0
  1443. data/ext/vendor/ctags/Units/parser-php.r/php-strings.d/input.php +24 -0
  1444. data/ext/vendor/ctags/Units/parser-php.r/php-traits.d/args.ctags +1 -0
  1445. data/ext/vendor/ctags/Units/parser-php.r/php-traits.d/expected.tags +10 -0
  1446. data/ext/vendor/ctags/Units/parser-php.r/php-traits.d/input.php +54 -0
  1447. data/ext/vendor/ctags/Units/parser-php.r/php-use.d/expected.tags +35 -0
  1448. data/ext/vendor/ctags/Units/parser-php.r/php-use.d/input.php +74 -0
  1449. data/ext/vendor/ctags/Units/parser-php.r/php-whitespaces.d/expected.tags +8 -0
  1450. data/ext/vendor/ctags/Units/parser-php.r/php-whitespaces.d/input.php +34 -0
  1451. data/ext/vendor/ctags/Units/parser-php.r/simple.php.d/expected.tags +11 -0
  1452. data/ext/vendor/ctags/Units/parser-php.r/simple.php.d/input.php +49 -0
  1453. data/ext/vendor/ctags/Units/parser-php.r/traits.php.d/expected.tags +8 -0
  1454. data/ext/vendor/ctags/Units/parser-php.r/traits.php.d/input.php +47 -0
  1455. data/ext/vendor/ctags/Units/parser-php.r/whitespaces.php.d/expected.tags +8 -0
  1456. data/ext/vendor/ctags/Units/parser-php.r/whitespaces.php.d/input.php +48 -0
  1457. data/ext/vendor/ctags/Units/parser-python.r/blanks.d/expected.tags +10 -0
  1458. data/ext/vendor/ctags/Units/parser-python.r/blanks.d/input.py +25 -0
  1459. data/ext/vendor/ctags/Units/parser-python.r/bug1764148.d/args.ctags +1 -0
  1460. data/ext/vendor/ctags/Units/parser-python.r/bug1764148.d/expected.tags +1 -0
  1461. data/ext/vendor/ctags/Units/parser-python.r/bug1764148.d/input.bug1764148 +2 -0
  1462. data/ext/vendor/ctags/Units/parser-python.r/bug1809024.py.d/expected.tags +1 -0
  1463. data/ext/vendor/ctags/Units/parser-python.r/bug1809024.py.d/input.py +10 -0
  1464. data/ext/vendor/ctags/Units/parser-python.r/bug1856363.py.d/expected.tags +1 -0
  1465. data/ext/vendor/ctags/Units/parser-python.r/bug1856363.py.d/input.py +9 -0
  1466. data/ext/vendor/ctags/Units/parser-python.r/bug1906062.py.d/expected.tags +1 -0
  1467. data/ext/vendor/ctags/Units/parser-python.r/bug1906062.py.d/input.py +4 -0
  1468. data/ext/vendor/ctags/Units/parser-python.r/bug1988026.py.d/expected.tags +4 -0
  1469. data/ext/vendor/ctags/Units/parser-python.r/bug1988026.py.d/input.py +9 -0
  1470. data/ext/vendor/ctags/Units/parser-python.r/bug1988027.py.d/expected.tags +0 -0
  1471. data/ext/vendor/ctags/Units/parser-python.r/bug1988027.py.d/input.py +9 -0
  1472. data/ext/vendor/ctags/Units/parser-python.r/bug1988130.py.d/expected.tags +2 -0
  1473. data/ext/vendor/ctags/Units/parser-python.r/bug1988130.py.d/input.py +7 -0
  1474. data/ext/vendor/ctags/Units/parser-python.r/bug2075402.py.d/expected.tags +2 -0
  1475. data/ext/vendor/ctags/Units/parser-python.r/bug2075402.py.d/input.py +2 -0
  1476. data/ext/vendor/ctags/Units/parser-python.r/bug3168705.py.d/expected.tags +3 -0
  1477. data/ext/vendor/ctags/Units/parser-python.r/bug3168705.py.d/input.py +9 -0
  1478. data/ext/vendor/ctags/Units/parser-python.r/bug699171.py.d/expected.tags +2 -0
  1479. data/ext/vendor/ctags/Units/parser-python.r/bug699171.py.d/input.py +8 -0
  1480. data/ext/vendor/ctags/Units/parser-python.r/cython-external.d/expected.tags +1 -0
  1481. data/ext/vendor/ctags/Units/parser-python.r/cython-external.d/input.pyx +9 -0
  1482. data/ext/vendor/ctags/Units/parser-python.r/cython_sample.pyx.d/expected.tags +14 -0
  1483. data/ext/vendor/ctags/Units/parser-python.r/cython_sample.pyx.d/input.pyx +49 -0
  1484. data/ext/vendor/ctags/Units/parser-python.r/cython_sample2.d/args.ctags +2 -0
  1485. data/ext/vendor/ctags/Units/parser-python.r/cython_sample2.d/expected.tags +5 -0
  1486. data/ext/vendor/ctags/Units/parser-python.r/cython_sample2.d/input.pyx +11 -0
  1487. data/ext/vendor/ctags/Units/parser-python.r/dotted-variable-leftovers.d/expected.tags +3 -0
  1488. data/ext/vendor/ctags/Units/parser-python.r/dotted-variable-leftovers.d/input.py +8 -0
  1489. data/ext/vendor/ctags/Units/parser-python.r/multiline-arglist.d/args.ctags +2 -0
  1490. data/ext/vendor/ctags/Units/parser-python.r/multiline-arglist.d/expected.tags +8 -0
  1491. data/ext/vendor/ctags/Units/parser-python.r/multiline-arglist.d/input.py +30 -0
  1492. data/ext/vendor/ctags/Units/parser-python.r/multiline-class-def.d/expected.tags +4 -0
  1493. data/ext/vendor/ctags/Units/parser-python.r/multiline-class-def.d/input.py +6 -0
  1494. data/ext/vendor/ctags/Units/parser-python.r/multiline-def.d/expected.tags +2 -0
  1495. data/ext/vendor/ctags/Units/parser-python.r/multiline-def.d/input.py +6 -0
  1496. data/ext/vendor/ctags/Units/parser-python.r/nested-parenthesis.d/args.ctags +2 -0
  1497. data/ext/vendor/ctags/Units/parser-python.r/nested-parenthesis.d/expected.tags +5 -0
  1498. data/ext/vendor/ctags/Units/parser-python.r/nested-parenthesis.d/input.py +16 -0
  1499. data/ext/vendor/ctags/Units/parser-python.r/newlines-cr.b/README +2 -0
  1500. data/ext/vendor/ctags/Units/parser-python.r/newlines-cr.b/expected.tags +4 -0
  1501. data/ext/vendor/ctags/Units/parser-python.r/newlines-cr.b/input.py +1 -0
  1502. data/ext/vendor/ctags/Units/parser-python.r/newlines-crlf.d/expected.tags +4 -0
  1503. data/ext/vendor/ctags/Units/parser-python.r/newlines-crlf.d/input.py +13 -0
  1504. data/ext/vendor/ctags/Units/parser-python.r/py-skipped-string.d/expected.tags +3 -0
  1505. data/ext/vendor/ctags/Units/parser-python.r/py-skipped-string.d/input.py +30 -0
  1506. data/ext/vendor/ctags/Units/parser-python.r/python-access.d/args.ctags +1 -0
  1507. data/ext/vendor/ctags/Units/parser-python.r/python-access.d/expected.tags +18 -0
  1508. data/ext/vendor/ctags/Units/parser-python.r/python-access.d/input.py +45 -0
  1509. data/ext/vendor/ctags/Units/parser-python.r/python-anonymous-nestlevel_ctags-bug-356.d/expected.tags +3 -0
  1510. data/ext/vendor/ctags/Units/parser-python.r/python-anonymous-nestlevel_ctags-bug-356.d/input.py +6 -0
  1511. data/ext/vendor/ctags/Units/parser-python.r/python-arguments.d/args.ctags +3 -0
  1512. data/ext/vendor/ctags/Units/parser-python.r/python-arguments.d/expected.tags +74 -0
  1513. data/ext/vendor/ctags/Units/parser-python.r/python-arguments.d/input.py +52 -0
  1514. data/ext/vendor/ctags/Units/parser-python.r/python-comments.d/args.ctags +1 -0
  1515. data/ext/vendor/ctags/Units/parser-python.r/python-comments.d/expected.tags +1 -0
  1516. data/ext/vendor/ctags/Units/parser-python.r/python-comments.d/input.py +8 -0
  1517. data/ext/vendor/ctags/Units/parser-python.r/python-decorators.d/args.ctags +1 -0
  1518. data/ext/vendor/ctags/Units/parser-python.r/python-decorators.d/expected.tags +14 -0
  1519. data/ext/vendor/ctags/Units/parser-python.r/python-decorators.d/input.py +50 -0
  1520. data/ext/vendor/ctags/Units/parser-python.r/python-disable-member-kind.d/args.ctags +1 -0
  1521. data/ext/vendor/ctags/Units/parser-python.r/python-disable-member-kind.d/input.py +6 -0
  1522. data/ext/vendor/ctags/Units/parser-python.r/python-dot-in-import.d/args.ctags +3 -0
  1523. data/ext/vendor/ctags/Units/parser-python.r/python-dot-in-import.d/expected.tags +12 -0
  1524. data/ext/vendor/ctags/Units/parser-python.r/python-dot-in-import.d/input.py +7 -0
  1525. data/ext/vendor/ctags/Units/parser-python.r/python-dotted-variable.d/README +1 -0
  1526. data/ext/vendor/ctags/Units/parser-python.r/python-dotted-variable.d/expected.tags +5 -0
  1527. data/ext/vendor/ctags/Units/parser-python.r/python-dotted-variable.d/input.py +9 -0
  1528. data/ext/vendor/ctags/Units/parser-python.r/python-end-field.d/args.ctags +4 -0
  1529. data/ext/vendor/ctags/Units/parser-python.r/python-end-field.d/expected.tags +12 -0
  1530. data/ext/vendor/ctags/Units/parser-python.r/python-end-field.d/input.py +18 -0
  1531. data/ext/vendor/ctags/Units/parser-python.r/python-fullqualified-tags.d/args.ctags +1 -0
  1532. data/ext/vendor/ctags/Units/parser-python.r/python-fullqualified-tags.d/expected.tags +7 -0
  1533. data/ext/vendor/ctags/Units/parser-python.r/python-fullqualified-tags.d/input.py +6 -0
  1534. data/ext/vendor/ctags/Units/parser-python.r/python-geany-bug-612.d/expected.tags +5 -0
  1535. data/ext/vendor/ctags/Units/parser-python.r/python-geany-bug-612.d/input.py +28 -0
  1536. data/ext/vendor/ctags/Units/parser-python.r/python-import.d/args.ctags +3 -0
  1537. data/ext/vendor/ctags/Units/parser-python.r/python-import.d/expected.tags +43 -0
  1538. data/ext/vendor/ctags/Units/parser-python.r/python-import.d/input.py +13 -0
  1539. data/ext/vendor/ctags/Units/parser-python.r/python-keyword-tabulation.d/expected.tags +2 -0
  1540. data/ext/vendor/ctags/Units/parser-python.r/python-keyword-tabulation.d/input.py +6 -0
  1541. data/ext/vendor/ctags/Units/parser-python.r/python-local-lambdas.d/expected.tags +7 -0
  1542. data/ext/vendor/ctags/Units/parser-python.r/python-local-lambdas.d/input.py +11 -0
  1543. data/ext/vendor/ctags/Units/parser-python.r/python-local-variables.d/args.ctags +1 -0
  1544. data/ext/vendor/ctags/Units/parser-python.r/python-local-variables.d/expected.tags +15 -0
  1545. data/ext/vendor/ctags/Units/parser-python.r/python-local-variables.d/input.py +23 -0
  1546. data/ext/vendor/ctags/Units/parser-python.r/python-multivar-no-declaration.d/expected.tags +3 -0
  1547. data/ext/vendor/ctags/Units/parser-python.r/python-multivar-no-declaration.d/input.py +3 -0
  1548. data/ext/vendor/ctags/Units/parser-python.r/python-multivar-statement-with-lambdas.d/expected.tags +25 -0
  1549. data/ext/vendor/ctags/Units/parser-python.r/python-multivar-statement-with-lambdas.d/input.py +45 -0
  1550. data/ext/vendor/ctags/Units/parser-python.r/python-multivar-statement.d/expected.tags +6 -0
  1551. data/ext/vendor/ctags/Units/parser-python.r/python-multivar-statement.d/input.py +3 -0
  1552. data/ext/vendor/ctags/Units/parser-python.r/python-semicolon.d/expected.tags +7 -0
  1553. data/ext/vendor/ctags/Units/parser-python.r/python-semicolon.d/input.py +17 -0
  1554. data/ext/vendor/ctags/Units/parser-python.r/python2-arglists.d/args.ctags +1 -0
  1555. data/ext/vendor/ctags/Units/parser-python.r/python2-arglists.d/expected.tags +31 -0
  1556. data/ext/vendor/ctags/Units/parser-python.r/python2-arglists.d/input.py +53 -0
  1557. data/ext/vendor/ctags/Units/parser-python.r/python3-arglists.d/args.ctags +1 -0
  1558. data/ext/vendor/ctags/Units/parser-python.r/python3-arglists.d/expected.tags +30 -0
  1559. data/ext/vendor/ctags/Units/parser-python.r/python3-arglists.d/input.py +54 -0
  1560. data/ext/vendor/ctags/Units/parser-python.r/python3-function-annotations.d/args.ctags +1 -0
  1561. data/ext/vendor/ctags/Units/parser-python.r/python3-function-annotations.d/expected.tags +13 -0
  1562. data/ext/vendor/ctags/Units/parser-python.r/python3-function-annotations.d/input.py +22 -0
  1563. data/ext/vendor/ctags/Units/parser-python.r/simple.py.d/args.ctags +4 -0
  1564. data/ext/vendor/ctags/Units/parser-python.r/simple.py.d/expected.tags +45 -0
  1565. data/ext/vendor/ctags/Units/parser-python.r/simple.py.d/input.py +60 -0
  1566. data/ext/vendor/ctags/Units/parser-python.r/strings.d/expected.tags +31 -0
  1567. data/ext/vendor/ctags/Units/parser-python.r/strings.d/input.py +37 -0
  1568. data/ext/vendor/ctags/Units/parser-python.r/tabindent.py.d/expected.tags +1 -0
  1569. data/ext/vendor/ctags/Units/parser-python.r/tabindent.py.d/input.py +3 -0
  1570. data/ext/vendor/ctags/Units/parser-python.r/test.py.d/expected.tags +3 -0
  1571. data/ext/vendor/ctags/Units/parser-python.r/test.py.d/input.py +10 -0
  1572. data/ext/vendor/ctags/Units/parser-python.r/toplevel-funcall-with-keyword-args.d/expected.tags +1 -0
  1573. data/ext/vendor/ctags/Units/parser-python.r/toplevel-funcall-with-keyword-args.d/input.py +6 -0
  1574. data/ext/vendor/ctags/Units/parser-python.r/triple-quotes-after-def.d/expected.tags +3 -0
  1575. data/ext/vendor/ctags/Units/parser-python.r/triple-quotes-after-def.d/input.py +4 -0
  1576. data/ext/vendor/ctags/Units/parser-python.r/triple-quotes-in-class.d/expected.tags +3 -0
  1577. data/ext/vendor/ctags/Units/parser-python.r/triple-quotes-in-class.d/input.py +8 -0
  1578. data/ext/vendor/ctags/Units/parser-python.r/triple-quotes-in-default-arg.d/expected.tags +2 -0
  1579. data/ext/vendor/ctags/Units/parser-python.r/triple-quotes-in-default-arg.d/input.py +5 -0
  1580. data/ext/vendor/ctags/Units/parser-python.r/triple-quotes-in-list.d/expected.tags +3 -0
  1581. data/ext/vendor/ctags/Units/parser-python.r/triple-quotes-in-list.d/input.py +10 -0
  1582. data/ext/vendor/ctags/Units/parser-python.r/triple-quotes.d/expected.tags +3 -0
  1583. data/ext/vendor/ctags/Units/parser-python.r/triple-quotes.d/input.py +12 -0
  1584. data/ext/vendor/ctags/Units/parser-r.r/r-extended.d/expected.tags +3 -0
  1585. data/ext/vendor/ctags/Units/parser-r.r/r-extended.d/input.r +11 -0
  1586. data/ext/vendor/ctags/Units/parser-r.r/r-simple.d/expected.tags +3 -0
  1587. data/ext/vendor/ctags/Units/parser-r.r/r-simple.d/input.r +7 -0
  1588. data/ext/vendor/ctags/Units/parser-r.r/r-uppercase-extension.d/expected.tags +3 -0
  1589. data/ext/vendor/ctags/Units/parser-r.r/r-uppercase-extension.d/input.R +7 -0
  1590. data/ext/vendor/ctags/Units/parser-relaxng.r/element.d/args.ctags +1 -0
  1591. data/ext/vendor/ctags/Units/parser-relaxng.r/element.d/expected.tags +4 -0
  1592. data/ext/vendor/ctags/Units/parser-relaxng.r/element.d/features +1 -0
  1593. data/ext/vendor/ctags/Units/parser-relaxng.r/element.d/input.rng +14 -0
  1594. data/ext/vendor/ctags/Units/parser-relaxng.r/grammar.d/args.ctags +2 -0
  1595. data/ext/vendor/ctags/Units/parser-relaxng.r/grammar.d/expected.tags +40 -0
  1596. data/ext/vendor/ctags/Units/parser-relaxng.r/grammar.d/features +1 -0
  1597. data/ext/vendor/ctags/Units/parser-relaxng.r/grammar.d/input.rng +264 -0
  1598. data/ext/vendor/ctags/Units/parser-restructuredtext.r/iso8859-1-restructuredtext.d/expected.tags +4 -0
  1599. data/ext/vendor/ctags/Units/parser-restructuredtext.r/iso8859-1-restructuredtext.d/input.rst +17 -0
  1600. data/ext/vendor/ctags/Units/parser-restructuredtext.r/simple-restructuredtext.d/args.ctags +2 -0
  1601. data/ext/vendor/ctags/Units/parser-restructuredtext.r/simple-restructuredtext.d/expected.tags +8 -0
  1602. data/ext/vendor/ctags/Units/parser-restructuredtext.r/simple-restructuredtext.d/input.rst +39 -0
  1603. data/ext/vendor/ctags/Units/parser-restructuredtext.r/utf8-restructuredtext.d/expected.tags +4 -0
  1604. data/ext/vendor/ctags/Units/parser-restructuredtext.r/utf8-restructuredtext.d/input.rst +17 -0
  1605. data/ext/vendor/ctags/Units/parser-ruby.r/bug1742588.rb.d/expected.tags +3 -0
  1606. data/ext/vendor/ctags/Units/parser-ruby.r/bug1742588.rb.d/input.rb +7 -0
  1607. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-block-call.d/expected.tags +2 -0
  1608. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-block-call.d/input.rb +10 -0
  1609. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-class-method-in-lt-lt-self.d/expected.tags +2 -0
  1610. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-class-method-in-lt-lt-self.d/input.rb +6 -0
  1611. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-doc.d/expected.tags +4 -0
  1612. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-doc.d/input.rb +22 -0
  1613. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-geany-sf-bug-302.d/expected.tags +3 -0
  1614. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-geany-sf-bug-302.d/input.rb +14 -0
  1615. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-geany-sf-bug-542.d/expected.tags +12 -0
  1616. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-geany-sf-bug-542.d/input.rb +101 -0
  1617. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-kind-option.d/args.ctags +1 -0
  1618. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-kind-option.d/expected.tags +1 -0
  1619. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-kind-option.d/input.rb +5 -0
  1620. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-namespaced-class.d/expected.tags +3 -0
  1621. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-namespaced-class.d/input.rb +8 -0
  1622. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-scope-after-anonymous-class.d/expected.tags +3 -0
  1623. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-scope-after-anonymous-class.d/input.rb +10 -0
  1624. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-sf-bug-364.d/expected.tags +7 -0
  1625. data/ext/vendor/ctags/Units/parser-ruby.r/ruby-sf-bug-364.d/input.rb +16 -0
  1626. data/ext/vendor/ctags/Units/parser-ruby.r/simple.rb.d/expected.tags +9 -0
  1627. data/ext/vendor/ctags/Units/parser-ruby.r/simple.rb.d/input.rb +29 -0
  1628. data/ext/vendor/ctags/Units/parser-rust.r/rust-simple.d/args.ctags +1 -0
  1629. data/ext/vendor/ctags/Units/parser-rust.r/rust-simple.d/expected.tags +7 -0
  1630. data/ext/vendor/ctags/Units/parser-rust.r/rust-simple.d/features +1 -0
  1631. data/ext/vendor/ctags/Units/parser-rust.r/rust-simple.d/input.rs +17 -0
  1632. data/ext/vendor/ctags/Units/parser-rust.r/rust-test_input.d/args.ctags +1 -0
  1633. data/ext/vendor/ctags/Units/parser-rust.r/rust-test_input.d/expected.tags +59 -0
  1634. data/ext/vendor/ctags/Units/parser-rust.r/rust-test_input.d/input.rs +189 -0
  1635. data/ext/vendor/ctags/Units/parser-rust.r/rust-test_input2.d/args.ctags +1 -0
  1636. data/ext/vendor/ctags/Units/parser-rust.r/rust-test_input2.d/expected.tags +20 -0
  1637. data/ext/vendor/ctags/Units/parser-rust.r/rust-test_input2.d/input.rs +46 -0
  1638. data/ext/vendor/ctags/Units/parser-scheme.r/scheme-simple-define.d/expected.tags +33 -0
  1639. data/ext/vendor/ctags/Units/parser-scheme.r/scheme-simple-define.d/input.scm +83 -0
  1640. data/ext/vendor/ctags/Units/parser-scheme.r/scheme-simple-setbang.d/expected.tags +16 -0
  1641. data/ext/vendor/ctags/Units/parser-scheme.r/scheme-simple-setbang.d/input.scm +29 -0
  1642. data/ext/vendor/ctags/Units/parser-scheme.r/scheme-srfi-30-comment.b/expected.tags +0 -0
  1643. data/ext/vendor/ctags/Units/parser-scheme.r/scheme-srfi-30-comment.b/input.scm +4 -0
  1644. data/ext/vendor/ctags/Units/parser-scheme.r/scheme-string.b/expected.tags +0 -0
  1645. data/ext/vendor/ctags/Units/parser-scheme.r/scheme-string.b/input.scm +4 -0
  1646. data/ext/vendor/ctags/Units/parser-sh.r/function-identifiers-bash.d/expected.tags +113 -0
  1647. data/ext/vendor/ctags/Units/parser-sh.r/function-identifiers-bash.d/input.bash +398 -0
  1648. data/ext/vendor/ctags/Units/parser-sh.r/sh-alias.d/expected.tags +11 -0
  1649. data/ext/vendor/ctags/Units/parser-sh.r/sh-alias.d/input.sh +11 -0
  1650. data/ext/vendor/ctags/Units/parser-sh.r/sh-comments.d/expected.tags +4 -0
  1651. data/ext/vendor/ctags/Units/parser-sh.r/sh-comments.d/input.sh +7 -0
  1652. data/ext/vendor/ctags/Units/parser-sh.r/sh-heredoc-broken.d/input.sh +1 -0
  1653. data/ext/vendor/ctags/Units/parser-sh.r/sh-heredoc-broken2.d/input.sh +1 -0
  1654. data/ext/vendor/ctags/Units/parser-sh.r/sh-heredoc-checks.d/expected.tags +17 -0
  1655. data/ext/vendor/ctags/Units/parser-sh.r/sh-heredoc-checks.d/input.sh +90 -0
  1656. data/ext/vendor/ctags/Units/parser-sh.r/sh-heredoc.d/expected.tags +0 -0
  1657. data/ext/vendor/ctags/Units/parser-sh.r/sh-heredoc.d/input.sh +5 -0
  1658. data/ext/vendor/ctags/Units/parser-sh.r/sh-herestring.d/expected.tags +4 -0
  1659. data/ext/vendor/ctags/Units/parser-sh.r/sh-herestring.d/input.sh +11 -0
  1660. data/ext/vendor/ctags/Units/parser-sh.r/sh-modeline-1-emacs-shell-script.d/args.ctags +1 -0
  1661. data/ext/vendor/ctags/Units/parser-sh.r/sh-modeline-1-emacs-shell-script.d/expected.tags +1 -0
  1662. data/ext/vendor/ctags/Units/parser-sh.r/sh-modeline-1-emacs-shell-script.d/input.nolang +5 -0
  1663. data/ext/vendor/ctags/Units/parser-sh.r/sh-modeline-2-emacs-shell-script.d/args.ctags +1 -0
  1664. data/ext/vendor/ctags/Units/parser-sh.r/sh-modeline-2-emacs-shell-script.d/expected.tags +1 -0
  1665. data/ext/vendor/ctags/Units/parser-sh.r/sh-modeline-2-emacs-shell-script.d/input.nolang +5 -0
  1666. data/ext/vendor/ctags/Units/parser-sh.r/sh-modeline-at-eof-emacs-shell-script.d/args.ctags +2 -0
  1667. data/ext/vendor/ctags/Units/parser-sh.r/sh-modeline-at-eof-emacs-shell-script.d/expected.tags +1 -0
  1668. data/ext/vendor/ctags/Units/parser-sh.r/sh-modeline-at-eof-emacs-shell-script.d/input.nolang +7 -0
  1669. data/ext/vendor/ctags/Units/parser-sh.r/sh-quoted-func.d/expected.tags +0 -0
  1670. data/ext/vendor/ctags/Units/parser-sh.r/sh-quoted-func.d/input.sh +1 -0
  1671. data/ext/vendor/ctags/Units/parser-sh.r/sh-quotes.d/expected.tags +4 -0
  1672. data/ext/vendor/ctags/Units/parser-sh.r/sh-quotes.d/input.sh +6 -0
  1673. data/ext/vendor/ctags/Units/parser-sh.r/sh-source.d/args.ctags +2 -0
  1674. data/ext/vendor/ctags/Units/parser-sh.r/sh-source.d/expected.tags +8 -0
  1675. data/ext/vendor/ctags/Units/parser-sh.r/sh-source.d/input.sh +24 -0
  1676. data/ext/vendor/ctags/Units/parser-sh.r/sh-spaces-in-funcdef.d/expected.tags +2 -0
  1677. data/ext/vendor/ctags/Units/parser-sh.r/sh-spaces-in-funcdef.d/input.sh +9 -0
  1678. data/ext/vendor/ctags/Units/parser-sh.r/sh-statements.d/expected.tags +15 -0
  1679. data/ext/vendor/ctags/Units/parser-sh.r/sh-statements.d/input.sh +23 -0
  1680. data/ext/vendor/ctags/Units/parser-sh.r/simple.ksh.d/expected.tags +2 -0
  1681. data/ext/vendor/ctags/Units/parser-sh.r/simple.ksh.d/input.ksh +7 -0
  1682. data/ext/vendor/ctags/Units/parser-sh.r/simple.sh.d/README +1 -0
  1683. data/ext/vendor/ctags/Units/parser-sh.r/simple.sh.d/expected.tags +3 -0
  1684. data/ext/vendor/ctags/Units/parser-sh.r/simple.sh.d/input.sh +10 -0
  1685. data/ext/vendor/ctags/Units/parser-sql.r/partial.d/input.sql +1 -0
  1686. data/ext/vendor/ctags/Units/parser-sql.r/sql_pgSQL_empty_decl.d/expected.tags +2 -0
  1687. data/ext/vendor/ctags/Units/parser-sql.r/sql_pgSQL_empty_decl.d/input.sql +14 -0
  1688. data/ext/vendor/ctags/Units/parser-tcl.r/simple.tcl.d/expected.tags +6 -0
  1689. data/ext/vendor/ctags/Units/parser-tcl.r/simple.tcl.d/input.tcl +10 -0
  1690. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-altstep.d/args.ctags +1 -0
  1691. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-altstep.d/expected.tags +4 -0
  1692. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-altstep.d/input.ttcn +24 -0
  1693. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-comments.d/args.ctags +1 -0
  1694. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-comments.d/expected.tags +2 -0
  1695. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-comments.d/input.ttcn +21 -0
  1696. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-component.d/args.ctags +1 -0
  1697. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-component.d/expected.tags +7 -0
  1698. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-component.d/input.ttcn +22 -0
  1699. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-constants.d/args.ctags +1 -0
  1700. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-constants.d/expected.tags +5 -0
  1701. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-constants.d/input.ttcn +9 -0
  1702. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-enum.d/args.ctags +1 -0
  1703. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-enum.d/expected.tags +4 -0
  1704. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-enum.d/input.ttcn +6 -0
  1705. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-function.d/args.ctags +1 -0
  1706. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-function.d/expected.tags +5 -0
  1707. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-function.d/input.ttcn +24 -0
  1708. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-group.d/args.ctags +1 -0
  1709. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-group.d/expected.tags +3 -0
  1710. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-group.d/input.ttcn +5 -0
  1711. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-module.d/args.ctags +1 -0
  1712. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-module.d/expected.tags +6 -0
  1713. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-module.d/input.ttcn +16 -0
  1714. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-numbers.d/args.ctags +1 -0
  1715. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-numbers.d/expected.tags +12 -0
  1716. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-numbers.d/input.ttcn +13 -0
  1717. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-signature.d/args.ctags +1 -0
  1718. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-signature.d/expected.tags +2 -0
  1719. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-signature.d/input.ttcn +3 -0
  1720. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-strings.d/args.ctags +1 -0
  1721. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-strings.d/expected.tags +15 -0
  1722. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-strings.d/input.ttcn +15 -0
  1723. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-template.d/args.ctags +1 -0
  1724. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-template.d/expected.tags +5 -0
  1725. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-template.d/input.ttcn +32 -0
  1726. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-testcase.d/args.ctags +1 -0
  1727. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-testcase.d/expected.tags +3 -0
  1728. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-testcase.d/input.ttcn +13 -0
  1729. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-timer.d/args.ctags +1 -0
  1730. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-timer.d/expected.tags +2 -0
  1731. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-timer.d/input.ttcn +18 -0
  1732. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-types.d/args.ctags +1 -0
  1733. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-types.d/expected.tags +22 -0
  1734. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-types.d/input.ttcn +32 -0
  1735. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-variables.d/args.ctags +1 -0
  1736. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-variables.d/expected.tags +13 -0
  1737. data/ext/vendor/ctags/Units/parser-ttcn.r/ttcn-variables.d/input.ttcn +19 -0
  1738. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-assertion.d/args.ctags +1 -0
  1739. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-assertion.d/expected.tags +32 -0
  1740. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-assertion.d/input.sv +25 -0
  1741. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-basic.d/args.ctags +2 -0
  1742. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-basic.d/expected.tags +89 -0
  1743. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-basic.d/input.sv +83 -0
  1744. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-class.d/args.ctags +3 -0
  1745. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-class.d/expected.tags +60 -0
  1746. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-class.d/input.sv +45 -0
  1747. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-covergroup.d/args.ctags +1 -0
  1748. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-covergroup.d/expected.tags +20 -0
  1749. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-covergroup.d/input.sv +13 -0
  1750. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-github646.d/expected.tags +1 -0
  1751. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-github646.d/input.sv +1 -0
  1752. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-interface.d/args.ctags +2 -0
  1753. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-interface.d/expected.tags +30 -0
  1754. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-interface.d/input.sv +24 -0
  1755. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-nocontext.d/args.ctags +1 -0
  1756. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-nocontext.d/expected.tags +36 -0
  1757. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-nocontext.d/input.sv +44 -0
  1758. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-package.d/args.ctags +2 -0
  1759. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-package.d/expected.tags +16 -0
  1760. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-package.d/input.sv +14 -0
  1761. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-program.d/args.ctags +2 -0
  1762. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-program.d/expected.tags +35 -0
  1763. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-program.d/input.sv +51 -0
  1764. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-qualifiers.d/args.ctags +2 -0
  1765. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-qualifiers.d/expected.tags +70 -0
  1766. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-qualifiers.d/input.sv +36 -0
  1767. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-typedef.d/args.ctags +2 -0
  1768. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-typedef.d/expected.tags +8 -0
  1769. data/ext/vendor/ctags/Units/parser-verilog.r/systemverilog-typedef.d/input.sv +15 -0
  1770. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-2001.d/args.ctags +1 -0
  1771. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-2001.d/expected.tags +64 -0
  1772. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-2001.d/input.v +51 -0
  1773. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-basic.d/args.ctags +1 -0
  1774. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-basic.d/expected.tags +72 -0
  1775. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-basic.d/input.v +64 -0
  1776. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-github624.d/expected.tags +1 -0
  1777. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-github624.d/input.v +1 -0
  1778. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-memleak.d/expected.tags +22 -0
  1779. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-memleak.d/input.v +28 -0
  1780. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-nocontext.d/args.ctags +1 -0
  1781. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-nocontext.d/expected.tags +33 -0
  1782. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-nocontext.d/input.v +45 -0
  1783. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug108_1.d/expected.tags +1 -0
  1784. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug108_1.d/input.v +17 -0
  1785. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug108_2.d/expected.tags +3 -0
  1786. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug108_2.d/input.v +8 -0
  1787. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug174.d/expected.tags +0 -0
  1788. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug174.d/input.v +5 -0
  1789. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug73_1.d/expected.tags +4 -0
  1790. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug73_1.d/input.v +27 -0
  1791. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug73_2.d/expected.tags +6 -0
  1792. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug73_2.d/input.v +61 -0
  1793. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug73_3.d/expected.tags +17 -0
  1794. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug73_3.d/input.v +49 -0
  1795. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug98.d/expected.tags +6 -0
  1796. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug98.d/input.v +53 -0
  1797. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug99.d/expected.tags +8 -0
  1798. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_bug99.d/input.v +26 -0
  1799. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_patch57.d/expected.tags +1 -0
  1800. data/ext/vendor/ctags/Units/parser-verilog.r/verilog-sf_patch57.d/input.v +1 -0
  1801. data/ext/vendor/ctags/Units/parser-vim.r/3214129.vim.d/expected.tags +89 -0
  1802. data/ext/vendor/ctags/Units/parser-vim.r/3214129.vim.d/input.vim +1683 -0
  1803. data/ext/vendor/ctags/Units/parser-vim.r/3548393.vim.d/expected.tags +33 -0
  1804. data/ext/vendor/ctags/Units/parser-vim.r/3548393.vim.d/input.vim +507 -0
  1805. data/ext/vendor/ctags/Units/parser-vim.r/bug3032253.vim.d/expected.tags +1 -0
  1806. data/ext/vendor/ctags/Units/parser-vim.r/bug3032253.vim.d/input.vim +5 -0
  1807. data/ext/vendor/ctags/Units/parser-vim.r/bug358.vim.d/expected.tags +0 -0
  1808. data/ext/vendor/ctags/Units/parser-vim.r/bug358.vim.d/input.vim +0 -0
  1809. data/ext/vendor/ctags/Units/parser-vim.r/bug359.vim.d/expected.tags +0 -0
  1810. data/ext/vendor/ctags/Units/parser-vim.r/bug359.vim.d/input.vim +2 -0
  1811. data/ext/vendor/ctags/Units/parser-vim.r/end-field.vim.d/args.ctags +2 -0
  1812. data/ext/vendor/ctags/Units/parser-vim.r/end-field.vim.d/expected.tags +2 -0
  1813. data/ext/vendor/ctags/Units/parser-vim.r/end-field.vim.d/input.vim +6 -0
  1814. data/ext/vendor/ctags/Units/parser-vim.r/simple.vim.d/expected.tags +27 -0
  1815. data/ext/vendor/ctags/Units/parser-vim.r/simple.vim.d/input.vim +114 -0
  1816. data/ext/vendor/ctags/Units/parser-vim.r/vim-command-in-function.d/expected.tags +1 -0
  1817. data/ext/vendor/ctags/Units/parser-vim.r/vim-command-in-function.d/input.vim +3 -0
  1818. data/ext/vendor/ctags/Units/parser-vim.r/vim-command-not-command.d/README +2 -0
  1819. data/ext/vendor/ctags/Units/parser-vim.r/vim-command-not-command.d/expected.tags +0 -0
  1820. data/ext/vendor/ctags/Units/parser-vim.r/vim-command-not-command.d/input.vim +1 -0
  1821. data/ext/vendor/ctags/Units/parser-vim.r/vim-command.d/expected.tags +1 -0
  1822. data/ext/vendor/ctags/Units/parser-vim.r/vim-command.d/input.vim +8 -0
  1823. data/ext/vendor/ctags/Units/parser-vim.r/vim-let-in-function.d/expected.tags +2 -0
  1824. data/ext/vendor/ctags/Units/parser-vim.r/vim-let-in-function.d/input.vim +4 -0
  1825. data/ext/vendor/ctags/Units/parser-vim.r/vim-map-special-args.d/expected.tags +1 -0
  1826. data/ext/vendor/ctags/Units/parser-vim.r/vim-map-special-args.d/input.vim +1 -0
  1827. data/ext/vendor/ctags/Units/parser-vim.r/vimball.vim.d/expected.tags +1 -0
  1828. data/ext/vendor/ctags/Units/parser-vim.r/vimball.vim.d/input.vba +6 -0
  1829. data/ext/vendor/ctags/Units/parser-xslt.r/xslt-simple.d/args.ctags +3 -0
  1830. data/ext/vendor/ctags/Units/parser-xslt.r/xslt-simple.d/expected.tags +25 -0
  1831. data/ext/vendor/ctags/Units/parser-xslt.r/xslt-simple.d/features +1 -0
  1832. data/ext/vendor/ctags/Units/parser-xslt.r/xslt-simple.d/input.xsl +153 -0
  1833. data/ext/vendor/ctags/Units/parser-yacc.r/nested.d/args.ctags +5 -0
  1834. data/ext/vendor/ctags/Units/parser-yacc.r/nested.d/expected.tags +23 -0
  1835. data/ext/vendor/ctags/Units/parser-yacc.r/nested.d/input.y +225 -0
  1836. data/ext/vendor/ctags/Units/parser-yacc.r/not-union.d/README +2 -0
  1837. data/ext/vendor/ctags/Units/parser-yacc.r/not-union.d/args.ctags +4 -0
  1838. data/ext/vendor/ctags/Units/parser-yacc.r/not-union.d/expected.tags +16 -0
  1839. data/ext/vendor/ctags/Units/parser-yacc.r/not-union.d/input.y +286 -0
  1840. data/ext/vendor/ctags/Units/parser-yaml.r/yaml-anchor.d/args.ctags +2 -0
  1841. data/ext/vendor/ctags/Units/parser-yaml.r/yaml-anchor.d/expected.tags +2 -0
  1842. data/ext/vendor/ctags/Units/parser-yaml.r/yaml-anchor.d/features +1 -0
  1843. data/ext/vendor/ctags/Units/parser-yaml.r/yaml-anchor.d/input.yml +2 -0
  1844. data/ext/vendor/ctags/Units/readtags.r/backslash-at-the-end-of-pattern.d/expected.tags +2 -0
  1845. data/ext/vendor/ctags/Units/readtags.r/backslash-at-the-end-of-pattern.d/input.c +18 -0
  1846. data/ext/vendor/ctags/Units/regex-flag-long.d/args.ctags +3 -0
  1847. data/ext/vendor/ctags/Units/regex-flag-long.d/expected.tags +4 -0
  1848. data/ext/vendor/ctags/Units/regex-flag-long.d/features +1 -0
  1849. data/ext/vendor/ctags/Units/regex-flag-long.d/input.dummy +11 -0
  1850. data/ext/vendor/ctags/Units/regex-flag-simple.d/args.ctags +4 -0
  1851. data/ext/vendor/ctags/Units/regex-flag-simple.d/expected.tags +5 -0
  1852. data/ext/vendor/ctags/Units/regex-flag-simple.d/features +1 -0
  1853. data/ext/vendor/ctags/Units/regex-flag-simple.d/input.dummy +11 -0
  1854. data/ext/vendor/ctags/Units/regex-with-scope.d/args.ctags +14 -0
  1855. data/ext/vendor/ctags/Units/regex-with-scope.d/expected.tags +21 -0
  1856. data/ext/vendor/ctags/Units/regex-with-scope.d/input.foo +44 -0
  1857. data/ext/vendor/ctags/Units/review-needed.r/3184782.sql.t/expected.tags +5 -0
  1858. data/ext/vendor/ctags/Units/review-needed.r/3184782.sql.t/input.sql +41 -0
  1859. data/ext/vendor/ctags/Units/review-needed.r/3526726.tex.t/expected.tags +139 -0
  1860. data/ext/vendor/ctags/Units/review-needed.r/3526726.tex.t/input.tex +2982 -0
  1861. data/ext/vendor/ctags/Units/review-needed.r/array_ref_and_out.cs.t/expected.tags +5 -0
  1862. data/ext/vendor/ctags/Units/review-needed.r/array_ref_and_out.cs.t/input.cs +33 -0
  1863. data/ext/vendor/ctags/Units/review-needed.r/attributes.cs.t/expected.tags +6 -0
  1864. data/ext/vendor/ctags/Units/review-needed.r/attributes.cs.t/input.cs +22 -0
  1865. data/ext/vendor/ctags/Units/review-needed.r/bug1324663.sql.t/expected.tags +0 -0
  1866. data/ext/vendor/ctags/Units/review-needed.r/bug1324663.sql.t/input.sql +4 -0
  1867. data/ext/vendor/ctags/Units/review-needed.r/bug1428714.sql.t/expected.tags +0 -0
  1868. data/ext/vendor/ctags/Units/review-needed.r/bug1428714.sql.t/input.sql +4 -0
  1869. data/ext/vendor/ctags/Units/review-needed.r/bug1447756.java.t/expected.tags +2 -0
  1870. data/ext/vendor/ctags/Units/review-needed.r/bug1447756.java.t/input.java +9 -0
  1871. data/ext/vendor/ctags/Units/review-needed.r/bug1515910.cs.t/expected.tags +9 -0
  1872. data/ext/vendor/ctags/Units/review-needed.r/bug1515910.cs.t/input.cs +15 -0
  1873. data/ext/vendor/ctags/Units/review-needed.r/bug1570779.sql.t/expected.tags +4 -0
  1874. data/ext/vendor/ctags/Units/review-needed.r/bug1570779.sql.t/input.sql +14 -0
  1875. data/ext/vendor/ctags/Units/review-needed.r/bug1611054.cs.t/expected.tags +3 -0
  1876. data/ext/vendor/ctags/Units/review-needed.r/bug1611054.cs.t/input.cs +8 -0
  1877. data/ext/vendor/ctags/Units/review-needed.r/bug1691412.java.t/expected.tags +4 -0
  1878. data/ext/vendor/ctags/Units/review-needed.r/bug1691412.java.t/input.java +17 -0
  1879. data/ext/vendor/ctags/Units/review-needed.r/bug1777340.java.t/expected.tags +3 -0
  1880. data/ext/vendor/ctags/Units/review-needed.r/bug1777340.java.t/input.java +4 -0
  1881. data/ext/vendor/ctags/Units/review-needed.r/bug1777344.java.t/expected.tags +6 -0
  1882. data/ext/vendor/ctags/Units/review-needed.r/bug1777344.java.t/input.java +7 -0
  1883. data/ext/vendor/ctags/Units/review-needed.r/bug1800065.cs.t/expected.tags +3 -0
  1884. data/ext/vendor/ctags/Units/review-needed.r/bug1800065.cs.t/input.cs +5 -0
  1885. data/ext/vendor/ctags/Units/review-needed.r/bug1830343.cs.t/expected.tags +2 -0
  1886. data/ext/vendor/ctags/Units/review-needed.r/bug1830343.cs.t/input.cs +8 -0
  1887. data/ext/vendor/ctags/Units/review-needed.r/bug1830344.cs.t/expected.tags +2 -0
  1888. data/ext/vendor/ctags/Units/review-needed.r/bug1830344.cs.t/input.cs +10 -0
  1889. data/ext/vendor/ctags/Units/review-needed.r/bug1938565.sql.t/expected.tags +3 -0
  1890. data/ext/vendor/ctags/Units/review-needed.r/bug1938565.sql.t/input.sql +18 -0
  1891. data/ext/vendor/ctags/Units/review-needed.r/bug1944150.sql.t/expected.tags +1 -0
  1892. data/ext/vendor/ctags/Units/review-needed.r/bug1944150.sql.t/input.sql +7 -0
  1893. data/ext/vendor/ctags/Units/review-needed.r/bug2049723.java.t/expected.tags +3 -0
  1894. data/ext/vendor/ctags/Units/review-needed.r/bug2049723.java.t/input.java +6 -0
  1895. data/ext/vendor/ctags/Units/review-needed.r/bug2117073.java.t/expected.tags +3 -0
  1896. data/ext/vendor/ctags/Units/review-needed.r/bug2117073.java.t/input.java +12 -0
  1897. data/ext/vendor/ctags/Units/review-needed.r/bug2374109.vhd.t/expected.tags +1 -0
  1898. data/ext/vendor/ctags/Units/review-needed.r/bug2374109.vhd.t/input.vhd +9 -0
  1899. data/ext/vendor/ctags/Units/review-needed.r/bug2411878.cs.t/expected.tags +2 -0
  1900. data/ext/vendor/ctags/Units/review-needed.r/bug2411878.cs.t/input.cs +3 -0
  1901. data/ext/vendor/ctags/Units/review-needed.r/bug2886870.tex.t/expected.tags +19 -0
  1902. data/ext/vendor/ctags/Units/review-needed.r/bug2886870.tex.t/input.tex +351 -0
  1903. data/ext/vendor/ctags/Units/review-needed.r/bug2961855.sql.t/expected.tags +2 -0
  1904. data/ext/vendor/ctags/Units/review-needed.r/bug2961855.sql.t/input.sql +19 -0
  1905. data/ext/vendor/ctags/Units/review-needed.r/bug612019.pas.t/expected.tags +3 -0
  1906. data/ext/vendor/ctags/Units/review-needed.r/bug612019.pas.t/input.pas +33 -0
  1907. data/ext/vendor/ctags/Units/review-needed.r/bug629115.sql.t/expected.tags +0 -0
  1908. data/ext/vendor/ctags/Units/review-needed.r/bug629115.sql.t/input.sql +5 -0
  1909. data/ext/vendor/ctags/Units/review-needed.r/bug722501.sql.t/expected.tags +1 -0
  1910. data/ext/vendor/ctags/Units/review-needed.r/bug722501.sql.t/input.sql +24 -0
  1911. data/ext/vendor/ctags/Units/review-needed.r/bug814263.java.t/expected.tags +3 -0
  1912. data/ext/vendor/ctags/Units/review-needed.r/bug814263.java.t/input.java +6 -0
  1913. data/ext/vendor/ctags/Units/review-needed.r/bug816636.sml.t/expected.tags +2 -0
  1914. data/ext/vendor/ctags/Units/review-needed.r/bug816636.sml.t/input.sml +26 -0
  1915. data/ext/vendor/ctags/Units/review-needed.r/bug823000.sql.t/expected.tags +3 -0
  1916. data/ext/vendor/ctags/Units/review-needed.r/bug823000.sql.t/input.sql +80 -0
  1917. data/ext/vendor/ctags/Units/review-needed.r/countall.sql.t/expected.tags +8 -0
  1918. data/ext/vendor/ctags/Units/review-needed.r/countall.sql.t/input.sql +43 -0
  1919. data/ext/vendor/ctags/Units/review-needed.r/db-trig.sql.t/expected.tags +2 -0
  1920. data/ext/vendor/ctags/Units/review-needed.r/db-trig.sql.t/input.sql +31 -0
  1921. data/ext/vendor/ctags/Units/review-needed.r/dosbatch_test.cmd.t/expected.tags +8 -0
  1922. data/ext/vendor/ctags/Units/review-needed.r/dosbatch_test.cmd.t/features +1 -0
  1923. data/ext/vendor/ctags/Units/review-needed.r/dosbatch_test.cmd.t/input.cmd +86 -0
  1924. data/ext/vendor/ctags/Units/review-needed.r/enum.java.t/expected.tags +12 -0
  1925. data/ext/vendor/ctags/Units/review-needed.r/enum.java.t/input.java +20 -0
  1926. data/ext/vendor/ctags/Units/review-needed.r/events.cs.t/expected.tags +16 -0
  1927. data/ext/vendor/ctags/Units/review-needed.r/events.cs.t/input.cs +192 -0
  1928. data/ext/vendor/ctags/Units/review-needed.r/flex_override.mxml.t/expected.tags +2 -0
  1929. data/ext/vendor/ctags/Units/review-needed.r/flex_override.mxml.t/input.mxml +20 -0
  1930. data/ext/vendor/ctags/Units/review-needed.r/general.cs.t/expected.tags +14 -0
  1931. data/ext/vendor/ctags/Units/review-needed.r/general.cs.t/input.cs +46 -0
  1932. data/ext/vendor/ctags/Units/review-needed.r/generalized_stack.ads.t/expected.tags +16 -0
  1933. data/ext/vendor/ctags/Units/review-needed.r/generalized_stack.ads.t/input.ads +50 -0
  1934. data/ext/vendor/ctags/Units/review-needed.r/hex2dec.sql.t/expected.tags +2 -0
  1935. data/ext/vendor/ctags/Units/review-needed.r/hex2dec.sql.t/input.sql +50 -0
  1936. data/ext/vendor/ctags/Units/review-needed.r/indexer.cs.t/expected.tags +4 -0
  1937. data/ext/vendor/ctags/Units/review-needed.r/indexer.cs.t/input.cs +37 -0
  1938. data/ext/vendor/ctags/Units/review-needed.r/infinite_loop.java.t/expected.tags +1 -0
  1939. data/ext/vendor/ctags/Units/review-needed.r/infinite_loop.java.t/input.java +2 -0
  1940. data/ext/vendor/ctags/Units/review-needed.r/ingres_procedures.sql.t/expected.tags +6 -0
  1941. data/ext/vendor/ctags/Units/review-needed.r/ingres_procedures.sql.t/input.sql +63 -0
  1942. data/ext/vendor/ctags/Units/review-needed.r/interface_indexers.cs.t/expected.tags +5 -0
  1943. data/ext/vendor/ctags/Units/review-needed.r/interface_indexers.cs.t/input.cs +49 -0
  1944. data/ext/vendor/ctags/Units/review-needed.r/interface_properties.cs.t/expected.tags +12 -0
  1945. data/ext/vendor/ctags/Units/review-needed.r/interface_properties.cs.t/input.cs +64 -0
  1946. data/ext/vendor/ctags/Units/review-needed.r/internal.cs.t/expected.tags +2 -0
  1947. data/ext/vendor/ctags/Units/review-needed.r/internal.cs.t/input.cs +6 -0
  1948. data/ext/vendor/ctags/Units/review-needed.r/intro.tex.t/expected.tags +18 -0
  1949. data/ext/vendor/ctags/Units/review-needed.r/intro.tex.t/input.tex +40 -0
  1950. data/ext/vendor/ctags/Units/review-needed.r/intro_orig.tex.t/expected.tags +18 -0
  1951. data/ext/vendor/ctags/Units/review-needed.r/intro_orig.tex.t/input.tex +346 -0
  1952. data/ext/vendor/ctags/Units/review-needed.r/java_enum.java.t/expected.tags +10 -0
  1953. data/ext/vendor/ctags/Units/review-needed.r/java_enum.java.t/input.java +15 -0
  1954. data/ext/vendor/ctags/Units/review-needed.r/jbrown.vr.t/args.ctags +2 -0
  1955. data/ext/vendor/ctags/Units/review-needed.r/jbrown.vr.t/expected.tags +8 -0
  1956. data/ext/vendor/ctags/Units/review-needed.r/jbrown.vr.t/input.vr +48 -0
  1957. data/ext/vendor/ctags/Units/review-needed.r/keyword_abstract.cs.t/expected.tags +11 -0
  1958. data/ext/vendor/ctags/Units/review-needed.r/keyword_abstract.cs.t/input.cs +51 -0
  1959. data/ext/vendor/ctags/Units/review-needed.r/keyword_catch_try.cs.t/expected.tags +3 -0
  1960. data/ext/vendor/ctags/Units/review-needed.r/keyword_catch_try.cs.t/input.cs +33 -0
  1961. data/ext/vendor/ctags/Units/review-needed.r/keyword_class.cs.t/expected.tags +8 -0
  1962. data/ext/vendor/ctags/Units/review-needed.r/keyword_class.cs.t/input.cs +49 -0
  1963. data/ext/vendor/ctags/Units/review-needed.r/keyword_const.cs.t/expected.tags +8 -0
  1964. data/ext/vendor/ctags/Units/review-needed.r/keyword_const.cs.t/input.cs +26 -0
  1965. data/ext/vendor/ctags/Units/review-needed.r/keyword_delegate.cs.t/expected.tags +11 -0
  1966. data/ext/vendor/ctags/Units/review-needed.r/keyword_delegate.cs.t/input.cs +57 -0
  1967. data/ext/vendor/ctags/Units/review-needed.r/keyword_enum.cs.t/expected.tags +13 -0
  1968. data/ext/vendor/ctags/Units/review-needed.r/keyword_enum.cs.t/input.cs +31 -0
  1969. data/ext/vendor/ctags/Units/review-needed.r/keyword_event.cs.t/expected.tags +35 -0
  1970. data/ext/vendor/ctags/Units/review-needed.r/keyword_event.cs.t/input.cs +180 -0
  1971. data/ext/vendor/ctags/Units/review-needed.r/keyword_explicit.cs.t/expected.tags +6 -0
  1972. data/ext/vendor/ctags/Units/review-needed.r/keyword_explicit.cs.t/input.cs +27 -0
  1973. data/ext/vendor/ctags/Units/review-needed.r/keyword_extern.cs.t/expected.tags +3 -0
  1974. data/ext/vendor/ctags/Units/review-needed.r/keyword_extern.cs.t/input.cs +15 -0
  1975. data/ext/vendor/ctags/Units/review-needed.r/keyword_implicit.cs.t/expected.tags +6 -0
  1976. data/ext/vendor/ctags/Units/review-needed.r/keyword_implicit.cs.t/input.cs +30 -0
  1977. data/ext/vendor/ctags/Units/review-needed.r/keyword_interface.cs.t/expected.tags +12 -0
  1978. data/ext/vendor/ctags/Units/review-needed.r/keyword_interface.cs.t/input.cs +73 -0
  1979. data/ext/vendor/ctags/Units/review-needed.r/keyword_namespace.cs.t/expected.tags +8 -0
  1980. data/ext/vendor/ctags/Units/review-needed.r/keyword_namespace.cs.t/input.cs +31 -0
  1981. data/ext/vendor/ctags/Units/review-needed.r/keyword_out.cs.t/expected.tags +3 -0
  1982. data/ext/vendor/ctags/Units/review-needed.r/keyword_out.cs.t/input.cs +17 -0
  1983. data/ext/vendor/ctags/Units/review-needed.r/keyword_override.cs.t/expected.tags +9 -0
  1984. data/ext/vendor/ctags/Units/review-needed.r/keyword_override.cs.t/input.cs +44 -0
  1985. data/ext/vendor/ctags/Units/review-needed.r/keyword_params.cs.t/expected.tags +4 -0
  1986. data/ext/vendor/ctags/Units/review-needed.r/keyword_params.cs.t/input.cs +28 -0
  1987. data/ext/vendor/ctags/Units/review-needed.r/keyword_private.cs.t/expected.tags +7 -0
  1988. data/ext/vendor/ctags/Units/review-needed.r/keyword_private.cs.t/input.cs +25 -0
  1989. data/ext/vendor/ctags/Units/review-needed.r/keyword_protected.cs.t/expected.tags +5 -0
  1990. data/ext/vendor/ctags/Units/review-needed.r/keyword_protected.cs.t/input.cs +20 -0
  1991. data/ext/vendor/ctags/Units/review-needed.r/keyword_public.cs.t/expected.tags +5 -0
  1992. data/ext/vendor/ctags/Units/review-needed.r/keyword_public.cs.t/input.cs +21 -0
  1993. data/ext/vendor/ctags/Units/review-needed.r/keyword_sealed.cs.t/expected.tags +5 -0
  1994. data/ext/vendor/ctags/Units/review-needed.r/keyword_sealed.cs.t/input.cs +19 -0
  1995. data/ext/vendor/ctags/Units/review-needed.r/keyword_static.cs.t/expected.tags +9 -0
  1996. data/ext/vendor/ctags/Units/review-needed.r/keyword_static.cs.t/input.cs +47 -0
  1997. data/ext/vendor/ctags/Units/review-needed.r/keyword_struct.cs.t/expected.tags +6 -0
  1998. data/ext/vendor/ctags/Units/review-needed.r/keyword_struct.cs.t/input.cs +29 -0
  1999. data/ext/vendor/ctags/Units/review-needed.r/keyword_virtual.cs.t/expected.tags +18 -0
  2000. data/ext/vendor/ctags/Units/review-needed.r/keyword_virtual.cs.t/input.cs +72 -0
  2001. data/ext/vendor/ctags/Units/review-needed.r/keyword_volatile.cs.t/expected.tags +4 -0
  2002. data/ext/vendor/ctags/Units/review-needed.r/keyword_volatile.cs.t/input.cs +14 -0
  2003. data/ext/vendor/ctags/Units/review-needed.r/labels.sql.t/expected.tags +2 -0
  2004. data/ext/vendor/ctags/Units/review-needed.r/labels.sql.t/input.sql +8 -0
  2005. data/ext/vendor/ctags/Units/review-needed.r/matlab_backtracking.m.t/expected.tags +11 -0
  2006. data/ext/vendor/ctags/Units/review-needed.r/matlab_backtracking.m.t/features +1 -0
  2007. data/ext/vendor/ctags/Units/review-needed.r/matlab_backtracking.m.t/input.m +101 -0
  2008. data/ext/vendor/ctags/Units/review-needed.r/matlab_test.m.t/expected.tags +5 -0
  2009. data/ext/vendor/ctags/Units/review-needed.r/matlab_test.m.t/features +1 -0
  2010. data/ext/vendor/ctags/Units/review-needed.r/matlab_test.m.t/input.m +6 -0
  2011. data/ext/vendor/ctags/Units/review-needed.r/maze.erl.t/expected.tags +20 -0
  2012. data/ext/vendor/ctags/Units/review-needed.r/maze.erl.t/input.erl +127 -0
  2013. data/ext/vendor/ctags/Units/review-needed.r/maze.hrl.t/expected.tags +3 -0
  2014. data/ext/vendor/ctags/Units/review-needed.r/maze.hrl.t/input.hrl +42 -0
  2015. data/ext/vendor/ctags/Units/review-needed.r/ocamlAllKinds.ml.t/expected.tags +15 -0
  2016. data/ext/vendor/ctags/Units/review-needed.r/ocamlAllKinds.ml.t/input.ml +33 -0
  2017. data/ext/vendor/ctags/Units/review-needed.r/ocamlCommentInStringAllowed.ml.t/expected.tags +2 -0
  2018. data/ext/vendor/ctags/Units/review-needed.r/ocamlCommentInStringAllowed.ml.t/input.ml +3 -0
  2019. data/ext/vendor/ctags/Units/review-needed.r/ocaml_empty.ml.t/expected.tags +1 -0
  2020. data/ext/vendor/ctags/Units/review-needed.r/ocaml_empty.ml.t/input.ml +0 -0
  2021. data/ext/vendor/ctags/Units/review-needed.r/ocaml_onlystr.ml.t/expected.tags +1 -0
  2022. data/ext/vendor/ctags/Units/review-needed.r/ocaml_onlystr.ml.t/input.ml +2 -0
  2023. data/ext/vendor/ctags/Units/review-needed.r/ocaml_stringTsts.ml.t/expected.tags +2 -0
  2024. data/ext/vendor/ctags/Units/review-needed.r/ocaml_stringTsts.ml.t/input.ml +3 -0
  2025. data/ext/vendor/ctags/Units/review-needed.r/property.cs.t/expected.tags +9 -0
  2026. data/ext/vendor/ctags/Units/review-needed.r/property.cs.t/input.cs +50 -0
  2027. data/ext/vendor/ctags/Units/review-needed.r/random.sql.t/expected.tags +12 -0
  2028. data/ext/vendor/ctags/Units/review-needed.r/random.sql.t/input.sql +100 -0
  2029. data/ext/vendor/ctags/Units/review-needed.r/readlob.sql.t/expected.tags +9 -0
  2030. data/ext/vendor/ctags/Units/review-needed.r/readlob.sql.t/input.sql +39 -0
  2031. data/ext/vendor/ctags/Units/review-needed.r/readlong.sql.t/expected.tags +8 -0
  2032. data/ext/vendor/ctags/Units/review-needed.r/readlong.sql.t/input.sql +41 -0
  2033. data/ext/vendor/ctags/Units/review-needed.r/refcurs.sql.t/expected.tags +7 -0
  2034. data/ext/vendor/ctags/Units/review-needed.r/refcurs.sql.t/input.sql +75 -0
  2035. data/ext/vendor/ctags/Units/review-needed.r/simple.asp.t/expected.tags +7 -0
  2036. data/ext/vendor/ctags/Units/review-needed.r/simple.asp.t/input.asp +14 -0
  2037. data/ext/vendor/ctags/Units/review-needed.r/simple.bas.t/expected.tags +7 -0
  2038. data/ext/vendor/ctags/Units/review-needed.r/simple.bas.t/input.bas +22 -0
  2039. data/ext/vendor/ctags/Units/review-needed.r/simple.bb.t/expected.tags +6 -0
  2040. data/ext/vendor/ctags/Units/review-needed.r/simple.bb.t/input.bb +20 -0
  2041. data/ext/vendor/ctags/Units/review-needed.r/simple.cbl.t/expected.tags +18 -0
  2042. data/ext/vendor/ctags/Units/review-needed.r/simple.cbl.t/features +1 -0
  2043. data/ext/vendor/ctags/Units/review-needed.r/simple.cbl.t/input.cbl +30 -0
  2044. data/ext/vendor/ctags/Units/review-needed.r/simple.fal.t/expected.tags +3 -0
  2045. data/ext/vendor/ctags/Units/review-needed.r/simple.fal.t/input.fal +36 -0
  2046. data/ext/vendor/ctags/Units/review-needed.r/simple.js.t/expected.tags +24 -0
  2047. data/ext/vendor/ctags/Units/review-needed.r/simple.js.t/input.js +101 -0
  2048. data/ext/vendor/ctags/Units/review-needed.r/simple.mak.t/expected.tags +13 -0
  2049. data/ext/vendor/ctags/Units/review-needed.r/simple.mak.t/input.mak +19 -0
  2050. data/ext/vendor/ctags/Units/review-needed.r/simple.pb.t/expected.tags +5 -0
  2051. data/ext/vendor/ctags/Units/review-needed.r/simple.pb.t/input.pb +18 -0
  2052. data/ext/vendor/ctags/Units/review-needed.r/simple.sml.t/expected.tags +31 -0
  2053. data/ext/vendor/ctags/Units/review-needed.r/simple.sml.t/input.sml +86 -0
  2054. data/ext/vendor/ctags/Units/review-needed.r/simple.vr.t/args.ctags +2 -0
  2055. data/ext/vendor/ctags/Units/review-needed.r/simple.vr.t/expected.tags +24 -0
  2056. data/ext/vendor/ctags/Units/review-needed.r/simple.vr.t/input.vr +104 -0
  2057. data/ext/vendor/ctags/Units/review-needed.r/sql_single_quote.sql.t/expected.tags +3 -0
  2058. data/ext/vendor/ctags/Units/review-needed.r/sql_single_quote.sql.t/input.sql +18 -0
  2059. data/ext/vendor/ctags/Units/review-needed.r/test.vhd.t/expected.tags +205 -0
  2060. data/ext/vendor/ctags/Units/review-needed.r/test.vhd.t/input.vhd +8174 -0
  2061. data/ext/vendor/ctags/Units/review-needed.r/unicode8.java.t/expected.tags +1 -0
  2062. data/ext/vendor/ctags/Units/review-needed.r/unicode8.java.t/input.java +4 -0
  2063. data/ext/vendor/ctags/Units/simple-clojure.d/expected.tags +5 -0
  2064. data/ext/vendor/ctags/Units/simple-clojure.d/input.clj +12 -0
  2065. data/ext/vendor/ctags/Units/simple-ctags.d/expected.tags +4 -0
  2066. data/ext/vendor/ctags/Units/simple-ctags.d/features +1 -0
  2067. data/ext/vendor/ctags/Units/simple-ctags.d/input.ctags +8 -0
  2068. data/ext/vendor/ctags/Units/simple-dbusinspect.d/expected.tags +4 -0
  2069. data/ext/vendor/ctags/Units/simple-dbusinspect.d/features +1 -0
  2070. data/ext/vendor/ctags/Units/simple-dbusinspect.d/input.xml +54 -0
  2071. data/ext/vendor/ctags/Units/simple-diff.d/expected.tags +8 -0
  2072. data/ext/vendor/ctags/Units/simple-diff.d/input.diff +170 -0
  2073. data/ext/vendor/ctags/Units/simple-etags.d/expected.tags-e +4 -0
  2074. data/ext/vendor/ctags/Units/simple-etags.d/input.c +2 -0
  2075. data/ext/vendor/ctags/Units/simple-gdbinit.d/args.ctags +3 -0
  2076. data/ext/vendor/ctags/Units/simple-gdbinit.d/expected.tags +4 -0
  2077. data/ext/vendor/ctags/Units/simple-gdbinit.d/input.gdb +20 -0
  2078. data/ext/vendor/ctags/Units/simple-glade.d/args.ctags +5 -0
  2079. data/ext/vendor/ctags/Units/simple-glade.d/expected.tags +7 -0
  2080. data/ext/vendor/ctags/Units/simple-glade.d/features +1 -0
  2081. data/ext/vendor/ctags/Units/simple-glade.d/input.glade +35 -0
  2082. data/ext/vendor/ctags/Units/simple-javaproperties.d/expected.tags +11 -0
  2083. data/ext/vendor/ctags/Units/simple-javaproperties.d/input.properties +25 -0
  2084. data/ext/vendor/ctags/Units/simple-json.d/expected.tags +19 -0
  2085. data/ext/vendor/ctags/Units/simple-json.d/input.json +25 -0
  2086. data/ext/vendor/ctags/Units/simple-maven2.d/args.ctags +3 -0
  2087. data/ext/vendor/ctags/Units/simple-maven2.d/expected.tags +10 -0
  2088. data/ext/vendor/ctags/Units/simple-maven2.d/features +1 -0
  2089. data/ext/vendor/ctags/Units/simple-maven2.d/input.xml +50 -0
  2090. data/ext/vendor/ctags/Units/simple-plist.d/args.ctags +2 -0
  2091. data/ext/vendor/ctags/Units/simple-plist.d/expected.tags +7 -0
  2092. data/ext/vendor/ctags/Units/simple-plist.d/features +1 -0
  2093. data/ext/vendor/ctags/Units/simple-plist.d/input.plist +28 -0
  2094. data/ext/vendor/ctags/Units/simple-pod.d/args.ctags +1 -0
  2095. data/ext/vendor/ctags/Units/simple-pod.d/expected.tags +13 -0
  2096. data/ext/vendor/ctags/Units/simple-pod.d/input.pod +31 -0
  2097. data/ext/vendor/ctags/Units/simple-protobuf.d/args.ctags +2 -0
  2098. data/ext/vendor/ctags/Units/simple-protobuf.d/expected.tags +17 -0
  2099. data/ext/vendor/ctags/Units/simple-protobuf.d/input.proto +69 -0
  2100. data/ext/vendor/ctags/Units/simple-pythonLoggingConfig.d/args.ctags +1 -0
  2101. data/ext/vendor/ctags/Units/simple-pythonLoggingConfig.d/expected.tags +26 -0
  2102. data/ext/vendor/ctags/Units/simple-pythonLoggingConfig.d/input.conf +33 -0
  2103. data/ext/vendor/ctags/Units/simple-rpmspec.d/args.ctags +3 -0
  2104. data/ext/vendor/ctags/Units/simple-rpmspec.d/expected.tags +17 -0
  2105. data/ext/vendor/ctags/Units/simple-rpmspec.d/input.spec +59 -0
  2106. data/ext/vendor/ctags/Units/simple-svg.d/args.ctags +1 -0
  2107. data/ext/vendor/ctags/Units/simple-svg.d/expected.tags +4 -0
  2108. data/ext/vendor/ctags/Units/simple-svg.d/features +1 -0
  2109. data/ext/vendor/ctags/Units/simple-svg.d/input.svg +36 -0
  2110. data/ext/vendor/ctags/Units/simple-systemdunit.d/args.ctags +2 -0
  2111. data/ext/vendor/ctags/Units/simple-systemdunit.d/expected.tags +12 -0
  2112. data/ext/vendor/ctags/Units/simple-systemdunit.d/input.service +11 -0
  2113. data/ext/vendor/ctags/Units/simple-windres.d/expected.tags +12 -0
  2114. data/ext/vendor/ctags/Units/simple-windres.d/input.rc +150 -0
  2115. data/ext/vendor/ctags/Units/simple-xref.d/expected.tags-x +2 -0
  2116. data/ext/vendor/ctags/Units/simple-xref.d/input.c +2 -0
  2117. data/ext/vendor/ctags/Units/simple-yumrepo.d/args.ctags +3 -0
  2118. data/ext/vendor/ctags/Units/simple-yumrepo.d/expected.tags +3 -0
  2119. data/ext/vendor/ctags/Units/simple-yumrepo.d/input.repo +32 -0
  2120. data/ext/vendor/ctags/Units/vera-interface.d/expected.tags +10 -0
  2121. data/ext/vendor/ctags/Units/vera-interface.d/input.vr +14 -0
  2122. data/ext/vendor/ctags/Units/xformat-option.r/format-CfSt.d/args.ctags +1 -0
  2123. data/ext/vendor/ctags/Units/xformat-option.r/format-CfSt.d/expected.tags-x +6 -0
  2124. data/ext/vendor/ctags/Units/xformat-option.r/format-CfSt.d/input.c +13 -0
  2125. data/ext/vendor/ctags/Units/xformat-option.r/format-NlKkFnP.d/args.ctags +4 -0
  2126. data/ext/vendor/ctags/Units/xformat-option.r/format-NlKkFnP.d/expected.tags-x +12 -0
  2127. data/ext/vendor/ctags/Units/xformat-option.r/format-NlKkFnP.d/filter +2 -0
  2128. data/ext/vendor/ctags/Units/xformat-option.r/format-NlKkFnP.d/input.m +37 -0
  2129. data/ext/vendor/ctags/Units/xformat-option.r/format-aim.d/args.ctags +1 -0
  2130. data/ext/vendor/ctags/Units/xformat-option.r/format-aim.d/expected.tags-x +4 -0
  2131. data/ext/vendor/ctags/Units/xformat-option.r/format-aim.d/input.java +14 -0
  2132. data/ext/vendor/ctags/Units/zephir-return-hint.d/args.ctags +1 -0
  2133. data/ext/vendor/ctags/Units/zephir-return-hint.d/expected.tags +4 -0
  2134. data/ext/vendor/ctags/Units/zephir-return-hint.d/input.zep +14 -0
  2135. data/ext/vendor/ctags/Units/zephir-simple.d/args.ctags +1 -0
  2136. data/ext/vendor/ctags/Units/zephir-simple.d/expected.tags +4 -0
  2137. data/ext/vendor/ctags/Units/zephir-simple.d/input.zep +19 -0
  2138. data/ext/vendor/ctags/appveyor.yml +30 -0
  2139. data/ext/vendor/ctags/autogen.sh +20 -0
  2140. data/ext/vendor/ctags/configure.ac +685 -0
  2141. data/ext/vendor/ctags/ctags.spec +40 -0
  2142. data/ext/vendor/ctags/docs/README.md +3 -0
  2143. data/ext/vendor/ctags/docs/autotools.rst +37 -0
  2144. data/ext/vendor/ctags/docs/building.rst +10 -0
  2145. data/ext/vendor/ctags/docs/chop.rst +21 -0
  2146. data/ext/vendor/ctags/docs/conf.py +273 -0
  2147. data/ext/vendor/ctags/docs/contributions.rst +353 -0
  2148. data/ext/vendor/ctags/docs/developers.rst +72 -0
  2149. data/ext/vendor/ctags/docs/extending.rst +27 -0
  2150. data/ext/vendor/ctags/docs/format.rst +474 -0
  2151. data/ext/vendor/ctags/docs/guessing.rst +111 -0
  2152. data/ext/vendor/ctags/docs/index.rst +46 -0
  2153. data/ext/vendor/ctags/docs/input-text-stream.svg +498 -0
  2154. data/ext/vendor/ctags/docs/internal.rst +398 -0
  2155. data/ext/vendor/ctags/docs/news.rst +1362 -0
  2156. data/ext/vendor/ctags/docs/noise.rst +21 -0
  2157. data/ext/vendor/ctags/docs/optlib.rst +615 -0
  2158. data/ext/vendor/ctags/docs/osx.rst +62 -0
  2159. data/ext/vendor/ctags/docs/other-projects.rst +97 -0
  2160. data/ext/vendor/ctags/docs/output-format.rst +19 -0
  2161. data/ext/vendor/ctags/docs/output-json.rst +48 -0
  2162. data/ext/vendor/ctags/docs/output-tag-stream.svg +693 -0
  2163. data/ext/vendor/ctags/docs/parser-asm.rst +26 -0
  2164. data/ext/vendor/ctags/docs/parser-cxx.rst +127 -0
  2165. data/ext/vendor/ctags/docs/parser-html.rst +31 -0
  2166. data/ext/vendor/ctags/docs/parser-python.rst +40 -0
  2167. data/ext/vendor/ctags/docs/parser-vim.rst +20 -0
  2168. data/ext/vendor/ctags/docs/parser-xslt.rst +22 -0
  2169. data/ext/vendor/ctags/docs/parsers.rst +20 -0
  2170. data/ext/vendor/ctags/docs/semifuzz.rst +55 -0
  2171. data/ext/vendor/ctags/docs/testing.rst +22 -0
  2172. data/ext/vendor/ctags/docs/tinst.rst +12 -0
  2173. data/ext/vendor/ctags/docs/tips.rst +58 -0
  2174. data/ext/vendor/ctags/docs/tmain.rst +74 -0
  2175. data/ext/vendor/ctags/docs/tracking.rst +460 -0
  2176. data/ext/vendor/ctags/docs/units.rst +303 -0
  2177. data/ext/vendor/ctags/docs/windows.rst +145 -0
  2178. data/ext/vendor/ctags/docs/xcmd.rst +265 -0
  2179. data/ext/vendor/ctags/dsl/es-lang-c-stdc99.c +2722 -0
  2180. data/ext/vendor/ctags/dsl/es-lang-c-stdc99.h +203 -0
  2181. data/ext/vendor/ctags/dsl/qualifier.c +716 -0
  2182. data/ext/vendor/ctags/dsl/qualifier.h +36 -0
  2183. data/ext/vendor/ctags/fnmatch/fnmatch.c +190 -0
  2184. data/ext/vendor/ctags/fnmatch/fnmatch.h +40 -0
  2185. data/ext/vendor/{exuberant-ctags → ctags}/gnu_regex/README.txt +0 -0
  2186. data/ext/vendor/ctags/gnu_regex/regcomp.c +3818 -0
  2187. data/ext/vendor/ctags/gnu_regex/regex.c +74 -0
  2188. data/ext/vendor/{exuberant-ctags → ctags}/gnu_regex/regex.h +0 -0
  2189. data/ext/vendor/ctags/gnu_regex/regex_internal.c +1713 -0
  2190. data/ext/vendor/{exuberant-ctags → ctags}/gnu_regex/regex_internal.h +0 -0
  2191. data/ext/vendor/ctags/gnu_regex/regexec.c +4338 -0
  2192. data/ext/vendor/ctags/libexec/drivers/coffeetags +57 -0
  2193. data/ext/vendor/ctags/main/args.c +288 -0
  2194. data/ext/vendor/ctags/main/args.h +57 -0
  2195. data/ext/vendor/ctags/main/ctags.h +34 -0
  2196. data/ext/vendor/ctags/main/debug.c +128 -0
  2197. data/ext/vendor/ctags/main/debug.h +82 -0
  2198. data/ext/vendor/ctags/main/dependency.c +102 -0
  2199. data/ext/vendor/ctags/main/dependency.h +45 -0
  2200. data/ext/vendor/ctags/main/e_msoft.h +71 -0
  2201. data/ext/vendor/ctags/main/entry.c +1387 -0
  2202. data/ext/vendor/ctags/main/entry.h +174 -0
  2203. data/ext/vendor/ctags/main/error.c +88 -0
  2204. data/ext/vendor/ctags/main/error.h +26 -0
  2205. data/ext/vendor/ctags/main/field.c +926 -0
  2206. data/ext/vendor/ctags/main/field.h +112 -0
  2207. data/ext/vendor/ctags/main/flags.c +107 -0
  2208. data/ext/vendor/ctags/main/flags.h +29 -0
  2209. data/ext/vendor/ctags/main/fmt.c +356 -0
  2210. data/ext/vendor/ctags/main/fmt.h +25 -0
  2211. data/ext/vendor/ctags/main/gcc-attr.h +30 -0
  2212. data/ext/vendor/ctags/main/general.h +73 -0
  2213. data/ext/vendor/ctags/main/htable.c +271 -0
  2214. data/ext/vendor/ctags/main/htable.h +47 -0
  2215. data/ext/vendor/ctags/main/interactive.h +18 -0
  2216. data/ext/vendor/ctags/main/keyword.c +242 -0
  2217. data/ext/vendor/ctags/main/keyword.h +33 -0
  2218. data/ext/vendor/ctags/main/kind.c +158 -0
  2219. data/ext/vendor/ctags/main/kind.h +94 -0
  2220. data/ext/vendor/ctags/main/lregex.c +1098 -0
  2221. data/ext/vendor/ctags/main/lxcmd.c +1231 -0
  2222. data/ext/vendor/ctags/main/lxpath.c +217 -0
  2223. data/ext/vendor/ctags/main/main.c +657 -0
  2224. data/ext/vendor/ctags/main/main.h +26 -0
  2225. data/ext/vendor/ctags/main/mbcs.c +112 -0
  2226. data/ext/vendor/ctags/main/mbcs.h +22 -0
  2227. data/ext/vendor/ctags/main/mio.c +1383 -0
  2228. data/ext/vendor/ctags/main/mio.h +162 -0
  2229. data/ext/vendor/ctags/main/nestlevel.c +109 -0
  2230. data/ext/vendor/ctags/main/nestlevel.h +53 -0
  2231. data/ext/vendor/ctags/main/objpool.c +79 -0
  2232. data/ext/vendor/ctags/main/objpool.h +39 -0
  2233. data/ext/vendor/ctags/main/options.c +3371 -0
  2234. data/ext/vendor/ctags/main/options.h +184 -0
  2235. data/ext/vendor/ctags/main/param.c +55 -0
  2236. data/ext/vendor/ctags/main/param.h +35 -0
  2237. data/ext/vendor/ctags/main/parse.c +2805 -0
  2238. data/ext/vendor/ctags/main/parse.h +323 -0
  2239. data/ext/vendor/ctags/main/parsers.h +118 -0
  2240. data/ext/vendor/ctags/main/pcoproc.c +296 -0
  2241. data/ext/vendor/ctags/main/pcoproc.h +29 -0
  2242. data/ext/vendor/ctags/main/promise.c +102 -0
  2243. data/ext/vendor/ctags/main/promise.h +27 -0
  2244. data/ext/vendor/ctags/main/ptag.c +234 -0
  2245. data/ext/vendor/ctags/main/ptag.h +63 -0
  2246. data/ext/vendor/ctags/main/ptrarray.c +152 -0
  2247. data/ext/vendor/ctags/main/ptrarray.h +46 -0
  2248. data/ext/vendor/ctags/main/read.c +1074 -0
  2249. data/ext/vendor/ctags/main/read.h +119 -0
  2250. data/ext/vendor/ctags/main/repoinfo.c +12 -0
  2251. data/ext/vendor/ctags/main/routines.c +887 -0
  2252. data/ext/vendor/ctags/main/routines.h +146 -0
  2253. data/ext/vendor/ctags/main/selectors.c +382 -0
  2254. data/ext/vendor/ctags/main/selectors.h +35 -0
  2255. data/ext/vendor/ctags/main/sort.c +243 -0
  2256. data/ext/vendor/ctags/main/sort.h +37 -0
  2257. data/ext/vendor/ctags/main/strlist.c +253 -0
  2258. data/ext/vendor/ctags/main/strlist.h +54 -0
  2259. data/ext/vendor/ctags/main/types.h +29 -0
  2260. data/ext/vendor/ctags/main/vstring.c +354 -0
  2261. data/ext/vendor/ctags/main/vstring.h +100 -0
  2262. data/ext/vendor/ctags/main/writer-ctags.c +225 -0
  2263. data/ext/vendor/ctags/main/writer-etags.c +107 -0
  2264. data/ext/vendor/ctags/main/writer-json.c +197 -0
  2265. data/ext/vendor/ctags/main/writer-xref.c +60 -0
  2266. data/ext/vendor/ctags/main/writer.c +73 -0
  2267. data/ext/vendor/ctags/main/writer.h +68 -0
  2268. data/ext/vendor/ctags/main/xtag.c +155 -0
  2269. data/ext/vendor/ctags/main/xtag.h +55 -0
  2270. data/ext/vendor/ctags/makefiles/help.mak +22 -0
  2271. data/ext/vendor/ctags/makefiles/list-translator-input.mak +4 -0
  2272. data/ext/vendor/ctags/makefiles/testing.mak +163 -0
  2273. data/ext/vendor/ctags/makefiles/translator_input.mak +8 -0
  2274. data/ext/vendor/ctags/man/ctags.1.rst.in +1095 -0
  2275. data/ext/vendor/ctags/misc/badinput.c +319 -0
  2276. data/ext/vendor/ctags/misc/budge +91 -0
  2277. data/ext/vendor/ctags/misc/budge.ctags +3 -0
  2278. data/ext/vendor/ctags/misc/dist-test-cases +12 -0
  2279. data/ext/vendor/ctags/misc/gen-repoinfo +4 -0
  2280. data/ext/vendor/ctags/misc/gencxxtypedumper.sh +43 -0
  2281. data/ext/vendor/ctags/misc/optlib2c +492 -0
  2282. data/ext/vendor/ctags/misc/review +317 -0
  2283. data/ext/vendor/ctags/misc/roundtrip +55 -0
  2284. data/ext/vendor/ctags/misc/src-check +133 -0
  2285. data/ext/vendor/ctags/misc/tinst +166 -0
  2286. data/ext/vendor/ctags/misc/travis-check.sh +35 -0
  2287. data/ext/vendor/ctags/misc/units +2265 -0
  2288. data/ext/vendor/ctags/mk_mingw.mak +75 -0
  2289. data/ext/vendor/ctags/mk_mvc.mak +64 -0
  2290. data/ext/vendor/ctags/old-docs/EXTENDING.html +389 -0
  2291. data/ext/vendor/ctags/old-docs/FAQ +371 -0
  2292. data/ext/vendor/{exuberant-ctags → ctags/old-docs}/INSTALL +0 -0
  2293. data/ext/vendor/ctags/old-docs/INSTALL.oth +10 -0
  2294. data/ext/vendor/ctags/old-docs/MAINTAINERS +74 -0
  2295. data/ext/vendor/ctags/old-docs/NEWS.exuberant +886 -0
  2296. data/ext/vendor/ctags/old-docs/README.exuberant +74 -0
  2297. data/ext/vendor/ctags/old-docs/index.html +225 -0
  2298. data/ext/vendor/ctags/old-docs/website/.cvsignore +4 -0
  2299. data/ext/vendor/ctags/old-docs/website/FORMAT +346 -0
  2300. data/ext/vendor/ctags/old-docs/website/countries.html +66 -0
  2301. data/ext/vendor/ctags/old-docs/website/ctags.png +0 -0
  2302. data/ext/vendor/ctags/old-docs/website/ctags.xcf +0 -0
  2303. data/ext/vendor/ctags/old-docs/website/desire.html +73 -0
  2304. data/ext/vendor/ctags/old-docs/website/faq.html +566 -0
  2305. data/ext/vendor/ctags/old-docs/website/gpl.html +399 -0
  2306. data/ext/vendor/ctags/old-docs/website/languages.html +59 -0
  2307. data/ext/vendor/ctags/old-docs/website/lg18-wkndmech.html +46 -0
  2308. data/ext/vendor/ctags/old-docs/website/quotes.html +884 -0
  2309. data/ext/vendor/ctags/old-docs/website/tool_support.html +43 -0
  2310. data/ext/vendor/ctags/old-docs/website/tools.html +75 -0
  2311. data/ext/vendor/ctags/old-docs/website/whatis.html +30 -0
  2312. data/ext/vendor/ctags/optlib/CoffeeScript.c +40 -0
  2313. data/ext/vendor/ctags/optlib/CoffeeScript.ctags +26 -0
  2314. data/ext/vendor/ctags/optlib/ctags-optlib.c +48 -0
  2315. data/ext/vendor/ctags/optlib/ctags-optlib.ctags +27 -0
  2316. data/ext/vendor/ctags/optlib/gdbinit.c +57 -0
  2317. data/ext/vendor/ctags/optlib/gdbinit.ctags +54 -0
  2318. data/ext/vendor/ctags/optlib/man.c +60 -0
  2319. data/ext/vendor/ctags/optlib/man.ctags +38 -0
  2320. data/ext/vendor/ctags/optlib/pod.c +52 -0
  2321. data/ext/vendor/ctags/optlib/pod.ctags +30 -0
  2322. data/ext/vendor/ctags/parsers/ada.c +2231 -0
  2323. data/ext/vendor/ctags/parsers/ansibleplaybook.c +241 -0
  2324. data/ext/vendor/ctags/parsers/ant.c +245 -0
  2325. data/ext/vendor/ctags/parsers/asm.c +381 -0
  2326. data/ext/vendor/ctags/parsers/asp.c +313 -0
  2327. data/ext/vendor/ctags/parsers/autoconf.c +222 -0
  2328. data/ext/vendor/ctags/parsers/automake.c +320 -0
  2329. data/ext/vendor/ctags/parsers/awk.c +79 -0
  2330. data/ext/vendor/ctags/parsers/basic.c +198 -0
  2331. data/ext/vendor/ctags/parsers/beta.c +313 -0
  2332. data/ext/vendor/ctags/parsers/c.c +3651 -0
  2333. data/ext/vendor/ctags/parsers/clojure.c +149 -0
  2334. data/ext/vendor/ctags/parsers/cobol.c +49 -0
  2335. data/ext/vendor/ctags/parsers/cpreprocessor.c +1707 -0
  2336. data/ext/vendor/ctags/parsers/css.c +265 -0
  2337. data/ext/vendor/ctags/parsers/cxx/cxx.c +137 -0
  2338. data/ext/vendor/ctags/parsers/cxx/cxx_debug.c +76 -0
  2339. data/ext/vendor/ctags/parsers/cxx/cxx_debug.h +81 -0
  2340. data/ext/vendor/ctags/parsers/cxx/cxx_debug_type.c +44 -0
  2341. data/ext/vendor/ctags/parsers/cxx/cxx_keyword.c +188 -0
  2342. data/ext/vendor/ctags/parsers/cxx/cxx_keyword.h +127 -0
  2343. data/ext/vendor/ctags/parsers/cxx/cxx_parser.c +1528 -0
  2344. data/ext/vendor/ctags/parsers/cxx/cxx_parser.h +23 -0
  2345. data/ext/vendor/ctags/parsers/cxx/cxx_parser_block.c +584 -0
  2346. data/ext/vendor/ctags/parsers/cxx/cxx_parser_function.c +1949 -0
  2347. data/ext/vendor/ctags/parsers/cxx/cxx_parser_internal.h +318 -0
  2348. data/ext/vendor/ctags/parsers/cxx/cxx_parser_lambda.c +261 -0
  2349. data/ext/vendor/ctags/parsers/cxx/cxx_parser_namespace.c +306 -0
  2350. data/ext/vendor/ctags/parsers/cxx/cxx_parser_template.c +300 -0
  2351. data/ext/vendor/ctags/parsers/cxx/cxx_parser_tokenizer.c +1465 -0
  2352. data/ext/vendor/ctags/parsers/cxx/cxx_parser_typedef.c +368 -0
  2353. data/ext/vendor/ctags/parsers/cxx/cxx_parser_using.c +158 -0
  2354. data/ext/vendor/ctags/parsers/cxx/cxx_parser_variable.c +682 -0
  2355. data/ext/vendor/ctags/parsers/cxx/cxx_scope.c +257 -0
  2356. data/ext/vendor/ctags/parsers/cxx/cxx_scope.h +78 -0
  2357. data/ext/vendor/ctags/parsers/cxx/cxx_tag.c +556 -0
  2358. data/ext/vendor/ctags/parsers/cxx/cxx_tag.h +183 -0
  2359. data/ext/vendor/ctags/parsers/cxx/cxx_token.c +154 -0
  2360. data/ext/vendor/ctags/parsers/cxx/cxx_token.h +115 -0
  2361. data/ext/vendor/ctags/parsers/cxx/cxx_token_chain.c +1105 -0
  2362. data/ext/vendor/ctags/parsers/cxx/cxx_token_chain.h +276 -0
  2363. data/ext/vendor/ctags/parsers/dbusintrospect.c +157 -0
  2364. data/ext/vendor/ctags/parsers/diff.c +213 -0
  2365. data/ext/vendor/ctags/parsers/dosbatch.c +44 -0
  2366. data/ext/vendor/ctags/parsers/dts.c +59 -0
  2367. data/ext/vendor/ctags/parsers/eiffel.c +1121 -0
  2368. data/ext/vendor/ctags/parsers/erlang.c +189 -0
  2369. data/ext/vendor/ctags/parsers/falcon.c +145 -0
  2370. data/ext/vendor/ctags/parsers/flex.c +2394 -0
  2371. data/ext/vendor/ctags/parsers/fortran.c +2575 -0
  2372. data/ext/vendor/ctags/parsers/glade.c +92 -0
  2373. data/ext/vendor/ctags/parsers/go.c +810 -0
  2374. data/ext/vendor/ctags/parsers/html.c +408 -0
  2375. data/ext/vendor/ctags/parsers/iniconf.c +278 -0
  2376. data/ext/vendor/ctags/parsers/jprop.c +128 -0
  2377. data/ext/vendor/ctags/parsers/jscript.c +2040 -0
  2378. data/ext/vendor/ctags/parsers/json.c +392 -0
  2379. data/ext/vendor/ctags/parsers/lisp.c +140 -0
  2380. data/ext/vendor/ctags/parsers/lua.c +172 -0
  2381. data/ext/vendor/ctags/parsers/m4.c +651 -0
  2382. data/ext/vendor/ctags/parsers/make.c +368 -0
  2383. data/ext/vendor/ctags/parsers/matlab.c +50 -0
  2384. data/ext/vendor/ctags/parsers/maven2.c +267 -0
  2385. data/ext/vendor/ctags/parsers/meta-cpreprocessor.h +109 -0
  2386. data/ext/vendor/ctags/parsers/meta-iniconf.h +48 -0
  2387. data/ext/vendor/ctags/parsers/meta-m4.h +56 -0
  2388. data/ext/vendor/ctags/parsers/meta-make.h +30 -0
  2389. data/ext/vendor/ctags/parsers/meta-yaml.h +37 -0
  2390. data/ext/vendor/ctags/parsers/myrddin.c +51 -0
  2391. data/ext/vendor/ctags/parsers/objc.c +1130 -0
  2392. data/ext/vendor/ctags/parsers/ocaml.c +1892 -0
  2393. data/ext/vendor/ctags/parsers/pascal.c +261 -0
  2394. data/ext/vendor/ctags/parsers/perl.c +556 -0
  2395. data/ext/vendor/ctags/parsers/perl6.c +338 -0
  2396. data/ext/vendor/ctags/parsers/php.c +1724 -0
  2397. data/ext/vendor/ctags/parsers/plist.c +172 -0
  2398. data/ext/vendor/ctags/parsers/protobuf.c +274 -0
  2399. data/ext/vendor/ctags/parsers/python.c +1321 -0
  2400. data/ext/vendor/ctags/parsers/pythonloggingconfig.c +129 -0
  2401. data/ext/vendor/ctags/parsers/r.c +214 -0
  2402. data/ext/vendor/ctags/parsers/relaxng.c +239 -0
  2403. data/ext/vendor/ctags/parsers/rexx.c +40 -0
  2404. data/ext/vendor/ctags/parsers/rpmspec.c +198 -0
  2405. data/ext/vendor/ctags/parsers/rst.c +278 -0
  2406. data/ext/vendor/ctags/parsers/ruby.c +564 -0
  2407. data/ext/vendor/ctags/parsers/rust.c +982 -0
  2408. data/ext/vendor/ctags/parsers/scheme.c +126 -0
  2409. data/ext/vendor/ctags/parsers/sh.c +302 -0
  2410. data/ext/vendor/ctags/parsers/slang.c +39 -0
  2411. data/ext/vendor/ctags/parsers/sml.c +216 -0
  2412. data/ext/vendor/ctags/parsers/sql.c +2401 -0
  2413. data/ext/vendor/ctags/parsers/svg.c +66 -0
  2414. data/ext/vendor/ctags/parsers/systemdunit.c +130 -0
  2415. data/ext/vendor/ctags/parsers/tcl.c +112 -0
  2416. data/ext/vendor/ctags/parsers/tex.c +588 -0
  2417. data/ext/vendor/ctags/parsers/ttcn.c +984 -0
  2418. data/ext/vendor/ctags/parsers/verilog.c +1177 -0
  2419. data/ext/vendor/ctags/parsers/vhdl.c +815 -0
  2420. data/ext/vendor/ctags/parsers/vim.c +728 -0
  2421. data/ext/vendor/ctags/parsers/windres.c +233 -0
  2422. data/ext/vendor/ctags/parsers/xslt.c +339 -0
  2423. data/ext/vendor/ctags/parsers/yacc.c +172 -0
  2424. data/ext/vendor/ctags/parsers/yaml.c +212 -0
  2425. data/ext/vendor/ctags/parsers/yumrepo.c +66 -0
  2426. data/ext/vendor/ctags/read/readtags-cmd.c +274 -0
  2427. data/ext/vendor/ctags/read/readtags.c +802 -0
  2428. data/ext/vendor/ctags/read/readtags.h +248 -0
  2429. data/ext/vendor/ctags/source.mak +269 -0
  2430. data/ext/vendor/ctags/win32/appveyor.bat +187 -0
  2431. data/ext/vendor/ctags/win32/ctags_vs2013.sln +20 -0
  2432. data/ext/vendor/ctags/win32/ctags_vs2013.vcxproj +280 -0
  2433. data/ext/vendor/ctags/win32/ctags_vs2013.vcxproj.filters +555 -0
  2434. data/ext/vendor/jansson-2.9/CHANGES +796 -0
  2435. data/ext/vendor/jansson-2.9/CMakeLists.txt +684 -0
  2436. data/ext/vendor/jansson-2.9/LICENSE +19 -0
  2437. data/ext/vendor/jansson-2.9/Makefile.am +10 -0
  2438. data/ext/vendor/jansson-2.9/Makefile.in +873 -0
  2439. data/ext/vendor/jansson-2.9/README.rst +68 -0
  2440. data/ext/vendor/jansson-2.9/aclocal.m4 +10314 -0
  2441. data/ext/vendor/jansson-2.9/android/jansson_config.h +43 -0
  2442. data/ext/vendor/jansson-2.9/cmake/CheckFunctionKeywords.cmake +15 -0
  2443. data/ext/vendor/jansson-2.9/cmake/CodeCoverage.cmake +163 -0
  2444. data/ext/vendor/jansson-2.9/cmake/Coveralls.cmake +111 -0
  2445. data/ext/vendor/jansson-2.9/cmake/CoverallsClear.cmake +24 -0
  2446. data/ext/vendor/jansson-2.9/cmake/CoverallsGenerateGcov.cmake +380 -0
  2447. data/ext/vendor/jansson-2.9/cmake/FindSphinx.cmake +301 -0
  2448. data/ext/vendor/jansson-2.9/cmake/JanssonConfig.cmake.in +17 -0
  2449. data/ext/vendor/jansson-2.9/cmake/JanssonConfigVersion.cmake.in +11 -0
  2450. data/ext/vendor/jansson-2.9/cmake/jansson_config.h.cmake +68 -0
  2451. data/ext/vendor/jansson-2.9/cmake/jansson_private_config.h.cmake +53 -0
  2452. data/ext/vendor/jansson-2.9/compile +347 -0
  2453. data/ext/vendor/jansson-2.9/config.guess +1441 -0
  2454. data/ext/vendor/jansson-2.9/config.sub +1813 -0
  2455. data/ext/vendor/jansson-2.9/configure +14772 -0
  2456. data/ext/vendor/jansson-2.9/configure.ac +118 -0
  2457. data/ext/vendor/jansson-2.9/depcomp +791 -0
  2458. data/ext/vendor/{jansson-2.5 → jansson-2.9}/doc/Makefile.am +0 -0
  2459. data/ext/vendor/jansson-2.9/doc/Makefile.in +457 -0
  2460. data/ext/vendor/{jansson-2.5 → jansson-2.9}/doc/README +0 -0
  2461. data/ext/vendor/jansson-2.9/doc/apiref.rst +1632 -0
  2462. data/ext/vendor/{jansson-2.5 → jansson-2.9}/doc/changes.rst +0 -0
  2463. data/ext/vendor/jansson-2.9/doc/conf.py +217 -0
  2464. data/ext/vendor/jansson-2.9/doc/conformance.rst +120 -0
  2465. data/ext/vendor/jansson-2.9/doc/ext/refcounting.py +60 -0
  2466. data/ext/vendor/jansson-2.9/doc/gettingstarted.rst +228 -0
  2467. data/ext/vendor/jansson-2.9/doc/github_commits.c +201 -0
  2468. data/ext/vendor/{jansson-2.5 → jansson-2.9}/doc/index.rst +0 -0
  2469. data/ext/vendor/jansson-2.9/doc/portability.rst +83 -0
  2470. data/ext/vendor/jansson-2.9/doc/tutorial.rst +288 -0
  2471. data/ext/vendor/{jansson-2.5 → jansson-2.9}/doc/upgrading.rst +0 -0
  2472. data/ext/vendor/jansson-2.9/examples/README.rst +4 -0
  2473. data/ext/vendor/jansson-2.9/examples/simple_parse.c +203 -0
  2474. data/ext/vendor/jansson-2.9/install-sh +508 -0
  2475. data/ext/vendor/{jansson-2.5 → jansson-2.9}/jansson.pc.in +0 -0
  2476. data/ext/vendor/jansson-2.9/jansson_private_config.h.in +158 -0
  2477. data/ext/vendor/jansson-2.9/ltmain.sh +11156 -0
  2478. data/ext/vendor/jansson-2.9/missing +215 -0
  2479. data/ext/vendor/jansson-2.9/src/Makefile.am +27 -0
  2480. data/ext/vendor/jansson-2.9/src/Makefile.in +732 -0
  2481. data/ext/vendor/jansson-2.9/src/dump.c +446 -0
  2482. data/ext/vendor/jansson-2.9/src/error.c +63 -0
  2483. data/ext/vendor/jansson-2.9/src/hashtable.c +356 -0
  2484. data/ext/vendor/jansson-2.9/src/hashtable.h +176 -0
  2485. data/ext/vendor/jansson-2.9/src/hashtable_seed.c +277 -0
  2486. data/ext/vendor/jansson-2.9/src/jansson.def +70 -0
  2487. data/ext/vendor/jansson-2.9/src/jansson.h +311 -0
  2488. data/ext/vendor/jansson-2.9/src/jansson_config.h.in +43 -0
  2489. data/ext/vendor/jansson-2.9/src/jansson_private.h +108 -0
  2490. data/ext/vendor/jansson-2.9/src/load.c +1110 -0
  2491. data/ext/vendor/jansson-2.9/src/lookup3.h +381 -0
  2492. data/ext/vendor/jansson-2.9/src/memory.c +69 -0
  2493. data/ext/vendor/jansson-2.9/src/pack_unpack.c +871 -0
  2494. data/ext/vendor/jansson-2.9/src/strbuffer.c +111 -0
  2495. data/ext/vendor/jansson-2.9/src/strbuffer.h +34 -0
  2496. data/ext/vendor/jansson-2.9/src/strconv.c +145 -0
  2497. data/ext/vendor/jansson-2.9/src/utf.c +187 -0
  2498. data/ext/vendor/jansson-2.9/src/utf.h +27 -0
  2499. data/ext/vendor/jansson-2.9/src/value.c +1045 -0
  2500. data/ext/vendor/jansson-2.9/test-driver +148 -0
  2501. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/Makefile.am +0 -0
  2502. data/ext/vendor/jansson-2.9/test/Makefile.in +998 -0
  2503. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/bin/Makefile.am +0 -0
  2504. data/ext/vendor/jansson-2.9/test/bin/Makefile.in +584 -0
  2505. data/ext/vendor/jansson-2.9/test/bin/json_process.c +385 -0
  2506. data/ext/vendor/jansson-2.9/test/run-suites +50 -0
  2507. data/ext/vendor/jansson-2.9/test/scripts/run-tests.sh +100 -0
  2508. data/ext/vendor/jansson-2.9/test/scripts/valgrind.sh +35 -0
  2509. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/Makefile.am +0 -0
  2510. data/ext/vendor/jansson-2.9/test/suites/Makefile.in +618 -0
  2511. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/api/Makefile.am +0 -0
  2512. data/ext/vendor/jansson-2.9/test/suites/api/Makefile.in +731 -0
  2513. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/api/check-exports +0 -0
  2514. data/ext/vendor/jansson-2.9/test/suites/api/run +36 -0
  2515. data/ext/vendor/jansson-2.9/test/suites/api/test_array.c +432 -0
  2516. data/ext/vendor/jansson-2.9/test/suites/api/test_copy.c +334 -0
  2517. data/ext/vendor/jansson-2.9/test/suites/api/test_dump.c +224 -0
  2518. data/ext/vendor/jansson-2.9/test/suites/api/test_dump_callback.c +81 -0
  2519. data/ext/vendor/jansson-2.9/test/suites/api/test_equal.c +189 -0
  2520. data/ext/vendor/jansson-2.9/test/suites/api/test_load.c +216 -0
  2521. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/api/test_load_callback.c +0 -0
  2522. data/ext/vendor/jansson-2.9/test/suites/api/test_loadb.c +36 -0
  2523. data/ext/vendor/jansson-2.9/test/suites/api/test_memory_funcs.c +130 -0
  2524. data/ext/vendor/jansson-2.9/test/suites/api/test_number.c +90 -0
  2525. data/ext/vendor/jansson-2.9/test/suites/api/test_object.c +555 -0
  2526. data/ext/vendor/jansson-2.9/test/suites/api/test_pack.c +355 -0
  2527. data/ext/vendor/jansson-2.9/test/suites/api/test_simple.c +240 -0
  2528. data/ext/vendor/jansson-2.9/test/suites/api/test_unpack.c +406 -0
  2529. data/ext/vendor/jansson-2.9/test/suites/api/util.h +90 -0
  2530. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/encoded-surrogate-half/error +0 -0
  2531. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/encoded-surrogate-half/input +0 -0
  2532. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-after-backslash/error +0 -0
  2533. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-after-backslash/input +0 -0
  2534. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-array/error +0 -0
  2535. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-array/input +0 -0
  2536. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/error +0 -0
  2537. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/input +0 -0
  2538. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-escape/error +0 -0
  2539. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-escape/input +0 -0
  2540. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-exponent/error +0 -0
  2541. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-exponent/input +0 -0
  2542. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-identifier/error +0 -0
  2543. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-identifier/input +0 -0
  2544. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-int/error +0 -0
  2545. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-int/input +0 -0
  2546. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/error +0 -0
  2547. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/input +0 -0
  2548. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-string/error +0 -0
  2549. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/invalid-utf-8-in-string/input +0 -0
  2550. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/lone-invalid-utf-8/error +0 -0
  2551. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/lone-invalid-utf-8/input +0 -0
  2552. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/lone-utf-8-continuation-byte/error +0 -0
  2553. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/lone-utf-8-continuation-byte/input +0 -0
  2554. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/not-in-unicode-range/error +0 -0
  2555. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/not-in-unicode-range/input +0 -0
  2556. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/overlong-3-byte-encoding/error +0 -0
  2557. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/overlong-3-byte-encoding/input +0 -0
  2558. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/overlong-4-byte-encoding/error +0 -0
  2559. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/overlong-4-byte-encoding/input +0 -0
  2560. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/overlong-ascii-encoding/error +0 -0
  2561. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/overlong-ascii-encoding/input +0 -0
  2562. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/restricted-utf-8/error +0 -0
  2563. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/restricted-utf-8/input +0 -0
  2564. data/ext/vendor/jansson-2.9/test/suites/invalid-unicode/run +27 -0
  2565. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/truncated-utf-8/error +0 -0
  2566. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid-unicode/truncated-utf-8/input +0 -0
  2567. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/apostrophe/error +0 -0
  2568. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/apostrophe/input +0 -0
  2569. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/ascii-unicode-identifier/error +0 -0
  2570. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/ascii-unicode-identifier/input +0 -0
  2571. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/brace-comma/error +0 -0
  2572. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/brace-comma/input +0 -0
  2573. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/bracket-comma/error +0 -0
  2574. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/bracket-comma/input +0 -0
  2575. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/bracket-one-comma/error.normal +0 -0
  2576. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/bracket-one-comma/error.strip +0 -0
  2577. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/bracket-one-comma/input +0 -0
  2578. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/empty/error +0 -0
  2579. data/ext/vendor/jansson-2.9/test/suites/invalid/empty/input +0 -0
  2580. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/extra-comma-in-array/error +0 -0
  2581. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/extra-comma-in-array/input +0 -0
  2582. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/extra-comma-in-multiline-array/error +0 -0
  2583. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/extra-comma-in-multiline-array/input +0 -0
  2584. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/garbage-after-newline/error +0 -0
  2585. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/garbage-after-newline/input +0 -0
  2586. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/garbage-at-the-end/error +0 -0
  2587. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/garbage-at-the-end/input +0 -0
  2588. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/integer-starting-with-zero/error +0 -0
  2589. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/integer-starting-with-zero/input +0 -0
  2590. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/invalid-escape/error +0 -0
  2591. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/invalid-escape/input +0 -0
  2592. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/invalid-identifier/error +0 -0
  2593. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/invalid-identifier/input +0 -0
  2594. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/invalid-negative-integer/error +0 -0
  2595. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/invalid-negative-integer/input +0 -0
  2596. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/invalid-negative-real/error +0 -0
  2597. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/invalid-negative-real/input +0 -0
  2598. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/invalid-second-surrogate/error +0 -0
  2599. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/invalid-second-surrogate/input +0 -0
  2600. data/ext/vendor/jansson-2.9/test/suites/invalid/invalid-unicode-escape/error +2 -0
  2601. data/ext/vendor/jansson-2.9/test/suites/invalid/invalid-unicode-escape/input +1 -0
  2602. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/lone-open-brace/error.normal +0 -0
  2603. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/lone-open-brace/error.strip +0 -0
  2604. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/lone-open-brace/input +0 -0
  2605. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/lone-open-bracket/error.normal +0 -0
  2606. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/lone-open-bracket/error.strip +0 -0
  2607. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/lone-open-bracket/input +0 -0
  2608. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/lone-second-surrogate/error +0 -0
  2609. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/lone-second-surrogate/input +0 -0
  2610. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/minus-sign-without-number/error +0 -0
  2611. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/minus-sign-without-number/input +0 -0
  2612. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/negative-integer-starting-with-zero/error +0 -0
  2613. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/negative-integer-starting-with-zero/input +0 -0
  2614. data/ext/vendor/jansson-2.9/test/suites/invalid/null-byte-in-object-key/error +2 -0
  2615. data/ext/vendor/jansson-2.9/test/suites/invalid/null-byte-in-object-key/input +1 -0
  2616. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/null-byte-in-string/error +0 -0
  2617. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/null-byte-in-string/input +0 -0
  2618. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/null-byte-in-string/nostrip +0 -0
  2619. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/null-byte-outside-string/error +0 -0
  2620. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/null-byte-outside-string/input +0 -0
  2621. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/null-byte-outside-string/nostrip +0 -0
  2622. data/ext/vendor/jansson-2.9/test/suites/invalid/null-escape-in-string/error +2 -0
  2623. data/ext/vendor/jansson-2.9/test/suites/invalid/null-escape-in-string/input +1 -0
  2624. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/null/error +0 -0
  2625. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/null/input +0 -0
  2626. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-apostrophes/error +0 -0
  2627. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-apostrophes/input +0 -0
  2628. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-garbage-at-end/error +0 -0
  2629. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-garbage-at-end/input +0 -0
  2630. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-in-unterminated-array/error.normal +0 -0
  2631. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-in-unterminated-array/error.strip +0 -0
  2632. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-in-unterminated-array/input +0 -0
  2633. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-no-colon/error.normal +0 -0
  2634. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-no-colon/error.strip +0 -0
  2635. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-no-colon/input +0 -0
  2636. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-no-value/error.normal +0 -0
  2637. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-no-value/error.strip +0 -0
  2638. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-no-value/input +0 -0
  2639. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-unterminated-value/error.normal +0 -0
  2640. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-unterminated-value/error.strip +0 -0
  2641. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/object-unterminated-value/input +0 -0
  2642. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/real-garbage-after-e/error +0 -0
  2643. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/real-garbage-after-e/input +0 -0
  2644. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/real-negative-overflow/error +0 -0
  2645. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/real-negative-overflow/input +0 -0
  2646. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/real-positive-overflow/error +0 -0
  2647. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/real-positive-overflow/input +0 -0
  2648. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/real-truncated-at-e/error +0 -0
  2649. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/real-truncated-at-e/input +0 -0
  2650. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/real-truncated-at-point/error +0 -0
  2651. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/real-truncated-at-point/input +0 -0
  2652. data/ext/vendor/jansson-2.9/test/suites/invalid/recursion-depth/error +2 -0
  2653. data/ext/vendor/jansson-2.9/test/suites/invalid/recursion-depth/input +1 -0
  2654. data/ext/vendor/jansson-2.9/test/suites/invalid/run +57 -0
  2655. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/tab-character-in-string/error +0 -0
  2656. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/tab-character-in-string/input +0 -0
  2657. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/too-big-negative-integer/error +0 -0
  2658. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/too-big-negative-integer/input +0 -0
  2659. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/too-big-positive-integer/error +0 -0
  2660. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/too-big-positive-integer/input +0 -0
  2661. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/truncated-unicode-surrogate/error +0 -0
  2662. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/truncated-unicode-surrogate/input +0 -0
  2663. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unicode-identifier/error +0 -0
  2664. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unicode-identifier/input +0 -0
  2665. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-array-and-object/error.normal +0 -0
  2666. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-array-and-object/error.strip +0 -0
  2667. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-array-and-object/input +0 -0
  2668. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-array/error.normal +0 -0
  2669. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-array/error.strip +0 -0
  2670. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-array/input +0 -0
  2671. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-empty-key/error.normal +0 -0
  2672. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-empty-key/error.strip +0 -0
  2673. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-empty-key/input +0 -0
  2674. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-key/error.normal +0 -0
  2675. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-key/error.strip +0 -0
  2676. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-key/input +0 -0
  2677. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-object-and-array/error +0 -0
  2678. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-object-and-array/input +0 -0
  2679. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-string/error.normal +0 -0
  2680. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-string/error.strip +0 -0
  2681. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/invalid/unterminated-string/input +0 -0
  2682. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/complex-array/env +0 -0
  2683. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/complex-array/input +0 -0
  2684. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/complex-array/output +0 -0
  2685. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/empty-array/input +0 -0
  2686. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/empty-array/output +0 -0
  2687. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/empty-object-in-array/input +0 -0
  2688. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/empty-object-in-array/output +0 -0
  2689. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/empty-object/input +0 -0
  2690. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/empty-object/output +0 -0
  2691. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/empty-string/input +0 -0
  2692. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/empty-string/output +0 -0
  2693. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/escaped-utf-control-char/input +0 -0
  2694. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/escaped-utf-control-char/output +0 -0
  2695. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/false/input +0 -0
  2696. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/false/output +0 -0
  2697. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/negative-int/input +0 -0
  2698. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/negative-int/output +0 -0
  2699. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/negative-one/input +0 -0
  2700. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/negative-one/output +0 -0
  2701. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/negative-zero/input +0 -0
  2702. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/negative-zero/output +0 -0
  2703. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/null/input +0 -0
  2704. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/null/output +0 -0
  2705. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/one-byte-utf-8/input +0 -0
  2706. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/one-byte-utf-8/output +0 -0
  2707. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-capital-e-negative-exponent/input +0 -0
  2708. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-capital-e-negative-exponent/output +0 -0
  2709. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-capital-e-positive-exponent/input +0 -0
  2710. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-capital-e-positive-exponent/output +0 -0
  2711. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-capital-e/input +0 -0
  2712. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-capital-e/output +0 -0
  2713. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-exponent/input +0 -0
  2714. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-exponent/output +0 -0
  2715. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-fraction-exponent/input +0 -0
  2716. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-fraction-exponent/output +0 -0
  2717. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-negative-exponent/input +0 -0
  2718. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-negative-exponent/output +0 -0
  2719. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-positive-exponent/input +0 -0
  2720. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-positive-exponent/output +0 -0
  2721. data/ext/vendor/jansson-2.9/test/suites/valid/real-subnormal-number/input +1 -0
  2722. data/ext/vendor/jansson-2.9/test/suites/valid/real-subnormal-number/output +1 -0
  2723. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-underflow/input +0 -0
  2724. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/real-underflow/output +0 -0
  2725. data/ext/vendor/jansson-2.9/test/suites/valid/run +56 -0
  2726. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/short-string/input +0 -0
  2727. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/short-string/output +0 -0
  2728. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-ascii-string/input +0 -0
  2729. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-ascii-string/output +0 -0
  2730. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-int-0/input +0 -0
  2731. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-int-0/output +0 -0
  2732. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-int-1/input +0 -0
  2733. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-int-1/output +0 -0
  2734. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-int-123/input +0 -0
  2735. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-int-123/output +0 -0
  2736. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-object/input +0 -0
  2737. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-object/output +0 -0
  2738. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-real/input +0 -0
  2739. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/simple-real/output +0 -0
  2740. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/string-escapes/input +0 -0
  2741. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/string-escapes/output +0 -0
  2742. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/three-byte-utf-8/input +0 -0
  2743. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/three-byte-utf-8/output +0 -0
  2744. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/true/input +0 -0
  2745. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/true/output +0 -0
  2746. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/two-byte-utf-8/input +0 -0
  2747. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/two-byte-utf-8/output +0 -0
  2748. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/utf-8-string/input +0 -0
  2749. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/utf-8-string/output +0 -0
  2750. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/utf-surrogate-four-byte-encoding/input +0 -0
  2751. data/ext/vendor/{jansson-2.5 → jansson-2.9}/test/suites/valid/utf-surrogate-four-byte-encoding/output +0 -0
  2752. data/lib/ctags.cnf +0 -7
  2753. data/lib/ctags.rb +2 -2
  2754. data/lib/ctags/universal.rb +86 -0
  2755. data/lib/ctags/version.rb +1 -1
  2756. data/test/test.c +10 -0
  2757. data/test/test_ctags.rb +23 -5
  2758. metadata +2763 -432
  2759. data/ext/vendor/exuberant-ctags/.gitignore +0 -6
  2760. data/ext/vendor/exuberant-ctags/EXTENDING.html +0 -386
  2761. data/ext/vendor/exuberant-ctags/FAQ +0 -371
  2762. data/ext/vendor/exuberant-ctags/INSTALL.oth +0 -73
  2763. data/ext/vendor/exuberant-ctags/MAINTAINERS +0 -88
  2764. data/ext/vendor/exuberant-ctags/Makefile.in +0 -222
  2765. data/ext/vendor/exuberant-ctags/NEWS +0 -871
  2766. data/ext/vendor/exuberant-ctags/README +0 -73
  2767. data/ext/vendor/exuberant-ctags/ant.c +0 -42
  2768. data/ext/vendor/exuberant-ctags/argproc.c +0 -505
  2769. data/ext/vendor/exuberant-ctags/args.c +0 -274
  2770. data/ext/vendor/exuberant-ctags/args.h +0 -63
  2771. data/ext/vendor/exuberant-ctags/asm.c +0 -387
  2772. data/ext/vendor/exuberant-ctags/asp.c +0 -328
  2773. data/ext/vendor/exuberant-ctags/awk.c +0 -81
  2774. data/ext/vendor/exuberant-ctags/basic.c +0 -203
  2775. data/ext/vendor/exuberant-ctags/beta.c +0 -321
  2776. data/ext/vendor/exuberant-ctags/c.c +0 -2932
  2777. data/ext/vendor/exuberant-ctags/cobol.c +0 -50
  2778. data/ext/vendor/exuberant-ctags/config.h.in +0 -277
  2779. data/ext/vendor/exuberant-ctags/configure +0 -7704
  2780. data/ext/vendor/exuberant-ctags/configure.ac +0 -532
  2781. data/ext/vendor/exuberant-ctags/ctags.1 +0 -1186
  2782. data/ext/vendor/exuberant-ctags/ctags.h +0 -28
  2783. data/ext/vendor/exuberant-ctags/ctags.html +0 -2087
  2784. data/ext/vendor/exuberant-ctags/ctags.spec +0 -40
  2785. data/ext/vendor/exuberant-ctags/debug.c +0 -113
  2786. data/ext/vendor/exuberant-ctags/debug.h +0 -70
  2787. data/ext/vendor/exuberant-ctags/descrip.mms +0 -68
  2788. data/ext/vendor/exuberant-ctags/dosbatch.c +0 -42
  2789. data/ext/vendor/exuberant-ctags/e_amiga.h +0 -24
  2790. data/ext/vendor/exuberant-ctags/e_djgpp.h +0 -47
  2791. data/ext/vendor/exuberant-ctags/e_mac.h +0 -143
  2792. data/ext/vendor/exuberant-ctags/e_msoft.h +0 -76
  2793. data/ext/vendor/exuberant-ctags/e_os2.h +0 -37
  2794. data/ext/vendor/exuberant-ctags/e_qdos.h +0 -34
  2795. data/ext/vendor/exuberant-ctags/e_riscos.h +0 -58
  2796. data/ext/vendor/exuberant-ctags/e_vms.h +0 -31
  2797. data/ext/vendor/exuberant-ctags/eiffel.c +0 -1352
  2798. data/ext/vendor/exuberant-ctags/entry.c +0 -916
  2799. data/ext/vendor/exuberant-ctags/entry.h +0 -103
  2800. data/ext/vendor/exuberant-ctags/erlang.c +0 -189
  2801. data/ext/vendor/exuberant-ctags/flex.c +0 -2243
  2802. data/ext/vendor/exuberant-ctags/fortran.c +0 -2197
  2803. data/ext/vendor/exuberant-ctags/general.h +0 -127
  2804. data/ext/vendor/exuberant-ctags/get.c +0 -669
  2805. data/ext/vendor/exuberant-ctags/get.h +0 -50
  2806. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/all-wcprops +0 -47
  2807. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/entries +0 -112
  2808. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/README.txt.svn-base +0 -5
  2809. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regcomp.c.svn-base +0 -3818
  2810. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex.c.svn-base +0 -74
  2811. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex.h.svn-base +0 -575
  2812. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex_internal.c.svn-base +0 -1713
  2813. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex_internal.h.svn-base +0 -773
  2814. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regexec.c.svn-base +0 -4338
  2815. data/ext/vendor/exuberant-ctags/gnu_regex/regcomp.c +0 -3818
  2816. data/ext/vendor/exuberant-ctags/gnu_regex/regex.c +0 -74
  2817. data/ext/vendor/exuberant-ctags/gnu_regex/regex_internal.c +0 -1713
  2818. data/ext/vendor/exuberant-ctags/gnu_regex/regexec.c +0 -4338
  2819. data/ext/vendor/exuberant-ctags/html.c +0 -49
  2820. data/ext/vendor/exuberant-ctags/jscript.c +0 -1572
  2821. data/ext/vendor/exuberant-ctags/keyword.c +0 -258
  2822. data/ext/vendor/exuberant-ctags/keyword.h +0 -34
  2823. data/ext/vendor/exuberant-ctags/lisp.c +0 -139
  2824. data/ext/vendor/exuberant-ctags/lregex.c +0 -704
  2825. data/ext/vendor/exuberant-ctags/lua.c +0 -133
  2826. data/ext/vendor/exuberant-ctags/mac.c +0 -273
  2827. data/ext/vendor/exuberant-ctags/magic.diff +0 -21
  2828. data/ext/vendor/exuberant-ctags/main.c +0 -645
  2829. data/ext/vendor/exuberant-ctags/main.h +0 -32
  2830. data/ext/vendor/exuberant-ctags/maintainer.mak +0 -476
  2831. data/ext/vendor/exuberant-ctags/make.c +0 -217
  2832. data/ext/vendor/exuberant-ctags/matlab.c +0 -44
  2833. data/ext/vendor/exuberant-ctags/mk_bc3.mak +0 -46
  2834. data/ext/vendor/exuberant-ctags/mk_bc5.mak +0 -49
  2835. data/ext/vendor/exuberant-ctags/mk_djg.mak +0 -18
  2836. data/ext/vendor/exuberant-ctags/mk_manx.mak +0 -65
  2837. data/ext/vendor/exuberant-ctags/mk_mingw.mak +0 -31
  2838. data/ext/vendor/exuberant-ctags/mk_mpw.mak +0 -130
  2839. data/ext/vendor/exuberant-ctags/mk_mvc.mak +0 -40
  2840. data/ext/vendor/exuberant-ctags/mk_os2.mak +0 -104
  2841. data/ext/vendor/exuberant-ctags/mk_qdos.mak +0 -100
  2842. data/ext/vendor/exuberant-ctags/mk_sas.mak +0 -63
  2843. data/ext/vendor/exuberant-ctags/mkinstalldirs +0 -40
  2844. data/ext/vendor/exuberant-ctags/ocaml.c +0 -1842
  2845. data/ext/vendor/exuberant-ctags/options.c +0 -1842
  2846. data/ext/vendor/exuberant-ctags/options.h +0 -155
  2847. data/ext/vendor/exuberant-ctags/parse.c +0 -677
  2848. data/ext/vendor/exuberant-ctags/parse.h +0 -129
  2849. data/ext/vendor/exuberant-ctags/parsers.h +0 -63
  2850. data/ext/vendor/exuberant-ctags/pascal.c +0 -267
  2851. data/ext/vendor/exuberant-ctags/perl.c +0 -382
  2852. data/ext/vendor/exuberant-ctags/php.c +0 -237
  2853. data/ext/vendor/exuberant-ctags/python.c +0 -771
  2854. data/ext/vendor/exuberant-ctags/qdos.c +0 -106
  2855. data/ext/vendor/exuberant-ctags/read.c +0 -574
  2856. data/ext/vendor/exuberant-ctags/read.h +0 -119
  2857. data/ext/vendor/exuberant-ctags/readtags.c +0 -959
  2858. data/ext/vendor/exuberant-ctags/readtags.h +0 -252
  2859. data/ext/vendor/exuberant-ctags/rexx.c +0 -39
  2860. data/ext/vendor/exuberant-ctags/routines.c +0 -914
  2861. data/ext/vendor/exuberant-ctags/routines.h +0 -134
  2862. data/ext/vendor/exuberant-ctags/ruby.c +0 -463
  2863. data/ext/vendor/exuberant-ctags/scheme.c +0 -111
  2864. data/ext/vendor/exuberant-ctags/sh.c +0 -115
  2865. data/ext/vendor/exuberant-ctags/slang.c +0 -41
  2866. data/ext/vendor/exuberant-ctags/sml.c +0 -212
  2867. data/ext/vendor/exuberant-ctags/sort.c +0 -230
  2868. data/ext/vendor/exuberant-ctags/sort.h +0 -32
  2869. data/ext/vendor/exuberant-ctags/source.mak +0 -122
  2870. data/ext/vendor/exuberant-ctags/sql.c +0 -2112
  2871. data/ext/vendor/exuberant-ctags/strlist.c +0 -281
  2872. data/ext/vendor/exuberant-ctags/strlist.h +0 -54
  2873. data/ext/vendor/exuberant-ctags/tcl.c +0 -116
  2874. data/ext/vendor/exuberant-ctags/tex.c +0 -524
  2875. data/ext/vendor/exuberant-ctags/verilog.c +0 -340
  2876. data/ext/vendor/exuberant-ctags/vhdl.c +0 -835
  2877. data/ext/vendor/exuberant-ctags/vim.c +0 -636
  2878. data/ext/vendor/exuberant-ctags/vstring.c +0 -232
  2879. data/ext/vendor/exuberant-ctags/vstring.h +0 -85
  2880. data/ext/vendor/exuberant-ctags/yacc.c +0 -40
  2881. data/ext/vendor/fmemopen/README.md +0 -49
  2882. data/ext/vendor/fmemopen/fmemopen.c +0 -92
  2883. data/ext/vendor/fmemopen/fmemopen.h +0 -52
  2884. data/ext/vendor/jansson-2.5/CHANGES +0 -554
  2885. data/ext/vendor/jansson-2.5/LICENSE +0 -19
  2886. data/ext/vendor/jansson-2.5/Makefile.am +0 -15
  2887. data/ext/vendor/jansson-2.5/Makefile.in +0 -825
  2888. data/ext/vendor/jansson-2.5/README.rst +0 -63
  2889. data/ext/vendor/jansson-2.5/aclocal.m4 +0 -9674
  2890. data/ext/vendor/jansson-2.5/config.guess +0 -1530
  2891. data/ext/vendor/jansson-2.5/config.h.in +0 -84
  2892. data/ext/vendor/jansson-2.5/config.sub +0 -1782
  2893. data/ext/vendor/jansson-2.5/configure +0 -13931
  2894. data/ext/vendor/jansson-2.5/configure.ac +0 -57
  2895. data/ext/vendor/jansson-2.5/depcomp +0 -708
  2896. data/ext/vendor/jansson-2.5/doc/Makefile.in +0 -401
  2897. data/ext/vendor/jansson-2.5/doc/apiref.rst +0 -1487
  2898. data/ext/vendor/jansson-2.5/doc/conf.py +0 -217
  2899. data/ext/vendor/jansson-2.5/doc/conformance.rst +0 -114
  2900. data/ext/vendor/jansson-2.5/doc/ext/refcounting.py +0 -59
  2901. data/ext/vendor/jansson-2.5/doc/gettingstarted.rst +0 -237
  2902. data/ext/vendor/jansson-2.5/doc/github_commits.c +0 -192
  2903. data/ext/vendor/jansson-2.5/doc/portability.rst +0 -52
  2904. data/ext/vendor/jansson-2.5/doc/tutorial.rst +0 -286
  2905. data/ext/vendor/jansson-2.5/install-sh +0 -527
  2906. data/ext/vendor/jansson-2.5/ltmain.sh +0 -9661
  2907. data/ext/vendor/jansson-2.5/missing +0 -331
  2908. data/ext/vendor/jansson-2.5/src/Makefile.am +0 -24
  2909. data/ext/vendor/jansson-2.5/src/Makefile.in +0 -613
  2910. data/ext/vendor/jansson-2.5/src/dump.c +0 -456
  2911. data/ext/vendor/jansson-2.5/src/error.c +0 -63
  2912. data/ext/vendor/jansson-2.5/src/hashtable.c +0 -360
  2913. data/ext/vendor/jansson-2.5/src/hashtable.h +0 -180
  2914. data/ext/vendor/jansson-2.5/src/jansson.def +0 -63
  2915. data/ext/vendor/jansson-2.5/src/jansson.h +0 -281
  2916. data/ext/vendor/jansson-2.5/src/jansson_config.h +0 -39
  2917. data/ext/vendor/jansson-2.5/src/jansson_config.h.in +0 -39
  2918. data/ext/vendor/jansson-2.5/src/jansson_private.h +0 -93
  2919. data/ext/vendor/jansson-2.5/src/load.c +0 -1077
  2920. data/ext/vendor/jansson-2.5/src/memory.c +0 -56
  2921. data/ext/vendor/jansson-2.5/src/pack_unpack.c +0 -762
  2922. data/ext/vendor/jansson-2.5/src/strbuffer.c +0 -116
  2923. data/ext/vendor/jansson-2.5/src/strbuffer.h +0 -33
  2924. data/ext/vendor/jansson-2.5/src/strconv.c +0 -134
  2925. data/ext/vendor/jansson-2.5/src/utf.c +0 -190
  2926. data/ext/vendor/jansson-2.5/src/utf.h +0 -39
  2927. data/ext/vendor/jansson-2.5/src/value.c +0 -950
  2928. data/ext/vendor/jansson-2.5/test/Makefile.in +0 -684
  2929. data/ext/vendor/jansson-2.5/test/bin/Makefile.in +0 -498
  2930. data/ext/vendor/jansson-2.5/test/bin/json_process.c +0 -349
  2931. data/ext/vendor/jansson-2.5/test/run-suites +0 -50
  2932. data/ext/vendor/jansson-2.5/test/scripts/run-tests.sh +0 -100
  2933. data/ext/vendor/jansson-2.5/test/scripts/valgrind.sh +0 -35
  2934. data/ext/vendor/jansson-2.5/test/suites/Makefile.in +0 -580
  2935. data/ext/vendor/jansson-2.5/test/suites/api/Makefile.in +0 -632
  2936. data/ext/vendor/jansson-2.5/test/suites/api/run +0 -36
  2937. data/ext/vendor/jansson-2.5/test/suites/api/test_array.c +0 -432
  2938. data/ext/vendor/jansson-2.5/test/suites/api/test_copy.c +0 -318
  2939. data/ext/vendor/jansson-2.5/test/suites/api/test_dump.c +0 -190
  2940. data/ext/vendor/jansson-2.5/test/suites/api/test_dump_callback.c +0 -81
  2941. data/ext/vendor/jansson-2.5/test/suites/api/test_equal.c +0 -189
  2942. data/ext/vendor/jansson-2.5/test/suites/api/test_load.c +0 -166
  2943. data/ext/vendor/jansson-2.5/test/suites/api/test_loadb.c +0 -36
  2944. data/ext/vendor/jansson-2.5/test/suites/api/test_memory_funcs.c +0 -82
  2945. data/ext/vendor/jansson-2.5/test/suites/api/test_number.c +0 -73
  2946. data/ext/vendor/jansson-2.5/test/suites/api/test_object.c +0 -511
  2947. data/ext/vendor/jansson-2.5/test/suites/api/test_pack.c +0 -283
  2948. data/ext/vendor/jansson-2.5/test/suites/api/test_simple.c +0 -199
  2949. data/ext/vendor/jansson-2.5/test/suites/api/test_unpack.c +0 -373
  2950. data/ext/vendor/jansson-2.5/test/suites/api/util.h +0 -74
  2951. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/run +0 -27
  2952. data/ext/vendor/jansson-2.5/test/suites/invalid/escaped-null-byte-in-string/error +0 -2
  2953. data/ext/vendor/jansson-2.5/test/suites/invalid/escaped-null-byte-in-string/input +0 -1
  2954. data/ext/vendor/jansson-2.5/test/suites/invalid/run +0 -57
  2955. data/ext/vendor/jansson-2.5/test/suites/valid/run +0 -56
  2956. data/ext/vendor/jansson-2.5/win32/jansson_config.h +0 -39
  2957. data/ext/vendor/jansson-2.5/win32/vs2010/jansson.sln +0 -20
  2958. data/ext/vendor/jansson-2.5/win32/vs2010/jansson.vcxproj +0 -108
  2959. data/ext/vendor/jansson-2.5/win32/vs2010/jansson.vcxproj.filters +0 -69
  2960. data/ext/vendor/jansson-2.5/win32/vs2010/jansson.vcxproj.user +0 -3
  2961. data/lib/ctags/exuberant.rb +0 -87
@@ -1,3818 +0,0 @@
1
- /* Extended regular expression matching and search library.
2
- Copyright (C) 2002,2003,2004,2005,2006,2007,2009
3
- Free Software Foundation, Inc.
4
- This file is part of the GNU C Library.
5
- Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
6
-
7
- The GNU C Library is free software; you can redistribute it and/or
8
- modify it under the terms of the GNU Lesser General Public
9
- License as published by the Free Software Foundation; either
10
- version 2.1 of the License, or (at your option) any later version.
11
-
12
- The GNU C Library is distributed in the hope that it will be useful,
13
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
- Lesser General Public License for more details.
16
-
17
- You should have received a copy of the GNU Lesser General Public
18
- License along with the GNU C Library; if not, write to the Free
19
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
20
- 02111-1307 USA. */
21
-
22
- static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern,
23
- size_t length, reg_syntax_t syntax);
24
- static void re_compile_fastmap_iter (regex_t *bufp,
25
- const re_dfastate_t *init_state,
26
- char *fastmap);
27
- static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len);
28
- #ifdef RE_ENABLE_I18N
29
- static void free_charset (re_charset_t *cset);
30
- #endif /* RE_ENABLE_I18N */
31
- static void free_workarea_compile (regex_t *preg);
32
- static reg_errcode_t create_initial_state (re_dfa_t *dfa);
33
- #ifdef RE_ENABLE_I18N
34
- static void optimize_utf8 (re_dfa_t *dfa);
35
- #endif
36
- static reg_errcode_t analyze (regex_t *preg);
37
- static reg_errcode_t preorder (bin_tree_t *root,
38
- reg_errcode_t (fn (void *, bin_tree_t *)),
39
- void *extra);
40
- static reg_errcode_t postorder (bin_tree_t *root,
41
- reg_errcode_t (fn (void *, bin_tree_t *)),
42
- void *extra);
43
- static reg_errcode_t optimize_subexps (void *extra, bin_tree_t *node);
44
- static reg_errcode_t lower_subexps (void *extra, bin_tree_t *node);
45
- static bin_tree_t *lower_subexp (reg_errcode_t *err, regex_t *preg,
46
- bin_tree_t *node);
47
- static reg_errcode_t calc_first (void *extra, bin_tree_t *node);
48
- static reg_errcode_t calc_next (void *extra, bin_tree_t *node);
49
- static reg_errcode_t link_nfa_nodes (void *extra, bin_tree_t *node);
50
- static int duplicate_node (re_dfa_t *dfa, int org_idx, unsigned int constraint);
51
- static int search_duplicated_node (const re_dfa_t *dfa, int org_node,
52
- unsigned int constraint);
53
- static reg_errcode_t calc_eclosure (re_dfa_t *dfa);
54
- static reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa,
55
- int node, int root);
56
- static reg_errcode_t calc_inveclosure (re_dfa_t *dfa);
57
- static int fetch_number (re_string_t *input, re_token_t *token,
58
- reg_syntax_t syntax);
59
- static int peek_token (re_token_t *token, re_string_t *input,
60
- reg_syntax_t syntax) internal_function;
61
- static bin_tree_t *parse (re_string_t *regexp, regex_t *preg,
62
- reg_syntax_t syntax, reg_errcode_t *err);
63
- static bin_tree_t *parse_reg_exp (re_string_t *regexp, regex_t *preg,
64
- re_token_t *token, reg_syntax_t syntax,
65
- int nest, reg_errcode_t *err);
66
- static bin_tree_t *parse_branch (re_string_t *regexp, regex_t *preg,
67
- re_token_t *token, reg_syntax_t syntax,
68
- int nest, reg_errcode_t *err);
69
- static bin_tree_t *parse_expression (re_string_t *regexp, regex_t *preg,
70
- re_token_t *token, reg_syntax_t syntax,
71
- int nest, reg_errcode_t *err);
72
- static bin_tree_t *parse_sub_exp (re_string_t *regexp, regex_t *preg,
73
- re_token_t *token, reg_syntax_t syntax,
74
- int nest, reg_errcode_t *err);
75
- static bin_tree_t *parse_dup_op (bin_tree_t *dup_elem, re_string_t *regexp,
76
- re_dfa_t *dfa, re_token_t *token,
77
- reg_syntax_t syntax, reg_errcode_t *err);
78
- static bin_tree_t *parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa,
79
- re_token_t *token, reg_syntax_t syntax,
80
- reg_errcode_t *err);
81
- static reg_errcode_t parse_bracket_element (bracket_elem_t *elem,
82
- re_string_t *regexp,
83
- re_token_t *token, int token_len,
84
- re_dfa_t *dfa,
85
- reg_syntax_t syntax,
86
- int accept_hyphen);
87
- static reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem,
88
- re_string_t *regexp,
89
- re_token_t *token);
90
- #ifdef RE_ENABLE_I18N
91
- static reg_errcode_t build_equiv_class (bitset_t sbcset,
92
- re_charset_t *mbcset,
93
- int *equiv_class_alloc,
94
- const unsigned char *name);
95
- static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans,
96
- bitset_t sbcset,
97
- re_charset_t *mbcset,
98
- int *char_class_alloc,
99
- const unsigned char *class_name,
100
- reg_syntax_t syntax);
101
- #else /* not RE_ENABLE_I18N */
102
- static reg_errcode_t build_equiv_class (bitset_t sbcset,
103
- const unsigned char *name);
104
- static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans,
105
- bitset_t sbcset,
106
- const unsigned char *class_name,
107
- reg_syntax_t syntax);
108
- #endif /* not RE_ENABLE_I18N */
109
- static bin_tree_t *build_charclass_op (re_dfa_t *dfa,
110
- RE_TRANSLATE_TYPE trans,
111
- const unsigned char *class_name,
112
- const unsigned char *extra,
113
- int non_match, reg_errcode_t *err);
114
- static bin_tree_t *create_tree (re_dfa_t *dfa,
115
- bin_tree_t *left, bin_tree_t *right,
116
- re_token_type_t type);
117
- static bin_tree_t *create_token_tree (re_dfa_t *dfa,
118
- bin_tree_t *left, bin_tree_t *right,
119
- const re_token_t *token);
120
- static bin_tree_t *duplicate_tree (const bin_tree_t *src, re_dfa_t *dfa);
121
- static void free_token (re_token_t *node);
122
- static reg_errcode_t free_tree (void *extra, bin_tree_t *node);
123
- static reg_errcode_t mark_opt_subexp (void *extra, bin_tree_t *node);
124
-
125
- /* This table gives an error message for each of the error codes listed
126
- in regex.h. Obviously the order here has to be same as there.
127
- POSIX doesn't require that we do anything for REG_NOERROR,
128
- but why not be nice? */
129
-
130
- const char __re_error_msgid[] attribute_hidden =
131
- {
132
- #define REG_NOERROR_IDX 0
133
- gettext_noop ("Success") /* REG_NOERROR */
134
- "\0"
135
- #define REG_NOMATCH_IDX (REG_NOERROR_IDX + sizeof "Success")
136
- gettext_noop ("No match") /* REG_NOMATCH */
137
- "\0"
138
- #define REG_BADPAT_IDX (REG_NOMATCH_IDX + sizeof "No match")
139
- gettext_noop ("Invalid regular expression") /* REG_BADPAT */
140
- "\0"
141
- #define REG_ECOLLATE_IDX (REG_BADPAT_IDX + sizeof "Invalid regular expression")
142
- gettext_noop ("Invalid collation character") /* REG_ECOLLATE */
143
- "\0"
144
- #define REG_ECTYPE_IDX (REG_ECOLLATE_IDX + sizeof "Invalid collation character")
145
- gettext_noop ("Invalid character class name") /* REG_ECTYPE */
146
- "\0"
147
- #define REG_EESCAPE_IDX (REG_ECTYPE_IDX + sizeof "Invalid character class name")
148
- gettext_noop ("Trailing backslash") /* REG_EESCAPE */
149
- "\0"
150
- #define REG_ESUBREG_IDX (REG_EESCAPE_IDX + sizeof "Trailing backslash")
151
- gettext_noop ("Invalid back reference") /* REG_ESUBREG */
152
- "\0"
153
- #define REG_EBRACK_IDX (REG_ESUBREG_IDX + sizeof "Invalid back reference")
154
- gettext_noop ("Unmatched [ or [^") /* REG_EBRACK */
155
- "\0"
156
- #define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [ or [^")
157
- gettext_noop ("Unmatched ( or \\(") /* REG_EPAREN */
158
- "\0"
159
- #define REG_EBRACE_IDX (REG_EPAREN_IDX + sizeof "Unmatched ( or \\(")
160
- gettext_noop ("Unmatched \\{") /* REG_EBRACE */
161
- "\0"
162
- #define REG_BADBR_IDX (REG_EBRACE_IDX + sizeof "Unmatched \\{")
163
- gettext_noop ("Invalid content of \\{\\}") /* REG_BADBR */
164
- "\0"
165
- #define REG_ERANGE_IDX (REG_BADBR_IDX + sizeof "Invalid content of \\{\\}")
166
- gettext_noop ("Invalid range end") /* REG_ERANGE */
167
- "\0"
168
- #define REG_ESPACE_IDX (REG_ERANGE_IDX + sizeof "Invalid range end")
169
- gettext_noop ("Memory exhausted") /* REG_ESPACE */
170
- "\0"
171
- #define REG_BADRPT_IDX (REG_ESPACE_IDX + sizeof "Memory exhausted")
172
- gettext_noop ("Invalid preceding regular expression") /* REG_BADRPT */
173
- "\0"
174
- #define REG_EEND_IDX (REG_BADRPT_IDX + sizeof "Invalid preceding regular expression")
175
- gettext_noop ("Premature end of regular expression") /* REG_EEND */
176
- "\0"
177
- #define REG_ESIZE_IDX (REG_EEND_IDX + sizeof "Premature end of regular expression")
178
- gettext_noop ("Regular expression too big") /* REG_ESIZE */
179
- "\0"
180
- #define REG_ERPAREN_IDX (REG_ESIZE_IDX + sizeof "Regular expression too big")
181
- gettext_noop ("Unmatched ) or \\)") /* REG_ERPAREN */
182
- };
183
-
184
- const size_t __re_error_msgid_idx[] attribute_hidden =
185
- {
186
- REG_NOERROR_IDX,
187
- REG_NOMATCH_IDX,
188
- REG_BADPAT_IDX,
189
- REG_ECOLLATE_IDX,
190
- REG_ECTYPE_IDX,
191
- REG_EESCAPE_IDX,
192
- REG_ESUBREG_IDX,
193
- REG_EBRACK_IDX,
194
- REG_EPAREN_IDX,
195
- REG_EBRACE_IDX,
196
- REG_BADBR_IDX,
197
- REG_ERANGE_IDX,
198
- REG_ESPACE_IDX,
199
- REG_BADRPT_IDX,
200
- REG_EEND_IDX,
201
- REG_ESIZE_IDX,
202
- REG_ERPAREN_IDX
203
- };
204
-
205
- /* Entry points for GNU code. */
206
-
207
- /* re_compile_pattern is the GNU regular expression compiler: it
208
- compiles PATTERN (of length LENGTH) and puts the result in BUFP.
209
- Returns 0 if the pattern was valid, otherwise an error string.
210
-
211
- Assumes the `allocated' (and perhaps `buffer') and `translate' fields
212
- are set in BUFP on entry. */
213
-
214
- const char *
215
- re_compile_pattern (pattern, length, bufp)
216
- const char *pattern;
217
- size_t length;
218
- struct re_pattern_buffer *bufp;
219
- {
220
- reg_errcode_t ret;
221
-
222
- /* And GNU code determines whether or not to get register information
223
- by passing null for the REGS argument to re_match, etc., not by
224
- setting no_sub, unless RE_NO_SUB is set. */
225
- bufp->no_sub = !!(re_syntax_options & RE_NO_SUB);
226
-
227
- /* Match anchors at newline. */
228
- bufp->newline_anchor = 1;
229
-
230
- ret = re_compile_internal (bufp, pattern, length, re_syntax_options);
231
-
232
- if (!ret)
233
- return NULL;
234
- return gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]);
235
- }
236
- #ifdef _LIBC
237
- weak_alias (__re_compile_pattern, re_compile_pattern)
238
- #endif
239
-
240
- /* Set by `re_set_syntax' to the current regexp syntax to recognize. Can
241
- also be assigned to arbitrarily: each pattern buffer stores its own
242
- syntax, so it can be changed between regex compilations. */
243
- /* This has no initializer because initialized variables in Emacs
244
- become read-only after dumping. */
245
- reg_syntax_t re_syntax_options;
246
-
247
-
248
- /* Specify the precise syntax of regexps for compilation. This provides
249
- for compatibility for various utilities which historically have
250
- different, incompatible syntaxes.
251
-
252
- The argument SYNTAX is a bit mask comprised of the various bits
253
- defined in regex.h. We return the old syntax. */
254
-
255
- reg_syntax_t
256
- re_set_syntax (syntax)
257
- reg_syntax_t syntax;
258
- {
259
- reg_syntax_t ret = re_syntax_options;
260
-
261
- re_syntax_options = syntax;
262
- return ret;
263
- }
264
- #ifdef _LIBC
265
- weak_alias (__re_set_syntax, re_set_syntax)
266
- #endif
267
-
268
- int
269
- re_compile_fastmap (bufp)
270
- struct re_pattern_buffer *bufp;
271
- {
272
- re_dfa_t *dfa = (re_dfa_t *) bufp->buffer;
273
- char *fastmap = bufp->fastmap;
274
-
275
- memset (fastmap, '\0', sizeof (char) * SBC_MAX);
276
- re_compile_fastmap_iter (bufp, dfa->init_state, fastmap);
277
- if (dfa->init_state != dfa->init_state_word)
278
- re_compile_fastmap_iter (bufp, dfa->init_state_word, fastmap);
279
- if (dfa->init_state != dfa->init_state_nl)
280
- re_compile_fastmap_iter (bufp, dfa->init_state_nl, fastmap);
281
- if (dfa->init_state != dfa->init_state_begbuf)
282
- re_compile_fastmap_iter (bufp, dfa->init_state_begbuf, fastmap);
283
- bufp->fastmap_accurate = 1;
284
- return 0;
285
- }
286
- #ifdef _LIBC
287
- weak_alias (__re_compile_fastmap, re_compile_fastmap)
288
- #endif
289
-
290
- static inline void
291
- __attribute ((always_inline))
292
- re_set_fastmap (char *fastmap, int icase, int ch)
293
- {
294
- fastmap[ch] = 1;
295
- if (icase)
296
- fastmap[tolower (ch)] = 1;
297
- }
298
-
299
- /* Helper function for re_compile_fastmap.
300
- Compile fastmap for the initial_state INIT_STATE. */
301
-
302
- static void
303
- re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
304
- char *fastmap)
305
- {
306
- re_dfa_t *dfa = (re_dfa_t *) bufp->buffer;
307
- int node_cnt;
308
- int icase = (dfa->mb_cur_max == 1 && (bufp->syntax & RE_ICASE));
309
- for (node_cnt = 0; node_cnt < init_state->nodes.nelem; ++node_cnt)
310
- {
311
- int node = init_state->nodes.elems[node_cnt];
312
- re_token_type_t type = dfa->nodes[node].type;
313
-
314
- if (type == CHARACTER)
315
- {
316
- re_set_fastmap (fastmap, icase, dfa->nodes[node].opr.c);
317
- #ifdef RE_ENABLE_I18N
318
- if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1)
319
- {
320
- unsigned char *buf = alloca (dfa->mb_cur_max), *p;
321
- wchar_t wc;
322
- mbstate_t state;
323
-
324
- p = buf;
325
- *p++ = dfa->nodes[node].opr.c;
326
- while (++node < dfa->nodes_len
327
- && dfa->nodes[node].type == CHARACTER
328
- && dfa->nodes[node].mb_partial)
329
- *p++ = dfa->nodes[node].opr.c;
330
- memset (&state, '\0', sizeof (state));
331
- if (__mbrtowc (&wc, (const char *) buf, p - buf,
332
- &state) == p - buf
333
- && (__wcrtomb ((char *) buf, towlower (wc), &state)
334
- != (size_t) -1))
335
- re_set_fastmap (fastmap, 0, buf[0]);
336
- }
337
- #endif
338
- }
339
- else if (type == SIMPLE_BRACKET)
340
- {
341
- int i, ch;
342
- for (i = 0, ch = 0; i < BITSET_WORDS; ++i)
343
- {
344
- int j;
345
- bitset_word_t w = dfa->nodes[node].opr.sbcset[i];
346
- for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch)
347
- if (w & ((bitset_word_t) 1 << j))
348
- re_set_fastmap (fastmap, icase, ch);
349
- }
350
- }
351
- #ifdef RE_ENABLE_I18N
352
- else if (type == COMPLEX_BRACKET)
353
- {
354
- re_charset_t *cset = dfa->nodes[node].opr.mbcset;
355
- int i;
356
-
357
- # ifdef _LIBC
358
- /* See if we have to try all bytes which start multiple collation
359
- elements.
360
- e.g. In da_DK, we want to catch 'a' since "aa" is a valid
361
- collation element, and don't catch 'b' since 'b' is
362
- the only collation element which starts from 'b' (and
363
- it is caught by SIMPLE_BRACKET). */
364
- if (_NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES) != 0
365
- && (cset->ncoll_syms || cset->nranges))
366
- {
367
- const int32_t *table = (const int32_t *)
368
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB);
369
- for (i = 0; i < SBC_MAX; ++i)
370
- if (table[i] < 0)
371
- re_set_fastmap (fastmap, icase, i);
372
- }
373
- # endif /* _LIBC */
374
-
375
- /* See if we have to start the match at all multibyte characters,
376
- i.e. where we would not find an invalid sequence. This only
377
- applies to multibyte character sets; for single byte character
378
- sets, the SIMPLE_BRACKET again suffices. */
379
- if (dfa->mb_cur_max > 1
380
- && (cset->nchar_classes || cset->non_match
381
- # ifdef _LIBC
382
- || cset->nequiv_classes
383
- # endif /* _LIBC */
384
- ))
385
- {
386
- unsigned char c = 0;
387
- do
388
- {
389
- mbstate_t mbs;
390
- memset (&mbs, 0, sizeof (mbs));
391
- if (__mbrtowc (NULL, (char *) &c, 1, &mbs) == (size_t) -2)
392
- re_set_fastmap (fastmap, false, (int) c);
393
- }
394
- while (++c != 0);
395
- }
396
-
397
- else
398
- {
399
- /* ... Else catch all bytes which can start the mbchars. */
400
- for (i = 0; i < cset->nmbchars; ++i)
401
- {
402
- char buf[256];
403
- mbstate_t state;
404
- memset (&state, '\0', sizeof (state));
405
- if (__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1)
406
- re_set_fastmap (fastmap, icase, *(unsigned char *) buf);
407
- if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1)
408
- {
409
- if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state)
410
- != (size_t) -1)
411
- re_set_fastmap (fastmap, false, *(unsigned char *) buf);
412
- }
413
- }
414
- }
415
- }
416
- #endif /* RE_ENABLE_I18N */
417
- else if (type == OP_PERIOD
418
- #ifdef RE_ENABLE_I18N
419
- || type == OP_UTF8_PERIOD
420
- #endif /* RE_ENABLE_I18N */
421
- || type == END_OF_RE)
422
- {
423
- memset (fastmap, '\1', sizeof (char) * SBC_MAX);
424
- if (type == END_OF_RE)
425
- bufp->can_be_null = 1;
426
- return;
427
- }
428
- }
429
- }
430
-
431
- /* Entry point for POSIX code. */
432
- /* regcomp takes a regular expression as a string and compiles it.
433
-
434
- PREG is a regex_t *. We do not expect any fields to be initialized,
435
- since POSIX says we shouldn't. Thus, we set
436
-
437
- `buffer' to the compiled pattern;
438
- `used' to the length of the compiled pattern;
439
- `syntax' to RE_SYNTAX_POSIX_EXTENDED if the
440
- REG_EXTENDED bit in CFLAGS is set; otherwise, to
441
- RE_SYNTAX_POSIX_BASIC;
442
- `newline_anchor' to REG_NEWLINE being set in CFLAGS;
443
- `fastmap' to an allocated space for the fastmap;
444
- `fastmap_accurate' to zero;
445
- `re_nsub' to the number of subexpressions in PATTERN.
446
-
447
- PATTERN is the address of the pattern string.
448
-
449
- CFLAGS is a series of bits which affect compilation.
450
-
451
- If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we
452
- use POSIX basic syntax.
453
-
454
- If REG_NEWLINE is set, then . and [^...] don't match newline.
455
- Also, regexec will try a match beginning after every newline.
456
-
457
- If REG_ICASE is set, then we considers upper- and lowercase
458
- versions of letters to be equivalent when matching.
459
-
460
- If REG_NOSUB is set, then when PREG is passed to regexec, that
461
- routine will report only success or failure, and nothing about the
462
- registers.
463
-
464
- It returns 0 if it succeeds, nonzero if it doesn't. (See regex.h for
465
- the return codes and their meanings.) */
466
-
467
- int
468
- regcomp (preg, pattern, cflags)
469
- regex_t *__restrict preg;
470
- const char *__restrict pattern;
471
- int cflags;
472
- {
473
- reg_errcode_t ret;
474
- reg_syntax_t syntax = ((cflags & REG_EXTENDED) ? RE_SYNTAX_POSIX_EXTENDED
475
- : RE_SYNTAX_POSIX_BASIC);
476
-
477
- preg->buffer = NULL;
478
- preg->allocated = 0;
479
- preg->used = 0;
480
-
481
- /* Try to allocate space for the fastmap. */
482
- preg->fastmap = re_malloc (char, SBC_MAX);
483
- if (BE (preg->fastmap == NULL, 0))
484
- return REG_ESPACE;
485
-
486
- syntax |= (cflags & REG_ICASE) ? RE_ICASE : 0;
487
-
488
- /* If REG_NEWLINE is set, newlines are treated differently. */
489
- if (cflags & REG_NEWLINE)
490
- { /* REG_NEWLINE implies neither . nor [^...] match newline. */
491
- syntax &= ~RE_DOT_NEWLINE;
492
- syntax |= RE_HAT_LISTS_NOT_NEWLINE;
493
- /* It also changes the matching behavior. */
494
- preg->newline_anchor = 1;
495
- }
496
- else
497
- preg->newline_anchor = 0;
498
- preg->no_sub = !!(cflags & REG_NOSUB);
499
- preg->translate = NULL;
500
-
501
- ret = re_compile_internal (preg, pattern, strlen (pattern), syntax);
502
-
503
- /* POSIX doesn't distinguish between an unmatched open-group and an
504
- unmatched close-group: both are REG_EPAREN. */
505
- if (ret == REG_ERPAREN)
506
- ret = REG_EPAREN;
507
-
508
- /* We have already checked preg->fastmap != NULL. */
509
- if (BE (ret == REG_NOERROR, 1))
510
- /* Compute the fastmap now, since regexec cannot modify the pattern
511
- buffer. This function never fails in this implementation. */
512
- (void) re_compile_fastmap (preg);
513
- else
514
- {
515
- /* Some error occurred while compiling the expression. */
516
- re_free (preg->fastmap);
517
- preg->fastmap = NULL;
518
- }
519
-
520
- return (int) ret;
521
- }
522
- #ifdef _LIBC
523
- weak_alias (__regcomp, regcomp)
524
- #endif
525
-
526
- /* Returns a message corresponding to an error code, ERRCODE, returned
527
- from either regcomp or regexec. We don't use PREG here. */
528
-
529
- size_t
530
- regerror (
531
- int errcode,
532
- const regex_t *__restrict preg,
533
- char *__restrict errbuf,
534
- size_t errbuf_size)
535
- {
536
- const char *msg;
537
- size_t msg_size;
538
-
539
- if (BE (errcode < 0
540
- || errcode >= (int) (sizeof (__re_error_msgid_idx)
541
- / sizeof (__re_error_msgid_idx[0])), 0))
542
- /* Only error codes returned by the rest of the code should be passed
543
- to this routine. If we are given anything else, or if other regex
544
- code generates an invalid error code, then the program has a bug.
545
- Dump core so we can fix it. */
546
- abort ();
547
-
548
- msg = gettext (__re_error_msgid + __re_error_msgid_idx[errcode]);
549
-
550
- msg_size = strlen (msg) + 1; /* Includes the null. */
551
-
552
- if (BE (errbuf_size != 0, 1))
553
- {
554
- if (BE (msg_size > errbuf_size, 0))
555
- {
556
- #if defined HAVE_MEMPCPY || defined _LIBC
557
- *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
558
- #else
559
- memcpy (errbuf, msg, errbuf_size - 1);
560
- errbuf[errbuf_size - 1] = 0;
561
- #endif
562
- }
563
- else
564
- memcpy (errbuf, msg, msg_size);
565
- }
566
-
567
- return msg_size;
568
- }
569
- #ifdef _LIBC
570
- weak_alias (__regerror, regerror)
571
- #endif
572
-
573
-
574
- #ifdef RE_ENABLE_I18N
575
- /* This static array is used for the map to single-byte characters when
576
- UTF-8 is used. Otherwise we would allocate memory just to initialize
577
- it the same all the time. UTF-8 is the preferred encoding so this is
578
- a worthwhile optimization. */
579
- static const bitset_t utf8_sb_map =
580
- {
581
- /* Set the first 128 bits. */
582
- [0 ... 0x80 / BITSET_WORD_BITS - 1] = BITSET_WORD_MAX
583
- };
584
- #endif
585
-
586
-
587
- static void
588
- free_dfa_content (re_dfa_t *dfa)
589
- {
590
- int i, j;
591
-
592
- if (dfa->nodes)
593
- for (i = 0; i < dfa->nodes_len; ++i)
594
- free_token (dfa->nodes + i);
595
- re_free (dfa->nexts);
596
- for (i = 0; i < dfa->nodes_len; ++i)
597
- {
598
- if (dfa->eclosures != NULL)
599
- re_node_set_free (dfa->eclosures + i);
600
- if (dfa->inveclosures != NULL)
601
- re_node_set_free (dfa->inveclosures + i);
602
- if (dfa->edests != NULL)
603
- re_node_set_free (dfa->edests + i);
604
- }
605
- re_free (dfa->edests);
606
- re_free (dfa->eclosures);
607
- re_free (dfa->inveclosures);
608
- re_free (dfa->nodes);
609
-
610
- if (dfa->state_table)
611
- for (i = 0; i <= dfa->state_hash_mask; ++i)
612
- {
613
- struct re_state_table_entry *entry = dfa->state_table + i;
614
- for (j = 0; j < entry->num; ++j)
615
- {
616
- re_dfastate_t *state = entry->array[j];
617
- free_state (state);
618
- }
619
- re_free (entry->array);
620
- }
621
- re_free (dfa->state_table);
622
- #ifdef RE_ENABLE_I18N
623
- if (dfa->sb_char != utf8_sb_map)
624
- re_free (dfa->sb_char);
625
- #endif
626
- re_free (dfa->subexp_map);
627
- #ifdef DEBUG
628
- re_free (dfa->re_str);
629
- #endif
630
-
631
- re_free (dfa);
632
- }
633
-
634
-
635
- /* Free dynamically allocated space used by PREG. */
636
-
637
- void
638
- regfree (preg)
639
- regex_t *preg;
640
- {
641
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
642
- if (BE (dfa != NULL, 1))
643
- free_dfa_content (dfa);
644
- preg->buffer = NULL;
645
- preg->allocated = 0;
646
-
647
- re_free (preg->fastmap);
648
- preg->fastmap = NULL;
649
-
650
- re_free (preg->translate);
651
- preg->translate = NULL;
652
- }
653
- #ifdef _LIBC
654
- weak_alias (__regfree, regfree)
655
- #endif
656
-
657
- /* Entry points compatible with 4.2 BSD regex library. We don't define
658
- them unless specifically requested. */
659
-
660
- #if defined _REGEX_RE_COMP || defined _LIBC
661
-
662
- /* BSD has one and only one pattern buffer. */
663
- static struct re_pattern_buffer re_comp_buf;
664
-
665
- char *
666
- # ifdef _LIBC
667
- /* Make these definitions weak in libc, so POSIX programs can redefine
668
- these names if they don't use our functions, and still use
669
- regcomp/regexec above without link errors. */
670
- weak_function
671
- # endif
672
- re_comp (s)
673
- const char *s;
674
- {
675
- reg_errcode_t ret;
676
- char *fastmap;
677
-
678
- if (!s)
679
- {
680
- if (!re_comp_buf.buffer)
681
- return gettext ("No previous regular expression");
682
- return 0;
683
- }
684
-
685
- if (re_comp_buf.buffer)
686
- {
687
- fastmap = re_comp_buf.fastmap;
688
- re_comp_buf.fastmap = NULL;
689
- __regfree (&re_comp_buf);
690
- memset (&re_comp_buf, '\0', sizeof (re_comp_buf));
691
- re_comp_buf.fastmap = fastmap;
692
- }
693
-
694
- if (re_comp_buf.fastmap == NULL)
695
- {
696
- re_comp_buf.fastmap = (char *) malloc (SBC_MAX);
697
- if (re_comp_buf.fastmap == NULL)
698
- return (char *) gettext (__re_error_msgid
699
- + __re_error_msgid_idx[(int) REG_ESPACE]);
700
- }
701
-
702
- /* Since `re_exec' always passes NULL for the `regs' argument, we
703
- don't need to initialize the pattern buffer fields which affect it. */
704
-
705
- /* Match anchors at newlines. */
706
- re_comp_buf.newline_anchor = 1;
707
-
708
- ret = re_compile_internal (&re_comp_buf, s, strlen (s), re_syntax_options);
709
-
710
- if (!ret)
711
- return NULL;
712
-
713
- /* Yes, we're discarding `const' here if !HAVE_LIBINTL. */
714
- return (char *) gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]);
715
- }
716
-
717
- #ifdef _LIBC
718
- libc_freeres_fn (free_mem)
719
- {
720
- __regfree (&re_comp_buf);
721
- }
722
- #endif
723
-
724
- #endif /* _REGEX_RE_COMP */
725
-
726
- /* Internal entry point.
727
- Compile the regular expression PATTERN, whose length is LENGTH.
728
- SYNTAX indicate regular expression's syntax. */
729
-
730
- static reg_errcode_t
731
- re_compile_internal (regex_t *preg, const char * pattern, size_t length,
732
- reg_syntax_t syntax)
733
- {
734
- reg_errcode_t err = REG_NOERROR;
735
- re_dfa_t *dfa;
736
- re_string_t regexp;
737
-
738
- /* Initialize the pattern buffer. */
739
- preg->fastmap_accurate = 0;
740
- preg->syntax = syntax;
741
- preg->not_bol = preg->not_eol = 0;
742
- preg->used = 0;
743
- preg->re_nsub = 0;
744
- preg->can_be_null = 0;
745
- preg->regs_allocated = REGS_UNALLOCATED;
746
-
747
- /* Initialize the dfa. */
748
- dfa = (re_dfa_t *) preg->buffer;
749
- if (BE (preg->allocated < sizeof (re_dfa_t), 0))
750
- {
751
- /* If zero allocated, but buffer is non-null, try to realloc
752
- enough space. This loses if buffer's address is bogus, but
753
- that is the user's responsibility. If ->buffer is NULL this
754
- is a simple allocation. */
755
- dfa = re_realloc (preg->buffer, re_dfa_t, 1);
756
- if (dfa == NULL)
757
- return REG_ESPACE;
758
- preg->allocated = sizeof (re_dfa_t);
759
- preg->buffer = (unsigned char *) dfa;
760
- }
761
- preg->used = sizeof (re_dfa_t);
762
-
763
- err = init_dfa (dfa, length);
764
- if (BE (err != REG_NOERROR, 0))
765
- {
766
- free_dfa_content (dfa);
767
- preg->buffer = NULL;
768
- preg->allocated = 0;
769
- return err;
770
- }
771
- #ifdef DEBUG
772
- /* Note: length+1 will not overflow since it is checked in init_dfa. */
773
- dfa->re_str = re_malloc (char, length + 1);
774
- strncpy (dfa->re_str, pattern, length + 1);
775
- #endif
776
-
777
- __libc_lock_init (dfa->lock);
778
-
779
- err = re_string_construct (&regexp, pattern, length, preg->translate,
780
- syntax & RE_ICASE, dfa);
781
- if (BE (err != REG_NOERROR, 0))
782
- {
783
- re_compile_internal_free_return:
784
- free_workarea_compile (preg);
785
- re_string_destruct (&regexp);
786
- free_dfa_content (dfa);
787
- preg->buffer = NULL;
788
- preg->allocated = 0;
789
- return err;
790
- }
791
-
792
- /* Parse the regular expression, and build a structure tree. */
793
- preg->re_nsub = 0;
794
- dfa->str_tree = parse (&regexp, preg, syntax, &err);
795
- if (BE (dfa->str_tree == NULL, 0))
796
- goto re_compile_internal_free_return;
797
-
798
- /* Analyze the tree and create the nfa. */
799
- err = analyze (preg);
800
- if (BE (err != REG_NOERROR, 0))
801
- goto re_compile_internal_free_return;
802
-
803
- #ifdef RE_ENABLE_I18N
804
- /* If possible, do searching in single byte encoding to speed things up. */
805
- if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL)
806
- optimize_utf8 (dfa);
807
- #endif
808
-
809
- /* Then create the initial state of the dfa. */
810
- err = create_initial_state (dfa);
811
-
812
- /* Release work areas. */
813
- free_workarea_compile (preg);
814
- re_string_destruct (&regexp);
815
-
816
- if (BE (err != REG_NOERROR, 0))
817
- {
818
- free_dfa_content (dfa);
819
- preg->buffer = NULL;
820
- preg->allocated = 0;
821
- }
822
-
823
- return err;
824
- }
825
-
826
- /* Initialize DFA. We use the length of the regular expression PAT_LEN
827
- as the initial length of some arrays. */
828
-
829
- static reg_errcode_t
830
- init_dfa (re_dfa_t *dfa, size_t pat_len)
831
- {
832
- unsigned int table_size;
833
- #ifndef _LIBC
834
- char *codeset_name;
835
- #endif
836
-
837
- memset (dfa, '\0', sizeof (re_dfa_t));
838
-
839
- /* Force allocation of str_tree_storage the first time. */
840
- dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE;
841
-
842
- /* Avoid overflows. */
843
- if (pat_len == SIZE_MAX)
844
- return REG_ESPACE;
845
-
846
- dfa->nodes_alloc = pat_len + 1;
847
- dfa->nodes = re_malloc (re_token_t, dfa->nodes_alloc);
848
-
849
- /* table_size = 2 ^ ceil(log pat_len) */
850
- for (table_size = 1; ; table_size <<= 1)
851
- if (table_size > pat_len)
852
- break;
853
-
854
- dfa->state_table = calloc (sizeof (struct re_state_table_entry), table_size);
855
- dfa->state_hash_mask = table_size - 1;
856
-
857
- dfa->mb_cur_max = MB_CUR_MAX;
858
- #ifdef _LIBC
859
- if (dfa->mb_cur_max == 6
860
- && strcmp (_NL_CURRENT (LC_CTYPE, _NL_CTYPE_CODESET_NAME), "UTF-8") == 0)
861
- dfa->is_utf8 = 1;
862
- dfa->map_notascii = (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MAP_TO_NONASCII)
863
- != 0);
864
- #else
865
- # ifdef HAVE_LANGINFO_CODESET
866
- codeset_name = nl_langinfo (CODESET);
867
- # else
868
- codeset_name = getenv ("LC_ALL");
869
- if (codeset_name == NULL || codeset_name[0] == '\0')
870
- codeset_name = getenv ("LC_CTYPE");
871
- if (codeset_name == NULL || codeset_name[0] == '\0')
872
- codeset_name = getenv ("LANG");
873
- if (codeset_name == NULL)
874
- codeset_name = "";
875
- else if (strchr (codeset_name, '.') != NULL)
876
- codeset_name = strchr (codeset_name, '.') + 1;
877
- # endif
878
-
879
- if (strcasecmp (codeset_name, "UTF-8") == 0
880
- || strcasecmp (codeset_name, "UTF8") == 0)
881
- dfa->is_utf8 = 1;
882
-
883
- /* We check exhaustively in the loop below if this charset is a
884
- superset of ASCII. */
885
- dfa->map_notascii = 0;
886
- #endif
887
-
888
- #ifdef RE_ENABLE_I18N
889
- if (dfa->mb_cur_max > 1)
890
- {
891
- if (dfa->is_utf8)
892
- dfa->sb_char = (re_bitset_ptr_t) utf8_sb_map;
893
- else
894
- {
895
- int i, j, ch;
896
-
897
- dfa->sb_char = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
898
- if (BE (dfa->sb_char == NULL, 0))
899
- return REG_ESPACE;
900
-
901
- /* Set the bits corresponding to single byte chars. */
902
- for (i = 0, ch = 0; i < BITSET_WORDS; ++i)
903
- for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch)
904
- {
905
- wint_t wch = __btowc (ch);
906
- if (wch != WEOF)
907
- dfa->sb_char[i] |= (bitset_word_t) 1 << j;
908
- # ifndef _LIBC
909
- if (isascii (ch) && wch != ch)
910
- dfa->map_notascii = 1;
911
- # endif
912
- }
913
- }
914
- }
915
- #endif
916
-
917
- if (BE (dfa->nodes == NULL || dfa->state_table == NULL, 0))
918
- return REG_ESPACE;
919
- return REG_NOERROR;
920
- }
921
-
922
- /* Initialize WORD_CHAR table, which indicate which character is
923
- "word". In this case "word" means that it is the word construction
924
- character used by some operators like "\<", "\>", etc. */
925
-
926
- static void
927
- internal_function
928
- init_word_char (re_dfa_t *dfa)
929
- {
930
- int i, j, ch;
931
- dfa->word_ops_used = 1;
932
- for (i = 0, ch = 0; i < BITSET_WORDS; ++i)
933
- for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch)
934
- if (isalnum (ch) || ch == '_')
935
- dfa->word_char[i] |= (bitset_word_t) 1 << j;
936
- }
937
-
938
- /* Free the work area which are only used while compiling. */
939
-
940
- static void
941
- free_workarea_compile (regex_t *preg)
942
- {
943
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
944
- bin_tree_storage_t *storage, *next;
945
- for (storage = dfa->str_tree_storage; storage; storage = next)
946
- {
947
- next = storage->next;
948
- re_free (storage);
949
- }
950
- dfa->str_tree_storage = NULL;
951
- dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE;
952
- dfa->str_tree = NULL;
953
- re_free (dfa->org_indices);
954
- dfa->org_indices = NULL;
955
- }
956
-
957
- /* Create initial states for all contexts. */
958
-
959
- static reg_errcode_t
960
- create_initial_state (re_dfa_t *dfa)
961
- {
962
- int first, i;
963
- reg_errcode_t err;
964
- re_node_set init_nodes;
965
-
966
- /* Initial states have the epsilon closure of the node which is
967
- the first node of the regular expression. */
968
- first = dfa->str_tree->first->node_idx;
969
- dfa->init_node = first;
970
- err = re_node_set_init_copy (&init_nodes, dfa->eclosures + first);
971
- if (BE (err != REG_NOERROR, 0))
972
- return err;
973
-
974
- /* The back-references which are in initial states can epsilon transit,
975
- since in this case all of the subexpressions can be null.
976
- Then we add epsilon closures of the nodes which are the next nodes of
977
- the back-references. */
978
- if (dfa->nbackref > 0)
979
- for (i = 0; i < init_nodes.nelem; ++i)
980
- {
981
- int node_idx = init_nodes.elems[i];
982
- re_token_type_t type = dfa->nodes[node_idx].type;
983
-
984
- int clexp_idx;
985
- if (type != OP_BACK_REF)
986
- continue;
987
- for (clexp_idx = 0; clexp_idx < init_nodes.nelem; ++clexp_idx)
988
- {
989
- re_token_t *clexp_node;
990
- clexp_node = dfa->nodes + init_nodes.elems[clexp_idx];
991
- if (clexp_node->type == OP_CLOSE_SUBEXP
992
- && clexp_node->opr.idx == dfa->nodes[node_idx].opr.idx)
993
- break;
994
- }
995
- if (clexp_idx == init_nodes.nelem)
996
- continue;
997
-
998
- if (type == OP_BACK_REF)
999
- {
1000
- int dest_idx = dfa->edests[node_idx].elems[0];
1001
- if (!re_node_set_contains (&init_nodes, dest_idx))
1002
- {
1003
- re_node_set_merge (&init_nodes, dfa->eclosures + dest_idx);
1004
- i = 0;
1005
- }
1006
- }
1007
- }
1008
-
1009
- /* It must be the first time to invoke acquire_state. */
1010
- dfa->init_state = re_acquire_state_context (&err, dfa, &init_nodes, 0);
1011
- /* We don't check ERR here, since the initial state must not be NULL. */
1012
- if (BE (dfa->init_state == NULL, 0))
1013
- return err;
1014
- if (dfa->init_state->has_constraint)
1015
- {
1016
- dfa->init_state_word = re_acquire_state_context (&err, dfa, &init_nodes,
1017
- CONTEXT_WORD);
1018
- dfa->init_state_nl = re_acquire_state_context (&err, dfa, &init_nodes,
1019
- CONTEXT_NEWLINE);
1020
- dfa->init_state_begbuf = re_acquire_state_context (&err, dfa,
1021
- &init_nodes,
1022
- CONTEXT_NEWLINE
1023
- | CONTEXT_BEGBUF);
1024
- if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL
1025
- || dfa->init_state_begbuf == NULL, 0))
1026
- return err;
1027
- }
1028
- else
1029
- dfa->init_state_word = dfa->init_state_nl
1030
- = dfa->init_state_begbuf = dfa->init_state;
1031
-
1032
- re_node_set_free (&init_nodes);
1033
- return REG_NOERROR;
1034
- }
1035
-
1036
- #ifdef RE_ENABLE_I18N
1037
- /* If it is possible to do searching in single byte encoding instead of UTF-8
1038
- to speed things up, set dfa->mb_cur_max to 1, clear is_utf8 and change
1039
- DFA nodes where needed. */
1040
-
1041
- static void
1042
- optimize_utf8 (re_dfa_t *dfa)
1043
- {
1044
- int node, i, mb_chars = 0, has_period = 0;
1045
-
1046
- for (node = 0; node < dfa->nodes_len; ++node)
1047
- switch (dfa->nodes[node].type)
1048
- {
1049
- case CHARACTER:
1050
- if (dfa->nodes[node].opr.c >= 0x80)
1051
- mb_chars = 1;
1052
- break;
1053
- case ANCHOR:
1054
- switch (dfa->nodes[node].opr.ctx_type)
1055
- {
1056
- case LINE_FIRST:
1057
- case LINE_LAST:
1058
- case BUF_FIRST:
1059
- case BUF_LAST:
1060
- break;
1061
- default:
1062
- /* Word anchors etc. cannot be handled. It's okay to test
1063
- opr.ctx_type since constraints (for all DFA nodes) are
1064
- created by ORing one or more opr.ctx_type values. */
1065
- return;
1066
- }
1067
- break;
1068
- case OP_PERIOD:
1069
- has_period = 1;
1070
- break;
1071
- case OP_BACK_REF:
1072
- case OP_ALT:
1073
- case END_OF_RE:
1074
- case OP_DUP_ASTERISK:
1075
- case OP_OPEN_SUBEXP:
1076
- case OP_CLOSE_SUBEXP:
1077
- break;
1078
- case COMPLEX_BRACKET:
1079
- return;
1080
- case SIMPLE_BRACKET:
1081
- /* Just double check. The non-ASCII range starts at 0x80. */
1082
- assert (0x80 % BITSET_WORD_BITS == 0);
1083
- for (i = 0x80 / BITSET_WORD_BITS; i < BITSET_WORDS; ++i)
1084
- if (dfa->nodes[node].opr.sbcset[i])
1085
- return;
1086
- break;
1087
- default:
1088
- abort ();
1089
- }
1090
-
1091
- if (mb_chars || has_period)
1092
- for (node = 0; node < dfa->nodes_len; ++node)
1093
- {
1094
- if (dfa->nodes[node].type == CHARACTER
1095
- && dfa->nodes[node].opr.c >= 0x80)
1096
- dfa->nodes[node].mb_partial = 0;
1097
- else if (dfa->nodes[node].type == OP_PERIOD)
1098
- dfa->nodes[node].type = OP_UTF8_PERIOD;
1099
- }
1100
-
1101
- /* The search can be in single byte locale. */
1102
- dfa->mb_cur_max = 1;
1103
- dfa->is_utf8 = 0;
1104
- dfa->has_mb_node = dfa->nbackref > 0 || has_period;
1105
- }
1106
- #endif
1107
-
1108
- /* Analyze the structure tree, and calculate "first", "next", "edest",
1109
- "eclosure", and "inveclosure". */
1110
-
1111
- static reg_errcode_t
1112
- analyze (regex_t *preg)
1113
- {
1114
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
1115
- reg_errcode_t ret;
1116
-
1117
- /* Allocate arrays. */
1118
- dfa->nexts = re_malloc (int, dfa->nodes_alloc);
1119
- dfa->org_indices = re_malloc (int, dfa->nodes_alloc);
1120
- dfa->edests = re_malloc (re_node_set, dfa->nodes_alloc);
1121
- dfa->eclosures = re_malloc (re_node_set, dfa->nodes_alloc);
1122
- if (BE (dfa->nexts == NULL || dfa->org_indices == NULL || dfa->edests == NULL
1123
- || dfa->eclosures == NULL, 0))
1124
- return REG_ESPACE;
1125
-
1126
- dfa->subexp_map = re_malloc (int, preg->re_nsub);
1127
- if (dfa->subexp_map != NULL)
1128
- {
1129
- int i;
1130
- for (i = 0; i < preg->re_nsub; i++)
1131
- dfa->subexp_map[i] = i;
1132
- preorder (dfa->str_tree, optimize_subexps, dfa);
1133
- for (i = 0; i < preg->re_nsub; i++)
1134
- if (dfa->subexp_map[i] != i)
1135
- break;
1136
- if (i == preg->re_nsub)
1137
- {
1138
- free (dfa->subexp_map);
1139
- dfa->subexp_map = NULL;
1140
- }
1141
- }
1142
-
1143
- ret = postorder (dfa->str_tree, lower_subexps, preg);
1144
- if (BE (ret != REG_NOERROR, 0))
1145
- return ret;
1146
- ret = postorder (dfa->str_tree, calc_first, dfa);
1147
- if (BE (ret != REG_NOERROR, 0))
1148
- return ret;
1149
- preorder (dfa->str_tree, calc_next, dfa);
1150
- ret = preorder (dfa->str_tree, link_nfa_nodes, dfa);
1151
- if (BE (ret != REG_NOERROR, 0))
1152
- return ret;
1153
- ret = calc_eclosure (dfa);
1154
- if (BE (ret != REG_NOERROR, 0))
1155
- return ret;
1156
-
1157
- /* We only need this during the prune_impossible_nodes pass in regexec.c;
1158
- skip it if p_i_n will not run, as calc_inveclosure can be quadratic. */
1159
- if ((!preg->no_sub && preg->re_nsub > 0 && dfa->has_plural_match)
1160
- || dfa->nbackref)
1161
- {
1162
- dfa->inveclosures = re_malloc (re_node_set, dfa->nodes_len);
1163
- if (BE (dfa->inveclosures == NULL, 0))
1164
- return REG_ESPACE;
1165
- ret = calc_inveclosure (dfa);
1166
- }
1167
-
1168
- return ret;
1169
- }
1170
-
1171
- /* Our parse trees are very unbalanced, so we cannot use a stack to
1172
- implement parse tree visits. Instead, we use parent pointers and
1173
- some hairy code in these two functions. */
1174
- static reg_errcode_t
1175
- postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)),
1176
- void *extra)
1177
- {
1178
- bin_tree_t *node, *prev;
1179
-
1180
- for (node = root; ; )
1181
- {
1182
- /* Descend down the tree, preferably to the left (or to the right
1183
- if that's the only child). */
1184
- while (node->left || node->right)
1185
- if (node->left)
1186
- node = node->left;
1187
- else
1188
- node = node->right;
1189
-
1190
- do
1191
- {
1192
- reg_errcode_t err = fn (extra, node);
1193
- if (BE (err != REG_NOERROR, 0))
1194
- return err;
1195
- if (node->parent == NULL)
1196
- return REG_NOERROR;
1197
- prev = node;
1198
- node = node->parent;
1199
- }
1200
- /* Go up while we have a node that is reached from the right. */
1201
- while (node->right == prev || node->right == NULL);
1202
- node = node->right;
1203
- }
1204
- }
1205
-
1206
- static reg_errcode_t
1207
- preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)),
1208
- void *extra)
1209
- {
1210
- bin_tree_t *node;
1211
-
1212
- for (node = root; ; )
1213
- {
1214
- reg_errcode_t err = fn (extra, node);
1215
- if (BE (err != REG_NOERROR, 0))
1216
- return err;
1217
-
1218
- /* Go to the left node, or up and to the right. */
1219
- if (node->left)
1220
- node = node->left;
1221
- else
1222
- {
1223
- bin_tree_t *prev = NULL;
1224
- while (node->right == prev || node->right == NULL)
1225
- {
1226
- prev = node;
1227
- node = node->parent;
1228
- if (!node)
1229
- return REG_NOERROR;
1230
- }
1231
- node = node->right;
1232
- }
1233
- }
1234
- }
1235
-
1236
- /* Optimization pass: if a SUBEXP is entirely contained, strip it and tell
1237
- re_search_internal to map the inner one's opr.idx to this one's. Adjust
1238
- backreferences as well. Requires a preorder visit. */
1239
- static reg_errcode_t
1240
- optimize_subexps (void *extra, bin_tree_t *node)
1241
- {
1242
- re_dfa_t *dfa = (re_dfa_t *) extra;
1243
-
1244
- if (node->token.type == OP_BACK_REF && dfa->subexp_map)
1245
- {
1246
- int idx = node->token.opr.idx;
1247
- node->token.opr.idx = dfa->subexp_map[idx];
1248
- dfa->used_bkref_map |= 1 << node->token.opr.idx;
1249
- }
1250
-
1251
- else if (node->token.type == SUBEXP
1252
- && node->left && node->left->token.type == SUBEXP)
1253
- {
1254
- int other_idx = node->left->token.opr.idx;
1255
-
1256
- node->left = node->left->left;
1257
- if (node->left)
1258
- node->left->parent = node;
1259
-
1260
- dfa->subexp_map[other_idx] = dfa->subexp_map[node->token.opr.idx];
1261
- if (other_idx < BITSET_WORD_BITS)
1262
- dfa->used_bkref_map &= ~((bitset_word_t) 1 << other_idx);
1263
- }
1264
-
1265
- return REG_NOERROR;
1266
- }
1267
-
1268
- /* Lowering pass: Turn each SUBEXP node into the appropriate concatenation
1269
- of OP_OPEN_SUBEXP, the body of the SUBEXP (if any) and OP_CLOSE_SUBEXP. */
1270
- static reg_errcode_t
1271
- lower_subexps (void *extra, bin_tree_t *node)
1272
- {
1273
- regex_t *preg = (regex_t *) extra;
1274
- reg_errcode_t err = REG_NOERROR;
1275
-
1276
- if (node->left && node->left->token.type == SUBEXP)
1277
- {
1278
- node->left = lower_subexp (&err, preg, node->left);
1279
- if (node->left)
1280
- node->left->parent = node;
1281
- }
1282
- if (node->right && node->right->token.type == SUBEXP)
1283
- {
1284
- node->right = lower_subexp (&err, preg, node->right);
1285
- if (node->right)
1286
- node->right->parent = node;
1287
- }
1288
-
1289
- return err;
1290
- }
1291
-
1292
- static bin_tree_t *
1293
- lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node)
1294
- {
1295
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
1296
- bin_tree_t *body = node->left;
1297
- bin_tree_t *op, *cls, *tree1, *tree;
1298
-
1299
- if (preg->no_sub
1300
- /* We do not optimize empty subexpressions, because otherwise we may
1301
- have bad CONCAT nodes with NULL children. This is obviously not
1302
- very common, so we do not lose much. An example that triggers
1303
- this case is the sed "script" /\(\)/x. */
1304
- && node->left != NULL
1305
- && (node->token.opr.idx >= BITSET_WORD_BITS
1306
- || !(dfa->used_bkref_map
1307
- & ((bitset_word_t) 1 << node->token.opr.idx))))
1308
- return node->left;
1309
-
1310
- /* Convert the SUBEXP node to the concatenation of an
1311
- OP_OPEN_SUBEXP, the contents, and an OP_CLOSE_SUBEXP. */
1312
- op = create_tree (dfa, NULL, NULL, OP_OPEN_SUBEXP);
1313
- cls = create_tree (dfa, NULL, NULL, OP_CLOSE_SUBEXP);
1314
- tree1 = body ? create_tree (dfa, body, cls, CONCAT) : cls;
1315
- tree = create_tree (dfa, op, tree1, CONCAT);
1316
- if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0))
1317
- {
1318
- *err = REG_ESPACE;
1319
- return NULL;
1320
- }
1321
-
1322
- op->token.opr.idx = cls->token.opr.idx = node->token.opr.idx;
1323
- op->token.opt_subexp = cls->token.opt_subexp = node->token.opt_subexp;
1324
- return tree;
1325
- }
1326
-
1327
- /* Pass 1 in building the NFA: compute FIRST and create unlinked automaton
1328
- nodes. Requires a postorder visit. */
1329
- static reg_errcode_t
1330
- calc_first (void *extra, bin_tree_t *node)
1331
- {
1332
- re_dfa_t *dfa = (re_dfa_t *) extra;
1333
- if (node->token.type == CONCAT)
1334
- {
1335
- node->first = node->left->first;
1336
- node->node_idx = node->left->node_idx;
1337
- }
1338
- else
1339
- {
1340
- node->first = node;
1341
- node->node_idx = re_dfa_add_node (dfa, node->token);
1342
- if (BE (node->node_idx == -1, 0))
1343
- return REG_ESPACE;
1344
- if (node->token.type == ANCHOR)
1345
- dfa->nodes[node->node_idx].constraint = node->token.opr.ctx_type;
1346
- }
1347
- return REG_NOERROR;
1348
- }
1349
-
1350
- /* Pass 2: compute NEXT on the tree. Preorder visit. */
1351
- static reg_errcode_t
1352
- calc_next (void *extra, bin_tree_t *node)
1353
- {
1354
- switch (node->token.type)
1355
- {
1356
- case OP_DUP_ASTERISK:
1357
- node->left->next = node;
1358
- break;
1359
- case CONCAT:
1360
- node->left->next = node->right->first;
1361
- node->right->next = node->next;
1362
- break;
1363
- default:
1364
- if (node->left)
1365
- node->left->next = node->next;
1366
- if (node->right)
1367
- node->right->next = node->next;
1368
- break;
1369
- }
1370
- return REG_NOERROR;
1371
- }
1372
-
1373
- /* Pass 3: link all DFA nodes to their NEXT node (any order will do). */
1374
- static reg_errcode_t
1375
- link_nfa_nodes (void *extra, bin_tree_t *node)
1376
- {
1377
- re_dfa_t *dfa = (re_dfa_t *) extra;
1378
- int idx = node->node_idx;
1379
- reg_errcode_t err = REG_NOERROR;
1380
-
1381
- switch (node->token.type)
1382
- {
1383
- case CONCAT:
1384
- break;
1385
-
1386
- case END_OF_RE:
1387
- assert (node->next == NULL);
1388
- break;
1389
-
1390
- case OP_DUP_ASTERISK:
1391
- case OP_ALT:
1392
- {
1393
- int left, right;
1394
- dfa->has_plural_match = 1;
1395
- if (node->left != NULL)
1396
- left = node->left->first->node_idx;
1397
- else
1398
- left = node->next->node_idx;
1399
- if (node->right != NULL)
1400
- right = node->right->first->node_idx;
1401
- else
1402
- right = node->next->node_idx;
1403
- assert (left > -1);
1404
- assert (right > -1);
1405
- err = re_node_set_init_2 (dfa->edests + idx, left, right);
1406
- }
1407
- break;
1408
-
1409
- case ANCHOR:
1410
- case OP_OPEN_SUBEXP:
1411
- case OP_CLOSE_SUBEXP:
1412
- err = re_node_set_init_1 (dfa->edests + idx, node->next->node_idx);
1413
- break;
1414
-
1415
- case OP_BACK_REF:
1416
- dfa->nexts[idx] = node->next->node_idx;
1417
- if (node->token.type == OP_BACK_REF)
1418
- re_node_set_init_1 (dfa->edests + idx, dfa->nexts[idx]);
1419
- break;
1420
-
1421
- default:
1422
- assert (!IS_EPSILON_NODE (node->token.type));
1423
- dfa->nexts[idx] = node->next->node_idx;
1424
- break;
1425
- }
1426
-
1427
- return err;
1428
- }
1429
-
1430
- /* Duplicate the epsilon closure of the node ROOT_NODE.
1431
- Note that duplicated nodes have constraint INIT_CONSTRAINT in addition
1432
- to their own constraint. */
1433
-
1434
- static reg_errcode_t
1435
- internal_function
1436
- duplicate_node_closure (re_dfa_t *dfa, int top_org_node, int top_clone_node,
1437
- int root_node, unsigned int init_constraint)
1438
- {
1439
- int org_node, clone_node, ret;
1440
- unsigned int constraint = init_constraint;
1441
- for (org_node = top_org_node, clone_node = top_clone_node;;)
1442
- {
1443
- int org_dest, clone_dest;
1444
- if (dfa->nodes[org_node].type == OP_BACK_REF)
1445
- {
1446
- /* If the back reference epsilon-transit, its destination must
1447
- also have the constraint. Then duplicate the epsilon closure
1448
- of the destination of the back reference, and store it in
1449
- edests of the back reference. */
1450
- org_dest = dfa->nexts[org_node];
1451
- re_node_set_empty (dfa->edests + clone_node);
1452
- clone_dest = duplicate_node (dfa, org_dest, constraint);
1453
- if (BE (clone_dest == -1, 0))
1454
- return REG_ESPACE;
1455
- dfa->nexts[clone_node] = dfa->nexts[org_node];
1456
- ret = re_node_set_insert (dfa->edests + clone_node, clone_dest);
1457
- if (BE (ret < 0, 0))
1458
- return REG_ESPACE;
1459
- }
1460
- else if (dfa->edests[org_node].nelem == 0)
1461
- {
1462
- /* In case of the node can't epsilon-transit, don't duplicate the
1463
- destination and store the original destination as the
1464
- destination of the node. */
1465
- dfa->nexts[clone_node] = dfa->nexts[org_node];
1466
- break;
1467
- }
1468
- else if (dfa->edests[org_node].nelem == 1)
1469
- {
1470
- /* In case of the node can epsilon-transit, and it has only one
1471
- destination. */
1472
- org_dest = dfa->edests[org_node].elems[0];
1473
- re_node_set_empty (dfa->edests + clone_node);
1474
- /* If the node is root_node itself, it means the epsilon clsoure
1475
- has a loop. Then tie it to the destination of the root_node. */
1476
- if (org_node == root_node && clone_node != org_node)
1477
- {
1478
- ret = re_node_set_insert (dfa->edests + clone_node, org_dest);
1479
- if (BE (ret < 0, 0))
1480
- return REG_ESPACE;
1481
- break;
1482
- }
1483
- /* In case of the node has another constraint, add it. */
1484
- constraint |= dfa->nodes[org_node].constraint;
1485
- clone_dest = duplicate_node (dfa, org_dest, constraint);
1486
- if (BE (clone_dest == -1, 0))
1487
- return REG_ESPACE;
1488
- ret = re_node_set_insert (dfa->edests + clone_node, clone_dest);
1489
- if (BE (ret < 0, 0))
1490
- return REG_ESPACE;
1491
- }
1492
- else /* dfa->edests[org_node].nelem == 2 */
1493
- {
1494
- /* In case of the node can epsilon-transit, and it has two
1495
- destinations. In the bin_tree_t and DFA, that's '|' and '*'. */
1496
- org_dest = dfa->edests[org_node].elems[0];
1497
- re_node_set_empty (dfa->edests + clone_node);
1498
- /* Search for a duplicated node which satisfies the constraint. */
1499
- clone_dest = search_duplicated_node (dfa, org_dest, constraint);
1500
- if (clone_dest == -1)
1501
- {
1502
- /* There is no such duplicated node, create a new one. */
1503
- reg_errcode_t err;
1504
- clone_dest = duplicate_node (dfa, org_dest, constraint);
1505
- if (BE (clone_dest == -1, 0))
1506
- return REG_ESPACE;
1507
- ret = re_node_set_insert (dfa->edests + clone_node, clone_dest);
1508
- if (BE (ret < 0, 0))
1509
- return REG_ESPACE;
1510
- err = duplicate_node_closure (dfa, org_dest, clone_dest,
1511
- root_node, constraint);
1512
- if (BE (err != REG_NOERROR, 0))
1513
- return err;
1514
- }
1515
- else
1516
- {
1517
- /* There is a duplicated node which satisfies the constraint,
1518
- use it to avoid infinite loop. */
1519
- ret = re_node_set_insert (dfa->edests + clone_node, clone_dest);
1520
- if (BE (ret < 0, 0))
1521
- return REG_ESPACE;
1522
- }
1523
-
1524
- org_dest = dfa->edests[org_node].elems[1];
1525
- clone_dest = duplicate_node (dfa, org_dest, constraint);
1526
- if (BE (clone_dest == -1, 0))
1527
- return REG_ESPACE;
1528
- ret = re_node_set_insert (dfa->edests + clone_node, clone_dest);
1529
- if (BE (ret < 0, 0))
1530
- return REG_ESPACE;
1531
- }
1532
- org_node = org_dest;
1533
- clone_node = clone_dest;
1534
- }
1535
- return REG_NOERROR;
1536
- }
1537
-
1538
- /* Search for a node which is duplicated from the node ORG_NODE, and
1539
- satisfies the constraint CONSTRAINT. */
1540
-
1541
- static int
1542
- search_duplicated_node (const re_dfa_t *dfa, int org_node,
1543
- unsigned int constraint)
1544
- {
1545
- int idx;
1546
- for (idx = dfa->nodes_len - 1; dfa->nodes[idx].duplicated && idx > 0; --idx)
1547
- {
1548
- if (org_node == dfa->org_indices[idx]
1549
- && constraint == dfa->nodes[idx].constraint)
1550
- return idx; /* Found. */
1551
- }
1552
- return -1; /* Not found. */
1553
- }
1554
-
1555
- /* Duplicate the node whose index is ORG_IDX and set the constraint CONSTRAINT.
1556
- Return the index of the new node, or -1 if insufficient storage is
1557
- available. */
1558
-
1559
- static int
1560
- duplicate_node (re_dfa_t *dfa, int org_idx, unsigned int constraint)
1561
- {
1562
- int dup_idx = re_dfa_add_node (dfa, dfa->nodes[org_idx]);
1563
- if (BE (dup_idx != -1, 1))
1564
- {
1565
- dfa->nodes[dup_idx].constraint = constraint;
1566
- dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].constraint;
1567
- dfa->nodes[dup_idx].duplicated = 1;
1568
-
1569
- /* Store the index of the original node. */
1570
- dfa->org_indices[dup_idx] = org_idx;
1571
- }
1572
- return dup_idx;
1573
- }
1574
-
1575
- static reg_errcode_t
1576
- calc_inveclosure (re_dfa_t *dfa)
1577
- {
1578
- int src, idx, ret;
1579
- for (idx = 0; idx < dfa->nodes_len; ++idx)
1580
- re_node_set_init_empty (dfa->inveclosures + idx);
1581
-
1582
- for (src = 0; src < dfa->nodes_len; ++src)
1583
- {
1584
- int *elems = dfa->eclosures[src].elems;
1585
- for (idx = 0; idx < dfa->eclosures[src].nelem; ++idx)
1586
- {
1587
- ret = re_node_set_insert_last (dfa->inveclosures + elems[idx], src);
1588
- if (BE (ret == -1, 0))
1589
- return REG_ESPACE;
1590
- }
1591
- }
1592
-
1593
- return REG_NOERROR;
1594
- }
1595
-
1596
- /* Calculate "eclosure" for all the node in DFA. */
1597
-
1598
- static reg_errcode_t
1599
- calc_eclosure (re_dfa_t *dfa)
1600
- {
1601
- int node_idx, incomplete;
1602
- #ifdef DEBUG
1603
- assert (dfa->nodes_len > 0);
1604
- #endif
1605
- incomplete = 0;
1606
- /* For each nodes, calculate epsilon closure. */
1607
- for (node_idx = 0; ; ++node_idx)
1608
- {
1609
- reg_errcode_t err;
1610
- re_node_set eclosure_elem;
1611
- if (node_idx == dfa->nodes_len)
1612
- {
1613
- if (!incomplete)
1614
- break;
1615
- incomplete = 0;
1616
- node_idx = 0;
1617
- }
1618
-
1619
- #ifdef DEBUG
1620
- assert (dfa->eclosures[node_idx].nelem != -1);
1621
- #endif
1622
-
1623
- /* If we have already calculated, skip it. */
1624
- if (dfa->eclosures[node_idx].nelem != 0)
1625
- continue;
1626
- /* Calculate epsilon closure of `node_idx'. */
1627
- err = calc_eclosure_iter (&eclosure_elem, dfa, node_idx, 1);
1628
- if (BE (err != REG_NOERROR, 0))
1629
- return err;
1630
-
1631
- if (dfa->eclosures[node_idx].nelem == 0)
1632
- {
1633
- incomplete = 1;
1634
- re_node_set_free (&eclosure_elem);
1635
- }
1636
- }
1637
- return REG_NOERROR;
1638
- }
1639
-
1640
- /* Calculate epsilon closure of NODE. */
1641
-
1642
- static reg_errcode_t
1643
- calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, int node, int root)
1644
- {
1645
- reg_errcode_t err;
1646
- int i, incomplete;
1647
- re_node_set eclosure;
1648
- incomplete = 0;
1649
- err = re_node_set_alloc (&eclosure, dfa->edests[node].nelem + 1);
1650
- if (BE (err != REG_NOERROR, 0))
1651
- return err;
1652
-
1653
- /* This indicates that we are calculating this node now.
1654
- We reference this value to avoid infinite loop. */
1655
- dfa->eclosures[node].nelem = -1;
1656
-
1657
- /* If the current node has constraints, duplicate all nodes
1658
- since they must inherit the constraints. */
1659
- if (dfa->nodes[node].constraint
1660
- && dfa->edests[node].nelem
1661
- && !dfa->nodes[dfa->edests[node].elems[0]].duplicated)
1662
- {
1663
- err = duplicate_node_closure (dfa, node, node, node,
1664
- dfa->nodes[node].constraint);
1665
- if (BE (err != REG_NOERROR, 0))
1666
- return err;
1667
- }
1668
-
1669
- /* Expand each epsilon destination nodes. */
1670
- if (IS_EPSILON_NODE(dfa->nodes[node].type))
1671
- for (i = 0; i < dfa->edests[node].nelem; ++i)
1672
- {
1673
- re_node_set eclosure_elem;
1674
- int edest = dfa->edests[node].elems[i];
1675
- /* If calculating the epsilon closure of `edest' is in progress,
1676
- return intermediate result. */
1677
- if (dfa->eclosures[edest].nelem == -1)
1678
- {
1679
- incomplete = 1;
1680
- continue;
1681
- }
1682
- /* If we haven't calculated the epsilon closure of `edest' yet,
1683
- calculate now. Otherwise use calculated epsilon closure. */
1684
- if (dfa->eclosures[edest].nelem == 0)
1685
- {
1686
- err = calc_eclosure_iter (&eclosure_elem, dfa, edest, 0);
1687
- if (BE (err != REG_NOERROR, 0))
1688
- return err;
1689
- }
1690
- else
1691
- eclosure_elem = dfa->eclosures[edest];
1692
- /* Merge the epsilon closure of `edest'. */
1693
- re_node_set_merge (&eclosure, &eclosure_elem);
1694
- /* If the epsilon closure of `edest' is incomplete,
1695
- the epsilon closure of this node is also incomplete. */
1696
- if (dfa->eclosures[edest].nelem == 0)
1697
- {
1698
- incomplete = 1;
1699
- re_node_set_free (&eclosure_elem);
1700
- }
1701
- }
1702
-
1703
- /* Epsilon closures include itself. */
1704
- re_node_set_insert (&eclosure, node);
1705
- if (incomplete && !root)
1706
- dfa->eclosures[node].nelem = 0;
1707
- else
1708
- dfa->eclosures[node] = eclosure;
1709
- *new_set = eclosure;
1710
- return REG_NOERROR;
1711
- }
1712
-
1713
- /* Functions for token which are used in the parser. */
1714
-
1715
- /* Fetch a token from INPUT.
1716
- We must not use this function inside bracket expressions. */
1717
-
1718
- static void
1719
- internal_function
1720
- fetch_token (re_token_t *result, re_string_t *input, reg_syntax_t syntax)
1721
- {
1722
- re_string_skip_bytes (input, peek_token (result, input, syntax));
1723
- }
1724
-
1725
- /* Peek a token from INPUT, and return the length of the token.
1726
- We must not use this function inside bracket expressions. */
1727
-
1728
- static int
1729
- internal_function
1730
- peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
1731
- {
1732
- unsigned char c;
1733
-
1734
- if (re_string_eoi (input))
1735
- {
1736
- token->type = END_OF_RE;
1737
- return 0;
1738
- }
1739
-
1740
- c = re_string_peek_byte (input, 0);
1741
- token->opr.c = c;
1742
-
1743
- token->word_char = 0;
1744
- #ifdef RE_ENABLE_I18N
1745
- token->mb_partial = 0;
1746
- if (input->mb_cur_max > 1 &&
1747
- !re_string_first_byte (input, re_string_cur_idx (input)))
1748
- {
1749
- token->type = CHARACTER;
1750
- token->mb_partial = 1;
1751
- return 1;
1752
- }
1753
- #endif
1754
- if (c == '\\')
1755
- {
1756
- unsigned char c2;
1757
- if (re_string_cur_idx (input) + 1 >= re_string_length (input))
1758
- {
1759
- token->type = BACK_SLASH;
1760
- return 1;
1761
- }
1762
-
1763
- c2 = re_string_peek_byte_case (input, 1);
1764
- token->opr.c = c2;
1765
- token->type = CHARACTER;
1766
- #ifdef RE_ENABLE_I18N
1767
- if (input->mb_cur_max > 1)
1768
- {
1769
- wint_t wc = re_string_wchar_at (input,
1770
- re_string_cur_idx (input) + 1);
1771
- token->word_char = IS_WIDE_WORD_CHAR (wc) != 0;
1772
- }
1773
- else
1774
- #endif
1775
- token->word_char = IS_WORD_CHAR (c2) != 0;
1776
-
1777
- switch (c2)
1778
- {
1779
- case '|':
1780
- if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_NO_BK_VBAR))
1781
- token->type = OP_ALT;
1782
- break;
1783
- case '1': case '2': case '3': case '4': case '5':
1784
- case '6': case '7': case '8': case '9':
1785
- if (!(syntax & RE_NO_BK_REFS))
1786
- {
1787
- token->type = OP_BACK_REF;
1788
- token->opr.idx = c2 - '1';
1789
- }
1790
- break;
1791
- case '<':
1792
- if (!(syntax & RE_NO_GNU_OPS))
1793
- {
1794
- token->type = ANCHOR;
1795
- token->opr.ctx_type = WORD_FIRST;
1796
- }
1797
- break;
1798
- case '>':
1799
- if (!(syntax & RE_NO_GNU_OPS))
1800
- {
1801
- token->type = ANCHOR;
1802
- token->opr.ctx_type = WORD_LAST;
1803
- }
1804
- break;
1805
- case 'b':
1806
- if (!(syntax & RE_NO_GNU_OPS))
1807
- {
1808
- token->type = ANCHOR;
1809
- token->opr.ctx_type = WORD_DELIM;
1810
- }
1811
- break;
1812
- case 'B':
1813
- if (!(syntax & RE_NO_GNU_OPS))
1814
- {
1815
- token->type = ANCHOR;
1816
- token->opr.ctx_type = NOT_WORD_DELIM;
1817
- }
1818
- break;
1819
- case 'w':
1820
- if (!(syntax & RE_NO_GNU_OPS))
1821
- token->type = OP_WORD;
1822
- break;
1823
- case 'W':
1824
- if (!(syntax & RE_NO_GNU_OPS))
1825
- token->type = OP_NOTWORD;
1826
- break;
1827
- case 's':
1828
- if (!(syntax & RE_NO_GNU_OPS))
1829
- token->type = OP_SPACE;
1830
- break;
1831
- case 'S':
1832
- if (!(syntax & RE_NO_GNU_OPS))
1833
- token->type = OP_NOTSPACE;
1834
- break;
1835
- case '`':
1836
- if (!(syntax & RE_NO_GNU_OPS))
1837
- {
1838
- token->type = ANCHOR;
1839
- token->opr.ctx_type = BUF_FIRST;
1840
- }
1841
- break;
1842
- case '\'':
1843
- if (!(syntax & RE_NO_GNU_OPS))
1844
- {
1845
- token->type = ANCHOR;
1846
- token->opr.ctx_type = BUF_LAST;
1847
- }
1848
- break;
1849
- case '(':
1850
- if (!(syntax & RE_NO_BK_PARENS))
1851
- token->type = OP_OPEN_SUBEXP;
1852
- break;
1853
- case ')':
1854
- if (!(syntax & RE_NO_BK_PARENS))
1855
- token->type = OP_CLOSE_SUBEXP;
1856
- break;
1857
- case '+':
1858
- if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM))
1859
- token->type = OP_DUP_PLUS;
1860
- break;
1861
- case '?':
1862
- if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM))
1863
- token->type = OP_DUP_QUESTION;
1864
- break;
1865
- case '{':
1866
- if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES)))
1867
- token->type = OP_OPEN_DUP_NUM;
1868
- break;
1869
- case '}':
1870
- if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES)))
1871
- token->type = OP_CLOSE_DUP_NUM;
1872
- break;
1873
- default:
1874
- break;
1875
- }
1876
- return 2;
1877
- }
1878
-
1879
- token->type = CHARACTER;
1880
- #ifdef RE_ENABLE_I18N
1881
- if (input->mb_cur_max > 1)
1882
- {
1883
- wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input));
1884
- token->word_char = IS_WIDE_WORD_CHAR (wc) != 0;
1885
- }
1886
- else
1887
- #endif
1888
- token->word_char = IS_WORD_CHAR (token->opr.c);
1889
-
1890
- switch (c)
1891
- {
1892
- case '\n':
1893
- if (syntax & RE_NEWLINE_ALT)
1894
- token->type = OP_ALT;
1895
- break;
1896
- case '|':
1897
- if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_NO_BK_VBAR))
1898
- token->type = OP_ALT;
1899
- break;
1900
- case '*':
1901
- token->type = OP_DUP_ASTERISK;
1902
- break;
1903
- case '+':
1904
- if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM))
1905
- token->type = OP_DUP_PLUS;
1906
- break;
1907
- case '?':
1908
- if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM))
1909
- token->type = OP_DUP_QUESTION;
1910
- break;
1911
- case '{':
1912
- if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES))
1913
- token->type = OP_OPEN_DUP_NUM;
1914
- break;
1915
- case '}':
1916
- if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES))
1917
- token->type = OP_CLOSE_DUP_NUM;
1918
- break;
1919
- case '(':
1920
- if (syntax & RE_NO_BK_PARENS)
1921
- token->type = OP_OPEN_SUBEXP;
1922
- break;
1923
- case ')':
1924
- if (syntax & RE_NO_BK_PARENS)
1925
- token->type = OP_CLOSE_SUBEXP;
1926
- break;
1927
- case '[':
1928
- token->type = OP_OPEN_BRACKET;
1929
- break;
1930
- case '.':
1931
- token->type = OP_PERIOD;
1932
- break;
1933
- case '^':
1934
- if (!(syntax & (RE_CONTEXT_INDEP_ANCHORS | RE_CARET_ANCHORS_HERE)) &&
1935
- re_string_cur_idx (input) != 0)
1936
- {
1937
- char prev = re_string_peek_byte (input, -1);
1938
- if (!(syntax & RE_NEWLINE_ALT) || prev != '\n')
1939
- break;
1940
- }
1941
- token->type = ANCHOR;
1942
- token->opr.ctx_type = LINE_FIRST;
1943
- break;
1944
- case '$':
1945
- if (!(syntax & RE_CONTEXT_INDEP_ANCHORS) &&
1946
- re_string_cur_idx (input) + 1 != re_string_length (input))
1947
- {
1948
- re_token_t next;
1949
- re_string_skip_bytes (input, 1);
1950
- peek_token (&next, input, syntax);
1951
- re_string_skip_bytes (input, -1);
1952
- if (next.type != OP_ALT && next.type != OP_CLOSE_SUBEXP)
1953
- break;
1954
- }
1955
- token->type = ANCHOR;
1956
- token->opr.ctx_type = LINE_LAST;
1957
- break;
1958
- default:
1959
- break;
1960
- }
1961
- return 1;
1962
- }
1963
-
1964
- /* Peek a token from INPUT, and return the length of the token.
1965
- We must not use this function out of bracket expressions. */
1966
-
1967
- static int
1968
- internal_function
1969
- peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
1970
- {
1971
- unsigned char c;
1972
- if (re_string_eoi (input))
1973
- {
1974
- token->type = END_OF_RE;
1975
- return 0;
1976
- }
1977
- c = re_string_peek_byte (input, 0);
1978
- token->opr.c = c;
1979
-
1980
- #ifdef RE_ENABLE_I18N
1981
- if (input->mb_cur_max > 1 &&
1982
- !re_string_first_byte (input, re_string_cur_idx (input)))
1983
- {
1984
- token->type = CHARACTER;
1985
- return 1;
1986
- }
1987
- #endif /* RE_ENABLE_I18N */
1988
-
1989
- if (c == '\\' && (syntax & RE_BACKSLASH_ESCAPE_IN_LISTS)
1990
- && re_string_cur_idx (input) + 1 < re_string_length (input))
1991
- {
1992
- /* In this case, '\' escape a character. */
1993
- unsigned char c2;
1994
- re_string_skip_bytes (input, 1);
1995
- c2 = re_string_peek_byte (input, 0);
1996
- token->opr.c = c2;
1997
- token->type = CHARACTER;
1998
- return 1;
1999
- }
2000
- if (c == '[') /* '[' is a special char in a bracket exps. */
2001
- {
2002
- unsigned char c2;
2003
- int token_len;
2004
- if (re_string_cur_idx (input) + 1 < re_string_length (input))
2005
- c2 = re_string_peek_byte (input, 1);
2006
- else
2007
- c2 = 0;
2008
- token->opr.c = c2;
2009
- token_len = 2;
2010
- switch (c2)
2011
- {
2012
- case '.':
2013
- token->type = OP_OPEN_COLL_ELEM;
2014
- break;
2015
- case '=':
2016
- token->type = OP_OPEN_EQUIV_CLASS;
2017
- break;
2018
- case ':':
2019
- if (syntax & RE_CHAR_CLASSES)
2020
- {
2021
- token->type = OP_OPEN_CHAR_CLASS;
2022
- break;
2023
- }
2024
- /* else fall through. */
2025
- default:
2026
- token->type = CHARACTER;
2027
- token->opr.c = c;
2028
- token_len = 1;
2029
- break;
2030
- }
2031
- return token_len;
2032
- }
2033
- switch (c)
2034
- {
2035
- case '-':
2036
- token->type = OP_CHARSET_RANGE;
2037
- break;
2038
- case ']':
2039
- token->type = OP_CLOSE_BRACKET;
2040
- break;
2041
- case '^':
2042
- token->type = OP_NON_MATCH_LIST;
2043
- break;
2044
- default:
2045
- token->type = CHARACTER;
2046
- }
2047
- return 1;
2048
- }
2049
-
2050
- /* Functions for parser. */
2051
-
2052
- /* Entry point of the parser.
2053
- Parse the regular expression REGEXP and return the structure tree.
2054
- If an error is occured, ERR is set by error code, and return NULL.
2055
- This function build the following tree, from regular expression <reg_exp>:
2056
- CAT
2057
- / \
2058
- / \
2059
- <reg_exp> EOR
2060
-
2061
- CAT means concatenation.
2062
- EOR means end of regular expression. */
2063
-
2064
- static bin_tree_t *
2065
- parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax,
2066
- reg_errcode_t *err)
2067
- {
2068
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
2069
- bin_tree_t *tree, *eor, *root;
2070
- re_token_t current_token;
2071
- dfa->syntax = syntax;
2072
- fetch_token (&current_token, regexp, syntax | RE_CARET_ANCHORS_HERE);
2073
- tree = parse_reg_exp (regexp, preg, &current_token, syntax, 0, err);
2074
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
2075
- return NULL;
2076
- eor = create_tree (dfa, NULL, NULL, END_OF_RE);
2077
- if (tree != NULL)
2078
- root = create_tree (dfa, tree, eor, CONCAT);
2079
- else
2080
- root = eor;
2081
- if (BE (eor == NULL || root == NULL, 0))
2082
- {
2083
- *err = REG_ESPACE;
2084
- return NULL;
2085
- }
2086
- return root;
2087
- }
2088
-
2089
- /* This function build the following tree, from regular expression
2090
- <branch1>|<branch2>:
2091
- ALT
2092
- / \
2093
- / \
2094
- <branch1> <branch2>
2095
-
2096
- ALT means alternative, which represents the operator `|'. */
2097
-
2098
- static bin_tree_t *
2099
- parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
2100
- reg_syntax_t syntax, int nest, reg_errcode_t *err)
2101
- {
2102
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
2103
- bin_tree_t *tree, *branch = NULL;
2104
- tree = parse_branch (regexp, preg, token, syntax, nest, err);
2105
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
2106
- return NULL;
2107
-
2108
- while (token->type == OP_ALT)
2109
- {
2110
- fetch_token (token, regexp, syntax | RE_CARET_ANCHORS_HERE);
2111
- if (token->type != OP_ALT && token->type != END_OF_RE
2112
- && (nest == 0 || token->type != OP_CLOSE_SUBEXP))
2113
- {
2114
- branch = parse_branch (regexp, preg, token, syntax, nest, err);
2115
- if (BE (*err != REG_NOERROR && branch == NULL, 0))
2116
- return NULL;
2117
- }
2118
- else
2119
- branch = NULL;
2120
- tree = create_tree (dfa, tree, branch, OP_ALT);
2121
- if (BE (tree == NULL, 0))
2122
- {
2123
- *err = REG_ESPACE;
2124
- return NULL;
2125
- }
2126
- }
2127
- return tree;
2128
- }
2129
-
2130
- /* This function build the following tree, from regular expression
2131
- <exp1><exp2>:
2132
- CAT
2133
- / \
2134
- / \
2135
- <exp1> <exp2>
2136
-
2137
- CAT means concatenation. */
2138
-
2139
- static bin_tree_t *
2140
- parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token,
2141
- reg_syntax_t syntax, int nest, reg_errcode_t *err)
2142
- {
2143
- bin_tree_t *tree, *exp;
2144
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
2145
- tree = parse_expression (regexp, preg, token, syntax, nest, err);
2146
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
2147
- return NULL;
2148
-
2149
- while (token->type != OP_ALT && token->type != END_OF_RE
2150
- && (nest == 0 || token->type != OP_CLOSE_SUBEXP))
2151
- {
2152
- exp = parse_expression (regexp, preg, token, syntax, nest, err);
2153
- if (BE (*err != REG_NOERROR && exp == NULL, 0))
2154
- {
2155
- return NULL;
2156
- }
2157
- if (tree != NULL && exp != NULL)
2158
- {
2159
- tree = create_tree (dfa, tree, exp, CONCAT);
2160
- if (tree == NULL)
2161
- {
2162
- *err = REG_ESPACE;
2163
- return NULL;
2164
- }
2165
- }
2166
- else if (tree == NULL)
2167
- tree = exp;
2168
- /* Otherwise exp == NULL, we don't need to create new tree. */
2169
- }
2170
- return tree;
2171
- }
2172
-
2173
- /* This function build the following tree, from regular expression a*:
2174
- *
2175
- |
2176
- a
2177
- */
2178
-
2179
- static bin_tree_t *
2180
- parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
2181
- reg_syntax_t syntax, int nest, reg_errcode_t *err)
2182
- {
2183
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
2184
- bin_tree_t *tree;
2185
- switch (token->type)
2186
- {
2187
- case CHARACTER:
2188
- tree = create_token_tree (dfa, NULL, NULL, token);
2189
- if (BE (tree == NULL, 0))
2190
- {
2191
- *err = REG_ESPACE;
2192
- return NULL;
2193
- }
2194
- #ifdef RE_ENABLE_I18N
2195
- if (dfa->mb_cur_max > 1)
2196
- {
2197
- while (!re_string_eoi (regexp)
2198
- && !re_string_first_byte (regexp, re_string_cur_idx (regexp)))
2199
- {
2200
- bin_tree_t *mbc_remain;
2201
- fetch_token (token, regexp, syntax);
2202
- mbc_remain = create_token_tree (dfa, NULL, NULL, token);
2203
- tree = create_tree (dfa, tree, mbc_remain, CONCAT);
2204
- if (BE (mbc_remain == NULL || tree == NULL, 0))
2205
- {
2206
- *err = REG_ESPACE;
2207
- return NULL;
2208
- }
2209
- }
2210
- }
2211
- #endif
2212
- break;
2213
- case OP_OPEN_SUBEXP:
2214
- tree = parse_sub_exp (regexp, preg, token, syntax, nest + 1, err);
2215
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
2216
- return NULL;
2217
- break;
2218
- case OP_OPEN_BRACKET:
2219
- tree = parse_bracket_exp (regexp, dfa, token, syntax, err);
2220
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
2221
- return NULL;
2222
- break;
2223
- case OP_BACK_REF:
2224
- if (!BE (dfa->completed_bkref_map & (1 << token->opr.idx), 1))
2225
- {
2226
- *err = REG_ESUBREG;
2227
- return NULL;
2228
- }
2229
- dfa->used_bkref_map |= 1 << token->opr.idx;
2230
- tree = create_token_tree (dfa, NULL, NULL, token);
2231
- if (BE (tree == NULL, 0))
2232
- {
2233
- *err = REG_ESPACE;
2234
- return NULL;
2235
- }
2236
- ++dfa->nbackref;
2237
- dfa->has_mb_node = 1;
2238
- break;
2239
- case OP_OPEN_DUP_NUM:
2240
- if (syntax & RE_CONTEXT_INVALID_DUP)
2241
- {
2242
- *err = REG_BADRPT;
2243
- return NULL;
2244
- }
2245
- /* FALLTHROUGH */
2246
- case OP_DUP_ASTERISK:
2247
- case OP_DUP_PLUS:
2248
- case OP_DUP_QUESTION:
2249
- if (syntax & RE_CONTEXT_INVALID_OPS)
2250
- {
2251
- *err = REG_BADRPT;
2252
- return NULL;
2253
- }
2254
- else if (syntax & RE_CONTEXT_INDEP_OPS)
2255
- {
2256
- fetch_token (token, regexp, syntax);
2257
- return parse_expression (regexp, preg, token, syntax, nest, err);
2258
- }
2259
- /* else fall through */
2260
- case OP_CLOSE_SUBEXP:
2261
- if ((token->type == OP_CLOSE_SUBEXP) &&
2262
- !(syntax & RE_UNMATCHED_RIGHT_PAREN_ORD))
2263
- {
2264
- *err = REG_ERPAREN;
2265
- return NULL;
2266
- }
2267
- /* else fall through */
2268
- case OP_CLOSE_DUP_NUM:
2269
- /* We treat it as a normal character. */
2270
-
2271
- /* Then we can these characters as normal characters. */
2272
- token->type = CHARACTER;
2273
- /* mb_partial and word_char bits should be initialized already
2274
- by peek_token. */
2275
- tree = create_token_tree (dfa, NULL, NULL, token);
2276
- if (BE (tree == NULL, 0))
2277
- {
2278
- *err = REG_ESPACE;
2279
- return NULL;
2280
- }
2281
- break;
2282
- case ANCHOR:
2283
- if ((token->opr.ctx_type
2284
- & (WORD_DELIM | NOT_WORD_DELIM | WORD_FIRST | WORD_LAST))
2285
- && dfa->word_ops_used == 0)
2286
- init_word_char (dfa);
2287
- if (token->opr.ctx_type == WORD_DELIM
2288
- || token->opr.ctx_type == NOT_WORD_DELIM)
2289
- {
2290
- bin_tree_t *tree_first, *tree_last;
2291
- if (token->opr.ctx_type == WORD_DELIM)
2292
- {
2293
- token->opr.ctx_type = WORD_FIRST;
2294
- tree_first = create_token_tree (dfa, NULL, NULL, token);
2295
- token->opr.ctx_type = WORD_LAST;
2296
- }
2297
- else
2298
- {
2299
- token->opr.ctx_type = INSIDE_WORD;
2300
- tree_first = create_token_tree (dfa, NULL, NULL, token);
2301
- token->opr.ctx_type = INSIDE_NOTWORD;
2302
- }
2303
- tree_last = create_token_tree (dfa, NULL, NULL, token);
2304
- tree = create_tree (dfa, tree_first, tree_last, OP_ALT);
2305
- if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0))
2306
- {
2307
- *err = REG_ESPACE;
2308
- return NULL;
2309
- }
2310
- }
2311
- else
2312
- {
2313
- tree = create_token_tree (dfa, NULL, NULL, token);
2314
- if (BE (tree == NULL, 0))
2315
- {
2316
- *err = REG_ESPACE;
2317
- return NULL;
2318
- }
2319
- }
2320
- /* We must return here, since ANCHORs can't be followed
2321
- by repetition operators.
2322
- eg. RE"^*" is invalid or "<ANCHOR(^)><CHAR(*)>",
2323
- it must not be "<ANCHOR(^)><REPEAT(*)>". */
2324
- fetch_token (token, regexp, syntax);
2325
- return tree;
2326
- case OP_PERIOD:
2327
- tree = create_token_tree (dfa, NULL, NULL, token);
2328
- if (BE (tree == NULL, 0))
2329
- {
2330
- *err = REG_ESPACE;
2331
- return NULL;
2332
- }
2333
- if (dfa->mb_cur_max > 1)
2334
- dfa->has_mb_node = 1;
2335
- break;
2336
- case OP_WORD:
2337
- case OP_NOTWORD:
2338
- tree = build_charclass_op (dfa, regexp->trans,
2339
- (const unsigned char *) "alnum",
2340
- (const unsigned char *) "_",
2341
- token->type == OP_NOTWORD, err);
2342
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
2343
- return NULL;
2344
- break;
2345
- case OP_SPACE:
2346
- case OP_NOTSPACE:
2347
- tree = build_charclass_op (dfa, regexp->trans,
2348
- (const unsigned char *) "space",
2349
- (const unsigned char *) "",
2350
- token->type == OP_NOTSPACE, err);
2351
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
2352
- return NULL;
2353
- break;
2354
- case OP_ALT:
2355
- case END_OF_RE:
2356
- return NULL;
2357
- case BACK_SLASH:
2358
- *err = REG_EESCAPE;
2359
- return NULL;
2360
- default:
2361
- /* Must not happen? */
2362
- #ifdef DEBUG
2363
- assert (0);
2364
- #endif
2365
- return NULL;
2366
- }
2367
- fetch_token (token, regexp, syntax);
2368
-
2369
- while (token->type == OP_DUP_ASTERISK || token->type == OP_DUP_PLUS
2370
- || token->type == OP_DUP_QUESTION || token->type == OP_OPEN_DUP_NUM)
2371
- {
2372
- tree = parse_dup_op (tree, regexp, dfa, token, syntax, err);
2373
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
2374
- return NULL;
2375
- /* In BRE consecutive duplications are not allowed. */
2376
- if ((syntax & RE_CONTEXT_INVALID_DUP)
2377
- && (token->type == OP_DUP_ASTERISK
2378
- || token->type == OP_OPEN_DUP_NUM))
2379
- {
2380
- *err = REG_BADRPT;
2381
- return NULL;
2382
- }
2383
- }
2384
-
2385
- return tree;
2386
- }
2387
-
2388
- /* This function build the following tree, from regular expression
2389
- (<reg_exp>):
2390
- SUBEXP
2391
- |
2392
- <reg_exp>
2393
- */
2394
-
2395
- static bin_tree_t *
2396
- parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
2397
- reg_syntax_t syntax, int nest, reg_errcode_t *err)
2398
- {
2399
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
2400
- bin_tree_t *tree;
2401
- size_t cur_nsub;
2402
- cur_nsub = preg->re_nsub++;
2403
-
2404
- fetch_token (token, regexp, syntax | RE_CARET_ANCHORS_HERE);
2405
-
2406
- /* The subexpression may be a null string. */
2407
- if (token->type == OP_CLOSE_SUBEXP)
2408
- tree = NULL;
2409
- else
2410
- {
2411
- tree = parse_reg_exp (regexp, preg, token, syntax, nest, err);
2412
- if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0))
2413
- *err = REG_EPAREN;
2414
- if (BE (*err != REG_NOERROR, 0))
2415
- return NULL;
2416
- }
2417
-
2418
- if (cur_nsub <= '9' - '1')
2419
- dfa->completed_bkref_map |= 1 << cur_nsub;
2420
-
2421
- tree = create_tree (dfa, tree, NULL, SUBEXP);
2422
- if (BE (tree == NULL, 0))
2423
- {
2424
- *err = REG_ESPACE;
2425
- return NULL;
2426
- }
2427
- tree->token.opr.idx = cur_nsub;
2428
- return tree;
2429
- }
2430
-
2431
- /* This function parse repetition operators like "*", "+", "{1,3}" etc. */
2432
-
2433
- static bin_tree_t *
2434
- parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
2435
- re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err)
2436
- {
2437
- bin_tree_t *tree = NULL, *old_tree = NULL;
2438
- int i, start, end, start_idx = re_string_cur_idx (regexp);
2439
- re_token_t start_token = *token;
2440
-
2441
- if (token->type == OP_OPEN_DUP_NUM)
2442
- {
2443
- end = 0;
2444
- start = fetch_number (regexp, token, syntax);
2445
- if (start == -1)
2446
- {
2447
- if (token->type == CHARACTER && token->opr.c == ',')
2448
- start = 0; /* We treat "{,m}" as "{0,m}". */
2449
- else
2450
- {
2451
- *err = REG_BADBR; /* <re>{} is invalid. */
2452
- return NULL;
2453
- }
2454
- }
2455
- if (BE (start != -2, 1))
2456
- {
2457
- /* We treat "{n}" as "{n,n}". */
2458
- end = ((token->type == OP_CLOSE_DUP_NUM) ? start
2459
- : ((token->type == CHARACTER && token->opr.c == ',')
2460
- ? fetch_number (regexp, token, syntax) : -2));
2461
- }
2462
- if (BE (start == -2 || end == -2, 0))
2463
- {
2464
- /* Invalid sequence. */
2465
- if (BE (!(syntax & RE_INVALID_INTERVAL_ORD), 0))
2466
- {
2467
- if (token->type == END_OF_RE)
2468
- *err = REG_EBRACE;
2469
- else
2470
- *err = REG_BADBR;
2471
-
2472
- return NULL;
2473
- }
2474
-
2475
- /* If the syntax bit is set, rollback. */
2476
- re_string_set_index (regexp, start_idx);
2477
- *token = start_token;
2478
- token->type = CHARACTER;
2479
- /* mb_partial and word_char bits should be already initialized by
2480
- peek_token. */
2481
- return elem;
2482
- }
2483
-
2484
- if (BE (end != -1 && start > end, 0))
2485
- {
2486
- /* First number greater than second. */
2487
- *err = REG_BADBR;
2488
- return NULL;
2489
- }
2490
- }
2491
- else
2492
- {
2493
- start = (token->type == OP_DUP_PLUS) ? 1 : 0;
2494
- end = (token->type == OP_DUP_QUESTION) ? 1 : -1;
2495
- }
2496
-
2497
- fetch_token (token, regexp, syntax);
2498
-
2499
- if (BE (elem == NULL, 0))
2500
- return NULL;
2501
- if (BE (start == 0 && end == 0, 0))
2502
- {
2503
- postorder (elem, free_tree, NULL);
2504
- return NULL;
2505
- }
2506
-
2507
- /* Extract "<re>{n,m}" to "<re><re>...<re><re>{0,<m-n>}". */
2508
- if (BE (start > 0, 0))
2509
- {
2510
- tree = elem;
2511
- for (i = 2; i <= start; ++i)
2512
- {
2513
- elem = duplicate_tree (elem, dfa);
2514
- tree = create_tree (dfa, tree, elem, CONCAT);
2515
- if (BE (elem == NULL || tree == NULL, 0))
2516
- goto parse_dup_op_espace;
2517
- }
2518
-
2519
- if (start == end)
2520
- return tree;
2521
-
2522
- /* Duplicate ELEM before it is marked optional. */
2523
- elem = duplicate_tree (elem, dfa);
2524
- old_tree = tree;
2525
- }
2526
- else
2527
- old_tree = NULL;
2528
-
2529
- if (elem->token.type == SUBEXP)
2530
- postorder (elem, mark_opt_subexp, (void *) (long) elem->token.opr.idx);
2531
-
2532
- tree = create_tree (dfa, elem, NULL, (end == -1 ? OP_DUP_ASTERISK : OP_ALT));
2533
- if (BE (tree == NULL, 0))
2534
- goto parse_dup_op_espace;
2535
-
2536
- /* This loop is actually executed only when end != -1,
2537
- to rewrite <re>{0,n} as (<re>(<re>...<re>?)?)?... We have
2538
- already created the start+1-th copy. */
2539
- for (i = start + 2; i <= end; ++i)
2540
- {
2541
- elem = duplicate_tree (elem, dfa);
2542
- tree = create_tree (dfa, tree, elem, CONCAT);
2543
- if (BE (elem == NULL || tree == NULL, 0))
2544
- goto parse_dup_op_espace;
2545
-
2546
- tree = create_tree (dfa, tree, NULL, OP_ALT);
2547
- if (BE (tree == NULL, 0))
2548
- goto parse_dup_op_espace;
2549
- }
2550
-
2551
- if (old_tree)
2552
- tree = create_tree (dfa, old_tree, tree, CONCAT);
2553
-
2554
- return tree;
2555
-
2556
- parse_dup_op_espace:
2557
- *err = REG_ESPACE;
2558
- return NULL;
2559
- }
2560
-
2561
- /* Size of the names for collating symbol/equivalence_class/character_class.
2562
- I'm not sure, but maybe enough. */
2563
- #define BRACKET_NAME_BUF_SIZE 32
2564
-
2565
- #ifndef _LIBC
2566
- /* Local function for parse_bracket_exp only used in case of NOT _LIBC.
2567
- Build the range expression which starts from START_ELEM, and ends
2568
- at END_ELEM. The result are written to MBCSET and SBCSET.
2569
- RANGE_ALLOC is the allocated size of mbcset->range_starts, and
2570
- mbcset->range_ends, is a pointer argument sinse we may
2571
- update it. */
2572
-
2573
- static reg_errcode_t
2574
- internal_function
2575
- # ifdef RE_ENABLE_I18N
2576
- build_range_exp (bitset_t sbcset, re_charset_t *mbcset, int *range_alloc,
2577
- bracket_elem_t *start_elem, bracket_elem_t *end_elem)
2578
- # else /* not RE_ENABLE_I18N */
2579
- build_range_exp (bitset_t sbcset, bracket_elem_t *start_elem,
2580
- bracket_elem_t *end_elem)
2581
- # endif /* not RE_ENABLE_I18N */
2582
- {
2583
- unsigned int start_ch, end_ch;
2584
- /* Equivalence Classes and Character Classes can't be a range start/end. */
2585
- if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS
2586
- || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS,
2587
- 0))
2588
- return REG_ERANGE;
2589
-
2590
- /* We can handle no multi character collating elements without libc
2591
- support. */
2592
- if (BE ((start_elem->type == COLL_SYM
2593
- && strlen ((char *) start_elem->opr.name) > 1)
2594
- || (end_elem->type == COLL_SYM
2595
- && strlen ((char *) end_elem->opr.name) > 1), 0))
2596
- return REG_ECOLLATE;
2597
-
2598
- # ifdef RE_ENABLE_I18N
2599
- {
2600
- wchar_t wc;
2601
- wint_t start_wc;
2602
- wint_t end_wc;
2603
- wchar_t cmp_buf[6] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'};
2604
-
2605
- start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch
2606
- : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0]
2607
- : 0));
2608
- end_ch = ((end_elem->type == SB_CHAR) ? end_elem->opr.ch
2609
- : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0]
2610
- : 0));
2611
- start_wc = ((start_elem->type == SB_CHAR || start_elem->type == COLL_SYM)
2612
- ? __btowc (start_ch) : start_elem->opr.wch);
2613
- end_wc = ((end_elem->type == SB_CHAR || end_elem->type == COLL_SYM)
2614
- ? __btowc (end_ch) : end_elem->opr.wch);
2615
- if (start_wc == WEOF || end_wc == WEOF)
2616
- return REG_ECOLLATE;
2617
- cmp_buf[0] = start_wc;
2618
- cmp_buf[4] = end_wc;
2619
- if (wcscoll (cmp_buf, cmp_buf + 4) > 0)
2620
- return REG_ERANGE;
2621
-
2622
- /* Got valid collation sequence values, add them as a new entry.
2623
- However, for !_LIBC we have no collation elements: if the
2624
- character set is single byte, the single byte character set
2625
- that we build below suffices. parse_bracket_exp passes
2626
- no MBCSET if dfa->mb_cur_max == 1. */
2627
- if (mbcset)
2628
- {
2629
- /* Check the space of the arrays. */
2630
- if (BE (*range_alloc == mbcset->nranges, 0))
2631
- {
2632
- /* There is not enough space, need realloc. */
2633
- wchar_t *new_array_start, *new_array_end;
2634
- int new_nranges;
2635
-
2636
- /* +1 in case of mbcset->nranges is 0. */
2637
- new_nranges = 2 * mbcset->nranges + 1;
2638
- /* Use realloc since mbcset->range_starts and mbcset->range_ends
2639
- are NULL if *range_alloc == 0. */
2640
- new_array_start = re_realloc (mbcset->range_starts, wchar_t,
2641
- new_nranges);
2642
- new_array_end = re_realloc (mbcset->range_ends, wchar_t,
2643
- new_nranges);
2644
-
2645
- if (BE (new_array_start == NULL || new_array_end == NULL, 0))
2646
- return REG_ESPACE;
2647
-
2648
- mbcset->range_starts = new_array_start;
2649
- mbcset->range_ends = new_array_end;
2650
- *range_alloc = new_nranges;
2651
- }
2652
-
2653
- mbcset->range_starts[mbcset->nranges] = start_wc;
2654
- mbcset->range_ends[mbcset->nranges++] = end_wc;
2655
- }
2656
-
2657
- /* Build the table for single byte characters. */
2658
- for (wc = 0; wc < SBC_MAX; ++wc)
2659
- {
2660
- cmp_buf[2] = wc;
2661
- if (wcscoll (cmp_buf, cmp_buf + 2) <= 0
2662
- && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0)
2663
- bitset_set (sbcset, wc);
2664
- }
2665
- }
2666
- # else /* not RE_ENABLE_I18N */
2667
- {
2668
- unsigned int ch;
2669
- start_ch = ((start_elem->type == SB_CHAR ) ? start_elem->opr.ch
2670
- : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0]
2671
- : 0));
2672
- end_ch = ((end_elem->type == SB_CHAR ) ? end_elem->opr.ch
2673
- : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0]
2674
- : 0));
2675
- if (start_ch > end_ch)
2676
- return REG_ERANGE;
2677
- /* Build the table for single byte characters. */
2678
- for (ch = 0; ch < SBC_MAX; ++ch)
2679
- if (start_ch <= ch && ch <= end_ch)
2680
- bitset_set (sbcset, ch);
2681
- }
2682
- # endif /* not RE_ENABLE_I18N */
2683
- return REG_NOERROR;
2684
- }
2685
- #endif /* not _LIBC */
2686
-
2687
- #ifndef _LIBC
2688
- /* Helper function for parse_bracket_exp only used in case of NOT _LIBC..
2689
- Build the collating element which is represented by NAME.
2690
- The result are written to MBCSET and SBCSET.
2691
- COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a
2692
- pointer argument since we may update it. */
2693
-
2694
- static reg_errcode_t
2695
- internal_function
2696
- # ifdef RE_ENABLE_I18N
2697
- build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset,
2698
- int *coll_sym_alloc, const unsigned char *name)
2699
- # else /* not RE_ENABLE_I18N */
2700
- build_collating_symbol (bitset_t sbcset, const unsigned char *name)
2701
- # endif /* not RE_ENABLE_I18N */
2702
- {
2703
- size_t name_len = strlen ((const char *) name);
2704
- if (BE (name_len != 1, 0))
2705
- return REG_ECOLLATE;
2706
- else
2707
- {
2708
- bitset_set (sbcset, name[0]);
2709
- return REG_NOERROR;
2710
- }
2711
- }
2712
- #endif /* not _LIBC */
2713
-
2714
- /* This function parse bracket expression like "[abc]", "[a-c]",
2715
- "[[.a-a.]]" etc. */
2716
-
2717
- static bin_tree_t *
2718
- parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
2719
- reg_syntax_t syntax, reg_errcode_t *err)
2720
- {
2721
- #ifdef _LIBC
2722
- const unsigned char *collseqmb;
2723
- const char *collseqwc;
2724
- uint32_t nrules;
2725
- int32_t table_size;
2726
- const int32_t *symb_table;
2727
- const unsigned char *extra;
2728
-
2729
- /* Local function for parse_bracket_exp used in _LIBC environement.
2730
- Seek the collating symbol entry correspondings to NAME.
2731
- Return the index of the symbol in the SYMB_TABLE. */
2732
-
2733
- auto inline int32_t
2734
- __attribute ((always_inline))
2735
- seek_collating_symbol_entry (name, name_len)
2736
- const unsigned char *name;
2737
- size_t name_len;
2738
- {
2739
- int32_t hash = elem_hash ((const char *) name, name_len);
2740
- int32_t elem = hash % table_size;
2741
- if (symb_table[2 * elem] != 0)
2742
- {
2743
- int32_t second = hash % (table_size - 2) + 1;
2744
-
2745
- do
2746
- {
2747
- /* First compare the hashing value. */
2748
- if (symb_table[2 * elem] == hash
2749
- /* Compare the length of the name. */
2750
- && name_len == extra[symb_table[2 * elem + 1]]
2751
- /* Compare the name. */
2752
- && memcmp (name, &extra[symb_table[2 * elem + 1] + 1],
2753
- name_len) == 0)
2754
- {
2755
- /* Yep, this is the entry. */
2756
- break;
2757
- }
2758
-
2759
- /* Next entry. */
2760
- elem += second;
2761
- }
2762
- while (symb_table[2 * elem] != 0);
2763
- }
2764
- return elem;
2765
- }
2766
-
2767
- /* Local function for parse_bracket_exp used in _LIBC environment.
2768
- Look up the collation sequence value of BR_ELEM.
2769
- Return the value if succeeded, UINT_MAX otherwise. */
2770
-
2771
- auto inline unsigned int
2772
- __attribute ((always_inline))
2773
- lookup_collation_sequence_value (br_elem)
2774
- bracket_elem_t *br_elem;
2775
- {
2776
- if (br_elem->type == SB_CHAR)
2777
- {
2778
- /*
2779
- if (MB_CUR_MAX == 1)
2780
- */
2781
- if (nrules == 0)
2782
- return collseqmb[br_elem->opr.ch];
2783
- else
2784
- {
2785
- wint_t wc = __btowc (br_elem->opr.ch);
2786
- return __collseq_table_lookup (collseqwc, wc);
2787
- }
2788
- }
2789
- else if (br_elem->type == MB_CHAR)
2790
- {
2791
- if (nrules != 0)
2792
- return __collseq_table_lookup (collseqwc, br_elem->opr.wch);
2793
- }
2794
- else if (br_elem->type == COLL_SYM)
2795
- {
2796
- size_t sym_name_len = strlen ((char *) br_elem->opr.name);
2797
- if (nrules != 0)
2798
- {
2799
- int32_t elem, idx;
2800
- elem = seek_collating_symbol_entry (br_elem->opr.name,
2801
- sym_name_len);
2802
- if (symb_table[2 * elem] != 0)
2803
- {
2804
- /* We found the entry. */
2805
- idx = symb_table[2 * elem + 1];
2806
- /* Skip the name of collating element name. */
2807
- idx += 1 + extra[idx];
2808
- /* Skip the byte sequence of the collating element. */
2809
- idx += 1 + extra[idx];
2810
- /* Adjust for the alignment. */
2811
- idx = (idx + 3) & ~3;
2812
- /* Skip the multibyte collation sequence value. */
2813
- idx += sizeof (unsigned int);
2814
- /* Skip the wide char sequence of the collating element. */
2815
- idx += sizeof (unsigned int) *
2816
- (1 + *(unsigned int *) (extra + idx));
2817
- /* Return the collation sequence value. */
2818
- return *(unsigned int *) (extra + idx);
2819
- }
2820
- else if (symb_table[2 * elem] == 0 && sym_name_len == 1)
2821
- {
2822
- /* No valid character. Match it as a single byte
2823
- character. */
2824
- return collseqmb[br_elem->opr.name[0]];
2825
- }
2826
- }
2827
- else if (sym_name_len == 1)
2828
- return collseqmb[br_elem->opr.name[0]];
2829
- }
2830
- return UINT_MAX;
2831
- }
2832
-
2833
- /* Local function for parse_bracket_exp used in _LIBC environement.
2834
- Build the range expression which starts from START_ELEM, and ends
2835
- at END_ELEM. The result are written to MBCSET and SBCSET.
2836
- RANGE_ALLOC is the allocated size of mbcset->range_starts, and
2837
- mbcset->range_ends, is a pointer argument sinse we may
2838
- update it. */
2839
-
2840
- auto inline reg_errcode_t
2841
- __attribute ((always_inline))
2842
- build_range_exp (sbcset, mbcset, range_alloc, start_elem, end_elem)
2843
- re_charset_t *mbcset;
2844
- int *range_alloc;
2845
- bitset_t sbcset;
2846
- bracket_elem_t *start_elem, *end_elem;
2847
- {
2848
- unsigned int ch;
2849
- uint32_t start_collseq;
2850
- uint32_t end_collseq;
2851
-
2852
- /* Equivalence Classes and Character Classes can't be a range
2853
- start/end. */
2854
- if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS
2855
- || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS,
2856
- 0))
2857
- return REG_ERANGE;
2858
-
2859
- start_collseq = lookup_collation_sequence_value (start_elem);
2860
- end_collseq = lookup_collation_sequence_value (end_elem);
2861
- /* Check start/end collation sequence values. */
2862
- if (BE (start_collseq == UINT_MAX || end_collseq == UINT_MAX, 0))
2863
- return REG_ECOLLATE;
2864
- if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_collseq > end_collseq, 0))
2865
- return REG_ERANGE;
2866
-
2867
- /* Got valid collation sequence values, add them as a new entry.
2868
- However, if we have no collation elements, and the character set
2869
- is single byte, the single byte character set that we
2870
- build below suffices. */
2871
- if (nrules > 0 || dfa->mb_cur_max > 1)
2872
- {
2873
- /* Check the space of the arrays. */
2874
- if (BE (*range_alloc == mbcset->nranges, 0))
2875
- {
2876
- /* There is not enough space, need realloc. */
2877
- uint32_t *new_array_start;
2878
- uint32_t *new_array_end;
2879
- int new_nranges;
2880
-
2881
- /* +1 in case of mbcset->nranges is 0. */
2882
- new_nranges = 2 * mbcset->nranges + 1;
2883
- new_array_start = re_realloc (mbcset->range_starts, uint32_t,
2884
- new_nranges);
2885
- new_array_end = re_realloc (mbcset->range_ends, uint32_t,
2886
- new_nranges);
2887
-
2888
- if (BE (new_array_start == NULL || new_array_end == NULL, 0))
2889
- return REG_ESPACE;
2890
-
2891
- mbcset->range_starts = new_array_start;
2892
- mbcset->range_ends = new_array_end;
2893
- *range_alloc = new_nranges;
2894
- }
2895
-
2896
- mbcset->range_starts[mbcset->nranges] = start_collseq;
2897
- mbcset->range_ends[mbcset->nranges++] = end_collseq;
2898
- }
2899
-
2900
- /* Build the table for single byte characters. */
2901
- for (ch = 0; ch < SBC_MAX; ch++)
2902
- {
2903
- uint32_t ch_collseq;
2904
- /*
2905
- if (MB_CUR_MAX == 1)
2906
- */
2907
- if (nrules == 0)
2908
- ch_collseq = collseqmb[ch];
2909
- else
2910
- ch_collseq = __collseq_table_lookup (collseqwc, __btowc (ch));
2911
- if (start_collseq <= ch_collseq && ch_collseq <= end_collseq)
2912
- bitset_set (sbcset, ch);
2913
- }
2914
- return REG_NOERROR;
2915
- }
2916
-
2917
- /* Local function for parse_bracket_exp used in _LIBC environement.
2918
- Build the collating element which is represented by NAME.
2919
- The result are written to MBCSET and SBCSET.
2920
- COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a
2921
- pointer argument sinse we may update it. */
2922
-
2923
- auto inline reg_errcode_t
2924
- __attribute ((always_inline))
2925
- build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name)
2926
- re_charset_t *mbcset;
2927
- int *coll_sym_alloc;
2928
- bitset_t sbcset;
2929
- const unsigned char *name;
2930
- {
2931
- int32_t elem, idx;
2932
- size_t name_len = strlen ((const char *) name);
2933
- if (nrules != 0)
2934
- {
2935
- elem = seek_collating_symbol_entry (name, name_len);
2936
- if (symb_table[2 * elem] != 0)
2937
- {
2938
- /* We found the entry. */
2939
- idx = symb_table[2 * elem + 1];
2940
- /* Skip the name of collating element name. */
2941
- idx += 1 + extra[idx];
2942
- }
2943
- else if (symb_table[2 * elem] == 0 && name_len == 1)
2944
- {
2945
- /* No valid character, treat it as a normal
2946
- character. */
2947
- bitset_set (sbcset, name[0]);
2948
- return REG_NOERROR;
2949
- }
2950
- else
2951
- return REG_ECOLLATE;
2952
-
2953
- /* Got valid collation sequence, add it as a new entry. */
2954
- /* Check the space of the arrays. */
2955
- if (BE (*coll_sym_alloc == mbcset->ncoll_syms, 0))
2956
- {
2957
- /* Not enough, realloc it. */
2958
- /* +1 in case of mbcset->ncoll_syms is 0. */
2959
- int new_coll_sym_alloc = 2 * mbcset->ncoll_syms + 1;
2960
- /* Use realloc since mbcset->coll_syms is NULL
2961
- if *alloc == 0. */
2962
- int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t,
2963
- new_coll_sym_alloc);
2964
- if (BE (new_coll_syms == NULL, 0))
2965
- return REG_ESPACE;
2966
- mbcset->coll_syms = new_coll_syms;
2967
- *coll_sym_alloc = new_coll_sym_alloc;
2968
- }
2969
- mbcset->coll_syms[mbcset->ncoll_syms++] = idx;
2970
- return REG_NOERROR;
2971
- }
2972
- else
2973
- {
2974
- if (BE (name_len != 1, 0))
2975
- return REG_ECOLLATE;
2976
- else
2977
- {
2978
- bitset_set (sbcset, name[0]);
2979
- return REG_NOERROR;
2980
- }
2981
- }
2982
- }
2983
- #endif
2984
-
2985
- re_token_t br_token;
2986
- re_bitset_ptr_t sbcset;
2987
- #ifdef RE_ENABLE_I18N
2988
- re_charset_t *mbcset;
2989
- int coll_sym_alloc = 0, range_alloc = 0, mbchar_alloc = 0;
2990
- int equiv_class_alloc = 0, char_class_alloc = 0;
2991
- #endif /* not RE_ENABLE_I18N */
2992
- int non_match = 0;
2993
- bin_tree_t *work_tree;
2994
- int token_len;
2995
- int first_round = 1;
2996
- #ifdef _LIBC
2997
- collseqmb = (const unsigned char *)
2998
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB);
2999
- nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
3000
- if (nrules)
3001
- {
3002
- /*
3003
- if (MB_CUR_MAX > 1)
3004
- */
3005
- collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC);
3006
- table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB);
3007
- symb_table = (const int32_t *) _NL_CURRENT (LC_COLLATE,
3008
- _NL_COLLATE_SYMB_TABLEMB);
3009
- extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE,
3010
- _NL_COLLATE_SYMB_EXTRAMB);
3011
- }
3012
- #endif
3013
- sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
3014
- #ifdef RE_ENABLE_I18N
3015
- mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1);
3016
- #endif /* RE_ENABLE_I18N */
3017
- #ifdef RE_ENABLE_I18N
3018
- if (BE (sbcset == NULL || mbcset == NULL, 0))
3019
- #else
3020
- if (BE (sbcset == NULL, 0))
3021
- #endif /* RE_ENABLE_I18N */
3022
- {
3023
- *err = REG_ESPACE;
3024
- return NULL;
3025
- }
3026
-
3027
- token_len = peek_token_bracket (token, regexp, syntax);
3028
- if (BE (token->type == END_OF_RE, 0))
3029
- {
3030
- *err = REG_BADPAT;
3031
- goto parse_bracket_exp_free_return;
3032
- }
3033
- if (token->type == OP_NON_MATCH_LIST)
3034
- {
3035
- #ifdef RE_ENABLE_I18N
3036
- mbcset->non_match = 1;
3037
- #endif /* not RE_ENABLE_I18N */
3038
- non_match = 1;
3039
- if (syntax & RE_HAT_LISTS_NOT_NEWLINE)
3040
- bitset_set (sbcset, '\n');
3041
- re_string_skip_bytes (regexp, token_len); /* Skip a token. */
3042
- token_len = peek_token_bracket (token, regexp, syntax);
3043
- if (BE (token->type == END_OF_RE, 0))
3044
- {
3045
- *err = REG_BADPAT;
3046
- goto parse_bracket_exp_free_return;
3047
- }
3048
- }
3049
-
3050
- /* We treat the first ']' as a normal character. */
3051
- if (token->type == OP_CLOSE_BRACKET)
3052
- token->type = CHARACTER;
3053
-
3054
- while (1)
3055
- {
3056
- bracket_elem_t start_elem, end_elem;
3057
- unsigned char start_name_buf[BRACKET_NAME_BUF_SIZE];
3058
- unsigned char end_name_buf[BRACKET_NAME_BUF_SIZE];
3059
- reg_errcode_t ret;
3060
- int token_len2 = 0, is_range_exp = 0;
3061
- re_token_t token2;
3062
-
3063
- start_elem.opr.name = start_name_buf;
3064
- ret = parse_bracket_element (&start_elem, regexp, token, token_len, dfa,
3065
- syntax, first_round);
3066
- if (BE (ret != REG_NOERROR, 0))
3067
- {
3068
- *err = ret;
3069
- goto parse_bracket_exp_free_return;
3070
- }
3071
- first_round = 0;
3072
-
3073
- /* Get information about the next token. We need it in any case. */
3074
- token_len = peek_token_bracket (token, regexp, syntax);
3075
-
3076
- /* Do not check for ranges if we know they are not allowed. */
3077
- if (start_elem.type != CHAR_CLASS && start_elem.type != EQUIV_CLASS)
3078
- {
3079
- if (BE (token->type == END_OF_RE, 0))
3080
- {
3081
- *err = REG_EBRACK;
3082
- goto parse_bracket_exp_free_return;
3083
- }
3084
- if (token->type == OP_CHARSET_RANGE)
3085
- {
3086
- re_string_skip_bytes (regexp, token_len); /* Skip '-'. */
3087
- token_len2 = peek_token_bracket (&token2, regexp, syntax);
3088
- if (BE (token2.type == END_OF_RE, 0))
3089
- {
3090
- *err = REG_EBRACK;
3091
- goto parse_bracket_exp_free_return;
3092
- }
3093
- if (token2.type == OP_CLOSE_BRACKET)
3094
- {
3095
- /* We treat the last '-' as a normal character. */
3096
- re_string_skip_bytes (regexp, -token_len);
3097
- token->type = CHARACTER;
3098
- }
3099
- else
3100
- is_range_exp = 1;
3101
- }
3102
- }
3103
-
3104
- if (is_range_exp == 1)
3105
- {
3106
- end_elem.opr.name = end_name_buf;
3107
- ret = parse_bracket_element (&end_elem, regexp, &token2, token_len2,
3108
- dfa, syntax, 1);
3109
- if (BE (ret != REG_NOERROR, 0))
3110
- {
3111
- *err = ret;
3112
- goto parse_bracket_exp_free_return;
3113
- }
3114
-
3115
- token_len = peek_token_bracket (token, regexp, syntax);
3116
-
3117
- #ifdef _LIBC
3118
- *err = build_range_exp (sbcset, mbcset, &range_alloc,
3119
- &start_elem, &end_elem);
3120
- #else
3121
- # ifdef RE_ENABLE_I18N
3122
- *err = build_range_exp (sbcset,
3123
- dfa->mb_cur_max > 1 ? mbcset : NULL,
3124
- &range_alloc, &start_elem, &end_elem);
3125
- # else
3126
- *err = build_range_exp (sbcset, &start_elem, &end_elem);
3127
- # endif
3128
- #endif /* RE_ENABLE_I18N */
3129
- if (BE (*err != REG_NOERROR, 0))
3130
- goto parse_bracket_exp_free_return;
3131
- }
3132
- else
3133
- {
3134
- switch (start_elem.type)
3135
- {
3136
- case SB_CHAR:
3137
- bitset_set (sbcset, start_elem.opr.ch);
3138
- break;
3139
- #ifdef RE_ENABLE_I18N
3140
- case MB_CHAR:
3141
- /* Check whether the array has enough space. */
3142
- if (BE (mbchar_alloc == mbcset->nmbchars, 0))
3143
- {
3144
- wchar_t *new_mbchars;
3145
- /* Not enough, realloc it. */
3146
- /* +1 in case of mbcset->nmbchars is 0. */
3147
- mbchar_alloc = 2 * mbcset->nmbchars + 1;
3148
- /* Use realloc since array is NULL if *alloc == 0. */
3149
- new_mbchars = re_realloc (mbcset->mbchars, wchar_t,
3150
- mbchar_alloc);
3151
- if (BE (new_mbchars == NULL, 0))
3152
- goto parse_bracket_exp_espace;
3153
- mbcset->mbchars = new_mbchars;
3154
- }
3155
- mbcset->mbchars[mbcset->nmbchars++] = start_elem.opr.wch;
3156
- break;
3157
- #endif /* RE_ENABLE_I18N */
3158
- case EQUIV_CLASS:
3159
- *err = build_equiv_class (sbcset,
3160
- #ifdef RE_ENABLE_I18N
3161
- mbcset, &equiv_class_alloc,
3162
- #endif /* RE_ENABLE_I18N */
3163
- start_elem.opr.name);
3164
- if (BE (*err != REG_NOERROR, 0))
3165
- goto parse_bracket_exp_free_return;
3166
- break;
3167
- case COLL_SYM:
3168
- *err = build_collating_symbol (sbcset,
3169
- #ifdef RE_ENABLE_I18N
3170
- mbcset, &coll_sym_alloc,
3171
- #endif /* RE_ENABLE_I18N */
3172
- start_elem.opr.name);
3173
- if (BE (*err != REG_NOERROR, 0))
3174
- goto parse_bracket_exp_free_return;
3175
- break;
3176
- case CHAR_CLASS:
3177
- *err = build_charclass (regexp->trans, sbcset,
3178
- #ifdef RE_ENABLE_I18N
3179
- mbcset, &char_class_alloc,
3180
- #endif /* RE_ENABLE_I18N */
3181
- start_elem.opr.name, syntax);
3182
- if (BE (*err != REG_NOERROR, 0))
3183
- goto parse_bracket_exp_free_return;
3184
- break;
3185
- default:
3186
- assert (0);
3187
- break;
3188
- }
3189
- }
3190
- if (BE (token->type == END_OF_RE, 0))
3191
- {
3192
- *err = REG_EBRACK;
3193
- goto parse_bracket_exp_free_return;
3194
- }
3195
- if (token->type == OP_CLOSE_BRACKET)
3196
- break;
3197
- }
3198
-
3199
- re_string_skip_bytes (regexp, token_len); /* Skip a token. */
3200
-
3201
- /* If it is non-matching list. */
3202
- if (non_match)
3203
- bitset_not (sbcset);
3204
-
3205
- #ifdef RE_ENABLE_I18N
3206
- /* Ensure only single byte characters are set. */
3207
- if (dfa->mb_cur_max > 1)
3208
- bitset_mask (sbcset, dfa->sb_char);
3209
-
3210
- if (mbcset->nmbchars || mbcset->ncoll_syms || mbcset->nequiv_classes
3211
- || mbcset->nranges || (dfa->mb_cur_max > 1 && (mbcset->nchar_classes
3212
- || mbcset->non_match)))
3213
- {
3214
- bin_tree_t *mbc_tree;
3215
- int sbc_idx;
3216
- /* Build a tree for complex bracket. */
3217
- dfa->has_mb_node = 1;
3218
- br_token.type = COMPLEX_BRACKET;
3219
- br_token.opr.mbcset = mbcset;
3220
- mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token);
3221
- if (BE (mbc_tree == NULL, 0))
3222
- goto parse_bracket_exp_espace;
3223
- for (sbc_idx = 0; sbc_idx < BITSET_WORDS; ++sbc_idx)
3224
- if (sbcset[sbc_idx])
3225
- break;
3226
- /* If there are no bits set in sbcset, there is no point
3227
- of having both SIMPLE_BRACKET and COMPLEX_BRACKET. */
3228
- if (sbc_idx < BITSET_WORDS)
3229
- {
3230
- /* Build a tree for simple bracket. */
3231
- br_token.type = SIMPLE_BRACKET;
3232
- br_token.opr.sbcset = sbcset;
3233
- work_tree = create_token_tree (dfa, NULL, NULL, &br_token);
3234
- if (BE (work_tree == NULL, 0))
3235
- goto parse_bracket_exp_espace;
3236
-
3237
- /* Then join them by ALT node. */
3238
- work_tree = create_tree (dfa, work_tree, mbc_tree, OP_ALT);
3239
- if (BE (work_tree == NULL, 0))
3240
- goto parse_bracket_exp_espace;
3241
- }
3242
- else
3243
- {
3244
- re_free (sbcset);
3245
- work_tree = mbc_tree;
3246
- }
3247
- }
3248
- else
3249
- #endif /* not RE_ENABLE_I18N */
3250
- {
3251
- #ifdef RE_ENABLE_I18N
3252
- free_charset (mbcset);
3253
- #endif
3254
- /* Build a tree for simple bracket. */
3255
- br_token.type = SIMPLE_BRACKET;
3256
- br_token.opr.sbcset = sbcset;
3257
- work_tree = create_token_tree (dfa, NULL, NULL, &br_token);
3258
- if (BE (work_tree == NULL, 0))
3259
- goto parse_bracket_exp_espace;
3260
- }
3261
- return work_tree;
3262
-
3263
- parse_bracket_exp_espace:
3264
- *err = REG_ESPACE;
3265
- parse_bracket_exp_free_return:
3266
- re_free (sbcset);
3267
- #ifdef RE_ENABLE_I18N
3268
- free_charset (mbcset);
3269
- #endif /* RE_ENABLE_I18N */
3270
- return NULL;
3271
- }
3272
-
3273
- /* Parse an element in the bracket expression. */
3274
-
3275
- static reg_errcode_t
3276
- parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp,
3277
- re_token_t *token, int token_len, re_dfa_t *dfa,
3278
- reg_syntax_t syntax, int accept_hyphen)
3279
- {
3280
- #ifdef RE_ENABLE_I18N
3281
- int cur_char_size;
3282
- cur_char_size = re_string_char_size_at (regexp, re_string_cur_idx (regexp));
3283
- if (cur_char_size > 1)
3284
- {
3285
- elem->type = MB_CHAR;
3286
- elem->opr.wch = re_string_wchar_at (regexp, re_string_cur_idx (regexp));
3287
- re_string_skip_bytes (regexp, cur_char_size);
3288
- return REG_NOERROR;
3289
- }
3290
- #endif /* RE_ENABLE_I18N */
3291
- re_string_skip_bytes (regexp, token_len); /* Skip a token. */
3292
- if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS
3293
- || token->type == OP_OPEN_EQUIV_CLASS)
3294
- return parse_bracket_symbol (elem, regexp, token);
3295
- if (BE (token->type == OP_CHARSET_RANGE, 0) && !accept_hyphen)
3296
- {
3297
- /* A '-' must only appear as anything but a range indicator before
3298
- the closing bracket. Everything else is an error. */
3299
- re_token_t token2;
3300
- (void) peek_token_bracket (&token2, regexp, syntax);
3301
- if (token2.type != OP_CLOSE_BRACKET)
3302
- /* The actual error value is not standardized since this whole
3303
- case is undefined. But ERANGE makes good sense. */
3304
- return REG_ERANGE;
3305
- }
3306
- elem->type = SB_CHAR;
3307
- elem->opr.ch = token->opr.c;
3308
- return REG_NOERROR;
3309
- }
3310
-
3311
- /* Parse a bracket symbol in the bracket expression. Bracket symbols are
3312
- such as [:<character_class>:], [.<collating_element>.], and
3313
- [=<equivalent_class>=]. */
3314
-
3315
- static reg_errcode_t
3316
- parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp,
3317
- re_token_t *token)
3318
- {
3319
- unsigned char ch, delim = token->opr.c;
3320
- int i = 0;
3321
- if (re_string_eoi(regexp))
3322
- return REG_EBRACK;
3323
- for (;; ++i)
3324
- {
3325
- if (i >= BRACKET_NAME_BUF_SIZE)
3326
- return REG_EBRACK;
3327
- if (token->type == OP_OPEN_CHAR_CLASS)
3328
- ch = re_string_fetch_byte_case (regexp);
3329
- else
3330
- ch = re_string_fetch_byte (regexp);
3331
- if (re_string_eoi(regexp))
3332
- return REG_EBRACK;
3333
- if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
3334
- break;
3335
- elem->opr.name[i] = ch;
3336
- }
3337
- re_string_skip_bytes (regexp, 1);
3338
- elem->opr.name[i] = '\0';
3339
- switch (token->type)
3340
- {
3341
- case OP_OPEN_COLL_ELEM:
3342
- elem->type = COLL_SYM;
3343
- break;
3344
- case OP_OPEN_EQUIV_CLASS:
3345
- elem->type = EQUIV_CLASS;
3346
- break;
3347
- case OP_OPEN_CHAR_CLASS:
3348
- elem->type = CHAR_CLASS;
3349
- break;
3350
- default:
3351
- break;
3352
- }
3353
- return REG_NOERROR;
3354
- }
3355
-
3356
- /* Helper function for parse_bracket_exp.
3357
- Build the equivalence class which is represented by NAME.
3358
- The result are written to MBCSET and SBCSET.
3359
- EQUIV_CLASS_ALLOC is the allocated size of mbcset->equiv_classes,
3360
- is a pointer argument sinse we may update it. */
3361
-
3362
- static reg_errcode_t
3363
- #ifdef RE_ENABLE_I18N
3364
- build_equiv_class (bitset_t sbcset, re_charset_t *mbcset,
3365
- int *equiv_class_alloc, const unsigned char *name)
3366
- #else /* not RE_ENABLE_I18N */
3367
- build_equiv_class (bitset_t sbcset, const unsigned char *name)
3368
- #endif /* not RE_ENABLE_I18N */
3369
- {
3370
- #ifdef _LIBC
3371
- uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
3372
- if (nrules != 0)
3373
- {
3374
- const int32_t *table, *indirect;
3375
- const unsigned char *weights, *extra, *cp;
3376
- unsigned char char_buf[2];
3377
- int32_t idx1, idx2;
3378
- unsigned int ch;
3379
- size_t len;
3380
- /* This #include defines a local function! */
3381
- # include <locale/weight.h>
3382
- /* Calculate the index for equivalence class. */
3383
- cp = name;
3384
- table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB);
3385
- weights = (const unsigned char *) _NL_CURRENT (LC_COLLATE,
3386
- _NL_COLLATE_WEIGHTMB);
3387
- extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE,
3388
- _NL_COLLATE_EXTRAMB);
3389
- indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
3390
- _NL_COLLATE_INDIRECTMB);
3391
- idx1 = findidx (&cp);
3392
- if (BE (idx1 == 0 || cp < name + strlen ((const char *) name), 0))
3393
- /* This isn't a valid character. */
3394
- return REG_ECOLLATE;
3395
-
3396
- /* Build single byte matcing table for this equivalence class. */
3397
- char_buf[1] = (unsigned char) '\0';
3398
- len = weights[idx1 & 0xffffff];
3399
- for (ch = 0; ch < SBC_MAX; ++ch)
3400
- {
3401
- char_buf[0] = ch;
3402
- cp = char_buf;
3403
- idx2 = findidx (&cp);
3404
- /*
3405
- idx2 = table[ch];
3406
- */
3407
- if (idx2 == 0)
3408
- /* This isn't a valid character. */
3409
- continue;
3410
- /* Compare only if the length matches and the collation rule
3411
- index is the same. */
3412
- if (len == weights[idx2 & 0xffffff] && (idx1 >> 24) == (idx2 >> 24))
3413
- {
3414
- int cnt = 0;
3415
-
3416
- while (cnt <= len &&
3417
- weights[(idx1 & 0xffffff) + 1 + cnt]
3418
- == weights[(idx2 & 0xffffff) + 1 + cnt])
3419
- ++cnt;
3420
-
3421
- if (cnt > len)
3422
- bitset_set (sbcset, ch);
3423
- }
3424
- }
3425
- /* Check whether the array has enough space. */
3426
- if (BE (*equiv_class_alloc == mbcset->nequiv_classes, 0))
3427
- {
3428
- /* Not enough, realloc it. */
3429
- /* +1 in case of mbcset->nequiv_classes is 0. */
3430
- int new_equiv_class_alloc = 2 * mbcset->nequiv_classes + 1;
3431
- /* Use realloc since the array is NULL if *alloc == 0. */
3432
- int32_t *new_equiv_classes = re_realloc (mbcset->equiv_classes,
3433
- int32_t,
3434
- new_equiv_class_alloc);
3435
- if (BE (new_equiv_classes == NULL, 0))
3436
- return REG_ESPACE;
3437
- mbcset->equiv_classes = new_equiv_classes;
3438
- *equiv_class_alloc = new_equiv_class_alloc;
3439
- }
3440
- mbcset->equiv_classes[mbcset->nequiv_classes++] = idx1;
3441
- }
3442
- else
3443
- #endif /* _LIBC */
3444
- {
3445
- if (BE (strlen ((const char *) name) != 1, 0))
3446
- return REG_ECOLLATE;
3447
- bitset_set (sbcset, *name);
3448
- }
3449
- return REG_NOERROR;
3450
- }
3451
-
3452
- /* Helper function for parse_bracket_exp.
3453
- Build the character class which is represented by NAME.
3454
- The result are written to MBCSET and SBCSET.
3455
- CHAR_CLASS_ALLOC is the allocated size of mbcset->char_classes,
3456
- is a pointer argument sinse we may update it. */
3457
-
3458
- static reg_errcode_t
3459
- #ifdef RE_ENABLE_I18N
3460
- build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
3461
- re_charset_t *mbcset, int *char_class_alloc,
3462
- const unsigned char *class_name, reg_syntax_t syntax)
3463
- #else /* not RE_ENABLE_I18N */
3464
- build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
3465
- const unsigned char *class_name, reg_syntax_t syntax)
3466
- #endif /* not RE_ENABLE_I18N */
3467
- {
3468
- int i;
3469
- const char *name = (const char *) class_name;
3470
-
3471
- /* In case of REG_ICASE "upper" and "lower" match the both of
3472
- upper and lower cases. */
3473
- if ((syntax & RE_ICASE)
3474
- && (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0))
3475
- name = "alpha";
3476
-
3477
- #ifdef RE_ENABLE_I18N
3478
- /* Check the space of the arrays. */
3479
- if (BE (*char_class_alloc == mbcset->nchar_classes, 0))
3480
- {
3481
- /* Not enough, realloc it. */
3482
- /* +1 in case of mbcset->nchar_classes is 0. */
3483
- int new_char_class_alloc = 2 * mbcset->nchar_classes + 1;
3484
- /* Use realloc since array is NULL if *alloc == 0. */
3485
- wctype_t *new_char_classes = re_realloc (mbcset->char_classes, wctype_t,
3486
- new_char_class_alloc);
3487
- if (BE (new_char_classes == NULL, 0))
3488
- return REG_ESPACE;
3489
- mbcset->char_classes = new_char_classes;
3490
- *char_class_alloc = new_char_class_alloc;
3491
- }
3492
- mbcset->char_classes[mbcset->nchar_classes++] = __wctype (name);
3493
- #endif /* RE_ENABLE_I18N */
3494
-
3495
- #define BUILD_CHARCLASS_LOOP(ctype_func) \
3496
- do { \
3497
- if (BE (trans != NULL, 0)) \
3498
- { \
3499
- for (i = 0; i < SBC_MAX; ++i) \
3500
- if (ctype_func (i)) \
3501
- bitset_set (sbcset, trans[i]); \
3502
- } \
3503
- else \
3504
- { \
3505
- for (i = 0; i < SBC_MAX; ++i) \
3506
- if (ctype_func (i)) \
3507
- bitset_set (sbcset, i); \
3508
- } \
3509
- } while (0)
3510
-
3511
- if (strcmp (name, "alnum") == 0)
3512
- BUILD_CHARCLASS_LOOP (isalnum);
3513
- else if (strcmp (name, "cntrl") == 0)
3514
- BUILD_CHARCLASS_LOOP (iscntrl);
3515
- else if (strcmp (name, "lower") == 0)
3516
- BUILD_CHARCLASS_LOOP (islower);
3517
- else if (strcmp (name, "space") == 0)
3518
- BUILD_CHARCLASS_LOOP (isspace);
3519
- else if (strcmp (name, "alpha") == 0)
3520
- BUILD_CHARCLASS_LOOP (isalpha);
3521
- else if (strcmp (name, "digit") == 0)
3522
- BUILD_CHARCLASS_LOOP (isdigit);
3523
- else if (strcmp (name, "print") == 0)
3524
- BUILD_CHARCLASS_LOOP (isprint);
3525
- else if (strcmp (name, "upper") == 0)
3526
- BUILD_CHARCLASS_LOOP (isupper);
3527
- else if (strcmp (name, "blank") == 0)
3528
- BUILD_CHARCLASS_LOOP (isblank);
3529
- else if (strcmp (name, "graph") == 0)
3530
- BUILD_CHARCLASS_LOOP (isgraph);
3531
- else if (strcmp (name, "punct") == 0)
3532
- BUILD_CHARCLASS_LOOP (ispunct);
3533
- else if (strcmp (name, "xdigit") == 0)
3534
- BUILD_CHARCLASS_LOOP (isxdigit);
3535
- else
3536
- return REG_ECTYPE;
3537
-
3538
- return REG_NOERROR;
3539
- }
3540
-
3541
- static bin_tree_t *
3542
- build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
3543
- const unsigned char *class_name,
3544
- const unsigned char *extra, int non_match,
3545
- reg_errcode_t *err)
3546
- {
3547
- re_bitset_ptr_t sbcset;
3548
- #ifdef RE_ENABLE_I18N
3549
- re_charset_t *mbcset;
3550
- int alloc = 0;
3551
- #endif /* not RE_ENABLE_I18N */
3552
- reg_errcode_t ret;
3553
- re_token_t br_token;
3554
- bin_tree_t *tree;
3555
-
3556
- sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
3557
- #ifdef RE_ENABLE_I18N
3558
- mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1);
3559
- #endif /* RE_ENABLE_I18N */
3560
-
3561
- #ifdef RE_ENABLE_I18N
3562
- if (BE (sbcset == NULL || mbcset == NULL, 0))
3563
- #else /* not RE_ENABLE_I18N */
3564
- if (BE (sbcset == NULL, 0))
3565
- #endif /* not RE_ENABLE_I18N */
3566
- {
3567
- *err = REG_ESPACE;
3568
- return NULL;
3569
- }
3570
-
3571
- if (non_match)
3572
- {
3573
- #ifdef RE_ENABLE_I18N
3574
- mbcset->non_match = 1;
3575
- #endif /* not RE_ENABLE_I18N */
3576
- }
3577
-
3578
- /* We don't care the syntax in this case. */
3579
- ret = build_charclass (trans, sbcset,
3580
- #ifdef RE_ENABLE_I18N
3581
- mbcset, &alloc,
3582
- #endif /* RE_ENABLE_I18N */
3583
- class_name, 0);
3584
-
3585
- if (BE (ret != REG_NOERROR, 0))
3586
- {
3587
- re_free (sbcset);
3588
- #ifdef RE_ENABLE_I18N
3589
- free_charset (mbcset);
3590
- #endif /* RE_ENABLE_I18N */
3591
- *err = ret;
3592
- return NULL;
3593
- }
3594
- /* \w match '_' also. */
3595
- for (; *extra; extra++)
3596
- bitset_set (sbcset, *extra);
3597
-
3598
- /* If it is non-matching list. */
3599
- if (non_match)
3600
- bitset_not (sbcset);
3601
-
3602
- #ifdef RE_ENABLE_I18N
3603
- /* Ensure only single byte characters are set. */
3604
- if (dfa->mb_cur_max > 1)
3605
- bitset_mask (sbcset, dfa->sb_char);
3606
- #endif
3607
-
3608
- /* Build a tree for simple bracket. */
3609
- br_token.type = SIMPLE_BRACKET;
3610
- br_token.opr.sbcset = sbcset;
3611
- tree = create_token_tree (dfa, NULL, NULL, &br_token);
3612
- if (BE (tree == NULL, 0))
3613
- goto build_word_op_espace;
3614
-
3615
- #ifdef RE_ENABLE_I18N
3616
- if (dfa->mb_cur_max > 1)
3617
- {
3618
- bin_tree_t *mbc_tree;
3619
- /* Build a tree for complex bracket. */
3620
- br_token.type = COMPLEX_BRACKET;
3621
- br_token.opr.mbcset = mbcset;
3622
- dfa->has_mb_node = 1;
3623
- mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token);
3624
- if (BE (mbc_tree == NULL, 0))
3625
- goto build_word_op_espace;
3626
- /* Then join them by ALT node. */
3627
- tree = create_tree (dfa, tree, mbc_tree, OP_ALT);
3628
- if (BE (mbc_tree != NULL, 1))
3629
- return tree;
3630
- }
3631
- else
3632
- {
3633
- free_charset (mbcset);
3634
- return tree;
3635
- }
3636
- #else /* not RE_ENABLE_I18N */
3637
- return tree;
3638
- #endif /* not RE_ENABLE_I18N */
3639
-
3640
- build_word_op_espace:
3641
- re_free (sbcset);
3642
- #ifdef RE_ENABLE_I18N
3643
- free_charset (mbcset);
3644
- #endif /* RE_ENABLE_I18N */
3645
- *err = REG_ESPACE;
3646
- return NULL;
3647
- }
3648
-
3649
- /* This is intended for the expressions like "a{1,3}".
3650
- Fetch a number from `input', and return the number.
3651
- Return -1, if the number field is empty like "{,1}".
3652
- Return -2, If an error is occured. */
3653
-
3654
- static int
3655
- fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax)
3656
- {
3657
- int num = -1;
3658
- unsigned char c;
3659
- while (1)
3660
- {
3661
- fetch_token (token, input, syntax);
3662
- c = token->opr.c;
3663
- if (BE (token->type == END_OF_RE, 0))
3664
- return -2;
3665
- if (token->type == OP_CLOSE_DUP_NUM || c == ',')
3666
- break;
3667
- num = ((token->type != CHARACTER || c < '0' || '9' < c || num == -2)
3668
- ? -2 : ((num == -1) ? c - '0' : num * 10 + c - '0'));
3669
- num = (num > RE_DUP_MAX) ? -2 : num;
3670
- }
3671
- return num;
3672
- }
3673
-
3674
- #ifdef RE_ENABLE_I18N
3675
- static void
3676
- free_charset (re_charset_t *cset)
3677
- {
3678
- re_free (cset->mbchars);
3679
- # ifdef _LIBC
3680
- re_free (cset->coll_syms);
3681
- re_free (cset->equiv_classes);
3682
- re_free (cset->range_starts);
3683
- re_free (cset->range_ends);
3684
- # endif
3685
- re_free (cset->char_classes);
3686
- re_free (cset);
3687
- }
3688
- #endif /* RE_ENABLE_I18N */
3689
-
3690
- /* Functions for binary tree operation. */
3691
-
3692
- /* Create a tree node. */
3693
-
3694
- static bin_tree_t *
3695
- create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
3696
- re_token_type_t type)
3697
- {
3698
- re_token_t t;
3699
- t.type = type;
3700
- return create_token_tree (dfa, left, right, &t);
3701
- }
3702
-
3703
- static bin_tree_t *
3704
- create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
3705
- const re_token_t *token)
3706
- {
3707
- bin_tree_t *tree;
3708
- if (BE (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE, 0))
3709
- {
3710
- bin_tree_storage_t *storage = re_malloc (bin_tree_storage_t, 1);
3711
-
3712
- if (storage == NULL)
3713
- return NULL;
3714
- storage->next = dfa->str_tree_storage;
3715
- dfa->str_tree_storage = storage;
3716
- dfa->str_tree_storage_idx = 0;
3717
- }
3718
- tree = &dfa->str_tree_storage->data[dfa->str_tree_storage_idx++];
3719
-
3720
- tree->parent = NULL;
3721
- tree->left = left;
3722
- tree->right = right;
3723
- tree->token = *token;
3724
- tree->token.duplicated = 0;
3725
- tree->token.opt_subexp = 0;
3726
- tree->first = NULL;
3727
- tree->next = NULL;
3728
- tree->node_idx = -1;
3729
-
3730
- if (left != NULL)
3731
- left->parent = tree;
3732
- if (right != NULL)
3733
- right->parent = tree;
3734
- return tree;
3735
- }
3736
-
3737
- /* Mark the tree SRC as an optional subexpression.
3738
- To be called from preorder or postorder. */
3739
-
3740
- static reg_errcode_t
3741
- mark_opt_subexp (void *extra, bin_tree_t *node)
3742
- {
3743
- int idx = (int) (long) extra;
3744
- if (node->token.type == SUBEXP && node->token.opr.idx == idx)
3745
- node->token.opt_subexp = 1;
3746
-
3747
- return REG_NOERROR;
3748
- }
3749
-
3750
- /* Free the allocated memory inside NODE. */
3751
-
3752
- static void
3753
- free_token (re_token_t *node)
3754
- {
3755
- #ifdef RE_ENABLE_I18N
3756
- if (node->type == COMPLEX_BRACKET && node->duplicated == 0)
3757
- free_charset (node->opr.mbcset);
3758
- else
3759
- #endif /* RE_ENABLE_I18N */
3760
- if (node->type == SIMPLE_BRACKET && node->duplicated == 0)
3761
- re_free (node->opr.sbcset);
3762
- }
3763
-
3764
- /* Worker function for tree walking. Free the allocated memory inside NODE
3765
- and its children. */
3766
-
3767
- static reg_errcode_t
3768
- free_tree (void *extra, bin_tree_t *node)
3769
- {
3770
- free_token (&node->token);
3771
- return REG_NOERROR;
3772
- }
3773
-
3774
-
3775
- /* Duplicate the node SRC, and return new node. This is a preorder
3776
- visit similar to the one implemented by the generic visitor, but
3777
- we need more infrastructure to maintain two parallel trees --- so,
3778
- it's easier to duplicate. */
3779
-
3780
- static bin_tree_t *
3781
- duplicate_tree (const bin_tree_t *root, re_dfa_t *dfa)
3782
- {
3783
- const bin_tree_t *node;
3784
- bin_tree_t *dup_root;
3785
- bin_tree_t **p_new = &dup_root, *dup_node = root->parent;
3786
-
3787
- for (node = root; ; )
3788
- {
3789
- /* Create a new tree and link it back to the current parent. */
3790
- *p_new = create_token_tree (dfa, NULL, NULL, &node->token);
3791
- if (*p_new == NULL)
3792
- return NULL;
3793
- (*p_new)->parent = dup_node;
3794
- (*p_new)->token.duplicated = 1;
3795
- dup_node = *p_new;
3796
-
3797
- /* Go to the left node, or up and to the right. */
3798
- if (node->left)
3799
- {
3800
- node = node->left;
3801
- p_new = &dup_node->left;
3802
- }
3803
- else
3804
- {
3805
- const bin_tree_t *prev = NULL;
3806
- while (node->right == prev || node->right == NULL)
3807
- {
3808
- prev = node;
3809
- node = node->parent;
3810
- dup_node = dup_node->parent;
3811
- if (!node)
3812
- return dup_root;
3813
- }
3814
- node = node->right;
3815
- p_new = &dup_node->right;
3816
- }
3817
- }
3818
- }