tree-sitter 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (930) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -8
  3. data/Rakefile +19 -4
  4. data/ext/tree-sitter/Makefile +24 -0
  5. data/ext/tree-sitter/document.c +149 -0
  6. data/ext/tree-sitter/document.h +17 -0
  7. data/ext/tree-sitter/extconf.rb +55 -15
  8. data/ext/tree-sitter/node.c +300 -0
  9. data/ext/tree-sitter/node.h +34 -0
  10. data/ext/tree-sitter/out/document.o +0 -0
  11. data/ext/tree-sitter/out/get_changed_ranges.o +0 -0
  12. data/ext/tree-sitter/out/language.o +0 -0
  13. data/ext/tree-sitter/out/lexer.o +0 -0
  14. data/ext/tree-sitter/out/libruntime.a +0 -0
  15. data/ext/tree-sitter/out/node.o +0 -0
  16. data/ext/tree-sitter/out/parser.o +0 -0
  17. data/ext/tree-sitter/out/python/parser.c +65600 -0
  18. data/ext/tree-sitter/out/python/parser.o +0 -0
  19. data/ext/tree-sitter/out/python/scanner.cc +164 -0
  20. data/ext/tree-sitter/out/python/scanner.o +0 -0
  21. data/ext/tree-sitter/out/stack.o +0 -0
  22. data/ext/tree-sitter/out/string_input.o +0 -0
  23. data/ext/tree-sitter/out/tree.o +0 -0
  24. data/ext/tree-sitter/out/utf16.o +0 -0
  25. data/ext/tree-sitter/out/utf8proc.o +0 -0
  26. data/ext/tree-sitter/tree-sitter.c +4 -109
  27. data/ext/tree-sitter/tree-sitter.h +4 -0
  28. data/ext/tree-sitter/tree-sitter/LICENSE +7 -0
  29. data/ext/tree-sitter/tree-sitter/README.md +13 -13
  30. data/ext/tree-sitter/tree-sitter/appveyor.yml +24 -0
  31. data/ext/tree-sitter/tree-sitter/docs/Gemfile +2 -0
  32. data/ext/tree-sitter/tree-sitter/docs/Gemfile.lock +239 -0
  33. data/ext/tree-sitter/tree-sitter/docs/_config.yml +1 -0
  34. data/ext/tree-sitter/tree-sitter/docs/_layouts/table-of-contents.html +74 -0
  35. data/ext/tree-sitter/tree-sitter/docs/creating-parsers.md +360 -0
  36. data/ext/tree-sitter/tree-sitter/docs/css/style.css +13 -0
  37. data/ext/tree-sitter/tree-sitter/docs/index.md +10 -0
  38. data/ext/tree-sitter/tree-sitter/externals/gyp/PRESUBMIT.py +10 -2
  39. data/ext/tree-sitter/tree-sitter/externals/gyp/buildbot/aosp_manifest.xml +466 -0
  40. data/ext/tree-sitter/tree-sitter/externals/gyp/buildbot/buildbot_run.py +91 -30
  41. data/ext/tree-sitter/tree-sitter/externals/gyp/gyp +1 -1
  42. data/ext/tree-sitter/tree-sitter/externals/gyp/gyptest.py +3 -3
  43. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/MSVSNew.py +1 -1
  44. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/MSVSSettings.py +11 -5
  45. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/MSVSSettings_test.py +1 -1
  46. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/MSVSUtil.py +18 -15
  47. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/MSVSVersion.py +53 -20
  48. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/__init__.py +4 -6
  49. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/__init__.pyc +0 -0
  50. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/common.py +69 -2
  51. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/common.pyc +0 -0
  52. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/flock_tool.py +6 -1
  53. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/__init__.pyc +0 -0
  54. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/analyzer.py +569 -0
  55. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/android.py +133 -111
  56. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/cmake.py +3 -3
  57. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/eclipse.py +112 -22
  58. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/gypd.py +3 -0
  59. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/make.py +45 -14
  60. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/make.pyc +0 -0
  61. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/msvs.py +170 -98
  62. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/ninja.py +300 -71
  63. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/ninja_test.py +12 -9
  64. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/xcode.py +46 -12
  65. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/generator/xcode.pyc +0 -0
  66. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/input.py +379 -335
  67. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/input.pyc +0 -0
  68. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/input_test.py +7 -7
  69. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/mac_tool.py +94 -3
  70. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/msvs_emulation.py +131 -40
  71. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/simple_copy.py +46 -0
  72. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/win_tool.py +28 -5
  73. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/xcode_emulation.py +185 -88
  74. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/xcode_emulation.pyc +0 -0
  75. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/xcode_ninja.py +268 -0
  76. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/xcodeproj_file.py +53 -46
  77. data/ext/tree-sitter/tree-sitter/externals/gyp/pylib/gyp/xcodeproj_file.pyc +0 -0
  78. data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions-bare/gyptest-bare.py +1 -0
  79. data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions-depfile/depfile.gyp +25 -0
  80. data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions-depfile/gyptest-all.py +20 -0
  81. data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions-depfile/input.txt +1 -0
  82. data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions-none/gyptest-none.py +1 -0
  83. data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions/gyptest-all.py +1 -1
  84. data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions/gyptest-default.py +1 -1
  85. data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions/gyptest-generated-header.py +6 -0
  86. data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions/src/subdir1/program.c +1 -1
  87. data/ext/tree-sitter/tree-sitter/externals/gyp/test/actions/src/subdir3/generate_main.py +1 -1
  88. data/ext/tree-sitter/tree-sitter/externals/gyp/test/additional-targets/gyptest-additional.py +8 -1
  89. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/common.gypi +6 -0
  90. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/gyptest-analyzer.py +356 -0
  91. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/subdir/subdir.gyp +36 -0
  92. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/subdir/subdir2/subdir2.gyp +15 -0
  93. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/subdir2/subdir.gyp +18 -0
  94. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/subdir2/subdir.includes.gypi +9 -0
  95. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test.gyp +113 -0
  96. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test2.gyp +25 -0
  97. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test2.includes.gypi +13 -0
  98. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test2.includes.includes.gypi +9 -0
  99. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test2.toplevel_includes.gypi +15 -0
  100. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test3.gyp +77 -0
  101. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test4.gyp +80 -0
  102. data/ext/tree-sitter/tree-sitter/externals/gyp/test/analyzer/test5.gyp +25 -0
  103. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/32or64.c +13 -0
  104. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/file.in +1 -0
  105. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-host-multilib.py +32 -0
  106. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-make-functions.py +24 -0
  107. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-noalias.py +21 -0
  108. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-settings-list.py +24 -0
  109. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-settings.py +24 -0
  110. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/gyptest-space-filenames.py +19 -0
  111. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/hello.c +12 -0
  112. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/hello.gyp +15 -0
  113. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/host_32or64.gyp +38 -0
  114. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/make_functions.gyp +31 -0
  115. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/settings-list.gyp +18 -0
  116. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/settings.gyp +18 -0
  117. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/space_filenames.gyp +18 -0
  118. data/ext/tree-sitter/tree-sitter/externals/gyp/test/android/writefile.c +18 -0
  119. data/ext/tree-sitter/tree-sitter/externals/gyp/test/assembly/src/program.c +1 -1
  120. data/ext/tree-sitter/tree-sitter/externals/gyp/test/build-option/gyptest-build.py +11 -0
  121. data/ext/tree-sitter/tree-sitter/externals/gyp/test/build-option/hello.c +1 -1
  122. data/ext/tree-sitter/tree-sitter/externals/gyp/test/builddir/src/prog1.c +1 -1
  123. data/ext/tree-sitter/tree-sitter/externals/gyp/test/builddir/src/subdir2/prog2.c +1 -1
  124. data/ext/tree-sitter/tree-sitter/externals/gyp/test/builddir/src/subdir2/subdir3/prog3.c +1 -1
  125. data/ext/tree-sitter/tree-sitter/externals/gyp/test/builddir/src/subdir2/subdir3/subdir4/prog4.c +1 -1
  126. data/ext/tree-sitter/tree-sitter/externals/gyp/test/builddir/src/subdir2/subdir3/subdir4/subdir5/prog5.c +1 -1
  127. data/ext/tree-sitter/tree-sitter/externals/gyp/test/cflags/cflags.c +1 -1
  128. data/ext/tree-sitter/tree-sitter/externals/gyp/test/cflags/gyptest-cflags.py +15 -55
  129. data/ext/tree-sitter/tree-sitter/externals/gyp/test/compilable/src/program.cpp +1 -1
  130. data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/{compiler.gyp → compiler-exe.gyp} +0 -0
  131. data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/compiler-shared-lib.gyp +16 -0
  132. data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/gyptest-compiler-env-toolchain.py +78 -0
  133. data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/gyptest-compiler-env.py +9 -11
  134. data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/gyptest-compiler-global-settings.py +5 -0
  135. data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/my_nm.py +8 -0
  136. data/ext/tree-sitter/tree-sitter/externals/gyp/test/compiler-override/my_readelf.py +8 -0
  137. data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/elseif.gyp +43 -0
  138. data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/elseif_bad1.gyp +20 -0
  139. data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/elseif_bad2.gyp +22 -0
  140. data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/elseif_bad3.gyp +23 -0
  141. data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/elseif_conditions.gypi +15 -0
  142. data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/gyptest_elseif.py +33 -0
  143. data/ext/tree-sitter/tree-sitter/externals/gyp/test/conditions/elseif/program.cc +10 -0
  144. data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/basics/configurations.c +1 -1
  145. data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/basics/gyptest-configurations.py +6 -0
  146. data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/inheritance/configurations.c +1 -1
  147. data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/inheritance/duplicates.gyp +27 -0
  148. data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/inheritance/duplicates.gypd.golden +12 -0
  149. data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/inheritance/gyptest-duplicates.py +34 -0
  150. data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/inheritance/gyptest-inheritance.py +6 -0
  151. data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/target_platform/front.c +1 -1
  152. data/ext/tree-sitter/tree-sitter/externals/gyp/test/configurations/x64/configurations.c +1 -1
  153. data/ext/tree-sitter/tree-sitter/externals/gyp/test/copies/gyptest-all.py +3 -1
  154. data/ext/tree-sitter/tree-sitter/externals/gyp/test/copies/gyptest-default.py +3 -1
  155. data/ext/tree-sitter/tree-sitter/externals/gyp/test/copies/gyptest-samedir.py +1 -0
  156. data/ext/tree-sitter/tree-sitter/externals/gyp/test/copies/gyptest-slash.py +1 -0
  157. data/ext/tree-sitter/tree-sitter/externals/gyp/test/copies/gyptest-updir.py +1 -0
  158. data/ext/tree-sitter/tree-sitter/externals/gyp/test/cxxflags/cxxflags.cc +4 -4
  159. data/ext/tree-sitter/tree-sitter/externals/gyp/test/cxxflags/cxxflags.gyp +0 -1
  160. data/ext/tree-sitter/tree-sitter/externals/gyp/test/cxxflags/gyptest-cxxflags.py +13 -33
  161. data/ext/tree-sitter/tree-sitter/externals/gyp/test/defines-escaping/defines-escaping.c +1 -1
  162. data/ext/tree-sitter/tree-sitter/externals/gyp/test/defines/defines.c +1 -1
  163. data/ext/tree-sitter/tree-sitter/externals/gyp/test/dependencies/gyptest-extra-targets.py +2 -1
  164. data/ext/tree-sitter/tree-sitter/externals/gyp/test/dependencies/gyptest-lib-only.py +1 -1
  165. data/ext/tree-sitter/tree-sitter/externals/gyp/test/dependency-copy/src/file1.c +1 -1
  166. data/ext/tree-sitter/tree-sitter/externals/gyp/test/dependency-copy/src/file2.c +1 -1
  167. data/ext/tree-sitter/tree-sitter/externals/gyp/test/empty-target/empty-target.gyp +12 -0
  168. data/ext/tree-sitter/tree-sitter/externals/gyp/test/empty-target/gyptest-empty-target.py +18 -0
  169. data/ext/tree-sitter/tree-sitter/externals/gyp/test/errors/dependency_cycle.gyp +23 -0
  170. data/ext/tree-sitter/tree-sitter/externals/gyp/test/errors/file_cycle0.gyp +17 -0
  171. data/ext/tree-sitter/tree-sitter/externals/gyp/test/errors/file_cycle1.gyp +13 -0
  172. data/ext/tree-sitter/tree-sitter/externals/gyp/test/errors/gyptest-errors.py +10 -2
  173. data/ext/tree-sitter/tree-sitter/externals/gyp/test/exclusion/hello.c +1 -1
  174. data/ext/tree-sitter/tree-sitter/externals/gyp/test/external-cross-compile/src/program.cc +1 -1
  175. data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/actions/subdir1/program.c +1 -1
  176. data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/gyptest-copies.py +3 -2
  177. data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/rules/subdir1/program.c +1 -1
  178. data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/src/prog1.c +1 -1
  179. data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/src/subdir2/deeper/deeper.c +1 -1
  180. data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/src/subdir2/prog2.c +1 -1
  181. data/ext/tree-sitter/tree-sitter/externals/gyp/test/generator-output/src/subdir3/prog3.c +1 -1
  182. data/ext/tree-sitter/tree-sitter/externals/gyp/test/gyp-defines/gyptest-multiple-values.py +2 -0
  183. data/ext/tree-sitter/tree-sitter/externals/gyp/test/hello/hello.c +1 -1
  184. data/ext/tree-sitter/tree-sitter/externals/gyp/test/hello/hello2.c +1 -1
  185. data/ext/tree-sitter/tree-sitter/externals/gyp/test/home_dot_gyp/src/printfoo.c +1 -1
  186. data/ext/tree-sitter/tree-sitter/externals/gyp/test/include_dirs/src/includes.c +1 -1
  187. data/ext/tree-sitter/tree-sitter/externals/gyp/test/include_dirs/src/subdir/subdir_includes.c +1 -1
  188. data/ext/tree-sitter/tree-sitter/externals/gyp/test/intermediate_dir/gyptest-intermediate-dir.py +2 -0
  189. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/TestApp/Images.xcassets/AppIcon.appiconset/Contents.json +58 -0
  190. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/TestApp/Images.xcassets/image.imageset/Contents.json +23 -0
  191. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain.png +0 -0
  192. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain@2x.png +0 -0
  193. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain@3x.png +0 -0
  194. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/test-assets-catalog.gyp +45 -0
  195. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/test-crosscompile.gyp +47 -0
  196. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/test.gyp +0 -1
  197. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/app-bundle/tool_main.cc +7 -0
  198. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ActionExtension/ActionViewController.h +9 -0
  199. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ActionExtension/ActionViewController.m +31 -0
  200. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ActionExtension/Info.plist +42 -0
  201. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ActionExtension/MainInterface.storyboard +63 -0
  202. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/AppDelegate.h +12 -0
  203. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/AppDelegate.m +19 -0
  204. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/Base.lproj/Main.storyboard +25 -0
  205. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  206. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/Images.xcassets/LaunchImage.launchimage/Contents.json +51 -0
  207. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/Info.plist +32 -0
  208. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/ViewController.h +11 -0
  209. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/ViewController.m +24 -0
  210. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/ExtensionContainer/main.m +13 -0
  211. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/extension/extension.gyp +85 -0
  212. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-app-ios-assets-catalog.py +57 -0
  213. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-app-ios.py +7 -7
  214. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-archs.py +22 -70
  215. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-crosscompile.py +34 -0
  216. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-extension.py +28 -0
  217. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-watch.py +36 -0
  218. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/gyptest-xcode-ninja.py +25 -0
  219. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchApp/Images.xcassets/AppIcon.appiconset/Contents.json +62 -0
  220. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchApp/Images.xcassets/LaunchImage.launchimage/Contents.json +24 -0
  221. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchApp/Info.plist +35 -0
  222. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchApp/Interface.storyboard +15 -0
  223. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/AppDelegate.h +12 -0
  224. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/AppDelegate.m +19 -0
  225. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/Base.lproj/Main.storyboard +25 -0
  226. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  227. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/Images.xcassets/LaunchImage.launchimage/Contents.json +51 -0
  228. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/Info.plist +32 -0
  229. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/ViewController.h +11 -0
  230. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/ViewController.m +24 -0
  231. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchContainer/main.m +13 -0
  232. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchKitExtension/Images.xcassets/MyImage.imageset/Contents.json +20 -0
  233. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchKitExtension/Info.plist +38 -0
  234. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchKitExtension/InterfaceController.h +10 -0
  235. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchKitExtension/InterfaceController.m +25 -0
  236. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/WatchKitExtension/MainInterface.storyboard +63 -0
  237. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ios/watch/watch.gyp +105 -0
  238. data/ext/tree-sitter/tree-sitter/externals/gyp/test/lib/TestGyp.py +349 -46
  239. data/ext/tree-sitter/tree-sitter/externals/gyp/test/lib/TestMac.py +73 -0
  240. data/ext/tree-sitter/tree-sitter/externals/gyp/test/lib/TestWin.py +101 -0
  241. data/ext/tree-sitter/tree-sitter/externals/gyp/test/library/gyptest-shared.py +6 -0
  242. data/ext/tree-sitter/tree-sitter/externals/gyp/test/library/gyptest-static.py +6 -0
  243. data/ext/tree-sitter/tree-sitter/externals/gyp/test/library/src/program.c +1 -1
  244. data/ext/tree-sitter/tree-sitter/externals/gyp/test/link-dependency/gyptest-link-dependency.py +23 -0
  245. data/ext/tree-sitter/tree-sitter/externals/gyp/test/link-dependency/main.c +7 -0
  246. data/ext/tree-sitter/tree-sitter/externals/gyp/test/link-dependency/mymalloc.c +12 -0
  247. data/ext/tree-sitter/tree-sitter/externals/gyp/test/link-dependency/test.gyp +37 -0
  248. data/ext/tree-sitter/tree-sitter/externals/gyp/test/link-objects/base.c +1 -1
  249. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/TestApp/Images.xcassets/AppIcon.appiconset/Contents.json +58 -0
  250. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/TestApp/Images.xcassets/image.imageset/Contents.json +23 -0
  251. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain.png +0 -0
  252. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain@2x.png +0 -0
  253. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/TestApp/Images.xcassets/image.imageset/super_sylvain@3x.png +0 -0
  254. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/app-bundle/test-assets-catalog.gyp +43 -0
  255. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_a.cc +8 -0
  256. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_a.h +10 -0
  257. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_b.cc +8 -0
  258. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_b.h +10 -0
  259. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_c.cc +11 -0
  260. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/file_d.cc +11 -0
  261. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/test-archs-multiarch.gyp +20 -0
  262. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/test-dependencies.gyp +92 -0
  263. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/archs/test-valid-archs.gyp +28 -0
  264. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/clang-cxx-library/libc++.cc +2 -2
  265. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/clang-cxx-library/libstdc++.cc +1 -1
  266. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-action-envvars.py +6 -0
  267. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-app-assets-catalog.py +120 -0
  268. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-app-error.py +2 -1
  269. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-app.py +8 -20
  270. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-archs.py +39 -33
  271. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-cflags.py +1 -0
  272. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-clang-cxx-library.py +3 -4
  273. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-global-settings.py +7 -0
  274. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-installname.py +1 -0
  275. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-ldflags-passed-to-libtool.py +1 -0
  276. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-ldflags.py +6 -0
  277. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-libraries.py +6 -0
  278. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-libtool-zero.py +26 -0
  279. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-loadable-module-bundle-product-extension.py +31 -0
  280. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-loadable-module.py +1 -0
  281. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-objc-gc.py +24 -18
  282. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-postbuild-copy-bundle.py +1 -1
  283. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-postbuild-fail.py +1 -0
  284. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-prefixheader.py +1 -0
  285. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-rpath.py +5 -4
  286. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-strip.py +13 -5
  287. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-swift-library.py +62 -0
  288. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-type-envvars.py +3 -1
  289. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-xcode-env-order.py +2 -6
  290. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/gyptest-xcode-support-actions.py +25 -0
  291. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/libtool-zero/mylib.c +7 -0
  292. data/ext/tree-sitter/tree-sitter/externals/gyp/test/{errors/duplicate_basenames.gyp → mac/libtool-zero/test.gyp} +6 -4
  293. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/loadable-module-bundle-product-extension/src.cc +7 -0
  294. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/loadable-module-bundle-product-extension/test.gyp +24 -0
  295. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/swift-library/Info.plist +28 -0
  296. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/swift-library/file.swift +9 -0
  297. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/swift-library/test.gyp +21 -0
  298. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_bundle_executable.sh +1 -2
  299. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_bundle_loadable_module.sh +1 -2
  300. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_bundle_shared_library.sh +1 -2
  301. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_check_sdkroot.sh +47 -0
  302. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_nonbundle_executable.sh +2 -2
  303. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_nonbundle_loadable_module.sh +1 -2
  304. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_nonbundle_none.sh +1 -2
  305. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_nonbundle_shared_library.sh +1 -2
  306. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/type_envvars/test_nonbundle_static_library.sh +1 -2
  307. data/ext/tree-sitter/tree-sitter/{out/Release/linker.lock → externals/gyp/test/mac/xcode-support-actions/source.c} +0 -0
  308. data/ext/tree-sitter/tree-sitter/externals/gyp/test/mac/xcode-support-actions/test.gyp +26 -0
  309. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make/main.cc +1 -1
  310. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make/noload/main.c +1 -1
  311. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/ar/gyptest-make_global_settings_ar.py +123 -0
  312. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/ar/make_global_settings_ar.gyp +29 -0
  313. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/basics/gyptest-make_global_settings.py +2 -2
  314. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/bar.cc +1 -0
  315. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/foo.c +1 -0
  316. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/gyptest-make_global_settings.py +48 -0
  317. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/make_global_settings.gyp +22 -0
  318. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/my_nm.py +8 -0
  319. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/full-toolchain/my_readelf.py +8 -0
  320. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/ld/gyptest-make_global_settings_ld.py +130 -0
  321. data/ext/tree-sitter/tree-sitter/externals/gyp/test/make_global_settings/ld/make_global_settings_ld.gyp +29 -0
  322. data/ext/tree-sitter/tree-sitter/externals/gyp/test/many-actions/gyptest-many-actions-unsorted.py +1 -0
  323. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/buildevents/gyptest-ninja-warnings.py +2 -2
  324. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/config_attrs/hello.c +2 -2
  325. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/external_builder/hello.cpp +1 -1
  326. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/filters/gyptest-filters-2010.py +1 -1
  327. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/list_excluded/hello.cpp +1 -1
  328. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/multiple_actions_error_handling/action_fail.py +7 -0
  329. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/multiple_actions_error_handling/action_succeed.py +7 -0
  330. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/multiple_actions_error_handling/actions.gyp +40 -0
  331. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/multiple_actions_error_handling/gyptest.py +26 -0
  332. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/props/hello.c +1 -1
  333. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/shared_output/hello.c +1 -1
  334. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/shared_output/there/there.c +1 -1
  335. data/ext/tree-sitter/tree-sitter/externals/gyp/test/msvs/uldi2010/hello.c +1 -1
  336. data/ext/tree-sitter/tree-sitter/externals/gyp/test/multiple-targets/gyptest-all.py +0 -3
  337. data/ext/tree-sitter/tree-sitter/externals/gyp/test/multiple-targets/gyptest-default.py +0 -3
  338. data/ext/tree-sitter/tree-sitter/externals/gyp/test/multiple-targets/src/prog1.c +1 -1
  339. data/ext/tree-sitter/tree-sitter/externals/gyp/test/multiple-targets/src/prog2.c +1 -1
  340. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/action-rule-hash/gyptest-action-rule-hash.py +32 -0
  341. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/action-rule-hash/subdir/action-rule-hash.gyp +29 -0
  342. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/action-rule-hash/subdir/emit.py +13 -0
  343. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/action_dependencies/gyptest-action-dependencies.py +3 -0
  344. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/chained-dependency/chained.c +1 -1
  345. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/chained-dependency/gyptest-chained-dependency.py +4 -0
  346. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/empty-and-non-empty-duplicate-name/gyptest-empty-and-non-empty-duplicate-name.py +23 -0
  347. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/empty-and-non-empty-duplicate-name/subdir/included.gyp +19 -0
  348. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/empty-and-non-empty-duplicate-name/test.gyp +19 -0
  349. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/normalize-paths-win/gyptest-normalize-paths.py +4 -0
  350. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/normalize-paths-win/normalize-paths.gyp +12 -0
  351. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/solibs_avoid_relinking/gyptest-solibs-avoid-relinking.py +5 -0
  352. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/use-console/foo.bar +5 -0
  353. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/use-console/gyptest-use-console.py +29 -0
  354. data/ext/tree-sitter/tree-sitter/externals/gyp/test/ninja/use-console/use-console.gyp +60 -0
  355. data/ext/tree-sitter/tree-sitter/externals/gyp/test/no-cpp/gyptest-no-cpp.py +1 -0
  356. data/ext/tree-sitter/tree-sitter/externals/gyp/test/product/hello.c +1 -1
  357. data/ext/tree-sitter/tree-sitter/externals/gyp/test/prune_targets/gyptest-prune-targets.py +3 -0
  358. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/gyptest-dirname.py +17 -3
  359. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/src/subdir/a/b/c.gencc +2 -5
  360. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/src/subdir/foo/bar/baz.gencc +2 -5
  361. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/src/subdir/input-rule-dirname.gyp +62 -14
  362. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/src/subdir/main.cc +2 -0
  363. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-dirname/src/subdir/nodir.gencc +8 -0
  364. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-rebuild/src/main.c +1 -1
  365. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules-use-built-dependencies/gyptest-use-built-dependencies.py +1 -0
  366. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/gyptest-all.py +7 -1
  367. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/gyptest-default.py +7 -1
  368. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/actions.gyp +1 -0
  369. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/special-variables.gyp +0 -1
  370. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir1/program.c +1 -1
  371. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir2/both_rule_and_action_input.gyp +50 -0
  372. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir2/program.c +12 -0
  373. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir3/program.c +1 -1
  374. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir4/build-asm.gyp +1 -1
  375. data/ext/tree-sitter/tree-sitter/externals/gyp/test/rules/src/subdir4/program.c +1 -1
  376. data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/gyptest-shared.py +27 -0
  377. data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/gyptest-static.py +29 -0
  378. data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/src/double-shared.gyp +6 -0
  379. data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/src/double-static.gyp +1 -0
  380. data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/src/prog1.c +1 -1
  381. data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/src/prog2.c +1 -1
  382. data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/src/prog3.c +1 -1
  383. data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-target-name-different-directory/gyptest-all.py +5 -0
  384. data/ext/tree-sitter/tree-sitter/externals/gyp/test/sibling/gyptest-all.py +6 -3
  385. data/ext/tree-sitter/tree-sitter/externals/gyp/test/sibling/gyptest-relocate.py +6 -3
  386. data/ext/tree-sitter/tree-sitter/externals/gyp/test/sibling/src/prog1/prog1.c +1 -1
  387. data/ext/tree-sitter/tree-sitter/externals/gyp/test/sibling/src/prog2/prog2.c +1 -1
  388. data/ext/tree-sitter/tree-sitter/externals/gyp/test/standalone-static-library/prog.c +1 -1
  389. data/ext/tree-sitter/tree-sitter/externals/gyp/test/subdirectory/gyptest-SYMROOT-all.py +1 -1
  390. data/ext/tree-sitter/tree-sitter/externals/gyp/test/subdirectory/gyptest-SYMROOT-default.py +1 -1
  391. data/ext/tree-sitter/tree-sitter/externals/gyp/test/subdirectory/src/prog1.c +1 -1
  392. data/ext/tree-sitter/tree-sitter/externals/gyp/test/subdirectory/src/subdir/prog2.c +1 -1
  393. data/ext/tree-sitter/tree-sitter/externals/gyp/test/subdirectory/src/subdir/subdir2/prog3.c +1 -1
  394. data/ext/tree-sitter/tree-sitter/externals/gyp/test/toolsets/main.cc +1 -1
  395. data/ext/tree-sitter/tree-sitter/externals/gyp/test/toplevel-dir/gyptest-toplevel-dir.py +1 -1
  396. data/ext/tree-sitter/tree-sitter/externals/gyp/test/toplevel-dir/src/sub1/prog1.c +1 -1
  397. data/ext/tree-sitter/tree-sitter/externals/gyp/test/toplevel-dir/src/sub2/prog2.c +1 -1
  398. data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/gyptest-commands-repeated-multidir.py +23 -0
  399. data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/repeated_multidir/dir_1/test_1.gyp +13 -0
  400. data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/repeated_multidir/dir_2/test_2.gyp +13 -0
  401. data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/repeated_multidir/main.gyp +16 -0
  402. data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/repeated_multidir/print_cwd_basename.py +10 -0
  403. data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/commands/repeated_multidir/repeated_command_common.gypi +25 -0
  404. data/ext/tree-sitter/tree-sitter/externals/gyp/test/variables/latelate/src/program.cc +1 -1
  405. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/command-quote/command-quote.gyp +0 -5
  406. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/command-quote/subdir/and/another/in-subdir.gyp +0 -1
  407. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention-cdecl.def +6 -0
  408. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention-fastcall.def +6 -0
  409. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention-stdcall.def +6 -0
  410. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention-vectorcall.def +6 -0
  411. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention.cc +6 -0
  412. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/calling-convention.gyp +66 -0
  413. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/enable-enhanced-instruction-set.cc +28 -0
  414. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/enable-enhanced-instruction-set.gyp +68 -0
  415. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/floating-point-model-fast.cc +19 -0
  416. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/floating-point-model-precise.cc +19 -0
  417. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/floating-point-model-strict.cc +19 -0
  418. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/compiler-flags/floating-point-model.gyp +43 -0
  419. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/enable-winrt/dllmain.cc +30 -0
  420. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/enable-winrt/enable-winrt.gyp +39 -0
  421. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/generator-output-different-drive/prog.c +1 -1
  422. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-cl-calling-convention.py +22 -0
  423. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-cl-enable-enhanced-instruction-set.py +44 -0
  424. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-cl-floating-point-model.py +22 -0
  425. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-base-address.py +1 -1
  426. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-enable-winrt.py +35 -0
  427. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-pdb-no-output.py +25 -0
  428. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-pdb-output.py +0 -1
  429. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-profile.py +1 -1
  430. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-restat-importlib.py +6 -0
  431. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-safeseh.py +40 -0
  432. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-shard.py +3 -0
  433. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-macro-targetext.py +26 -0
  434. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-macro-targetfilename.py +32 -0
  435. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-macro-targetpath.py +30 -0
  436. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-midl-excluded.py +22 -0
  437. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-midl-includedirs.py +21 -0
  438. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-midl-rules.py +4 -0
  439. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-ml-safeseh.py +22 -0
  440. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-system-include.py +21 -0
  441. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-excluded/bad.idl +6 -0
  442. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-excluded/copy-file.py +11 -0
  443. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-excluded/idl-excluded.gyp +58 -0
  444. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-excluded/program.cc +7 -0
  445. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-includedirs/hello.cc +7 -0
  446. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-includedirs/idl-includedirs.gyp +26 -0
  447. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-includedirs/subdir/bar.idl +13 -0
  448. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-includedirs/subdir/foo.idl +14 -0
  449. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-rules/Window.idl +9 -0
  450. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-rules/basic-idl.gyp +67 -42
  451. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/idl-rules/idl_compiler.py +17 -0
  452. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/large-pdb/main.cc +1 -1
  453. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/linker-flags/pdb-output.gyp +13 -0
  454. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/linker-flags/safeseh.gyp +47 -0
  455. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/linker-flags/safeseh_hello.cc +11 -0
  456. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/linker-flags/safeseh_zero.asm +10 -0
  457. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/linker-flags/update_pgd.py +3 -3
  458. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/ml-safeseh/a.asm +10 -0
  459. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/ml-safeseh/hello.cc +11 -0
  460. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/ml-safeseh/ml-safeseh.gyp +24 -0
  461. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/precompiled/hello.c +1 -1
  462. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/shard/hello.cc +7 -0
  463. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/shard/shard.gyp +11 -0
  464. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/shard/shard_ref.gyp +41 -0
  465. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/system-include/bar/header.h +0 -0
  466. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/system-include/common/commonheader.h +0 -0
  467. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/system-include/foo/header.h +0 -0
  468. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/system-include/main.cc +4 -0
  469. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/system-include/test.gyp +26 -0
  470. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/vs-macros/containing-gyp.gyp +0 -1
  471. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/vs-macros/input-output-macros.gyp +0 -1
  472. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/vs-macros/targetext.gyp +59 -0
  473. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/vs-macros/targetfilename.gyp +59 -0
  474. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/vs-macros/targetpath.gyp +59 -0
  475. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/win-tool/copies_readonly_files.gyp +29 -0
  476. data/ext/tree-sitter/tree-sitter/externals/gyp/test/win/win-tool/gyptest-win-tool-handles-readonly-files.py +55 -0
  477. data/ext/tree-sitter/tree-sitter/externals/gyp/tools/emacs/gyp.el +36 -13
  478. data/ext/tree-sitter/tree-sitter/externals/gyp/tools/pretty_sln.py +4 -3
  479. data/ext/tree-sitter/tree-sitter/externals/utf8proc/CMakeLists.txt +4 -2
  480. data/ext/tree-sitter/tree-sitter/externals/utf8proc/MANIFEST +3 -3
  481. data/ext/tree-sitter/tree-sitter/externals/utf8proc/Makefile +11 -6
  482. data/ext/tree-sitter/tree-sitter/externals/utf8proc/NEWS.md +69 -0
  483. data/ext/tree-sitter/tree-sitter/externals/utf8proc/README.md +4 -2
  484. data/ext/tree-sitter/tree-sitter/externals/utf8proc/bench/bench.c +2 -2
  485. data/ext/tree-sitter/tree-sitter/externals/utf8proc/data/Makefile +12 -9
  486. data/ext/tree-sitter/tree-sitter/externals/utf8proc/data/data_generator.rb +125 -42
  487. data/ext/tree-sitter/tree-sitter/externals/utf8proc/test/custom.c +27 -0
  488. data/ext/tree-sitter/tree-sitter/externals/utf8proc/test/iterate.c +8 -2
  489. data/ext/tree-sitter/tree-sitter/externals/utf8proc/test/printproperty.c +5 -7
  490. data/ext/tree-sitter/tree-sitter/externals/utf8proc/utf8proc.c +209 -98
  491. data/ext/tree-sitter/tree-sitter/externals/utf8proc/utf8proc.h +126 -28
  492. data/ext/tree-sitter/tree-sitter/externals/utf8proc/utf8proc_data.c +12976 -15342
  493. data/ext/tree-sitter/tree-sitter/include/tree_sitter/compiler.h +2 -0
  494. data/ext/tree-sitter/tree-sitter/include/tree_sitter/parser.h +73 -74
  495. data/ext/tree-sitter/tree-sitter/include/tree_sitter/runtime.h +29 -20
  496. data/ext/tree-sitter/tree-sitter/project.gyp +13 -24
  497. data/ext/tree-sitter/tree-sitter/script/benchmark +76 -0
  498. data/ext/tree-sitter/tree-sitter/script/build-fuzzers +66 -0
  499. data/ext/tree-sitter/tree-sitter/script/ci +2 -1
  500. data/ext/tree-sitter/tree-sitter/script/configure.cmd +3 -0
  501. data/ext/tree-sitter/tree-sitter/script/fetch-fixtures +13 -9
  502. data/ext/tree-sitter/tree-sitter/script/fetch-fixtures.cmd +26 -0
  503. data/ext/tree-sitter/tree-sitter/script/reproduce +1 -0
  504. data/ext/tree-sitter/tree-sitter/script/run-fuzzer +57 -0
  505. data/ext/tree-sitter/tree-sitter/script/test +47 -8
  506. data/ext/tree-sitter/tree-sitter/script/test.cmd +2 -0
  507. data/ext/tree-sitter/tree-sitter/script/trim-whitespace +1 -1
  508. data/ext/tree-sitter/tree-sitter/script/util/scan-build.sh +24 -0
  509. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_item.cc +60 -41
  510. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_item.h +6 -7
  511. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_item_transitions.cc +108 -101
  512. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_item_transitions.h +1 -4
  513. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_table_builder.cc +537 -0
  514. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_table_builder.h +57 -0
  515. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lookahead_set.cc +93 -19
  516. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lookahead_set.h +90 -5
  517. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_item.cc +77 -29
  518. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_item.h +4 -9
  519. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_item_set_builder.cc +229 -94
  520. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_item_set_builder.h +9 -3
  521. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_table_builder.cc +893 -0
  522. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_table_builder.h +38 -0
  523. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/rule_can_be_blank.cc +34 -35
  524. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/rule_can_be_blank.h +1 -1
  525. data/ext/tree-sitter/tree-sitter/src/compiler/compile.cc +23 -40
  526. data/ext/tree-sitter/tree-sitter/src/compiler/compile_error.h +6 -0
  527. data/ext/tree-sitter/tree-sitter/src/compiler/generate_code/c_code.cc +301 -124
  528. data/ext/tree-sitter/tree-sitter/src/compiler/generate_code/c_code.h +12 -4
  529. data/ext/tree-sitter/tree-sitter/{doc → src/compiler}/grammar-schema.json +34 -42
  530. data/ext/tree-sitter/tree-sitter/src/compiler/grammar.h +24 -5
  531. data/ext/tree-sitter/tree-sitter/src/compiler/lex_table.cc +2 -31
  532. data/ext/tree-sitter/tree-sitter/src/compiler/lex_table.h +6 -30
  533. data/ext/tree-sitter/tree-sitter/src/compiler/lexical_grammar.h +15 -3
  534. data/ext/tree-sitter/tree-sitter/src/compiler/parse_grammar.cc +143 -105
  535. data/ext/tree-sitter/tree-sitter/src/compiler/parse_grammar.h +2 -1
  536. data/ext/tree-sitter/tree-sitter/src/compiler/parse_table.cc +71 -174
  537. data/ext/tree-sitter/tree-sitter/src/compiler/parse_table.h +23 -41
  538. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/expand_repeats.cc +67 -34
  539. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/expand_repeats.h +0 -2
  540. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/expand_tokens.cc +53 -61
  541. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/expand_tokens.h +9 -3
  542. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/extract_choices.cc +37 -43
  543. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/extract_choices.h +1 -1
  544. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/extract_tokens.cc +248 -125
  545. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/extract_tokens.h +3 -2
  546. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/flatten_grammar.cc +114 -70
  547. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/flatten_grammar.h +2 -2
  548. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/initial_syntax_grammar.h +4 -3
  549. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/intern_symbols.cc +113 -50
  550. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/intern_symbols.h +2 -2
  551. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/interned_grammar.h +7 -6
  552. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/normalize_rules.cc +5 -3
  553. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/parse_regex.cc +95 -76
  554. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/parse_regex.h +1 -1
  555. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/prepare_grammar.cc +9 -7
  556. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/prepare_grammar.h +2 -5
  557. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/token_description.cc +59 -45
  558. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/token_description.h +1 -1
  559. data/ext/tree-sitter/tree-sitter/src/compiler/rule.cc +284 -6
  560. data/ext/tree-sitter/tree-sitter/src/compiler/rule.h +124 -25
  561. data/ext/tree-sitter/tree-sitter/src/compiler/rules/blank.h +5 -14
  562. data/ext/tree-sitter/tree-sitter/src/compiler/rules/character_set.cc +35 -84
  563. data/ext/tree-sitter/tree-sitter/src/compiler/rules/character_set.h +19 -26
  564. data/ext/tree-sitter/tree-sitter/src/compiler/rules/choice.cc +3 -69
  565. data/ext/tree-sitter/tree-sitter/src/compiler/rules/choice.h +6 -13
  566. data/ext/tree-sitter/tree-sitter/src/compiler/rules/metadata.cc +128 -71
  567. data/ext/tree-sitter/tree-sitter/src/compiler/rules/metadata.h +48 -17
  568. data/ext/tree-sitter/tree-sitter/src/compiler/rules/named_symbol.h +6 -12
  569. data/ext/tree-sitter/tree-sitter/src/compiler/rules/pattern.h +6 -12
  570. data/ext/tree-sitter/tree-sitter/src/compiler/rules/repeat.cc +5 -34
  571. data/ext/tree-sitter/tree-sitter/src/compiler/rules/repeat.h +7 -13
  572. data/ext/tree-sitter/tree-sitter/src/compiler/rules/seq.cc +6 -47
  573. data/ext/tree-sitter/tree-sitter/src/compiler/rules/seq.h +8 -14
  574. data/ext/tree-sitter/tree-sitter/src/compiler/rules/string.h +6 -12
  575. data/ext/tree-sitter/tree-sitter/src/compiler/rules/symbol.h +53 -32
  576. data/ext/tree-sitter/tree-sitter/src/compiler/syntax_grammar.cc +24 -22
  577. data/ext/tree-sitter/tree-sitter/src/compiler/syntax_grammar.h +36 -21
  578. data/ext/tree-sitter/tree-sitter/src/compiler/util/make_visitor.h +31 -0
  579. data/ext/tree-sitter/tree-sitter/src/runtime/alloc.h +1 -1
  580. data/ext/tree-sitter/tree-sitter/src/runtime/array.h +25 -36
  581. data/ext/tree-sitter/tree-sitter/src/runtime/document.c +61 -34
  582. data/ext/tree-sitter/tree-sitter/src/runtime/document.h +3 -0
  583. data/ext/tree-sitter/tree-sitter/src/runtime/error_costs.h +5 -19
  584. data/ext/tree-sitter/tree-sitter/src/runtime/get_changed_ranges.c +355 -0
  585. data/ext/tree-sitter/tree-sitter/src/runtime/get_changed_ranges.h +20 -0
  586. data/ext/tree-sitter/tree-sitter/src/runtime/language.c +33 -31
  587. data/ext/tree-sitter/tree-sitter/src/runtime/language.h +27 -3
  588. data/ext/tree-sitter/tree-sitter/src/runtime/length.h +5 -21
  589. data/ext/tree-sitter/tree-sitter/src/runtime/lexer.c +61 -17
  590. data/ext/tree-sitter/tree-sitter/src/runtime/lexer.h +4 -5
  591. data/ext/tree-sitter/tree-sitter/src/runtime/node.c +93 -89
  592. data/ext/tree-sitter/tree-sitter/src/runtime/node.h +1 -1
  593. data/ext/tree-sitter/tree-sitter/src/runtime/parser.c +850 -743
  594. data/ext/tree-sitter/tree-sitter/src/runtime/parser.h +13 -8
  595. data/ext/tree-sitter/tree-sitter/src/runtime/point.h +9 -4
  596. data/ext/tree-sitter/tree-sitter/src/runtime/reduce_action.h +2 -0
  597. data/ext/tree-sitter/tree-sitter/src/runtime/reusable_node.h +14 -18
  598. data/ext/tree-sitter/tree-sitter/src/runtime/stack.c +424 -302
  599. data/ext/tree-sitter/tree-sitter/src/runtime/stack.h +75 -72
  600. data/ext/tree-sitter/tree-sitter/src/runtime/string_input.c +4 -10
  601. data/ext/tree-sitter/tree-sitter/src/runtime/tree.c +401 -252
  602. data/ext/tree-sitter/tree-sitter/src/runtime/tree.h +71 -57
  603. data/ext/tree-sitter/tree-sitter/src/runtime/utf16.c +5 -0
  604. data/ext/tree-sitter/tree-sitter/test/benchmarks.cc +122 -0
  605. data/ext/tree-sitter/tree-sitter/{spec/compiler/build_tables/lex_item_spec.cc → test/compiler/build_tables/lex_item_test.cc} +141 -143
  606. data/ext/tree-sitter/tree-sitter/test/compiler/build_tables/parse_item_set_builder_test.cc +134 -0
  607. data/ext/tree-sitter/tree-sitter/{spec/compiler/build_tables/rule_can_be_blank_spec.cc → test/compiler/build_tables/rule_can_be_blank_test.cc} +16 -19
  608. data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/expand_repeats_test.cc +170 -0
  609. data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/expand_tokens_test.cc +89 -0
  610. data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/extract_choices_test.cc +77 -0
  611. data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/extract_tokens_test.cc +459 -0
  612. data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/flatten_grammar_test.cc +130 -0
  613. data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/intern_symbols_test.cc +101 -0
  614. data/ext/tree-sitter/tree-sitter/test/compiler/prepare_grammar/parse_regex_test.cc +334 -0
  615. data/ext/tree-sitter/tree-sitter/{spec/compiler/rules/character_set_spec.cc → test/compiler/rules/character_set_test.cc} +15 -27
  616. data/ext/tree-sitter/tree-sitter/test/compiler/rules/rule_test.cc +90 -0
  617. data/ext/tree-sitter/tree-sitter/{spec/compiler/util/string_helpers_spec.cc → test/compiler/util/string_helpers_test.cc} +1 -1
  618. data/ext/tree-sitter/tree-sitter/test/fixtures/error_corpus/c_errors.txt +166 -0
  619. data/ext/tree-sitter/tree-sitter/test/fixtures/error_corpus/javascript_errors.txt +179 -0
  620. data/ext/tree-sitter/tree-sitter/{spec → test}/fixtures/error_corpus/json_errors.txt +10 -7
  621. data/ext/tree-sitter/tree-sitter/{spec → test}/fixtures/error_corpus/python_errors.txt +0 -0
  622. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_inlined_rules/corpus.txt +13 -0
  623. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_inlined_rules/grammar.json +59 -0
  624. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_inlined_rules/readme.md +1 -0
  625. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_rules/corpus.txt +18 -0
  626. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_rules/grammar.json +71 -0
  627. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_unit_reductions/corpus.txt +12 -0
  628. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_unit_reductions/grammar.json +70 -0
  629. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/aliased_unit_reductions/readme.md +5 -0
  630. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/anonymous_tokens_with_escaped_chars/corpus.txt +32 -0
  631. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/anonymous_tokens_with_escaped_chars/grammar.json +14 -0
  632. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/anonymous_tokens_with_escaped_chars/readme.md +1 -0
  633. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_left/corpus.txt +8 -0
  634. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_left/grammar.json +31 -0
  635. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_missing/expected_error.txt +13 -0
  636. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_missing/grammar.json +27 -0
  637. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_right/corpus.txt +8 -0
  638. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/associativity_right/grammar.json +31 -0
  639. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule/expected_error.txt +14 -0
  640. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule/grammar.json +76 -0
  641. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule/readme.md +1 -0
  642. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule_after_external_token/expected_error.txt +14 -0
  643. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule_after_external_token/grammar.json +82 -0
  644. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflict_in_repeat_rule_after_external_token/readme.md +1 -0
  645. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflicting_precedence/expected_error.txt +15 -0
  646. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/conflicting_precedence/grammar.json +58 -0
  647. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/dynamic_precedence/corpus.txt +25 -0
  648. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/dynamic_precedence/grammar.json +73 -0
  649. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/dynamic_precedence/readme.md +1 -0
  650. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/epsilon_rules/expected_error.txt +4 -0
  651. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/epsilon_rules/grammar.json +15 -0
  652. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_anonymous_tokens/corpus.txt +41 -0
  653. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_anonymous_tokens/grammar.json +35 -0
  654. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_anonymous_tokens/readme.md +1 -0
  655. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_anonymous_tokens/scanner.c +36 -0
  656. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_tokens/corpus.txt +41 -0
  657. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_tokens/grammar.json +36 -0
  658. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_and_internal_tokens/readme.md +1 -0
  659. data/ext/tree-sitter/tree-sitter/{spec/fixtures/external_scanners/shared_external_tokens.c → test/fixtures/test_grammars/external_and_internal_tokens/scanner.c} +21 -14
  660. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_extra_tokens/corpus.txt +10 -0
  661. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_extra_tokens/grammar.json +25 -0
  662. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_extra_tokens/scanner.c +49 -0
  663. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_tokens/corpus.txt +22 -0
  664. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/external_tokens/grammar.json +57 -0
  665. data/ext/tree-sitter/tree-sitter/{spec/fixtures/external_scanners/percent_strings.c → test/fixtures/test_grammars/external_tokens/scanner.c} +19 -17
  666. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inline_rules/corpus.txt +20 -0
  667. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inline_rules/grammar.json +76 -0
  668. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inlined_aliased_rules/corpus.txt +18 -0
  669. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inlined_aliased_rules/grammar.json +75 -0
  670. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inlined_aliased_rules/readme.md +1 -0
  671. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inverted_external_token/corpus.txt +32 -0
  672. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inverted_external_token/grammar.json +55 -0
  673. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inverted_external_token/readme.md +1 -0
  674. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/inverted_external_token/scanner.c +48 -0
  675. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/invisible_start_rule/expected_error.txt +1 -0
  676. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/invisible_start_rule/grammar.json +23 -0
  677. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/lexical_conflicts_due_to_state_merging/corpus.txt +33 -0
  678. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/lexical_conflicts_due_to_state_merging/grammar.json +65 -0
  679. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/lexical_conflicts_due_to_state_merging/readme.md +20 -0
  680. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/nested_inlined_rules/corpus.txt +12 -0
  681. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/nested_inlined_rules/grammar.json +54 -0
  682. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/nested_inlined_rules/readme.md +1 -0
  683. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/partially_resolved_conflict/expected_error.txt +14 -0
  684. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/partially_resolved_conflict/grammar.json +58 -0
  685. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/partially_resolved_conflict/readme.txt +1 -0
  686. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_missing/expected_error.txt +15 -0
  687. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_missing/grammar.json +63 -0
  688. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_missing/readme.md +15 -0
  689. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_negative/corpus.txt +12 -0
  690. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_negative/grammar.json +63 -0
  691. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_negative/readme.md +1 -0
  692. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_positive/corpus.txt +13 -0
  693. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_positive/grammar.json +63 -0
  694. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_single_child_positive/readme.md +1 -0
  695. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_subsequence/corpus.txt +24 -0
  696. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/precedence_on_subsequence/grammar.json +135 -0
  697. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/readme.md +3 -0
  698. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/readme_grammar/corpus.txt +13 -0
  699. data/{test/tree-sitter/fixtures/arithmetic → ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/readme_grammar}/grammar.json +3 -3
  700. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/start_rule_is_blank/corpus.txt +7 -0
  701. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/start_rule_is_blank/grammar.json +6 -0
  702. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/start_rule_is_token/corpus.txt +6 -0
  703. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/start_rule_is_token/grammar.json +6 -0
  704. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/unused_rules/corpus.txt +9 -0
  705. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/unused_rules/grammar.json +73 -0
  706. data/ext/tree-sitter/tree-sitter/test/fixtures/test_grammars/unused_rules/readme.md +1 -0
  707. data/ext/tree-sitter/tree-sitter/test/fuzz/README.md +43 -0
  708. data/ext/tree-sitter/tree-sitter/test/fuzz/fuzzer.cc +27 -0
  709. data/ext/tree-sitter/tree-sitter/test/fuzz/gen-dict.py +31 -0
  710. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/dedent.h +0 -0
  711. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/encoding_helpers.cc +9 -3
  712. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/encoding_helpers.h +0 -0
  713. data/ext/tree-sitter/tree-sitter/test/helpers/file_helpers.cc +100 -0
  714. data/ext/tree-sitter/tree-sitter/test/helpers/file_helpers.h +15 -0
  715. data/ext/tree-sitter/tree-sitter/test/helpers/load_language.cc +239 -0
  716. data/ext/tree-sitter/tree-sitter/test/helpers/load_language.h +14 -0
  717. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/point_helpers.cc +2 -5
  718. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/point_helpers.h +0 -0
  719. data/ext/tree-sitter/tree-sitter/test/helpers/random_helpers.cc +59 -0
  720. data/ext/tree-sitter/tree-sitter/test/helpers/random_helpers.h +14 -0
  721. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/read_test_entries.cc +38 -38
  722. data/ext/tree-sitter/tree-sitter/test/helpers/read_test_entries.h +22 -0
  723. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/record_alloc.cc +7 -13
  724. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/record_alloc.h +2 -2
  725. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/scope_sequence.cc +0 -0
  726. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/scope_sequence.h +0 -0
  727. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/spy_input.cc +39 -15
  728. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/spy_input.h +4 -4
  729. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/spy_logger.cc +0 -0
  730. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/spy_logger.h +0 -0
  731. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/stderr_logger.cc +0 -0
  732. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/stderr_logger.h +0 -0
  733. data/ext/tree-sitter/tree-sitter/test/helpers/stream_methods.cc +224 -0
  734. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/stream_methods.h +32 -15
  735. data/ext/tree-sitter/tree-sitter/test/helpers/tree_helpers.cc +99 -0
  736. data/ext/tree-sitter/tree-sitter/{spec → test}/helpers/tree_helpers.h +3 -1
  737. data/ext/tree-sitter/tree-sitter/test/integration/fuzzing-examples.cc +67 -0
  738. data/ext/tree-sitter/tree-sitter/test/integration/real_grammars.cc +142 -0
  739. data/ext/tree-sitter/tree-sitter/test/integration/test_grammars.cc +79 -0
  740. data/ext/tree-sitter/tree-sitter/{spec/runtime/document_spec.cc → test/runtime/document_test.cc} +150 -32
  741. data/ext/tree-sitter/tree-sitter/test/runtime/language_test.cc +55 -0
  742. data/ext/tree-sitter/tree-sitter/{spec/runtime/node_spec.cc → test/runtime/node_test.cc} +222 -127
  743. data/ext/tree-sitter/tree-sitter/{spec/runtime/parser_spec.cc → test/runtime/parser_test.cc} +126 -85
  744. data/ext/tree-sitter/tree-sitter/{spec/runtime/stack_spec.cc → test/runtime/stack_test.cc} +201 -164
  745. data/ext/tree-sitter/tree-sitter/test/runtime/tree_test.cc +475 -0
  746. data/ext/tree-sitter/tree-sitter/{spec/spec_helper.h → test/test_helper.h} +3 -3
  747. data/ext/tree-sitter/tree-sitter/{spec/specs.cc → test/tests.cc} +4 -3
  748. data/ext/tree-sitter/tree-sitter/tests.gyp +77 -23
  749. data/lib/tree-sitter.rb +4 -0
  750. data/lib/tree-sitter/node.rb +27 -0
  751. data/lib/tree-sitter/version.rb +3 -1
  752. data/test/test_helper.rb +4 -0
  753. data/test/tree-sitter/fixtures/parsers/python/parser.c +65600 -0
  754. data/test/tree-sitter/fixtures/parsers/python/scanner.cc +164 -0
  755. data/test/tree-sitter/test_basic.rb +2 -0
  756. data/test/tree-sitter/test_document.rb +101 -1
  757. data/test/tree-sitter/test_node.rb +73 -0
  758. data/tree-sitter.gemspec +4 -2
  759. metadata +445 -217
  760. data/ext/tree-sitter/tree-sitter/Makefile +0 -360
  761. data/ext/tree-sitter/tree-sitter/compiler.target.mk +0 -238
  762. data/ext/tree-sitter/tree-sitter/externals/gyp/pylintrc +0 -307
  763. data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/gyptest-fail-shared.py +0 -18
  764. data/ext/tree-sitter/tree-sitter/externals/gyp/test/same-source-file-name/gyptest-fail-static.py +0 -18
  765. data/ext/tree-sitter/tree-sitter/gyp-mac-tool +0 -511
  766. data/ext/tree-sitter/tree-sitter/out/Release/libcompiler.a +0 -0
  767. data/ext/tree-sitter/tree-sitter/out/Release/libruntime.a +0 -0
  768. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/externals/json-parser/json.o +0 -0
  769. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/externals/utf8proc/utf8proc.o +0 -0
  770. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/build_lex_table.o +0 -0
  771. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/build_parse_table.o +0 -0
  772. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/build_tables.o +0 -0
  773. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/lex_conflict_manager.o +0 -0
  774. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/lex_item.o +0 -0
  775. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/lex_item_transitions.o +0 -0
  776. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/lookahead_set.o +0 -0
  777. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/parse_item.o +0 -0
  778. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/parse_item_set_builder.o +0 -0
  779. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/recovery_tokens.o +0 -0
  780. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/build_tables/rule_can_be_blank.o +0 -0
  781. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/compile.o +0 -0
  782. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/generate_code/c_code.o +0 -0
  783. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/lex_table.o +0 -0
  784. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/parse_grammar.o +0 -0
  785. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/parse_table.o +0 -0
  786. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/precedence_range.o +0 -0
  787. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/expand_repeats.o +0 -0
  788. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/expand_tokens.o +0 -0
  789. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/extract_choices.o +0 -0
  790. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/extract_tokens.o +0 -0
  791. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/flatten_grammar.o +0 -0
  792. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/intern_symbols.o +0 -0
  793. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/is_token.o +0 -0
  794. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/normalize_rules.o +0 -0
  795. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/parse_regex.o +0 -0
  796. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/prepare_grammar.o +0 -0
  797. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/prepare_grammar/token_description.o +0 -0
  798. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rule.o +0 -0
  799. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/blank.o +0 -0
  800. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/built_in_symbols.o +0 -0
  801. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/character_range.o +0 -0
  802. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/character_set.o +0 -0
  803. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/choice.o +0 -0
  804. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/metadata.o +0 -0
  805. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/named_symbol.o +0 -0
  806. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/pattern.o +0 -0
  807. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/repeat.o +0 -0
  808. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/rules.o +0 -0
  809. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/seq.o +0 -0
  810. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/string.o +0 -0
  811. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/symbol.o +0 -0
  812. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/rules/visitor.o +0 -0
  813. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/syntax_grammar.o +0 -0
  814. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/util/string_helpers.o +0 -0
  815. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/compiler/src/compiler/variable.o +0 -0
  816. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/externals/utf8proc/utf8proc.o +0 -0
  817. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/document.o +0 -0
  818. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/error_costs.o +0 -0
  819. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/language.o +0 -0
  820. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/lexer.o +0 -0
  821. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/node.o +0 -0
  822. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/parser.o +0 -0
  823. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/stack.o +0 -0
  824. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/string_input.o +0 -0
  825. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/tree.o +0 -0
  826. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/runtime/src/runtime/utf16.o +0 -0
  827. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/build_tables/distinctive_tokens_spec.o +0 -0
  828. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/build_tables/lex_conflict_manager_spec.o +0 -0
  829. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/build_tables/lex_item_spec.o +0 -0
  830. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/build_tables/parse_item_set_builder_spec.o +0 -0
  831. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/build_tables/rule_can_be_blank_spec.o +0 -0
  832. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/expand_repeats_spec.o +0 -0
  833. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/expand_tokens_spec.o +0 -0
  834. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/extract_choices_spec.o +0 -0
  835. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/extract_tokens_spec.o +0 -0
  836. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/flatten_grammar_spec.o +0 -0
  837. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/intern_symbols_spec.o +0 -0
  838. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/prepare_grammar/parse_regex_spec.o +0 -0
  839. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/rules/character_set_spec.o +0 -0
  840. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/rules/choice_spec.o +0 -0
  841. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/rules/repeat_spec.o +0 -0
  842. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/compiler/util/string_helpers_spec.o +0 -0
  843. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/encoding_helpers.o +0 -0
  844. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/load_language.o +0 -0
  845. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/point_helpers.o +0 -0
  846. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/random_helpers.o +0 -0
  847. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/read_test_entries.o +0 -0
  848. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/record_alloc.o +0 -0
  849. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/rule_helpers.o +0 -0
  850. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/scope_sequence.o +0 -0
  851. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/spy_input.o +0 -0
  852. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/spy_logger.o +0 -0
  853. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/stderr_logger.o +0 -0
  854. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/stream_methods.o +0 -0
  855. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/helpers/tree_helpers.o +0 -0
  856. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/integration/compile_grammar_spec.o +0 -0
  857. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/integration/corpus_specs.o +0 -0
  858. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/runtime/document_spec.o +0 -0
  859. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/runtime/node_spec.o +0 -0
  860. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/runtime/parser_spec.o +0 -0
  861. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/runtime/stack_spec.o +0 -0
  862. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/runtime/tree_spec.o +0 -0
  863. data/ext/tree-sitter/tree-sitter/out/Release/obj.target/tests/spec/specs.o +0 -0
  864. data/ext/tree-sitter/tree-sitter/out/Release/tests +0 -0
  865. data/ext/tree-sitter/tree-sitter/project.Makefile +0 -6
  866. data/ext/tree-sitter/tree-sitter/runtime.target.mk +0 -174
  867. data/ext/tree-sitter/tree-sitter/spec/compiler/build_tables/distinctive_tokens_spec.cc +0 -34
  868. data/ext/tree-sitter/tree-sitter/spec/compiler/build_tables/lex_conflict_manager_spec.cc +0 -88
  869. data/ext/tree-sitter/tree-sitter/spec/compiler/build_tables/parse_item_set_builder_spec.cc +0 -133
  870. data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/expand_repeats_spec.cc +0 -152
  871. data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/expand_tokens_spec.cc +0 -109
  872. data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/extract_choices_spec.cc +0 -106
  873. data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/extract_tokens_spec.cc +0 -251
  874. data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/flatten_grammar_spec.cc +0 -89
  875. data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/intern_symbols_spec.cc +0 -89
  876. data/ext/tree-sitter/tree-sitter/spec/compiler/prepare_grammar/parse_regex_spec.cc +0 -245
  877. data/ext/tree-sitter/tree-sitter/spec/compiler/rules/choice_spec.cc +0 -53
  878. data/ext/tree-sitter/tree-sitter/spec/compiler/rules/repeat_spec.cc +0 -22
  879. data/ext/tree-sitter/tree-sitter/spec/fixtures/error_corpus/c_errors.txt +0 -130
  880. data/ext/tree-sitter/tree-sitter/spec/fixtures/error_corpus/javascript_errors.txt +0 -157
  881. data/ext/tree-sitter/tree-sitter/spec/fixtures/external_scanners/extra_external_tokens.c +0 -42
  882. data/ext/tree-sitter/tree-sitter/spec/helpers/equals_pointer.h +0 -37
  883. data/ext/tree-sitter/tree-sitter/spec/helpers/load_language.cc +0 -206
  884. data/ext/tree-sitter/tree-sitter/spec/helpers/load_language.h +0 -12
  885. data/ext/tree-sitter/tree-sitter/spec/helpers/random_helpers.cc +0 -35
  886. data/ext/tree-sitter/tree-sitter/spec/helpers/random_helpers.h +0 -8
  887. data/ext/tree-sitter/tree-sitter/spec/helpers/read_test_entries.h +0 -15
  888. data/ext/tree-sitter/tree-sitter/spec/helpers/rule_helpers.cc +0 -55
  889. data/ext/tree-sitter/tree-sitter/spec/helpers/rule_helpers.h +0 -21
  890. data/ext/tree-sitter/tree-sitter/spec/helpers/stream_methods.cc +0 -140
  891. data/ext/tree-sitter/tree-sitter/spec/helpers/tree_helpers.cc +0 -50
  892. data/ext/tree-sitter/tree-sitter/spec/integration/compile_grammar_spec.cc +0 -847
  893. data/ext/tree-sitter/tree-sitter/spec/integration/corpus_specs.cc +0 -185
  894. data/ext/tree-sitter/tree-sitter/spec/runtime/tree_spec.cc +0 -439
  895. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_lex_table.cc +0 -195
  896. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_lex_table.h +0 -18
  897. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_parse_table.cc +0 -604
  898. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_parse_table.h +0 -22
  899. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_tables.cc +0 -27
  900. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/build_tables.h +0 -24
  901. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/conflict_type.h +0 -16
  902. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_conflict_manager.cc +0 -55
  903. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/lex_conflict_manager.h +0 -31
  904. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/recovery_tokens.cc +0 -89
  905. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/recovery_tokens.h +0 -19
  906. data/ext/tree-sitter/tree-sitter/src/compiler/build_tables/remove_duplicate_states.h +0 -65
  907. data/ext/tree-sitter/tree-sitter/src/compiler/compile.h +0 -16
  908. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/is_token.cc +0 -30
  909. data/ext/tree-sitter/tree-sitter/src/compiler/prepare_grammar/is_token.h +0 -14
  910. data/ext/tree-sitter/tree-sitter/src/compiler/rules.h +0 -28
  911. data/ext/tree-sitter/tree-sitter/src/compiler/rules/blank.cc +0 -36
  912. data/ext/tree-sitter/tree-sitter/src/compiler/rules/built_in_symbols.cc +0 -19
  913. data/ext/tree-sitter/tree-sitter/src/compiler/rules/built_in_symbols.h +0 -16
  914. data/ext/tree-sitter/tree-sitter/src/compiler/rules/character_range.cc +0 -36
  915. data/ext/tree-sitter/tree-sitter/src/compiler/rules/character_range.h +0 -25
  916. data/ext/tree-sitter/tree-sitter/src/compiler/rules/named_symbol.cc +0 -35
  917. data/ext/tree-sitter/tree-sitter/src/compiler/rules/pattern.cc +0 -36
  918. data/ext/tree-sitter/tree-sitter/src/compiler/rules/rules.cc +0 -108
  919. data/ext/tree-sitter/tree-sitter/src/compiler/rules/string.cc +0 -35
  920. data/ext/tree-sitter/tree-sitter/src/compiler/rules/symbol.cc +0 -82
  921. data/ext/tree-sitter/tree-sitter/src/compiler/rules/visitor.cc +0 -44
  922. data/ext/tree-sitter/tree-sitter/src/compiler/rules/visitor.h +0 -234
  923. data/ext/tree-sitter/tree-sitter/src/compiler/variable.cc +0 -11
  924. data/ext/tree-sitter/tree-sitter/src/compiler/variable.h +0 -27
  925. data/ext/tree-sitter/tree-sitter/src/runtime/error_costs.c +0 -28
  926. data/ext/tree-sitter/tree-sitter/src/runtime/tree_path.h +0 -217
  927. data/ext/tree-sitter/tree-sitter/tests.Makefile +0 -6
  928. data/ext/tree-sitter/tree-sitter/tests.target.mk +0 -176
  929. data/test/tree-sitter/fixtures/ruby/grammar.json +0 -4803
  930. data/test/tree-sitter/test_grammar.rb +0 -34
@@ -1,6 +0,0 @@
1
- # This file is generated by gyp; do not edit.
2
-
3
- export builddir_name ?= ./out
4
- .PHONY: all
5
- all:
6
- $(MAKE) tests
@@ -1,176 +0,0 @@
1
- # This file is generated by gyp; do not edit.
2
-
3
- TOOLSET := target
4
- TARGET := tests
5
- DEFS_Release :=
6
-
7
- # Flags passed to all source files.
8
- CFLAGS_Release := \
9
- -fasm-blocks \
10
- -mpascal-strings \
11
- -O0 \
12
- -gdwarf-2 \
13
- -arch x86_64 \
14
- -Wall \
15
- -Wextra \
16
- -Wno-unused-parameter
17
-
18
- # Flags passed to only C files.
19
- CFLAGS_C_Release :=
20
-
21
- # Flags passed to only C++ files.
22
- CFLAGS_CC_Release := \
23
- -std=c++11 \
24
- -stdlib=libc++
25
-
26
- # Flags passed to only ObjC files.
27
- CFLAGS_OBJC_Release :=
28
-
29
- # Flags passed to only ObjC++ files.
30
- CFLAGS_OBJCC_Release :=
31
-
32
- INCS_Release := \
33
- -Isrc \
34
- -Ispec \
35
- -Iexternals/bandit \
36
- -Iexternals/utf8proc \
37
- -Iinclude
38
-
39
- DEFS_Test :=
40
-
41
- # Flags passed to all source files.
42
- CFLAGS_Test := \
43
- -fasm-blocks \
44
- -mpascal-strings \
45
- -O0 \
46
- -gdwarf-2 \
47
- -arch x86_64 \
48
- -Wall \
49
- -Wextra \
50
- -Wno-unused-parameter
51
-
52
- # Flags passed to only C files.
53
- CFLAGS_C_Test :=
54
-
55
- # Flags passed to only C++ files.
56
- CFLAGS_CC_Test := \
57
- -std=c++11 \
58
- -stdlib=libc++
59
-
60
- # Flags passed to only ObjC files.
61
- CFLAGS_OBJC_Test :=
62
-
63
- # Flags passed to only ObjC++ files.
64
- CFLAGS_OBJCC_Test :=
65
-
66
- INCS_Test := \
67
- -Isrc \
68
- -Ispec \
69
- -Iexternals/bandit \
70
- -Iexternals/utf8proc \
71
- -Iinclude
72
-
73
- OBJS := \
74
- $(obj).target/$(TARGET)/spec/specs.o \
75
- $(obj).target/$(TARGET)/spec/compiler/build_tables/distinctive_tokens_spec.o \
76
- $(obj).target/$(TARGET)/spec/compiler/build_tables/lex_conflict_manager_spec.o \
77
- $(obj).target/$(TARGET)/spec/compiler/build_tables/lex_item_spec.o \
78
- $(obj).target/$(TARGET)/spec/compiler/build_tables/parse_item_set_builder_spec.o \
79
- $(obj).target/$(TARGET)/spec/compiler/build_tables/rule_can_be_blank_spec.o \
80
- $(obj).target/$(TARGET)/spec/compiler/prepare_grammar/expand_repeats_spec.o \
81
- $(obj).target/$(TARGET)/spec/compiler/prepare_grammar/expand_tokens_spec.o \
82
- $(obj).target/$(TARGET)/spec/compiler/prepare_grammar/extract_choices_spec.o \
83
- $(obj).target/$(TARGET)/spec/compiler/prepare_grammar/extract_tokens_spec.o \
84
- $(obj).target/$(TARGET)/spec/compiler/prepare_grammar/flatten_grammar_spec.o \
85
- $(obj).target/$(TARGET)/spec/compiler/prepare_grammar/intern_symbols_spec.o \
86
- $(obj).target/$(TARGET)/spec/compiler/prepare_grammar/parse_regex_spec.o \
87
- $(obj).target/$(TARGET)/spec/compiler/rules/character_set_spec.o \
88
- $(obj).target/$(TARGET)/spec/compiler/rules/choice_spec.o \
89
- $(obj).target/$(TARGET)/spec/compiler/rules/repeat_spec.o \
90
- $(obj).target/$(TARGET)/spec/compiler/util/string_helpers_spec.o \
91
- $(obj).target/$(TARGET)/spec/runtime/document_spec.o \
92
- $(obj).target/$(TARGET)/spec/runtime/node_spec.o \
93
- $(obj).target/$(TARGET)/spec/runtime/parser_spec.o \
94
- $(obj).target/$(TARGET)/spec/runtime/stack_spec.o \
95
- $(obj).target/$(TARGET)/spec/runtime/tree_spec.o \
96
- $(obj).target/$(TARGET)/spec/integration/compile_grammar_spec.o \
97
- $(obj).target/$(TARGET)/spec/integration/corpus_specs.o \
98
- $(obj).target/$(TARGET)/spec/helpers/encoding_helpers.o \
99
- $(obj).target/$(TARGET)/spec/helpers/load_language.o \
100
- $(obj).target/$(TARGET)/spec/helpers/point_helpers.o \
101
- $(obj).target/$(TARGET)/spec/helpers/random_helpers.o \
102
- $(obj).target/$(TARGET)/spec/helpers/read_test_entries.o \
103
- $(obj).target/$(TARGET)/spec/helpers/record_alloc.o \
104
- $(obj).target/$(TARGET)/spec/helpers/rule_helpers.o \
105
- $(obj).target/$(TARGET)/spec/helpers/scope_sequence.o \
106
- $(obj).target/$(TARGET)/spec/helpers/spy_input.o \
107
- $(obj).target/$(TARGET)/spec/helpers/spy_logger.o \
108
- $(obj).target/$(TARGET)/spec/helpers/stderr_logger.o \
109
- $(obj).target/$(TARGET)/spec/helpers/stream_methods.o \
110
- $(obj).target/$(TARGET)/spec/helpers/tree_helpers.o
111
-
112
- # Add to the list of files we specially track dependencies for.
113
- all_deps += $(OBJS)
114
-
115
- # Make sure our dependencies are built before any of us.
116
- $(OBJS): | $(builddir)/libruntime.a $(builddir)/libcompiler.a
117
-
118
- # CFLAGS et al overrides must be target-local.
119
- # See "Target-specific Variable Values" in the GNU Make manual.
120
- $(OBJS): TOOLSET := $(TOOLSET)
121
- $(OBJS): GYP_CFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE))
122
- $(OBJS): GYP_CXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE))
123
- $(OBJS): GYP_OBJCFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE)) $(CFLAGS_OBJC_$(BUILDTYPE))
124
- $(OBJS): GYP_OBJCXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE)) $(CFLAGS_OBJCC_$(BUILDTYPE))
125
-
126
- # Suffix rules, putting all outputs into $(obj).
127
-
128
- $(obj).$(TOOLSET)/$(TARGET)/%.o: $(srcdir)/%.cc FORCE_DO_CMD
129
- @$(call do_cmd,cxx,1)
130
-
131
- # Try building from generated source, too.
132
-
133
- $(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj).$(TOOLSET)/%.cc FORCE_DO_CMD
134
- @$(call do_cmd,cxx,1)
135
-
136
- $(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj)/%.cc FORCE_DO_CMD
137
- @$(call do_cmd,cxx,1)
138
-
139
- # End of this set of suffix rules
140
- ### Rules for final target.
141
- LDFLAGS_Release := \
142
- -g \
143
- -arch x86_64 \
144
- -L$(builddir)
145
-
146
- LIBTOOLFLAGS_Release := \
147
- -g
148
-
149
- LDFLAGS_Test := \
150
- -g \
151
- -arch x86_64 \
152
- -L$(builddir)
153
-
154
- LIBTOOLFLAGS_Test := \
155
- -g
156
-
157
- LIBS := \
158
- -ldl
159
-
160
- $(builddir)/tests: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE))
161
- $(builddir)/tests: LIBS := $(LIBS)
162
- $(builddir)/tests: GYP_LIBTOOLFLAGS := $(LIBTOOLFLAGS_$(BUILDTYPE))
163
- $(builddir)/tests: LD_INPUTS := $(OBJS) $(builddir)/libruntime.a $(builddir)/libcompiler.a
164
- $(builddir)/tests: TOOLSET := $(TOOLSET)
165
- $(builddir)/tests: $(OBJS) $(builddir)/libruntime.a $(builddir)/libcompiler.a FORCE_DO_CMD
166
- $(call do_cmd,link)
167
-
168
- all_deps += $(builddir)/tests
169
- # Add target alias
170
- .PHONY: tests
171
- tests: $(builddir)/tests
172
-
173
- # Add executable to "all" target.
174
- .PHONY: all
175
- all: $(builddir)/tests
176
-
@@ -1,4803 +0,0 @@
1
- {
2
- "name": "ruby",
3
- "rules": {
4
- "program": {
5
- "type": "SEQ",
6
- "members": [
7
- {
8
- "type": "CHOICE",
9
- "members": [
10
- {
11
- "type": "SYMBOL",
12
- "name": "_statements"
13
- },
14
- {
15
- "type": "BLANK"
16
- }
17
- ]
18
- },
19
- {
20
- "type": "CHOICE",
21
- "members": [
22
- {
23
- "type": "SEQ",
24
- "members": [
25
- {
26
- "type": "STRING",
27
- "value": "__END__"
28
- },
29
- {
30
- "type": "SYMBOL",
31
- "name": "uninterpreted"
32
- }
33
- ]
34
- },
35
- {
36
- "type": "BLANK"
37
- }
38
- ]
39
- }
40
- ]
41
- },
42
- "uninterpreted": {
43
- "type": "PATTERN",
44
- "value": "(.|\\s)*"
45
- },
46
- "_statements": {
47
- "type": "CHOICE",
48
- "members": [
49
- {
50
- "type": "SYMBOL",
51
- "name": "_top_level_statement"
52
- },
53
- {
54
- "type": "SEQ",
55
- "members": [
56
- {
57
- "type": "SYMBOL",
58
- "name": "_top_level_statement"
59
- },
60
- {
61
- "type": "SYMBOL",
62
- "name": "_terminator"
63
- },
64
- {
65
- "type": "CHOICE",
66
- "members": [
67
- {
68
- "type": "SYMBOL",
69
- "name": "_statements"
70
- },
71
- {
72
- "type": "BLANK"
73
- }
74
- ]
75
- }
76
- ]
77
- }
78
- ]
79
- },
80
- "_top_level_statement": {
81
- "type": "CHOICE",
82
- "members": [
83
- {
84
- "type": "SYMBOL",
85
- "name": "_statement"
86
- },
87
- {
88
- "type": "SYMBOL",
89
- "name": "begin_block"
90
- },
91
- {
92
- "type": "SYMBOL",
93
- "name": "end_block"
94
- }
95
- ]
96
- },
97
- "begin_block": {
98
- "type": "SEQ",
99
- "members": [
100
- {
101
- "type": "STRING",
102
- "value": "BEGIN"
103
- },
104
- {
105
- "type": "STRING",
106
- "value": "{"
107
- },
108
- {
109
- "type": "CHOICE",
110
- "members": [
111
- {
112
- "type": "SYMBOL",
113
- "name": "_statements"
114
- },
115
- {
116
- "type": "BLANK"
117
- }
118
- ]
119
- },
120
- {
121
- "type": "STRING",
122
- "value": "}"
123
- }
124
- ]
125
- },
126
- "end_block": {
127
- "type": "SEQ",
128
- "members": [
129
- {
130
- "type": "STRING",
131
- "value": "END"
132
- },
133
- {
134
- "type": "STRING",
135
- "value": "{"
136
- },
137
- {
138
- "type": "CHOICE",
139
- "members": [
140
- {
141
- "type": "SYMBOL",
142
- "name": "_statements"
143
- },
144
- {
145
- "type": "BLANK"
146
- }
147
- ]
148
- },
149
- {
150
- "type": "STRING",
151
- "value": "}"
152
- }
153
- ]
154
- },
155
- "_statement": {
156
- "type": "CHOICE",
157
- "members": [
158
- {
159
- "type": "SYMBOL",
160
- "name": "undef"
161
- },
162
- {
163
- "type": "SYMBOL",
164
- "name": "alias"
165
- },
166
- {
167
- "type": "SYMBOL",
168
- "name": "if_modifier"
169
- },
170
- {
171
- "type": "SYMBOL",
172
- "name": "unless_modifier"
173
- },
174
- {
175
- "type": "SYMBOL",
176
- "name": "while_modifier"
177
- },
178
- {
179
- "type": "SYMBOL",
180
- "name": "until_modifier"
181
- },
182
- {
183
- "type": "SYMBOL",
184
- "name": "rescue_modifier"
185
- },
186
- {
187
- "type": "SYMBOL",
188
- "name": "empty_statement"
189
- },
190
- {
191
- "type": "SYMBOL",
192
- "name": "_arg"
193
- }
194
- ]
195
- },
196
- "method": {
197
- "type": "SEQ",
198
- "members": [
199
- {
200
- "type": "STRING",
201
- "value": "def"
202
- },
203
- {
204
- "type": "SYMBOL",
205
- "name": "_method_rest"
206
- }
207
- ]
208
- },
209
- "singleton_method": {
210
- "type": "SEQ",
211
- "members": [
212
- {
213
- "type": "STRING",
214
- "value": "def"
215
- },
216
- {
217
- "type": "SEQ",
218
- "members": [
219
- {
220
- "type": "CHOICE",
221
- "members": [
222
- {
223
- "type": "SYMBOL",
224
- "name": "_variable"
225
- },
226
- {
227
- "type": "SEQ",
228
- "members": [
229
- {
230
- "type": "STRING",
231
- "value": "("
232
- },
233
- {
234
- "type": "SYMBOL",
235
- "name": "_arg"
236
- },
237
- {
238
- "type": "STRING",
239
- "value": ")"
240
- }
241
- ]
242
- }
243
- ]
244
- },
245
- {
246
- "type": "CHOICE",
247
- "members": [
248
- {
249
- "type": "STRING",
250
- "value": "."
251
- },
252
- {
253
- "type": "STRING",
254
- "value": "::"
255
- }
256
- ]
257
- }
258
- ]
259
- },
260
- {
261
- "type": "SYMBOL",
262
- "name": "_method_rest"
263
- }
264
- ]
265
- },
266
- "_method_rest": {
267
- "type": "SEQ",
268
- "members": [
269
- {
270
- "type": "SYMBOL",
271
- "name": "_method_name"
272
- },
273
- {
274
- "type": "CHOICE",
275
- "members": [
276
- {
277
- "type": "SYMBOL",
278
- "name": "method_parameters"
279
- },
280
- {
281
- "type": "SYMBOL",
282
- "name": "_terminator"
283
- }
284
- ]
285
- },
286
- {
287
- "type": "CHOICE",
288
- "members": [
289
- {
290
- "type": "SYMBOL",
291
- "name": "_body_statement"
292
- },
293
- {
294
- "type": "BLANK"
295
- }
296
- ]
297
- },
298
- {
299
- "type": "STRING",
300
- "value": "end"
301
- }
302
- ]
303
- },
304
- "method_parameters": {
305
- "type": "PREC_RIGHT",
306
- "value": 0,
307
- "content": {
308
- "type": "CHOICE",
309
- "members": [
310
- {
311
- "type": "SEQ",
312
- "members": [
313
- {
314
- "type": "STRING",
315
- "value": "("
316
- },
317
- {
318
- "type": "CHOICE",
319
- "members": [
320
- {
321
- "type": "SEQ",
322
- "members": [
323
- {
324
- "type": "SYMBOL",
325
- "name": "_formal_parameter"
326
- },
327
- {
328
- "type": "REPEAT",
329
- "content": {
330
- "type": "SEQ",
331
- "members": [
332
- {
333
- "type": "STRING",
334
- "value": ","
335
- },
336
- {
337
- "type": "SYMBOL",
338
- "name": "_formal_parameter"
339
- }
340
- ]
341
- }
342
- }
343
- ]
344
- },
345
- {
346
- "type": "BLANK"
347
- }
348
- ]
349
- },
350
- {
351
- "type": "STRING",
352
- "value": ")"
353
- },
354
- {
355
- "type": "CHOICE",
356
- "members": [
357
- {
358
- "type": "SYMBOL",
359
- "name": "_terminator"
360
- },
361
- {
362
- "type": "BLANK"
363
- }
364
- ]
365
- }
366
- ]
367
- },
368
- {
369
- "type": "SEQ",
370
- "members": [
371
- {
372
- "type": "SYMBOL",
373
- "name": "_simple_formal_parameter"
374
- },
375
- {
376
- "type": "SYMBOL",
377
- "name": "_terminator"
378
- }
379
- ]
380
- },
381
- {
382
- "type": "SEQ",
383
- "members": [
384
- {
385
- "type": "SYMBOL",
386
- "name": "_simple_formal_parameter"
387
- },
388
- {
389
- "type": "STRING",
390
- "value": ","
391
- },
392
- {
393
- "type": "SEQ",
394
- "members": [
395
- {
396
- "type": "SYMBOL",
397
- "name": "_formal_parameter"
398
- },
399
- {
400
- "type": "REPEAT",
401
- "content": {
402
- "type": "SEQ",
403
- "members": [
404
- {
405
- "type": "STRING",
406
- "value": ","
407
- },
408
- {
409
- "type": "SYMBOL",
410
- "name": "_formal_parameter"
411
- }
412
- ]
413
- }
414
- }
415
- ]
416
- },
417
- {
418
- "type": "SYMBOL",
419
- "name": "_terminator"
420
- }
421
- ]
422
- }
423
- ]
424
- }
425
- },
426
- "lambda_parameters": {
427
- "type": "CHOICE",
428
- "members": [
429
- {
430
- "type": "SEQ",
431
- "members": [
432
- {
433
- "type": "STRING",
434
- "value": "("
435
- },
436
- {
437
- "type": "CHOICE",
438
- "members": [
439
- {
440
- "type": "SEQ",
441
- "members": [
442
- {
443
- "type": "SYMBOL",
444
- "name": "_formal_parameter"
445
- },
446
- {
447
- "type": "REPEAT",
448
- "content": {
449
- "type": "SEQ",
450
- "members": [
451
- {
452
- "type": "STRING",
453
- "value": ","
454
- },
455
- {
456
- "type": "SYMBOL",
457
- "name": "_formal_parameter"
458
- }
459
- ]
460
- }
461
- }
462
- ]
463
- },
464
- {
465
- "type": "BLANK"
466
- }
467
- ]
468
- },
469
- {
470
- "type": "STRING",
471
- "value": ")"
472
- }
473
- ]
474
- },
475
- {
476
- "type": "SYMBOL",
477
- "name": "_simple_formal_parameter"
478
- }
479
- ]
480
- },
481
- "block_parameters": {
482
- "type": "SEQ",
483
- "members": [
484
- {
485
- "type": "STRING",
486
- "value": "|"
487
- },
488
- {
489
- "type": "SEQ",
490
- "members": [
491
- {
492
- "type": "CHOICE",
493
- "members": [
494
- {
495
- "type": "SEQ",
496
- "members": [
497
- {
498
- "type": "SYMBOL",
499
- "name": "_formal_parameter"
500
- },
501
- {
502
- "type": "REPEAT",
503
- "content": {
504
- "type": "SEQ",
505
- "members": [
506
- {
507
- "type": "STRING",
508
- "value": ","
509
- },
510
- {
511
- "type": "SYMBOL",
512
- "name": "_formal_parameter"
513
- }
514
- ]
515
- }
516
- }
517
- ]
518
- },
519
- {
520
- "type": "BLANK"
521
- }
522
- ]
523
- },
524
- {
525
- "type": "CHOICE",
526
- "members": [
527
- {
528
- "type": "STRING",
529
- "value": ","
530
- },
531
- {
532
- "type": "BLANK"
533
- }
534
- ]
535
- }
536
- ]
537
- },
538
- {
539
- "type": "CHOICE",
540
- "members": [
541
- {
542
- "type": "SEQ",
543
- "members": [
544
- {
545
- "type": "STRING",
546
- "value": ";"
547
- },
548
- {
549
- "type": "SEQ",
550
- "members": [
551
- {
552
- "type": "SYMBOL",
553
- "name": "identifier"
554
- },
555
- {
556
- "type": "REPEAT",
557
- "content": {
558
- "type": "SEQ",
559
- "members": [
560
- {
561
- "type": "STRING",
562
- "value": ","
563
- },
564
- {
565
- "type": "SYMBOL",
566
- "name": "identifier"
567
- }
568
- ]
569
- }
570
- }
571
- ]
572
- }
573
- ]
574
- },
575
- {
576
- "type": "BLANK"
577
- }
578
- ]
579
- },
580
- {
581
- "type": "STRING",
582
- "value": "|"
583
- }
584
- ]
585
- },
586
- "_formal_parameter": {
587
- "type": "CHOICE",
588
- "members": [
589
- {
590
- "type": "SYMBOL",
591
- "name": "_simple_formal_parameter"
592
- },
593
- {
594
- "type": "SYMBOL",
595
- "name": "destructured_parameter"
596
- }
597
- ]
598
- },
599
- "_simple_formal_parameter": {
600
- "type": "CHOICE",
601
- "members": [
602
- {
603
- "type": "SYMBOL",
604
- "name": "identifier"
605
- },
606
- {
607
- "type": "SYMBOL",
608
- "name": "splat_parameter"
609
- },
610
- {
611
- "type": "SYMBOL",
612
- "name": "hash_splat_parameter"
613
- },
614
- {
615
- "type": "SYMBOL",
616
- "name": "block_parameter"
617
- },
618
- {
619
- "type": "SYMBOL",
620
- "name": "keyword_parameter"
621
- },
622
- {
623
- "type": "SYMBOL",
624
- "name": "optional_parameter"
625
- }
626
- ]
627
- },
628
- "destructured_parameter": {
629
- "type": "SEQ",
630
- "members": [
631
- {
632
- "type": "STRING",
633
- "value": "("
634
- },
635
- {
636
- "type": "SEQ",
637
- "members": [
638
- {
639
- "type": "SYMBOL",
640
- "name": "_formal_parameter"
641
- },
642
- {
643
- "type": "REPEAT",
644
- "content": {
645
- "type": "SEQ",
646
- "members": [
647
- {
648
- "type": "STRING",
649
- "value": ","
650
- },
651
- {
652
- "type": "SYMBOL",
653
- "name": "_formal_parameter"
654
- }
655
- ]
656
- }
657
- }
658
- ]
659
- },
660
- {
661
- "type": "STRING",
662
- "value": ")"
663
- }
664
- ]
665
- },
666
- "splat_parameter": {
667
- "type": "SEQ",
668
- "members": [
669
- {
670
- "type": "STRING",
671
- "value": "*"
672
- },
673
- {
674
- "type": "CHOICE",
675
- "members": [
676
- {
677
- "type": "SYMBOL",
678
- "name": "identifier"
679
- },
680
- {
681
- "type": "BLANK"
682
- }
683
- ]
684
- }
685
- ]
686
- },
687
- "hash_splat_parameter": {
688
- "type": "SEQ",
689
- "members": [
690
- {
691
- "type": "STRING",
692
- "value": "**"
693
- },
694
- {
695
- "type": "CHOICE",
696
- "members": [
697
- {
698
- "type": "SYMBOL",
699
- "name": "identifier"
700
- },
701
- {
702
- "type": "BLANK"
703
- }
704
- ]
705
- }
706
- ]
707
- },
708
- "block_parameter": {
709
- "type": "SEQ",
710
- "members": [
711
- {
712
- "type": "STRING",
713
- "value": "&"
714
- },
715
- {
716
- "type": "SYMBOL",
717
- "name": "identifier"
718
- }
719
- ]
720
- },
721
- "keyword_parameter": {
722
- "type": "PREC_RIGHT",
723
- "value": 51,
724
- "content": {
725
- "type": "SEQ",
726
- "members": [
727
- {
728
- "type": "SYMBOL",
729
- "name": "identifier"
730
- },
731
- {
732
- "type": "SYMBOL",
733
- "name": "_keyword_colon"
734
- },
735
- {
736
- "type": "CHOICE",
737
- "members": [
738
- {
739
- "type": "SYMBOL",
740
- "name": "_arg"
741
- },
742
- {
743
- "type": "BLANK"
744
- }
745
- ]
746
- }
747
- ]
748
- }
749
- },
750
- "optional_parameter": {
751
- "type": "PREC",
752
- "value": 51,
753
- "content": {
754
- "type": "SEQ",
755
- "members": [
756
- {
757
- "type": "SYMBOL",
758
- "name": "identifier"
759
- },
760
- {
761
- "type": "STRING",
762
- "value": "="
763
- },
764
- {
765
- "type": "SYMBOL",
766
- "name": "_arg"
767
- }
768
- ]
769
- }
770
- },
771
- "class": {
772
- "type": "SEQ",
773
- "members": [
774
- {
775
- "type": "STRING",
776
- "value": "class"
777
- },
778
- {
779
- "type": "CHOICE",
780
- "members": [
781
- {
782
- "type": "SYMBOL",
783
- "name": "constant"
784
- },
785
- {
786
- "type": "SYMBOL",
787
- "name": "scope_resolution"
788
- }
789
- ]
790
- },
791
- {
792
- "type": "CHOICE",
793
- "members": [
794
- {
795
- "type": "SYMBOL",
796
- "name": "superclass"
797
- },
798
- {
799
- "type": "BLANK"
800
- }
801
- ]
802
- },
803
- {
804
- "type": "SYMBOL",
805
- "name": "_terminator"
806
- },
807
- {
808
- "type": "CHOICE",
809
- "members": [
810
- {
811
- "type": "SYMBOL",
812
- "name": "_body_statement"
813
- },
814
- {
815
- "type": "BLANK"
816
- }
817
- ]
818
- },
819
- {
820
- "type": "STRING",
821
- "value": "end"
822
- }
823
- ]
824
- },
825
- "superclass": {
826
- "type": "SEQ",
827
- "members": [
828
- {
829
- "type": "STRING",
830
- "value": "<"
831
- },
832
- {
833
- "type": "SYMBOL",
834
- "name": "_arg"
835
- }
836
- ]
837
- },
838
- "singleton_class": {
839
- "type": "SEQ",
840
- "members": [
841
- {
842
- "type": "STRING",
843
- "value": "class"
844
- },
845
- {
846
- "type": "STRING",
847
- "value": "<<"
848
- },
849
- {
850
- "type": "SYMBOL",
851
- "name": "_arg"
852
- },
853
- {
854
- "type": "SYMBOL",
855
- "name": "_terminator"
856
- },
857
- {
858
- "type": "CHOICE",
859
- "members": [
860
- {
861
- "type": "SYMBOL",
862
- "name": "_body_statement"
863
- },
864
- {
865
- "type": "BLANK"
866
- }
867
- ]
868
- },
869
- {
870
- "type": "STRING",
871
- "value": "end"
872
- }
873
- ]
874
- },
875
- "module": {
876
- "type": "SEQ",
877
- "members": [
878
- {
879
- "type": "STRING",
880
- "value": "module"
881
- },
882
- {
883
- "type": "CHOICE",
884
- "members": [
885
- {
886
- "type": "SYMBOL",
887
- "name": "constant"
888
- },
889
- {
890
- "type": "SYMBOL",
891
- "name": "scope_resolution"
892
- }
893
- ]
894
- },
895
- {
896
- "type": "SYMBOL",
897
- "name": "_terminator"
898
- },
899
- {
900
- "type": "CHOICE",
901
- "members": [
902
- {
903
- "type": "SYMBOL",
904
- "name": "_body_statement"
905
- },
906
- {
907
- "type": "BLANK"
908
- }
909
- ]
910
- },
911
- {
912
- "type": "STRING",
913
- "value": "end"
914
- }
915
- ]
916
- },
917
- "return": {
918
- "type": "PREC_LEFT",
919
- "value": 0,
920
- "content": {
921
- "type": "SEQ",
922
- "members": [
923
- {
924
- "type": "STRING",
925
- "value": "return"
926
- },
927
- {
928
- "type": "CHOICE",
929
- "members": [
930
- {
931
- "type": "SYMBOL",
932
- "name": "argument_list"
933
- },
934
- {
935
- "type": "BLANK"
936
- }
937
- ]
938
- }
939
- ]
940
- }
941
- },
942
- "yield": {
943
- "type": "PREC_LEFT",
944
- "value": 0,
945
- "content": {
946
- "type": "SEQ",
947
- "members": [
948
- {
949
- "type": "STRING",
950
- "value": "yield"
951
- },
952
- {
953
- "type": "CHOICE",
954
- "members": [
955
- {
956
- "type": "SYMBOL",
957
- "name": "argument_list"
958
- },
959
- {
960
- "type": "BLANK"
961
- }
962
- ]
963
- }
964
- ]
965
- }
966
- },
967
- "break": {
968
- "type": "PREC_LEFT",
969
- "value": 0,
970
- "content": {
971
- "type": "SEQ",
972
- "members": [
973
- {
974
- "type": "STRING",
975
- "value": "break"
976
- },
977
- {
978
- "type": "CHOICE",
979
- "members": [
980
- {
981
- "type": "SYMBOL",
982
- "name": "argument_list"
983
- },
984
- {
985
- "type": "BLANK"
986
- }
987
- ]
988
- }
989
- ]
990
- }
991
- },
992
- "next": {
993
- "type": "PREC_LEFT",
994
- "value": 0,
995
- "content": {
996
- "type": "SEQ",
997
- "members": [
998
- {
999
- "type": "STRING",
1000
- "value": "next"
1001
- },
1002
- {
1003
- "type": "CHOICE",
1004
- "members": [
1005
- {
1006
- "type": "SYMBOL",
1007
- "name": "argument_list"
1008
- },
1009
- {
1010
- "type": "BLANK"
1011
- }
1012
- ]
1013
- }
1014
- ]
1015
- }
1016
- },
1017
- "redo": {
1018
- "type": "STRING",
1019
- "value": "redo"
1020
- },
1021
- "retry": {
1022
- "type": "STRING",
1023
- "value": "retry"
1024
- },
1025
- "if_modifier": {
1026
- "type": "PREC",
1027
- "value": 16,
1028
- "content": {
1029
- "type": "SEQ",
1030
- "members": [
1031
- {
1032
- "type": "SYMBOL",
1033
- "name": "_statement"
1034
- },
1035
- {
1036
- "type": "STRING",
1037
- "value": "if"
1038
- },
1039
- {
1040
- "type": "SYMBOL",
1041
- "name": "_arg"
1042
- }
1043
- ]
1044
- }
1045
- },
1046
- "unless_modifier": {
1047
- "type": "PREC",
1048
- "value": 16,
1049
- "content": {
1050
- "type": "SEQ",
1051
- "members": [
1052
- {
1053
- "type": "SYMBOL",
1054
- "name": "_statement"
1055
- },
1056
- {
1057
- "type": "STRING",
1058
- "value": "unless"
1059
- },
1060
- {
1061
- "type": "SYMBOL",
1062
- "name": "_arg"
1063
- }
1064
- ]
1065
- }
1066
- },
1067
- "while_modifier": {
1068
- "type": "PREC",
1069
- "value": 16,
1070
- "content": {
1071
- "type": "SEQ",
1072
- "members": [
1073
- {
1074
- "type": "SYMBOL",
1075
- "name": "_statement"
1076
- },
1077
- {
1078
- "type": "STRING",
1079
- "value": "while"
1080
- },
1081
- {
1082
- "type": "SYMBOL",
1083
- "name": "_arg"
1084
- }
1085
- ]
1086
- }
1087
- },
1088
- "until_modifier": {
1089
- "type": "PREC",
1090
- "value": 16,
1091
- "content": {
1092
- "type": "SEQ",
1093
- "members": [
1094
- {
1095
- "type": "SYMBOL",
1096
- "name": "_statement"
1097
- },
1098
- {
1099
- "type": "STRING",
1100
- "value": "until"
1101
- },
1102
- {
1103
- "type": "SYMBOL",
1104
- "name": "_arg"
1105
- }
1106
- ]
1107
- }
1108
- },
1109
- "rescue_modifier": {
1110
- "type": "PREC",
1111
- "value": 16,
1112
- "content": {
1113
- "type": "SEQ",
1114
- "members": [
1115
- {
1116
- "type": "SYMBOL",
1117
- "name": "_statement"
1118
- },
1119
- {
1120
- "type": "STRING",
1121
- "value": "rescue"
1122
- },
1123
- {
1124
- "type": "SYMBOL",
1125
- "name": "_arg"
1126
- }
1127
- ]
1128
- }
1129
- },
1130
- "while": {
1131
- "type": "SEQ",
1132
- "members": [
1133
- {
1134
- "type": "STRING",
1135
- "value": "while"
1136
- },
1137
- {
1138
- "type": "SYMBOL",
1139
- "name": "_arg"
1140
- },
1141
- {
1142
- "type": "SYMBOL",
1143
- "name": "_do"
1144
- },
1145
- {
1146
- "type": "CHOICE",
1147
- "members": [
1148
- {
1149
- "type": "SYMBOL",
1150
- "name": "_statements"
1151
- },
1152
- {
1153
- "type": "BLANK"
1154
- }
1155
- ]
1156
- },
1157
- {
1158
- "type": "STRING",
1159
- "value": "end"
1160
- }
1161
- ]
1162
- },
1163
- "until": {
1164
- "type": "SEQ",
1165
- "members": [
1166
- {
1167
- "type": "STRING",
1168
- "value": "until"
1169
- },
1170
- {
1171
- "type": "SYMBOL",
1172
- "name": "_arg"
1173
- },
1174
- {
1175
- "type": "SYMBOL",
1176
- "name": "_do"
1177
- },
1178
- {
1179
- "type": "CHOICE",
1180
- "members": [
1181
- {
1182
- "type": "SYMBOL",
1183
- "name": "_statements"
1184
- },
1185
- {
1186
- "type": "BLANK"
1187
- }
1188
- ]
1189
- },
1190
- {
1191
- "type": "STRING",
1192
- "value": "end"
1193
- }
1194
- ]
1195
- },
1196
- "for": {
1197
- "type": "SEQ",
1198
- "members": [
1199
- {
1200
- "type": "STRING",
1201
- "value": "for"
1202
- },
1203
- {
1204
- "type": "SYMBOL",
1205
- "name": "_mlhs"
1206
- },
1207
- {
1208
- "type": "STRING",
1209
- "value": "in"
1210
- },
1211
- {
1212
- "type": "SYMBOL",
1213
- "name": "_arg"
1214
- },
1215
- {
1216
- "type": "SYMBOL",
1217
- "name": "_do"
1218
- },
1219
- {
1220
- "type": "CHOICE",
1221
- "members": [
1222
- {
1223
- "type": "SYMBOL",
1224
- "name": "_statements"
1225
- },
1226
- {
1227
- "type": "BLANK"
1228
- }
1229
- ]
1230
- },
1231
- {
1232
- "type": "STRING",
1233
- "value": "end"
1234
- }
1235
- ]
1236
- },
1237
- "_do": {
1238
- "type": "CHOICE",
1239
- "members": [
1240
- {
1241
- "type": "STRING",
1242
- "value": "do"
1243
- },
1244
- {
1245
- "type": "SYMBOL",
1246
- "name": "_terminator"
1247
- }
1248
- ]
1249
- },
1250
- "case": {
1251
- "type": "SEQ",
1252
- "members": [
1253
- {
1254
- "type": "STRING",
1255
- "value": "case"
1256
- },
1257
- {
1258
- "type": "CHOICE",
1259
- "members": [
1260
- {
1261
- "type": "SYMBOL",
1262
- "name": "_arg"
1263
- },
1264
- {
1265
- "type": "BLANK"
1266
- }
1267
- ]
1268
- },
1269
- {
1270
- "type": "REPEAT",
1271
- "content": {
1272
- "type": "SYMBOL",
1273
- "name": "_terminator"
1274
- }
1275
- },
1276
- {
1277
- "type": "SYMBOL",
1278
- "name": "when"
1279
- },
1280
- {
1281
- "type": "STRING",
1282
- "value": "end"
1283
- }
1284
- ]
1285
- },
1286
- "when": {
1287
- "type": "SEQ",
1288
- "members": [
1289
- {
1290
- "type": "STRING",
1291
- "value": "when"
1292
- },
1293
- {
1294
- "type": "SEQ",
1295
- "members": [
1296
- {
1297
- "type": "SYMBOL",
1298
- "name": "pattern"
1299
- },
1300
- {
1301
- "type": "REPEAT",
1302
- "content": {
1303
- "type": "SEQ",
1304
- "members": [
1305
- {
1306
- "type": "STRING",
1307
- "value": ","
1308
- },
1309
- {
1310
- "type": "SYMBOL",
1311
- "name": "pattern"
1312
- }
1313
- ]
1314
- }
1315
- }
1316
- ]
1317
- },
1318
- {
1319
- "type": "SYMBOL",
1320
- "name": "_then"
1321
- },
1322
- {
1323
- "type": "CHOICE",
1324
- "members": [
1325
- {
1326
- "type": "SYMBOL",
1327
- "name": "_statements"
1328
- },
1329
- {
1330
- "type": "BLANK"
1331
- }
1332
- ]
1333
- },
1334
- {
1335
- "type": "CHOICE",
1336
- "members": [
1337
- {
1338
- "type": "CHOICE",
1339
- "members": [
1340
- {
1341
- "type": "SYMBOL",
1342
- "name": "else"
1343
- },
1344
- {
1345
- "type": "BLANK"
1346
- }
1347
- ]
1348
- },
1349
- {
1350
- "type": "SYMBOL",
1351
- "name": "when"
1352
- }
1353
- ]
1354
- }
1355
- ]
1356
- },
1357
- "pattern": {
1358
- "type": "CHOICE",
1359
- "members": [
1360
- {
1361
- "type": "SYMBOL",
1362
- "name": "_arg"
1363
- },
1364
- {
1365
- "type": "SYMBOL",
1366
- "name": "splat_argument"
1367
- }
1368
- ]
1369
- },
1370
- "if": {
1371
- "type": "SEQ",
1372
- "members": [
1373
- {
1374
- "type": "STRING",
1375
- "value": "if"
1376
- },
1377
- {
1378
- "type": "SYMBOL",
1379
- "name": "_statement"
1380
- },
1381
- {
1382
- "type": "SYMBOL",
1383
- "name": "_then"
1384
- },
1385
- {
1386
- "type": "CHOICE",
1387
- "members": [
1388
- {
1389
- "type": "SYMBOL",
1390
- "name": "_statements"
1391
- },
1392
- {
1393
- "type": "BLANK"
1394
- }
1395
- ]
1396
- },
1397
- {
1398
- "type": "CHOICE",
1399
- "members": [
1400
- {
1401
- "type": "SYMBOL",
1402
- "name": "_if_tail"
1403
- },
1404
- {
1405
- "type": "BLANK"
1406
- }
1407
- ]
1408
- },
1409
- {
1410
- "type": "STRING",
1411
- "value": "end"
1412
- }
1413
- ]
1414
- },
1415
- "unless": {
1416
- "type": "SEQ",
1417
- "members": [
1418
- {
1419
- "type": "STRING",
1420
- "value": "unless"
1421
- },
1422
- {
1423
- "type": "SYMBOL",
1424
- "name": "_statement"
1425
- },
1426
- {
1427
- "type": "SYMBOL",
1428
- "name": "_then"
1429
- },
1430
- {
1431
- "type": "CHOICE",
1432
- "members": [
1433
- {
1434
- "type": "SYMBOL",
1435
- "name": "_statements"
1436
- },
1437
- {
1438
- "type": "BLANK"
1439
- }
1440
- ]
1441
- },
1442
- {
1443
- "type": "CHOICE",
1444
- "members": [
1445
- {
1446
- "type": "SYMBOL",
1447
- "name": "else"
1448
- },
1449
- {
1450
- "type": "BLANK"
1451
- }
1452
- ]
1453
- },
1454
- {
1455
- "type": "STRING",
1456
- "value": "end"
1457
- }
1458
- ]
1459
- },
1460
- "elsif": {
1461
- "type": "SEQ",
1462
- "members": [
1463
- {
1464
- "type": "STRING",
1465
- "value": "elsif"
1466
- },
1467
- {
1468
- "type": "SYMBOL",
1469
- "name": "_statement"
1470
- },
1471
- {
1472
- "type": "SYMBOL",
1473
- "name": "_then"
1474
- },
1475
- {
1476
- "type": "CHOICE",
1477
- "members": [
1478
- {
1479
- "type": "SYMBOL",
1480
- "name": "_statements"
1481
- },
1482
- {
1483
- "type": "BLANK"
1484
- }
1485
- ]
1486
- },
1487
- {
1488
- "type": "CHOICE",
1489
- "members": [
1490
- {
1491
- "type": "SYMBOL",
1492
- "name": "_if_tail"
1493
- },
1494
- {
1495
- "type": "BLANK"
1496
- }
1497
- ]
1498
- }
1499
- ]
1500
- },
1501
- "else": {
1502
- "type": "SEQ",
1503
- "members": [
1504
- {
1505
- "type": "STRING",
1506
- "value": "else"
1507
- },
1508
- {
1509
- "type": "CHOICE",
1510
- "members": [
1511
- {
1512
- "type": "SYMBOL",
1513
- "name": "_terminator"
1514
- },
1515
- {
1516
- "type": "BLANK"
1517
- }
1518
- ]
1519
- },
1520
- {
1521
- "type": "CHOICE",
1522
- "members": [
1523
- {
1524
- "type": "SYMBOL",
1525
- "name": "_statements"
1526
- },
1527
- {
1528
- "type": "BLANK"
1529
- }
1530
- ]
1531
- }
1532
- ]
1533
- },
1534
- "_then": {
1535
- "type": "CHOICE",
1536
- "members": [
1537
- {
1538
- "type": "SYMBOL",
1539
- "name": "_terminator"
1540
- },
1541
- {
1542
- "type": "STRING",
1543
- "value": "then"
1544
- },
1545
- {
1546
- "type": "SEQ",
1547
- "members": [
1548
- {
1549
- "type": "SYMBOL",
1550
- "name": "_terminator"
1551
- },
1552
- {
1553
- "type": "STRING",
1554
- "value": "then"
1555
- }
1556
- ]
1557
- }
1558
- ]
1559
- },
1560
- "_if_tail": {
1561
- "type": "CHOICE",
1562
- "members": [
1563
- {
1564
- "type": "SYMBOL",
1565
- "name": "else"
1566
- },
1567
- {
1568
- "type": "SYMBOL",
1569
- "name": "elsif"
1570
- }
1571
- ]
1572
- },
1573
- "begin": {
1574
- "type": "SEQ",
1575
- "members": [
1576
- {
1577
- "type": "STRING",
1578
- "value": "begin"
1579
- },
1580
- {
1581
- "type": "CHOICE",
1582
- "members": [
1583
- {
1584
- "type": "SYMBOL",
1585
- "name": "_terminator"
1586
- },
1587
- {
1588
- "type": "BLANK"
1589
- }
1590
- ]
1591
- },
1592
- {
1593
- "type": "CHOICE",
1594
- "members": [
1595
- {
1596
- "type": "SYMBOL",
1597
- "name": "_body_statement"
1598
- },
1599
- {
1600
- "type": "BLANK"
1601
- }
1602
- ]
1603
- },
1604
- {
1605
- "type": "STRING",
1606
- "value": "end"
1607
- }
1608
- ]
1609
- },
1610
- "ensure": {
1611
- "type": "SEQ",
1612
- "members": [
1613
- {
1614
- "type": "STRING",
1615
- "value": "ensure"
1616
- },
1617
- {
1618
- "type": "CHOICE",
1619
- "members": [
1620
- {
1621
- "type": "SYMBOL",
1622
- "name": "_statements"
1623
- },
1624
- {
1625
- "type": "BLANK"
1626
- }
1627
- ]
1628
- }
1629
- ]
1630
- },
1631
- "rescue": {
1632
- "type": "SEQ",
1633
- "members": [
1634
- {
1635
- "type": "STRING",
1636
- "value": "rescue"
1637
- },
1638
- {
1639
- "type": "CHOICE",
1640
- "members": [
1641
- {
1642
- "type": "SYMBOL",
1643
- "name": "exceptions"
1644
- },
1645
- {
1646
- "type": "BLANK"
1647
- }
1648
- ]
1649
- },
1650
- {
1651
- "type": "CHOICE",
1652
- "members": [
1653
- {
1654
- "type": "SYMBOL",
1655
- "name": "exception_variable"
1656
- },
1657
- {
1658
- "type": "BLANK"
1659
- }
1660
- ]
1661
- },
1662
- {
1663
- "type": "SYMBOL",
1664
- "name": "_then"
1665
- },
1666
- {
1667
- "type": "CHOICE",
1668
- "members": [
1669
- {
1670
- "type": "SYMBOL",
1671
- "name": "_statements"
1672
- },
1673
- {
1674
- "type": "BLANK"
1675
- }
1676
- ]
1677
- },
1678
- {
1679
- "type": "CHOICE",
1680
- "members": [
1681
- {
1682
- "type": "SYMBOL",
1683
- "name": "rescue"
1684
- },
1685
- {
1686
- "type": "BLANK"
1687
- }
1688
- ]
1689
- }
1690
- ]
1691
- },
1692
- "exceptions": {
1693
- "type": "SEQ",
1694
- "members": [
1695
- {
1696
- "type": "SYMBOL",
1697
- "name": "_arg_or_splat_arg"
1698
- },
1699
- {
1700
- "type": "REPEAT",
1701
- "content": {
1702
- "type": "SEQ",
1703
- "members": [
1704
- {
1705
- "type": "STRING",
1706
- "value": ","
1707
- },
1708
- {
1709
- "type": "SYMBOL",
1710
- "name": "_arg_or_splat_arg"
1711
- }
1712
- ]
1713
- }
1714
- }
1715
- ]
1716
- },
1717
- "exception_variable": {
1718
- "type": "SEQ",
1719
- "members": [
1720
- {
1721
- "type": "STRING",
1722
- "value": "=>"
1723
- },
1724
- {
1725
- "type": "SYMBOL",
1726
- "name": "_lhs"
1727
- }
1728
- ]
1729
- },
1730
- "_body_statement": {
1731
- "type": "CHOICE",
1732
- "members": [
1733
- {
1734
- "type": "SEQ",
1735
- "members": [
1736
- {
1737
- "type": "SYMBOL",
1738
- "name": "_statements"
1739
- },
1740
- {
1741
- "type": "CHOICE",
1742
- "members": [
1743
- {
1744
- "type": "SYMBOL",
1745
- "name": "rescue"
1746
- },
1747
- {
1748
- "type": "BLANK"
1749
- }
1750
- ]
1751
- },
1752
- {
1753
- "type": "CHOICE",
1754
- "members": [
1755
- {
1756
- "type": "SYMBOL",
1757
- "name": "else"
1758
- },
1759
- {
1760
- "type": "BLANK"
1761
- }
1762
- ]
1763
- },
1764
- {
1765
- "type": "CHOICE",
1766
- "members": [
1767
- {
1768
- "type": "SYMBOL",
1769
- "name": "ensure"
1770
- },
1771
- {
1772
- "type": "BLANK"
1773
- }
1774
- ]
1775
- }
1776
- ]
1777
- },
1778
- {
1779
- "type": "SEQ",
1780
- "members": [
1781
- {
1782
- "type": "SYMBOL",
1783
- "name": "rescue"
1784
- },
1785
- {
1786
- "type": "CHOICE",
1787
- "members": [
1788
- {
1789
- "type": "SYMBOL",
1790
- "name": "else"
1791
- },
1792
- {
1793
- "type": "BLANK"
1794
- }
1795
- ]
1796
- },
1797
- {
1798
- "type": "CHOICE",
1799
- "members": [
1800
- {
1801
- "type": "SYMBOL",
1802
- "name": "ensure"
1803
- },
1804
- {
1805
- "type": "BLANK"
1806
- }
1807
- ]
1808
- }
1809
- ]
1810
- },
1811
- {
1812
- "type": "SEQ",
1813
- "members": [
1814
- {
1815
- "type": "SYMBOL",
1816
- "name": "else"
1817
- },
1818
- {
1819
- "type": "CHOICE",
1820
- "members": [
1821
- {
1822
- "type": "SYMBOL",
1823
- "name": "ensure"
1824
- },
1825
- {
1826
- "type": "BLANK"
1827
- }
1828
- ]
1829
- }
1830
- ]
1831
- },
1832
- {
1833
- "type": "SYMBOL",
1834
- "name": "ensure"
1835
- }
1836
- ]
1837
- },
1838
- "_arg": {
1839
- "type": "CHOICE",
1840
- "members": [
1841
- {
1842
- "type": "SYMBOL",
1843
- "name": "_primary"
1844
- },
1845
- {
1846
- "type": "SYMBOL",
1847
- "name": "assignment"
1848
- },
1849
- {
1850
- "type": "SYMBOL",
1851
- "name": "operator_assignment"
1852
- },
1853
- {
1854
- "type": "SYMBOL",
1855
- "name": "conditional"
1856
- },
1857
- {
1858
- "type": "SYMBOL",
1859
- "name": "range"
1860
- },
1861
- {
1862
- "type": "SYMBOL",
1863
- "name": "binary"
1864
- },
1865
- {
1866
- "type": "SYMBOL",
1867
- "name": "unary"
1868
- }
1869
- ]
1870
- },
1871
- "_primary": {
1872
- "type": "CHOICE",
1873
- "members": [
1874
- {
1875
- "type": "SEQ",
1876
- "members": [
1877
- {
1878
- "type": "STRING",
1879
- "value": "("
1880
- },
1881
- {
1882
- "type": "CHOICE",
1883
- "members": [
1884
- {
1885
- "type": "SYMBOL",
1886
- "name": "_statements"
1887
- },
1888
- {
1889
- "type": "BLANK"
1890
- }
1891
- ]
1892
- },
1893
- {
1894
- "type": "STRING",
1895
- "value": ")"
1896
- }
1897
- ]
1898
- },
1899
- {
1900
- "type": "SYMBOL",
1901
- "name": "_lhs"
1902
- },
1903
- {
1904
- "type": "SYMBOL",
1905
- "name": "array"
1906
- },
1907
- {
1908
- "type": "SYMBOL",
1909
- "name": "hash"
1910
- },
1911
- {
1912
- "type": "SYMBOL",
1913
- "name": "subshell"
1914
- },
1915
- {
1916
- "type": "SYMBOL",
1917
- "name": "symbol"
1918
- },
1919
- {
1920
- "type": "SYMBOL",
1921
- "name": "integer"
1922
- },
1923
- {
1924
- "type": "SYMBOL",
1925
- "name": "float"
1926
- },
1927
- {
1928
- "type": "SYMBOL",
1929
- "name": "string"
1930
- },
1931
- {
1932
- "type": "SYMBOL",
1933
- "name": "chained_string"
1934
- },
1935
- {
1936
- "type": "SYMBOL",
1937
- "name": "keyword__FILE__"
1938
- },
1939
- {
1940
- "type": "SYMBOL",
1941
- "name": "keyword__LINE__"
1942
- },
1943
- {
1944
- "type": "SYMBOL",
1945
- "name": "keyword__ENCODING__"
1946
- },
1947
- {
1948
- "type": "SYMBOL",
1949
- "name": "regex"
1950
- },
1951
- {
1952
- "type": "SYMBOL",
1953
- "name": "lambda"
1954
- },
1955
- {
1956
- "type": "SYMBOL",
1957
- "name": "method"
1958
- },
1959
- {
1960
- "type": "SYMBOL",
1961
- "name": "singleton_method"
1962
- },
1963
- {
1964
- "type": "SYMBOL",
1965
- "name": "class"
1966
- },
1967
- {
1968
- "type": "SYMBOL",
1969
- "name": "singleton_class"
1970
- },
1971
- {
1972
- "type": "SYMBOL",
1973
- "name": "module"
1974
- },
1975
- {
1976
- "type": "SYMBOL",
1977
- "name": "begin"
1978
- },
1979
- {
1980
- "type": "SYMBOL",
1981
- "name": "while"
1982
- },
1983
- {
1984
- "type": "SYMBOL",
1985
- "name": "until"
1986
- },
1987
- {
1988
- "type": "SYMBOL",
1989
- "name": "if"
1990
- },
1991
- {
1992
- "type": "SYMBOL",
1993
- "name": "unless"
1994
- },
1995
- {
1996
- "type": "SYMBOL",
1997
- "name": "for"
1998
- },
1999
- {
2000
- "type": "SYMBOL",
2001
- "name": "case"
2002
- },
2003
- {
2004
- "type": "SYMBOL",
2005
- "name": "return"
2006
- },
2007
- {
2008
- "type": "SYMBOL",
2009
- "name": "yield"
2010
- },
2011
- {
2012
- "type": "SYMBOL",
2013
- "name": "break"
2014
- },
2015
- {
2016
- "type": "SYMBOL",
2017
- "name": "next"
2018
- },
2019
- {
2020
- "type": "SYMBOL",
2021
- "name": "redo"
2022
- },
2023
- {
2024
- "type": "SYMBOL",
2025
- "name": "retry"
2026
- },
2027
- {
2028
- "type": "SYMBOL",
2029
- "name": "heredoc_beginning"
2030
- }
2031
- ]
2032
- },
2033
- "element_reference": {
2034
- "type": "PREC_LEFT",
2035
- "value": 1,
2036
- "content": {
2037
- "type": "SEQ",
2038
- "members": [
2039
- {
2040
- "type": "SYMBOL",
2041
- "name": "_primary"
2042
- },
2043
- {
2044
- "type": "SYMBOL",
2045
- "name": "_element_reference_left_bracket"
2046
- },
2047
- {
2048
- "type": "CHOICE",
2049
- "members": [
2050
- {
2051
- "type": "SYMBOL",
2052
- "name": "_argument_list_with_trailing_comma"
2053
- },
2054
- {
2055
- "type": "BLANK"
2056
- }
2057
- ]
2058
- },
2059
- {
2060
- "type": "CHOICE",
2061
- "members": [
2062
- {
2063
- "type": "SYMBOL",
2064
- "name": "heredoc_end"
2065
- },
2066
- {
2067
- "type": "BLANK"
2068
- }
2069
- ]
2070
- },
2071
- {
2072
- "type": "STRING",
2073
- "value": "]"
2074
- }
2075
- ]
2076
- }
2077
- },
2078
- "scope_resolution": {
2079
- "type": "PREC_LEFT",
2080
- "value": 1,
2081
- "content": {
2082
- "type": "CHOICE",
2083
- "members": [
2084
- {
2085
- "type": "SEQ",
2086
- "members": [
2087
- {
2088
- "type": "STRING",
2089
- "value": "::"
2090
- },
2091
- {
2092
- "type": "CHOICE",
2093
- "members": [
2094
- {
2095
- "type": "SYMBOL",
2096
- "name": "identifier"
2097
- },
2098
- {
2099
- "type": "SYMBOL",
2100
- "name": "constant"
2101
- }
2102
- ]
2103
- }
2104
- ]
2105
- },
2106
- {
2107
- "type": "SEQ",
2108
- "members": [
2109
- {
2110
- "type": "SYMBOL",
2111
- "name": "_primary"
2112
- },
2113
- {
2114
- "type": "SYMBOL",
2115
- "name": "_scope_double_colon"
2116
- },
2117
- {
2118
- "type": "CHOICE",
2119
- "members": [
2120
- {
2121
- "type": "SYMBOL",
2122
- "name": "identifier"
2123
- },
2124
- {
2125
- "type": "SYMBOL",
2126
- "name": "constant"
2127
- }
2128
- ]
2129
- }
2130
- ]
2131
- }
2132
- ]
2133
- }
2134
- },
2135
- "call": {
2136
- "type": "PREC_LEFT",
2137
- "value": 56,
2138
- "content": {
2139
- "type": "SEQ",
2140
- "members": [
2141
- {
2142
- "type": "SYMBOL",
2143
- "name": "_primary"
2144
- },
2145
- {
2146
- "type": "CHOICE",
2147
- "members": [
2148
- {
2149
- "type": "STRING",
2150
- "value": "."
2151
- },
2152
- {
2153
- "type": "STRING",
2154
- "value": "&."
2155
- }
2156
- ]
2157
- },
2158
- {
2159
- "type": "CHOICE",
2160
- "members": [
2161
- {
2162
- "type": "SYMBOL",
2163
- "name": "identifier"
2164
- },
2165
- {
2166
- "type": "SYMBOL",
2167
- "name": "operator"
2168
- },
2169
- {
2170
- "type": "SYMBOL",
2171
- "name": "constant"
2172
- },
2173
- {
2174
- "type": "SYMBOL",
2175
- "name": "argument_list_with_parens"
2176
- }
2177
- ]
2178
- }
2179
- ]
2180
- }
2181
- },
2182
- "method_call": {
2183
- "type": "CHOICE",
2184
- "members": [
2185
- {
2186
- "type": "SEQ",
2187
- "members": [
2188
- {
2189
- "type": "CHOICE",
2190
- "members": [
2191
- {
2192
- "type": "SYMBOL",
2193
- "name": "_variable"
2194
- },
2195
- {
2196
- "type": "SYMBOL",
2197
- "name": "scope_resolution"
2198
- },
2199
- {
2200
- "type": "SYMBOL",
2201
- "name": "call"
2202
- }
2203
- ]
2204
- },
2205
- {
2206
- "type": "SYMBOL",
2207
- "name": "argument_list"
2208
- }
2209
- ]
2210
- },
2211
- {
2212
- "type": "SEQ",
2213
- "members": [
2214
- {
2215
- "type": "CHOICE",
2216
- "members": [
2217
- {
2218
- "type": "SYMBOL",
2219
- "name": "_variable"
2220
- },
2221
- {
2222
- "type": "SYMBOL",
2223
- "name": "scope_resolution"
2224
- },
2225
- {
2226
- "type": "SYMBOL",
2227
- "name": "call"
2228
- }
2229
- ]
2230
- },
2231
- {
2232
- "type": "PREC",
2233
- "value": 1,
2234
- "content": {
2235
- "type": "SEQ",
2236
- "members": [
2237
- {
2238
- "type": "SYMBOL",
2239
- "name": "argument_list"
2240
- },
2241
- {
2242
- "type": "SYMBOL",
2243
- "name": "block"
2244
- }
2245
- ]
2246
- }
2247
- }
2248
- ]
2249
- },
2250
- {
2251
- "type": "SEQ",
2252
- "members": [
2253
- {
2254
- "type": "CHOICE",
2255
- "members": [
2256
- {
2257
- "type": "SYMBOL",
2258
- "name": "_variable"
2259
- },
2260
- {
2261
- "type": "SYMBOL",
2262
- "name": "scope_resolution"
2263
- },
2264
- {
2265
- "type": "SYMBOL",
2266
- "name": "call"
2267
- }
2268
- ]
2269
- },
2270
- {
2271
- "type": "PREC",
2272
- "value": -1,
2273
- "content": {
2274
- "type": "SEQ",
2275
- "members": [
2276
- {
2277
- "type": "SYMBOL",
2278
- "name": "argument_list"
2279
- },
2280
- {
2281
- "type": "SYMBOL",
2282
- "name": "do_block"
2283
- }
2284
- ]
2285
- }
2286
- }
2287
- ]
2288
- },
2289
- {
2290
- "type": "PREC",
2291
- "value": 1,
2292
- "content": {
2293
- "type": "SEQ",
2294
- "members": [
2295
- {
2296
- "type": "CHOICE",
2297
- "members": [
2298
- {
2299
- "type": "SYMBOL",
2300
- "name": "_variable"
2301
- },
2302
- {
2303
- "type": "SYMBOL",
2304
- "name": "scope_resolution"
2305
- },
2306
- {
2307
- "type": "SYMBOL",
2308
- "name": "call"
2309
- }
2310
- ]
2311
- },
2312
- {
2313
- "type": "SYMBOL",
2314
- "name": "block"
2315
- }
2316
- ]
2317
- }
2318
- },
2319
- {
2320
- "type": "PREC",
2321
- "value": -1,
2322
- "content": {
2323
- "type": "SEQ",
2324
- "members": [
2325
- {
2326
- "type": "CHOICE",
2327
- "members": [
2328
- {
2329
- "type": "SYMBOL",
2330
- "name": "_variable"
2331
- },
2332
- {
2333
- "type": "SYMBOL",
2334
- "name": "scope_resolution"
2335
- },
2336
- {
2337
- "type": "SYMBOL",
2338
- "name": "call"
2339
- }
2340
- ]
2341
- },
2342
- {
2343
- "type": "SYMBOL",
2344
- "name": "do_block"
2345
- }
2346
- ]
2347
- }
2348
- }
2349
- ]
2350
- },
2351
- "argument_list": {
2352
- "type": "PREC_RIGHT",
2353
- "value": 0,
2354
- "content": {
2355
- "type": "SEQ",
2356
- "members": [
2357
- {
2358
- "type": "CHOICE",
2359
- "members": [
2360
- {
2361
- "type": "SYMBOL",
2362
- "name": "_argument_list_with_parens"
2363
- },
2364
- {
2365
- "type": "SEQ",
2366
- "members": [
2367
- {
2368
- "type": "SYMBOL",
2369
- "name": "_argument"
2370
- },
2371
- {
2372
- "type": "REPEAT",
2373
- "content": {
2374
- "type": "SEQ",
2375
- "members": [
2376
- {
2377
- "type": "SEQ",
2378
- "members": [
2379
- {
2380
- "type": "STRING",
2381
- "value": ","
2382
- },
2383
- {
2384
- "type": "CHOICE",
2385
- "members": [
2386
- {
2387
- "type": "SYMBOL",
2388
- "name": "heredoc_end"
2389
- },
2390
- {
2391
- "type": "BLANK"
2392
- }
2393
- ]
2394
- }
2395
- ]
2396
- },
2397
- {
2398
- "type": "SYMBOL",
2399
- "name": "_argument"
2400
- }
2401
- ]
2402
- }
2403
- }
2404
- ]
2405
- }
2406
- ]
2407
- },
2408
- {
2409
- "type": "REPEAT",
2410
- "content": {
2411
- "type": "SYMBOL",
2412
- "name": "heredoc_end"
2413
- }
2414
- }
2415
- ]
2416
- }
2417
- },
2418
- "argument_list_with_parens": {
2419
- "type": "SYMBOL",
2420
- "name": "_argument_list_with_parens"
2421
- },
2422
- "_argument_list_with_parens": {
2423
- "type": "SEQ",
2424
- "members": [
2425
- {
2426
- "type": "SYMBOL",
2427
- "name": "_argument_list_left_paren"
2428
- },
2429
- {
2430
- "type": "CHOICE",
2431
- "members": [
2432
- {
2433
- "type": "SYMBOL",
2434
- "name": "_argument_list_with_trailing_comma"
2435
- },
2436
- {
2437
- "type": "BLANK"
2438
- }
2439
- ]
2440
- },
2441
- {
2442
- "type": "CHOICE",
2443
- "members": [
2444
- {
2445
- "type": "SYMBOL",
2446
- "name": "heredoc_end"
2447
- },
2448
- {
2449
- "type": "BLANK"
2450
- }
2451
- ]
2452
- },
2453
- {
2454
- "type": "STRING",
2455
- "value": ")"
2456
- }
2457
- ]
2458
- },
2459
- "_argument_list_with_trailing_comma": {
2460
- "type": "CHOICE",
2461
- "members": [
2462
- {
2463
- "type": "SYMBOL",
2464
- "name": "_argument"
2465
- },
2466
- {
2467
- "type": "SEQ",
2468
- "members": [
2469
- {
2470
- "type": "SYMBOL",
2471
- "name": "_argument"
2472
- },
2473
- {
2474
- "type": "PREC_RIGHT",
2475
- "value": 0,
2476
- "content": {
2477
- "type": "SEQ",
2478
- "members": [
2479
- {
2480
- "type": "STRING",
2481
- "value": ","
2482
- },
2483
- {
2484
- "type": "CHOICE",
2485
- "members": [
2486
- {
2487
- "type": "SYMBOL",
2488
- "name": "heredoc_end"
2489
- },
2490
- {
2491
- "type": "BLANK"
2492
- }
2493
- ]
2494
- }
2495
- ]
2496
- }
2497
- },
2498
- {
2499
- "type": "CHOICE",
2500
- "members": [
2501
- {
2502
- "type": "SYMBOL",
2503
- "name": "_argument_list_with_trailing_comma"
2504
- },
2505
- {
2506
- "type": "BLANK"
2507
- }
2508
- ]
2509
- }
2510
- ]
2511
- }
2512
- ]
2513
- },
2514
- "_argument": {
2515
- "type": "CHOICE",
2516
- "members": [
2517
- {
2518
- "type": "SYMBOL",
2519
- "name": "_arg"
2520
- },
2521
- {
2522
- "type": "SYMBOL",
2523
- "name": "splat_argument"
2524
- },
2525
- {
2526
- "type": "SYMBOL",
2527
- "name": "hash_splat_argument"
2528
- },
2529
- {
2530
- "type": "SYMBOL",
2531
- "name": "block_argument"
2532
- },
2533
- {
2534
- "type": "SYMBOL",
2535
- "name": "pair"
2536
- }
2537
- ]
2538
- },
2539
- "splat_argument": {
2540
- "type": "SEQ",
2541
- "members": [
2542
- {
2543
- "type": "SYMBOL",
2544
- "name": "_splat_star"
2545
- },
2546
- {
2547
- "type": "SYMBOL",
2548
- "name": "_arg"
2549
- }
2550
- ]
2551
- },
2552
- "hash_splat_argument": {
2553
- "type": "SEQ",
2554
- "members": [
2555
- {
2556
- "type": "STRING",
2557
- "value": "**"
2558
- },
2559
- {
2560
- "type": "SYMBOL",
2561
- "name": "_arg"
2562
- }
2563
- ]
2564
- },
2565
- "block_argument": {
2566
- "type": "SEQ",
2567
- "members": [
2568
- {
2569
- "type": "SYMBOL",
2570
- "name": "_block_ampersand"
2571
- },
2572
- {
2573
- "type": "SYMBOL",
2574
- "name": "_arg"
2575
- }
2576
- ]
2577
- },
2578
- "do_block": {
2579
- "type": "SYMBOL",
2580
- "name": "_do_block"
2581
- },
2582
- "_do_block": {
2583
- "type": "SEQ",
2584
- "members": [
2585
- {
2586
- "type": "STRING",
2587
- "value": "do"
2588
- },
2589
- {
2590
- "type": "CHOICE",
2591
- "members": [
2592
- {
2593
- "type": "SYMBOL",
2594
- "name": "_terminator"
2595
- },
2596
- {
2597
- "type": "BLANK"
2598
- }
2599
- ]
2600
- },
2601
- {
2602
- "type": "CHOICE",
2603
- "members": [
2604
- {
2605
- "type": "SYMBOL",
2606
- "name": "block_parameters"
2607
- },
2608
- {
2609
- "type": "BLANK"
2610
- }
2611
- ]
2612
- },
2613
- {
2614
- "type": "CHOICE",
2615
- "members": [
2616
- {
2617
- "type": "SYMBOL",
2618
- "name": "_terminator"
2619
- },
2620
- {
2621
- "type": "BLANK"
2622
- }
2623
- ]
2624
- },
2625
- {
2626
- "type": "CHOICE",
2627
- "members": [
2628
- {
2629
- "type": "SYMBOL",
2630
- "name": "_statements"
2631
- },
2632
- {
2633
- "type": "BLANK"
2634
- }
2635
- ]
2636
- },
2637
- {
2638
- "type": "STRING",
2639
- "value": "end"
2640
- }
2641
- ]
2642
- },
2643
- "block": {
2644
- "type": "SYMBOL",
2645
- "name": "_block"
2646
- },
2647
- "_block": {
2648
- "type": "SEQ",
2649
- "members": [
2650
- {
2651
- "type": "STRING",
2652
- "value": "{"
2653
- },
2654
- {
2655
- "type": "CHOICE",
2656
- "members": [
2657
- {
2658
- "type": "SYMBOL",
2659
- "name": "block_parameters"
2660
- },
2661
- {
2662
- "type": "BLANK"
2663
- }
2664
- ]
2665
- },
2666
- {
2667
- "type": "CHOICE",
2668
- "members": [
2669
- {
2670
- "type": "SYMBOL",
2671
- "name": "_statements"
2672
- },
2673
- {
2674
- "type": "BLANK"
2675
- }
2676
- ]
2677
- },
2678
- {
2679
- "type": "STRING",
2680
- "value": "}"
2681
- }
2682
- ]
2683
- },
2684
- "assignment": {
2685
- "type": "CHOICE",
2686
- "members": [
2687
- {
2688
- "type": "PREC",
2689
- "value": 1,
2690
- "content": {
2691
- "type": "SEQ",
2692
- "members": [
2693
- {
2694
- "type": "SYMBOL",
2695
- "name": "_lhs"
2696
- },
2697
- {
2698
- "type": "STRING",
2699
- "value": "="
2700
- },
2701
- {
2702
- "type": "SYMBOL",
2703
- "name": "_arg_or_splat_arg"
2704
- }
2705
- ]
2706
- }
2707
- },
2708
- {
2709
- "type": "SEQ",
2710
- "members": [
2711
- {
2712
- "type": "SYMBOL",
2713
- "name": "_lhs"
2714
- },
2715
- {
2716
- "type": "STRING",
2717
- "value": "="
2718
- },
2719
- {
2720
- "type": "SYMBOL",
2721
- "name": "right_assignment_list"
2722
- }
2723
- ]
2724
- },
2725
- {
2726
- "type": "SEQ",
2727
- "members": [
2728
- {
2729
- "type": "SYMBOL",
2730
- "name": "left_assignment_list"
2731
- },
2732
- {
2733
- "type": "STRING",
2734
- "value": "="
2735
- },
2736
- {
2737
- "type": "CHOICE",
2738
- "members": [
2739
- {
2740
- "type": "SYMBOL",
2741
- "name": "_arg_or_splat_arg"
2742
- },
2743
- {
2744
- "type": "SYMBOL",
2745
- "name": "right_assignment_list"
2746
- }
2747
- ]
2748
- }
2749
- ]
2750
- }
2751
- ]
2752
- },
2753
- "operator_assignment": {
2754
- "type": "PREC_RIGHT",
2755
- "value": 15,
2756
- "content": {
2757
- "type": "SEQ",
2758
- "members": [
2759
- {
2760
- "type": "SYMBOL",
2761
- "name": "_lhs"
2762
- },
2763
- {
2764
- "type": "CHOICE",
2765
- "members": [
2766
- {
2767
- "type": "STRING",
2768
- "value": "+="
2769
- },
2770
- {
2771
- "type": "STRING",
2772
- "value": "-="
2773
- },
2774
- {
2775
- "type": "STRING",
2776
- "value": "*="
2777
- },
2778
- {
2779
- "type": "STRING",
2780
- "value": "**="
2781
- },
2782
- {
2783
- "type": "STRING",
2784
- "value": "/="
2785
- },
2786
- {
2787
- "type": "STRING",
2788
- "value": "||="
2789
- },
2790
- {
2791
- "type": "STRING",
2792
- "value": "|="
2793
- },
2794
- {
2795
- "type": "STRING",
2796
- "value": "&&="
2797
- },
2798
- {
2799
- "type": "STRING",
2800
- "value": "&="
2801
- },
2802
- {
2803
- "type": "STRING",
2804
- "value": "%="
2805
- },
2806
- {
2807
- "type": "STRING",
2808
- "value": ">>="
2809
- },
2810
- {
2811
- "type": "STRING",
2812
- "value": "<<="
2813
- },
2814
- {
2815
- "type": "STRING",
2816
- "value": "^="
2817
- }
2818
- ]
2819
- },
2820
- {
2821
- "type": "SYMBOL",
2822
- "name": "_arg"
2823
- }
2824
- ]
2825
- }
2826
- },
2827
- "conditional": {
2828
- "type": "PREC_RIGHT",
2829
- "value": 20,
2830
- "content": {
2831
- "type": "SEQ",
2832
- "members": [
2833
- {
2834
- "type": "SYMBOL",
2835
- "name": "_arg"
2836
- },
2837
- {
2838
- "type": "STRING",
2839
- "value": "?"
2840
- },
2841
- {
2842
- "type": "SYMBOL",
2843
- "name": "_arg"
2844
- },
2845
- {
2846
- "type": "STRING",
2847
- "value": ":"
2848
- },
2849
- {
2850
- "type": "SYMBOL",
2851
- "name": "_arg"
2852
- }
2853
- ]
2854
- }
2855
- },
2856
- "range": {
2857
- "type": "PREC_RIGHT",
2858
- "value": 25,
2859
- "content": {
2860
- "type": "SEQ",
2861
- "members": [
2862
- {
2863
- "type": "SYMBOL",
2864
- "name": "_arg"
2865
- },
2866
- {
2867
- "type": "CHOICE",
2868
- "members": [
2869
- {
2870
- "type": "STRING",
2871
- "value": ".."
2872
- },
2873
- {
2874
- "type": "STRING",
2875
- "value": "..."
2876
- }
2877
- ]
2878
- },
2879
- {
2880
- "type": "SYMBOL",
2881
- "name": "_arg"
2882
- }
2883
- ]
2884
- }
2885
- },
2886
- "binary": {
2887
- "type": "CHOICE",
2888
- "members": [
2889
- {
2890
- "type": "PREC_LEFT",
2891
- "value": -2,
2892
- "content": {
2893
- "type": "SEQ",
2894
- "members": [
2895
- {
2896
- "type": "SYMBOL",
2897
- "name": "_arg"
2898
- },
2899
- {
2900
- "type": "STRING",
2901
- "value": "and"
2902
- },
2903
- {
2904
- "type": "SYMBOL",
2905
- "name": "_arg"
2906
- }
2907
- ]
2908
- }
2909
- },
2910
- {
2911
- "type": "PREC_LEFT",
2912
- "value": -2,
2913
- "content": {
2914
- "type": "SEQ",
2915
- "members": [
2916
- {
2917
- "type": "SYMBOL",
2918
- "name": "_arg"
2919
- },
2920
- {
2921
- "type": "STRING",
2922
- "value": "or"
2923
- },
2924
- {
2925
- "type": "SYMBOL",
2926
- "name": "_arg"
2927
- }
2928
- ]
2929
- }
2930
- },
2931
- {
2932
- "type": "PREC_LEFT",
2933
- "value": 30,
2934
- "content": {
2935
- "type": "SEQ",
2936
- "members": [
2937
- {
2938
- "type": "SYMBOL",
2939
- "name": "_arg"
2940
- },
2941
- {
2942
- "type": "STRING",
2943
- "value": "||"
2944
- },
2945
- {
2946
- "type": "SYMBOL",
2947
- "name": "_arg"
2948
- }
2949
- ]
2950
- }
2951
- },
2952
- {
2953
- "type": "PREC_LEFT",
2954
- "value": 30,
2955
- "content": {
2956
- "type": "SEQ",
2957
- "members": [
2958
- {
2959
- "type": "SYMBOL",
2960
- "name": "_arg"
2961
- },
2962
- {
2963
- "type": "STRING",
2964
- "value": "&&"
2965
- },
2966
- {
2967
- "type": "SYMBOL",
2968
- "name": "_arg"
2969
- }
2970
- ]
2971
- }
2972
- },
2973
- {
2974
- "type": "PREC_LEFT",
2975
- "value": 60,
2976
- "content": {
2977
- "type": "SEQ",
2978
- "members": [
2979
- {
2980
- "type": "SYMBOL",
2981
- "name": "_arg"
2982
- },
2983
- {
2984
- "type": "CHOICE",
2985
- "members": [
2986
- {
2987
- "type": "STRING",
2988
- "value": "<<"
2989
- },
2990
- {
2991
- "type": "STRING",
2992
- "value": ">>"
2993
- }
2994
- ]
2995
- },
2996
- {
2997
- "type": "SYMBOL",
2998
- "name": "_arg"
2999
- }
3000
- ]
3001
- }
3002
- },
3003
- {
3004
- "type": "PREC_RIGHT",
3005
- "value": 40,
3006
- "content": {
3007
- "type": "SEQ",
3008
- "members": [
3009
- {
3010
- "type": "SYMBOL",
3011
- "name": "_arg"
3012
- },
3013
- {
3014
- "type": "CHOICE",
3015
- "members": [
3016
- {
3017
- "type": "STRING",
3018
- "value": "=="
3019
- },
3020
- {
3021
- "type": "STRING",
3022
- "value": "!="
3023
- },
3024
- {
3025
- "type": "STRING",
3026
- "value": "==="
3027
- },
3028
- {
3029
- "type": "STRING",
3030
- "value": "<=>"
3031
- },
3032
- {
3033
- "type": "STRING",
3034
- "value": "=~"
3035
- },
3036
- {
3037
- "type": "STRING",
3038
- "value": "!~"
3039
- }
3040
- ]
3041
- },
3042
- {
3043
- "type": "SYMBOL",
3044
- "name": "_arg"
3045
- }
3046
- ]
3047
- }
3048
- },
3049
- {
3050
- "type": "PREC_LEFT",
3051
- "value": 45,
3052
- "content": {
3053
- "type": "SEQ",
3054
- "members": [
3055
- {
3056
- "type": "SYMBOL",
3057
- "name": "_arg"
3058
- },
3059
- {
3060
- "type": "CHOICE",
3061
- "members": [
3062
- {
3063
- "type": "STRING",
3064
- "value": "<"
3065
- },
3066
- {
3067
- "type": "STRING",
3068
- "value": "<="
3069
- },
3070
- {
3071
- "type": "STRING",
3072
- "value": ">"
3073
- },
3074
- {
3075
- "type": "STRING",
3076
- "value": ">="
3077
- }
3078
- ]
3079
- },
3080
- {
3081
- "type": "SYMBOL",
3082
- "name": "_arg"
3083
- }
3084
- ]
3085
- }
3086
- },
3087
- {
3088
- "type": "PREC_LEFT",
3089
- "value": 55,
3090
- "content": {
3091
- "type": "SEQ",
3092
- "members": [
3093
- {
3094
- "type": "SYMBOL",
3095
- "name": "_arg"
3096
- },
3097
- {
3098
- "type": "STRING",
3099
- "value": "&"
3100
- },
3101
- {
3102
- "type": "SYMBOL",
3103
- "name": "_arg"
3104
- }
3105
- ]
3106
- }
3107
- },
3108
- {
3109
- "type": "PREC_LEFT",
3110
- "value": 50,
3111
- "content": {
3112
- "type": "SEQ",
3113
- "members": [
3114
- {
3115
- "type": "SYMBOL",
3116
- "name": "_arg"
3117
- },
3118
- {
3119
- "type": "CHOICE",
3120
- "members": [
3121
- {
3122
- "type": "STRING",
3123
- "value": "^"
3124
- },
3125
- {
3126
- "type": "STRING",
3127
- "value": "|"
3128
- }
3129
- ]
3130
- },
3131
- {
3132
- "type": "SYMBOL",
3133
- "name": "_arg"
3134
- }
3135
- ]
3136
- }
3137
- },
3138
- {
3139
- "type": "PREC_LEFT",
3140
- "value": 65,
3141
- "content": {
3142
- "type": "SEQ",
3143
- "members": [
3144
- {
3145
- "type": "SYMBOL",
3146
- "name": "_arg"
3147
- },
3148
- {
3149
- "type": "CHOICE",
3150
- "members": [
3151
- {
3152
- "type": "SYMBOL",
3153
- "name": "_binary_minus"
3154
- },
3155
- {
3156
- "type": "STRING",
3157
- "value": "+"
3158
- }
3159
- ]
3160
- },
3161
- {
3162
- "type": "SYMBOL",
3163
- "name": "_arg"
3164
- }
3165
- ]
3166
- }
3167
- },
3168
- {
3169
- "type": "PREC_LEFT",
3170
- "value": 70,
3171
- "content": {
3172
- "type": "SEQ",
3173
- "members": [
3174
- {
3175
- "type": "SYMBOL",
3176
- "name": "_arg"
3177
- },
3178
- {
3179
- "type": "CHOICE",
3180
- "members": [
3181
- {
3182
- "type": "SYMBOL",
3183
- "name": "_binary_star"
3184
- },
3185
- {
3186
- "type": "SYMBOL",
3187
- "name": "_forward_slash"
3188
- },
3189
- {
3190
- "type": "STRING",
3191
- "value": "%"
3192
- }
3193
- ]
3194
- },
3195
- {
3196
- "type": "SYMBOL",
3197
- "name": "_arg"
3198
- }
3199
- ]
3200
- }
3201
- },
3202
- {
3203
- "type": "PREC_RIGHT",
3204
- "value": 80,
3205
- "content": {
3206
- "type": "SEQ",
3207
- "members": [
3208
- {
3209
- "type": "SYMBOL",
3210
- "name": "_arg"
3211
- },
3212
- {
3213
- "type": "STRING",
3214
- "value": "**"
3215
- },
3216
- {
3217
- "type": "SYMBOL",
3218
- "name": "_arg"
3219
- }
3220
- ]
3221
- }
3222
- }
3223
- ]
3224
- },
3225
- "unary": {
3226
- "type": "CHOICE",
3227
- "members": [
3228
- {
3229
- "type": "PREC",
3230
- "value": 10,
3231
- "content": {
3232
- "type": "SEQ",
3233
- "members": [
3234
- {
3235
- "type": "STRING",
3236
- "value": "defined?"
3237
- },
3238
- {
3239
- "type": "SYMBOL",
3240
- "name": "_arg"
3241
- }
3242
- ]
3243
- }
3244
- },
3245
- {
3246
- "type": "PREC_RIGHT",
3247
- "value": 5,
3248
- "content": {
3249
- "type": "SEQ",
3250
- "members": [
3251
- {
3252
- "type": "STRING",
3253
- "value": "not"
3254
- },
3255
- {
3256
- "type": "SYMBOL",
3257
- "name": "_arg"
3258
- }
3259
- ]
3260
- }
3261
- },
3262
- {
3263
- "type": "PREC_RIGHT",
3264
- "value": 75,
3265
- "content": {
3266
- "type": "SEQ",
3267
- "members": [
3268
- {
3269
- "type": "CHOICE",
3270
- "members": [
3271
- {
3272
- "type": "SYMBOL",
3273
- "name": "_unary_minus"
3274
- },
3275
- {
3276
- "type": "STRING",
3277
- "value": "+"
3278
- }
3279
- ]
3280
- },
3281
- {
3282
- "type": "SYMBOL",
3283
- "name": "_arg"
3284
- }
3285
- ]
3286
- }
3287
- },
3288
- {
3289
- "type": "PREC_RIGHT",
3290
- "value": 85,
3291
- "content": {
3292
- "type": "SEQ",
3293
- "members": [
3294
- {
3295
- "type": "CHOICE",
3296
- "members": [
3297
- {
3298
- "type": "STRING",
3299
- "value": "!"
3300
- },
3301
- {
3302
- "type": "STRING",
3303
- "value": "~"
3304
- }
3305
- ]
3306
- },
3307
- {
3308
- "type": "SYMBOL",
3309
- "name": "_arg"
3310
- }
3311
- ]
3312
- }
3313
- }
3314
- ]
3315
- },
3316
- "right_assignment_list": {
3317
- "type": "PREC",
3318
- "value": -1,
3319
- "content": {
3320
- "type": "SEQ",
3321
- "members": [
3322
- {
3323
- "type": "SYMBOL",
3324
- "name": "_arg_or_splat_arg"
3325
- },
3326
- {
3327
- "type": "REPEAT",
3328
- "content": {
3329
- "type": "SEQ",
3330
- "members": [
3331
- {
3332
- "type": "STRING",
3333
- "value": ","
3334
- },
3335
- {
3336
- "type": "SYMBOL",
3337
- "name": "_arg_or_splat_arg"
3338
- }
3339
- ]
3340
- }
3341
- }
3342
- ]
3343
- }
3344
- },
3345
- "_arg_or_splat_arg": {
3346
- "type": "CHOICE",
3347
- "members": [
3348
- {
3349
- "type": "SYMBOL",
3350
- "name": "_arg"
3351
- },
3352
- {
3353
- "type": "SYMBOL",
3354
- "name": "splat_argument"
3355
- }
3356
- ]
3357
- },
3358
- "left_assignment_list": {
3359
- "type": "SYMBOL",
3360
- "name": "_mlhs"
3361
- },
3362
- "_mlhs": {
3363
- "type": "PREC_LEFT",
3364
- "value": -1,
3365
- "content": {
3366
- "type": "CHOICE",
3367
- "members": [
3368
- {
3369
- "type": "CHOICE",
3370
- "members": [
3371
- {
3372
- "type": "SYMBOL",
3373
- "name": "_simple_mlhs"
3374
- },
3375
- {
3376
- "type": "SYMBOL",
3377
- "name": "destructured_left_assigment"
3378
- }
3379
- ]
3380
- },
3381
- {
3382
- "type": "SEQ",
3383
- "members": [
3384
- {
3385
- "type": "CHOICE",
3386
- "members": [
3387
- {
3388
- "type": "SYMBOL",
3389
- "name": "_simple_mlhs"
3390
- },
3391
- {
3392
- "type": "SYMBOL",
3393
- "name": "destructured_left_assigment"
3394
- }
3395
- ]
3396
- },
3397
- {
3398
- "type": "STRING",
3399
- "value": ","
3400
- },
3401
- {
3402
- "type": "CHOICE",
3403
- "members": [
3404
- {
3405
- "type": "SYMBOL",
3406
- "name": "_mlhs"
3407
- },
3408
- {
3409
- "type": "BLANK"
3410
- }
3411
- ]
3412
- }
3413
- ]
3414
- }
3415
- ]
3416
- }
3417
- },
3418
- "_simple_mlhs": {
3419
- "type": "PREC",
3420
- "value": -1,
3421
- "content": {
3422
- "type": "CHOICE",
3423
- "members": [
3424
- {
3425
- "type": "SYMBOL",
3426
- "name": "_lhs"
3427
- },
3428
- {
3429
- "type": "SYMBOL",
3430
- "name": "rest_assignment"
3431
- }
3432
- ]
3433
- }
3434
- },
3435
- "destructured_left_assigment": {
3436
- "type": "PREC",
3437
- "value": -1,
3438
- "content": {
3439
- "type": "SEQ",
3440
- "members": [
3441
- {
3442
- "type": "STRING",
3443
- "value": "("
3444
- },
3445
- {
3446
- "type": "SEQ",
3447
- "members": [
3448
- {
3449
- "type": "SYMBOL",
3450
- "name": "_mlhs"
3451
- },
3452
- {
3453
- "type": "REPEAT",
3454
- "content": {
3455
- "type": "SEQ",
3456
- "members": [
3457
- {
3458
- "type": "STRING",
3459
- "value": ","
3460
- },
3461
- {
3462
- "type": "SYMBOL",
3463
- "name": "_mlhs"
3464
- }
3465
- ]
3466
- }
3467
- }
3468
- ]
3469
- },
3470
- {
3471
- "type": "STRING",
3472
- "value": ")"
3473
- }
3474
- ]
3475
- }
3476
- },
3477
- "rest_assignment": {
3478
- "type": "PREC",
3479
- "value": -1,
3480
- "content": {
3481
- "type": "SEQ",
3482
- "members": [
3483
- {
3484
- "type": "STRING",
3485
- "value": "*"
3486
- },
3487
- {
3488
- "type": "CHOICE",
3489
- "members": [
3490
- {
3491
- "type": "SYMBOL",
3492
- "name": "_lhs"
3493
- },
3494
- {
3495
- "type": "BLANK"
3496
- }
3497
- ]
3498
- }
3499
- ]
3500
- }
3501
- },
3502
- "_lhs": {
3503
- "type": "PREC_LEFT",
3504
- "value": 0,
3505
- "content": {
3506
- "type": "CHOICE",
3507
- "members": [
3508
- {
3509
- "type": "SYMBOL",
3510
- "name": "_variable"
3511
- },
3512
- {
3513
- "type": "SYMBOL",
3514
- "name": "true"
3515
- },
3516
- {
3517
- "type": "SYMBOL",
3518
- "name": "false"
3519
- },
3520
- {
3521
- "type": "SYMBOL",
3522
- "name": "nil"
3523
- },
3524
- {
3525
- "type": "SYMBOL",
3526
- "name": "scope_resolution"
3527
- },
3528
- {
3529
- "type": "SYMBOL",
3530
- "name": "element_reference"
3531
- },
3532
- {
3533
- "type": "SYMBOL",
3534
- "name": "call"
3535
- },
3536
- {
3537
- "type": "SYMBOL",
3538
- "name": "method_call"
3539
- }
3540
- ]
3541
- }
3542
- },
3543
- "_variable": {
3544
- "type": "CHOICE",
3545
- "members": [
3546
- {
3547
- "type": "SYMBOL",
3548
- "name": "self"
3549
- },
3550
- {
3551
- "type": "SYMBOL",
3552
- "name": "super"
3553
- },
3554
- {
3555
- "type": "SYMBOL",
3556
- "name": "instance_variable"
3557
- },
3558
- {
3559
- "type": "SYMBOL",
3560
- "name": "class_variable"
3561
- },
3562
- {
3563
- "type": "SYMBOL",
3564
- "name": "global_variable"
3565
- },
3566
- {
3567
- "type": "SYMBOL",
3568
- "name": "identifier"
3569
- },
3570
- {
3571
- "type": "SYMBOL",
3572
- "name": "constant"
3573
- }
3574
- ]
3575
- },
3576
- "constant": {
3577
- "type": "PATTERN",
3578
- "value": "[A-Z][a-zA-Z0-9_]*(\\?|\\!)?"
3579
- },
3580
- "instance_variable": {
3581
- "type": "PATTERN",
3582
- "value": "@[a-zA-Z_][a-zA-Z0-9_]*"
3583
- },
3584
- "class_variable": {
3585
- "type": "PATTERN",
3586
- "value": "@@[a-zA-Z_][a-zA-Z0-9_]*"
3587
- },
3588
- "global_variable": {
3589
- "type": "PATTERN",
3590
- "value": "\\$-?(([!@&`'+~=\\/\\\\,;.<>*$?:\"])|([0-9]*)|([a-zA-Z_][a-zA-Z0-9_]*))"
3591
- },
3592
- "identifier": {
3593
- "type": "PATTERN",
3594
- "value": "[a-z_][a-zA-Z0-9_]*(\\?|\\!)?"
3595
- },
3596
- "reserved_identifier": {
3597
- "type": "CHOICE",
3598
- "members": [
3599
- {
3600
- "type": "STRING",
3601
- "value": "alias"
3602
- },
3603
- {
3604
- "type": "STRING",
3605
- "value": "and"
3606
- },
3607
- {
3608
- "type": "STRING",
3609
- "value": "begin"
3610
- },
3611
- {
3612
- "type": "STRING",
3613
- "value": "break"
3614
- },
3615
- {
3616
- "type": "STRING",
3617
- "value": "case"
3618
- },
3619
- {
3620
- "type": "STRING",
3621
- "value": "class"
3622
- },
3623
- {
3624
- "type": "STRING",
3625
- "value": "def"
3626
- },
3627
- {
3628
- "type": "STRING",
3629
- "value": "defined"
3630
- },
3631
- {
3632
- "type": "STRING",
3633
- "value": "do"
3634
- },
3635
- {
3636
- "type": "STRING",
3637
- "value": "else"
3638
- },
3639
- {
3640
- "type": "STRING",
3641
- "value": "elsif"
3642
- },
3643
- {
3644
- "type": "STRING",
3645
- "value": "end"
3646
- },
3647
- {
3648
- "type": "STRING",
3649
- "value": "ensure"
3650
- },
3651
- {
3652
- "type": "STRING",
3653
- "value": "false"
3654
- },
3655
- {
3656
- "type": "STRING",
3657
- "value": "for"
3658
- },
3659
- {
3660
- "type": "STRING",
3661
- "value": "in"
3662
- },
3663
- {
3664
- "type": "STRING",
3665
- "value": "module"
3666
- },
3667
- {
3668
- "type": "STRING",
3669
- "value": "next"
3670
- },
3671
- {
3672
- "type": "STRING",
3673
- "value": "nil"
3674
- },
3675
- {
3676
- "type": "STRING",
3677
- "value": "not"
3678
- },
3679
- {
3680
- "type": "STRING",
3681
- "value": "or"
3682
- },
3683
- {
3684
- "type": "STRING",
3685
- "value": "redo"
3686
- },
3687
- {
3688
- "type": "STRING",
3689
- "value": "rescue"
3690
- },
3691
- {
3692
- "type": "STRING",
3693
- "value": "retry"
3694
- },
3695
- {
3696
- "type": "STRING",
3697
- "value": "return"
3698
- },
3699
- {
3700
- "type": "STRING",
3701
- "value": "self"
3702
- },
3703
- {
3704
- "type": "STRING",
3705
- "value": "super"
3706
- },
3707
- {
3708
- "type": "STRING",
3709
- "value": "then"
3710
- },
3711
- {
3712
- "type": "STRING",
3713
- "value": "true"
3714
- },
3715
- {
3716
- "type": "STRING",
3717
- "value": "undef"
3718
- },
3719
- {
3720
- "type": "STRING",
3721
- "value": "when"
3722
- },
3723
- {
3724
- "type": "STRING",
3725
- "value": "yield"
3726
- },
3727
- {
3728
- "type": "STRING",
3729
- "value": "if"
3730
- },
3731
- {
3732
- "type": "STRING",
3733
- "value": "unless"
3734
- },
3735
- {
3736
- "type": "STRING",
3737
- "value": "while"
3738
- },
3739
- {
3740
- "type": "STRING",
3741
- "value": "until"
3742
- }
3743
- ]
3744
- },
3745
- "operator": {
3746
- "type": "CHOICE",
3747
- "members": [
3748
- {
3749
- "type": "SYMBOL",
3750
- "name": "_forward_slash"
3751
- },
3752
- {
3753
- "type": "STRING",
3754
- "value": ".."
3755
- },
3756
- {
3757
- "type": "STRING",
3758
- "value": "|"
3759
- },
3760
- {
3761
- "type": "STRING",
3762
- "value": "^"
3763
- },
3764
- {
3765
- "type": "STRING",
3766
- "value": "&"
3767
- },
3768
- {
3769
- "type": "STRING",
3770
- "value": "<=>"
3771
- },
3772
- {
3773
- "type": "STRING",
3774
- "value": "=="
3775
- },
3776
- {
3777
- "type": "STRING",
3778
- "value": "==="
3779
- },
3780
- {
3781
- "type": "STRING",
3782
- "value": "=~"
3783
- },
3784
- {
3785
- "type": "STRING",
3786
- "value": ">"
3787
- },
3788
- {
3789
- "type": "STRING",
3790
- "value": ">="
3791
- },
3792
- {
3793
- "type": "STRING",
3794
- "value": "<"
3795
- },
3796
- {
3797
- "type": "STRING",
3798
- "value": "<="
3799
- },
3800
- {
3801
- "type": "STRING",
3802
- "value": "+"
3803
- },
3804
- {
3805
- "type": "STRING",
3806
- "value": "-"
3807
- },
3808
- {
3809
- "type": "STRING",
3810
- "value": "*"
3811
- },
3812
- {
3813
- "type": "STRING",
3814
- "value": "%"
3815
- },
3816
- {
3817
- "type": "STRING",
3818
- "value": "!"
3819
- },
3820
- {
3821
- "type": "STRING",
3822
- "value": "**"
3823
- },
3824
- {
3825
- "type": "STRING",
3826
- "value": "<<"
3827
- },
3828
- {
3829
- "type": "STRING",
3830
- "value": ">>"
3831
- },
3832
- {
3833
- "type": "STRING",
3834
- "value": "~"
3835
- },
3836
- {
3837
- "type": "STRING",
3838
- "value": "+@"
3839
- },
3840
- {
3841
- "type": "STRING",
3842
- "value": "-@"
3843
- },
3844
- {
3845
- "type": "STRING",
3846
- "value": "[]"
3847
- },
3848
- {
3849
- "type": "STRING",
3850
- "value": "[]="
3851
- },
3852
- {
3853
- "type": "STRING",
3854
- "value": "`"
3855
- }
3856
- ]
3857
- },
3858
- "_method_name": {
3859
- "type": "CHOICE",
3860
- "members": [
3861
- {
3862
- "type": "SYMBOL",
3863
- "name": "identifier"
3864
- },
3865
- {
3866
- "type": "SYMBOL",
3867
- "name": "constant"
3868
- },
3869
- {
3870
- "type": "SYMBOL",
3871
- "name": "setter"
3872
- },
3873
- {
3874
- "type": "SYMBOL",
3875
- "name": "symbol"
3876
- },
3877
- {
3878
- "type": "SYMBOL",
3879
- "name": "operator"
3880
- },
3881
- {
3882
- "type": "SYMBOL",
3883
- "name": "instance_variable"
3884
- },
3885
- {
3886
- "type": "SYMBOL",
3887
- "name": "class_variable"
3888
- },
3889
- {
3890
- "type": "SYMBOL",
3891
- "name": "global_variable"
3892
- }
3893
- ]
3894
- },
3895
- "setter": {
3896
- "type": "SEQ",
3897
- "members": [
3898
- {
3899
- "type": "SYMBOL",
3900
- "name": "identifier"
3901
- },
3902
- {
3903
- "type": "STRING",
3904
- "value": "="
3905
- }
3906
- ]
3907
- },
3908
- "undef": {
3909
- "type": "SEQ",
3910
- "members": [
3911
- {
3912
- "type": "STRING",
3913
- "value": "undef"
3914
- },
3915
- {
3916
- "type": "SEQ",
3917
- "members": [
3918
- {
3919
- "type": "SYMBOL",
3920
- "name": "_method_name"
3921
- },
3922
- {
3923
- "type": "REPEAT",
3924
- "content": {
3925
- "type": "SEQ",
3926
- "members": [
3927
- {
3928
- "type": "STRING",
3929
- "value": ","
3930
- },
3931
- {
3932
- "type": "SYMBOL",
3933
- "name": "_method_name"
3934
- }
3935
- ]
3936
- }
3937
- }
3938
- ]
3939
- }
3940
- ]
3941
- },
3942
- "alias": {
3943
- "type": "SEQ",
3944
- "members": [
3945
- {
3946
- "type": "STRING",
3947
- "value": "alias"
3948
- },
3949
- {
3950
- "type": "SYMBOL",
3951
- "name": "_method_name"
3952
- },
3953
- {
3954
- "type": "SYMBOL",
3955
- "name": "_method_name"
3956
- }
3957
- ]
3958
- },
3959
- "comment": {
3960
- "type": "TOKEN",
3961
- "content": {
3962
- "type": "PREC",
3963
- "value": -2,
3964
- "content": {
3965
- "type": "CHOICE",
3966
- "members": [
3967
- {
3968
- "type": "SEQ",
3969
- "members": [
3970
- {
3971
- "type": "STRING",
3972
- "value": "#"
3973
- },
3974
- {
3975
- "type": "PATTERN",
3976
- "value": ".*"
3977
- }
3978
- ]
3979
- },
3980
- {
3981
- "type": "SEQ",
3982
- "members": [
3983
- {
3984
- "type": "PATTERN",
3985
- "value": "=begin.*\\r?\\n"
3986
- },
3987
- {
3988
- "type": "REPEAT",
3989
- "content": {
3990
- "type": "CHOICE",
3991
- "members": [
3992
- {
3993
- "type": "PATTERN",
3994
- "value": "[^=]"
3995
- },
3996
- {
3997
- "type": "PATTERN",
3998
- "value": "=[^e]"
3999
- },
4000
- {
4001
- "type": "PATTERN",
4002
- "value": "=e[^n]"
4003
- },
4004
- {
4005
- "type": "PATTERN",
4006
- "value": "=en[^d]"
4007
- }
4008
- ]
4009
- }
4010
- },
4011
- {
4012
- "type": "PATTERN",
4013
- "value": "=end\\r?\\n"
4014
- }
4015
- ]
4016
- }
4017
- ]
4018
- }
4019
- }
4020
- },
4021
- "symbol": {
4022
- "type": "CHOICE",
4023
- "members": [
4024
- {
4025
- "type": "SYMBOL",
4026
- "name": "_simple_symbol"
4027
- },
4028
- {
4029
- "type": "SEQ",
4030
- "members": [
4031
- {
4032
- "type": "SYMBOL",
4033
- "name": "_symbol_beginning"
4034
- },
4035
- {
4036
- "type": "REPEAT",
4037
- "content": {
4038
- "type": "SEQ",
4039
- "members": [
4040
- {
4041
- "type": "SYMBOL",
4042
- "name": "_statement"
4043
- },
4044
- {
4045
- "type": "SYMBOL",
4046
- "name": "_string_middle"
4047
- }
4048
- ]
4049
- }
4050
- },
4051
- {
4052
- "type": "SYMBOL",
4053
- "name": "_statement"
4054
- },
4055
- {
4056
- "type": "SYMBOL",
4057
- "name": "_string_end"
4058
- }
4059
- ]
4060
- }
4061
- ]
4062
- },
4063
- "_simple_symbol": {
4064
- "type": "TOKEN",
4065
- "content": {
4066
- "type": "SEQ",
4067
- "members": [
4068
- {
4069
- "type": "STRING",
4070
- "value": ":"
4071
- },
4072
- {
4073
- "type": "CHOICE",
4074
- "members": [
4075
- {
4076
- "type": "PATTERN",
4077
- "value": "[a-z_][a-zA-Z0-9_]*(\\?|\\!)?"
4078
- },
4079
- {
4080
- "type": "PATTERN",
4081
- "value": "@[a-zA-Z_][a-zA-Z0-9_]*"
4082
- },
4083
- {
4084
- "type": "PATTERN",
4085
- "value": "@@[a-zA-Z_][a-zA-Z0-9_]*"
4086
- },
4087
- {
4088
- "type": "PATTERN",
4089
- "value": "\\$-?(([!@&`'+~=\\/\\\\,;.<>*$?:\"])|([0-9]*)|([a-zA-Z_][a-zA-Z0-9_]*))"
4090
- }
4091
- ]
4092
- }
4093
- ]
4094
- }
4095
- },
4096
- "integer": {
4097
- "type": "PATTERN",
4098
- "value": "0b[01](_?[01])*|0[oO]?[0-7](_?[0-7])*|(0d)?\\d(_?\\d)*|0x[0-9a-fA-F](_?[0-9a-fA-F])*"
4099
- },
4100
- "float": {
4101
- "type": "CHOICE",
4102
- "members": [
4103
- {
4104
- "type": "SEQ",
4105
- "members": [
4106
- {
4107
- "type": "PATTERN",
4108
- "value": "0b[01](_?[01])*|0[oO]?[0-7](_?[0-7])*|(0d)?\\d(_?\\d)*|0x[0-9a-fA-F](_?[0-9a-fA-F])*"
4109
- },
4110
- {
4111
- "type": "STRING",
4112
- "value": "."
4113
- },
4114
- {
4115
- "type": "PATTERN",
4116
- "value": "\\d(_?\\d)*([eE][-+]?\\d(_?\\d)*)?"
4117
- }
4118
- ]
4119
- },
4120
- {
4121
- "type": "PATTERN",
4122
- "value": "\\d(_?\\d)*([eE][-+]?\\d(_?\\d)*)?"
4123
- }
4124
- ]
4125
- },
4126
- "super": {
4127
- "type": "STRING",
4128
- "value": "super"
4129
- },
4130
- "true": {
4131
- "type": "CHOICE",
4132
- "members": [
4133
- {
4134
- "type": "STRING",
4135
- "value": "true"
4136
- },
4137
- {
4138
- "type": "STRING",
4139
- "value": "TRUE"
4140
- }
4141
- ]
4142
- },
4143
- "false": {
4144
- "type": "CHOICE",
4145
- "members": [
4146
- {
4147
- "type": "STRING",
4148
- "value": "false"
4149
- },
4150
- {
4151
- "type": "STRING",
4152
- "value": "FALSE"
4153
- }
4154
- ]
4155
- },
4156
- "self": {
4157
- "type": "STRING",
4158
- "value": "self"
4159
- },
4160
- "nil": {
4161
- "type": "CHOICE",
4162
- "members": [
4163
- {
4164
- "type": "STRING",
4165
- "value": "nil"
4166
- },
4167
- {
4168
- "type": "STRING",
4169
- "value": "NIL"
4170
- }
4171
- ]
4172
- },
4173
- "keyword__FILE__": {
4174
- "type": "STRING",
4175
- "value": "__FILE__"
4176
- },
4177
- "keyword__LINE__": {
4178
- "type": "STRING",
4179
- "value": "__LINE__"
4180
- },
4181
- "keyword__ENCODING__": {
4182
- "type": "STRING",
4183
- "value": "__ENCODING__"
4184
- },
4185
- "chained_string": {
4186
- "type": "SEQ",
4187
- "members": [
4188
- {
4189
- "type": "SYMBOL",
4190
- "name": "string"
4191
- },
4192
- {
4193
- "type": "REPEAT1",
4194
- "content": {
4195
- "type": "SYMBOL",
4196
- "name": "string"
4197
- }
4198
- }
4199
- ]
4200
- },
4201
- "_character_literal": {
4202
- "type": "PATTERN",
4203
- "value": "\\?(\\\\\\S({[0-9]*}|[0-9]*|-\\S([MC]-\\S)?)?|\\S)"
4204
- },
4205
- "string": {
4206
- "type": "CHOICE",
4207
- "members": [
4208
- {
4209
- "type": "SYMBOL",
4210
- "name": "_simple_string"
4211
- },
4212
- {
4213
- "type": "SYMBOL",
4214
- "name": "_character_literal"
4215
- },
4216
- {
4217
- "type": "SEQ",
4218
- "members": [
4219
- {
4220
- "type": "SYMBOL",
4221
- "name": "_string_beginning"
4222
- },
4223
- {
4224
- "type": "REPEAT",
4225
- "content": {
4226
- "type": "SEQ",
4227
- "members": [
4228
- {
4229
- "type": "SYMBOL",
4230
- "name": "_statement"
4231
- },
4232
- {
4233
- "type": "SYMBOL",
4234
- "name": "_string_middle"
4235
- }
4236
- ]
4237
- }
4238
- },
4239
- {
4240
- "type": "SYMBOL",
4241
- "name": "_statement"
4242
- },
4243
- {
4244
- "type": "SYMBOL",
4245
- "name": "_string_end"
4246
- }
4247
- ]
4248
- }
4249
- ]
4250
- },
4251
- "subshell": {
4252
- "type": "CHOICE",
4253
- "members": [
4254
- {
4255
- "type": "SYMBOL",
4256
- "name": "_simple_subshell"
4257
- },
4258
- {
4259
- "type": "SEQ",
4260
- "members": [
4261
- {
4262
- "type": "SYMBOL",
4263
- "name": "_subshell_beginning"
4264
- },
4265
- {
4266
- "type": "REPEAT",
4267
- "content": {
4268
- "type": "SEQ",
4269
- "members": [
4270
- {
4271
- "type": "SYMBOL",
4272
- "name": "_statement"
4273
- },
4274
- {
4275
- "type": "SYMBOL",
4276
- "name": "_string_middle"
4277
- }
4278
- ]
4279
- }
4280
- },
4281
- {
4282
- "type": "SYMBOL",
4283
- "name": "_statement"
4284
- },
4285
- {
4286
- "type": "SYMBOL",
4287
- "name": "_string_end"
4288
- }
4289
- ]
4290
- }
4291
- ]
4292
- },
4293
- "heredoc_end": {
4294
- "type": "CHOICE",
4295
- "members": [
4296
- {
4297
- "type": "SYMBOL",
4298
- "name": "_simple_heredoc_body"
4299
- },
4300
- {
4301
- "type": "SEQ",
4302
- "members": [
4303
- {
4304
- "type": "SYMBOL",
4305
- "name": "_heredoc_body_beginning"
4306
- },
4307
- {
4308
- "type": "REPEAT",
4309
- "content": {
4310
- "type": "SEQ",
4311
- "members": [
4312
- {
4313
- "type": "SYMBOL",
4314
- "name": "_statement"
4315
- },
4316
- {
4317
- "type": "SYMBOL",
4318
- "name": "_heredoc_body_middle"
4319
- }
4320
- ]
4321
- }
4322
- },
4323
- {
4324
- "type": "SYMBOL",
4325
- "name": "_statement"
4326
- },
4327
- {
4328
- "type": "SYMBOL",
4329
- "name": "_heredoc_body_end"
4330
- }
4331
- ]
4332
- }
4333
- ]
4334
- },
4335
- "array": {
4336
- "type": "CHOICE",
4337
- "members": [
4338
- {
4339
- "type": "SEQ",
4340
- "members": [
4341
- {
4342
- "type": "STRING",
4343
- "value": "["
4344
- },
4345
- {
4346
- "type": "CHOICE",
4347
- "members": [
4348
- {
4349
- "type": "SYMBOL",
4350
- "name": "_argument_list_with_trailing_comma"
4351
- },
4352
- {
4353
- "type": "BLANK"
4354
- }
4355
- ]
4356
- },
4357
- {
4358
- "type": "CHOICE",
4359
- "members": [
4360
- {
4361
- "type": "SYMBOL",
4362
- "name": "heredoc_end"
4363
- },
4364
- {
4365
- "type": "BLANK"
4366
- }
4367
- ]
4368
- },
4369
- {
4370
- "type": "STRING",
4371
- "value": "]"
4372
- }
4373
- ]
4374
- },
4375
- {
4376
- "type": "SYMBOL",
4377
- "name": "_simple_word_list"
4378
- },
4379
- {
4380
- "type": "SEQ",
4381
- "members": [
4382
- {
4383
- "type": "SYMBOL",
4384
- "name": "_word_list_beginning"
4385
- },
4386
- {
4387
- "type": "REPEAT",
4388
- "content": {
4389
- "type": "SEQ",
4390
- "members": [
4391
- {
4392
- "type": "SYMBOL",
4393
- "name": "_statement"
4394
- },
4395
- {
4396
- "type": "SYMBOL",
4397
- "name": "_string_middle"
4398
- }
4399
- ]
4400
- }
4401
- },
4402
- {
4403
- "type": "SYMBOL",
4404
- "name": "_statement"
4405
- },
4406
- {
4407
- "type": "SYMBOL",
4408
- "name": "_string_end"
4409
- }
4410
- ]
4411
- }
4412
- ]
4413
- },
4414
- "hash": {
4415
- "type": "PREC",
4416
- "value": 1,
4417
- "content": {
4418
- "type": "SEQ",
4419
- "members": [
4420
- {
4421
- "type": "STRING",
4422
- "value": "{"
4423
- },
4424
- {
4425
- "type": "CHOICE",
4426
- "members": [
4427
- {
4428
- "type": "SYMBOL",
4429
- "name": "_hash_items"
4430
- },
4431
- {
4432
- "type": "BLANK"
4433
- }
4434
- ]
4435
- },
4436
- {
4437
- "type": "CHOICE",
4438
- "members": [
4439
- {
4440
- "type": "SYMBOL",
4441
- "name": "heredoc_end"
4442
- },
4443
- {
4444
- "type": "BLANK"
4445
- }
4446
- ]
4447
- },
4448
- {
4449
- "type": "STRING",
4450
- "value": "}"
4451
- }
4452
- ]
4453
- }
4454
- },
4455
- "_hash_items": {
4456
- "type": "SEQ",
4457
- "members": [
4458
- {
4459
- "type": "SYMBOL",
4460
- "name": "pair"
4461
- },
4462
- {
4463
- "type": "CHOICE",
4464
- "members": [
4465
- {
4466
- "type": "PREC_RIGHT",
4467
- "value": 0,
4468
- "content": {
4469
- "type": "SEQ",
4470
- "members": [
4471
- {
4472
- "type": "STRING",
4473
- "value": ","
4474
- },
4475
- {
4476
- "type": "CHOICE",
4477
- "members": [
4478
- {
4479
- "type": "SYMBOL",
4480
- "name": "heredoc_end"
4481
- },
4482
- {
4483
- "type": "BLANK"
4484
- }
4485
- ]
4486
- },
4487
- {
4488
- "type": "CHOICE",
4489
- "members": [
4490
- {
4491
- "type": "SYMBOL",
4492
- "name": "_hash_items"
4493
- },
4494
- {
4495
- "type": "BLANK"
4496
- }
4497
- ]
4498
- }
4499
- ]
4500
- }
4501
- },
4502
- {
4503
- "type": "BLANK"
4504
- }
4505
- ]
4506
- }
4507
- ]
4508
- },
4509
- "pair": {
4510
- "type": "PREC",
4511
- "value": -1,
4512
- "content": {
4513
- "type": "SEQ",
4514
- "members": [
4515
- {
4516
- "type": "CHOICE",
4517
- "members": [
4518
- {
4519
- "type": "SEQ",
4520
- "members": [
4521
- {
4522
- "type": "SYMBOL",
4523
- "name": "_arg"
4524
- },
4525
- {
4526
- "type": "STRING",
4527
- "value": "=>"
4528
- }
4529
- ]
4530
- },
4531
- {
4532
- "type": "SEQ",
4533
- "members": [
4534
- {
4535
- "type": "CHOICE",
4536
- "members": [
4537
- {
4538
- "type": "SYMBOL",
4539
- "name": "identifier"
4540
- },
4541
- {
4542
- "type": "SYMBOL",
4543
- "name": "constant"
4544
- },
4545
- {
4546
- "type": "SYMBOL",
4547
- "name": "reserved_identifier"
4548
- },
4549
- {
4550
- "type": "SYMBOL",
4551
- "name": "string"
4552
- }
4553
- ]
4554
- },
4555
- {
4556
- "type": "SYMBOL",
4557
- "name": "_keyword_colon"
4558
- }
4559
- ]
4560
- }
4561
- ]
4562
- },
4563
- {
4564
- "type": "SYMBOL",
4565
- "name": "_arg"
4566
- }
4567
- ]
4568
- }
4569
- },
4570
- "regex": {
4571
- "type": "CHOICE",
4572
- "members": [
4573
- {
4574
- "type": "SYMBOL",
4575
- "name": "_simple_regex"
4576
- },
4577
- {
4578
- "type": "SEQ",
4579
- "members": [
4580
- {
4581
- "type": "SYMBOL",
4582
- "name": "_regex_beginning"
4583
- },
4584
- {
4585
- "type": "REPEAT",
4586
- "content": {
4587
- "type": "SEQ",
4588
- "members": [
4589
- {
4590
- "type": "SYMBOL",
4591
- "name": "_statement"
4592
- },
4593
- {
4594
- "type": "SYMBOL",
4595
- "name": "_string_middle"
4596
- }
4597
- ]
4598
- }
4599
- },
4600
- {
4601
- "type": "SYMBOL",
4602
- "name": "_statement"
4603
- },
4604
- {
4605
- "type": "SYMBOL",
4606
- "name": "_string_end"
4607
- }
4608
- ]
4609
- }
4610
- ]
4611
- },
4612
- "lambda": {
4613
- "type": "CHOICE",
4614
- "members": [
4615
- {
4616
- "type": "SEQ",
4617
- "members": [
4618
- {
4619
- "type": "STRING",
4620
- "value": "->"
4621
- },
4622
- {
4623
- "type": "CHOICE",
4624
- "members": [
4625
- {
4626
- "type": "SYMBOL",
4627
- "name": "lambda_parameters"
4628
- },
4629
- {
4630
- "type": "BLANK"
4631
- }
4632
- ]
4633
- },
4634
- {
4635
- "type": "CHOICE",
4636
- "members": [
4637
- {
4638
- "type": "SEQ",
4639
- "members": [
4640
- {
4641
- "type": "STRING",
4642
- "value": "{"
4643
- },
4644
- {
4645
- "type": "CHOICE",
4646
- "members": [
4647
- {
4648
- "type": "SYMBOL",
4649
- "name": "_statements"
4650
- },
4651
- {
4652
- "type": "BLANK"
4653
- }
4654
- ]
4655
- },
4656
- {
4657
- "type": "STRING",
4658
- "value": "}"
4659
- }
4660
- ]
4661
- },
4662
- {
4663
- "type": "SEQ",
4664
- "members": [
4665
- {
4666
- "type": "STRING",
4667
- "value": "do"
4668
- },
4669
- {
4670
- "type": "CHOICE",
4671
- "members": [
4672
- {
4673
- "type": "SYMBOL",
4674
- "name": "_terminator"
4675
- },
4676
- {
4677
- "type": "BLANK"
4678
- }
4679
- ]
4680
- },
4681
- {
4682
- "type": "CHOICE",
4683
- "members": [
4684
- {
4685
- "type": "SYMBOL",
4686
- "name": "_statements"
4687
- },
4688
- {
4689
- "type": "BLANK"
4690
- }
4691
- ]
4692
- },
4693
- {
4694
- "type": "STRING",
4695
- "value": "end"
4696
- }
4697
- ]
4698
- }
4699
- ]
4700
- }
4701
- ]
4702
- },
4703
- {
4704
- "type": "SEQ",
4705
- "members": [
4706
- {
4707
- "type": "STRING",
4708
- "value": "lambda"
4709
- },
4710
- {
4711
- "type": "CHOICE",
4712
- "members": [
4713
- {
4714
- "type": "SYMBOL",
4715
- "name": "_block"
4716
- },
4717
- {
4718
- "type": "SYMBOL",
4719
- "name": "_do_block"
4720
- }
4721
- ]
4722
- }
4723
- ]
4724
- }
4725
- ]
4726
- },
4727
- "empty_statement": {
4728
- "type": "PREC",
4729
- "value": -1,
4730
- "content": {
4731
- "type": "STRING",
4732
- "value": ";"
4733
- }
4734
- },
4735
- "_forward_slash": {
4736
- "type": "STRING",
4737
- "value": "/"
4738
- },
4739
- "_terminator": {
4740
- "type": "CHOICE",
4741
- "members": [
4742
- {
4743
- "type": "SYMBOL",
4744
- "name": "_line_break"
4745
- },
4746
- {
4747
- "type": "SYMBOL",
4748
- "name": "heredoc_end"
4749
- },
4750
- {
4751
- "type": "STRING",
4752
- "value": ";"
4753
- }
4754
- ]
4755
- }
4756
- },
4757
- "extras": [
4758
- {
4759
- "type": "SYMBOL",
4760
- "name": "comment"
4761
- },
4762
- {
4763
- "type": "PATTERN",
4764
- "value": "\\s|\\\\\\n"
4765
- }
4766
- ],
4767
- "conflicts": [
4768
- [
4769
- "integer",
4770
- "float"
4771
- ]
4772
- ],
4773
- "externals": [
4774
- "_simple_string",
4775
- "_simple_symbol",
4776
- "_simple_subshell",
4777
- "_simple_regex",
4778
- "_simple_word_list",
4779
- "_simple_heredoc_body",
4780
- "_string_beginning",
4781
- "_symbol_beginning",
4782
- "_subshell_beginning",
4783
- "_regex_beginning",
4784
- "_word_list_beginning",
4785
- "_heredoc_body_beginning",
4786
- "_string_middle",
4787
- "_heredoc_body_middle",
4788
- "_string_end",
4789
- "_heredoc_body_end",
4790
- "heredoc_beginning",
4791
- "_line_break",
4792
- "_forward_slash",
4793
- "_element_reference_left_bracket",
4794
- "_block_ampersand",
4795
- "_splat_star",
4796
- "_argument_list_left_paren",
4797
- "_scope_double_colon",
4798
- "_keyword_colon",
4799
- "_unary_minus",
4800
- "_binary_minus",
4801
- "_binary_star"
4802
- ]
4803
- }