parser 2.7.1.4 → 3.0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/lib/parser/all.rb +1 -1
  3. data/lib/parser/ast/processor.rb +3 -7
  4. data/lib/parser/base.rb +7 -5
  5. data/lib/parser/builders/default.rb +177 -28
  6. data/lib/parser/context.rb +4 -0
  7. data/lib/parser/current.rb +9 -9
  8. data/lib/parser/current_arg_stack.rb +5 -2
  9. data/lib/parser/lexer.rb +813 -803
  10. data/lib/parser/macruby.rb +1 -1
  11. data/lib/parser/max_numparam_stack.rb +13 -5
  12. data/lib/parser/messages.rb +3 -0
  13. data/lib/parser/meta.rb +7 -6
  14. data/lib/parser/ruby18.rb +7 -3
  15. data/lib/parser/ruby19.rb +1 -1
  16. data/lib/parser/ruby20.rb +1 -1
  17. data/lib/parser/ruby21.rb +1 -1
  18. data/lib/parser/ruby22.rb +1 -1
  19. data/lib/parser/ruby23.rb +1 -1
  20. data/lib/parser/ruby24.rb +1 -1
  21. data/lib/parser/ruby25.rb +1 -1
  22. data/lib/parser/ruby26.rb +1 -1
  23. data/lib/parser/ruby27.rb +3720 -3701
  24. data/lib/parser/ruby30.rb +8060 -0
  25. data/lib/parser/rubymotion.rb +1 -1
  26. data/lib/parser/runner.rb +4 -4
  27. data/lib/parser/source/buffer.rb +45 -27
  28. data/lib/parser/source/comment/associator.rb +1 -1
  29. data/lib/parser/source/comment.rb +1 -1
  30. data/lib/parser/source/map/{endless_definition.rb → method_definition.rb} +5 -3
  31. data/lib/parser/source/range.rb +2 -2
  32. data/lib/parser/static_environment.rb +4 -0
  33. data/lib/parser/variables_stack.rb +4 -0
  34. data/lib/parser/version.rb +1 -1
  35. data/lib/parser.rb +1 -1
  36. data/parser.gemspec +1 -17
  37. metadata +8 -97
  38. data/.gitignore +0 -34
  39. data/.travis.yml +0 -40
  40. data/.yardopts +0 -21
  41. data/CHANGELOG.md +0 -1116
  42. data/CONTRIBUTING.md +0 -17
  43. data/Gemfile +0 -10
  44. data/README.md +0 -309
  45. data/Rakefile +0 -167
  46. data/ci/run_rubocop_specs +0 -14
  47. data/doc/AST_FORMAT.md +0 -2283
  48. data/doc/CUSTOMIZATION.md +0 -37
  49. data/doc/INTERNALS.md +0 -21
  50. data/doc/css/.gitkeep +0 -0
  51. data/doc/css/common.css +0 -68
  52. data/lib/parser/lexer.rl +0 -2550
  53. data/lib/parser/macruby.y +0 -2208
  54. data/lib/parser/ruby18.y +0 -1936
  55. data/lib/parser/ruby19.y +0 -2185
  56. data/lib/parser/ruby20.y +0 -2363
  57. data/lib/parser/ruby21.y +0 -2364
  58. data/lib/parser/ruby22.y +0 -2371
  59. data/lib/parser/ruby23.y +0 -2377
  60. data/lib/parser/ruby24.y +0 -2415
  61. data/lib/parser/ruby25.y +0 -2412
  62. data/lib/parser/ruby26.y +0 -2420
  63. data/lib/parser/ruby27.y +0 -2950
  64. data/lib/parser/ruby28.y +0 -3043
  65. data/lib/parser/rubymotion.y +0 -2192
  66. data/test/bug_163/fixtures/input.rb +0 -5
  67. data/test/bug_163/fixtures/output.rb +0 -5
  68. data/test/bug_163/rewriter.rb +0 -20
  69. data/test/helper.rb +0 -103
  70. data/test/parse_helper.rb +0 -323
  71. data/test/racc_coverage_helper.rb +0 -133
  72. data/test/test_ast_processor.rb +0 -32
  73. data/test/test_base.rb +0 -31
  74. data/test/test_current.rb +0 -31
  75. data/test/test_diagnostic.rb +0 -95
  76. data/test/test_diagnostic_engine.rb +0 -59
  77. data/test/test_encoding.rb +0 -99
  78. data/test/test_lexer.rb +0 -3617
  79. data/test/test_lexer_stack_state.rb +0 -78
  80. data/test/test_meta.rb +0 -12
  81. data/test/test_parse_helper.rb +0 -80
  82. data/test/test_parser.rb +0 -9780
  83. data/test/test_runner_parse.rb +0 -56
  84. data/test/test_runner_rewrite.rb +0 -47
  85. data/test/test_source_buffer.rb +0 -165
  86. data/test/test_source_comment.rb +0 -36
  87. data/test/test_source_comment_associator.rb +0 -399
  88. data/test/test_source_map.rb +0 -14
  89. data/test/test_source_range.rb +0 -192
  90. data/test/test_source_rewriter.rb +0 -541
  91. data/test/test_source_rewriter_action.rb +0 -46
  92. data/test/test_source_tree_rewriter.rb +0 -361
  93. data/test/test_static_environment.rb +0 -45
  94. data/test/using_tree_rewriter/fixtures/input.rb +0 -3
  95. data/test/using_tree_rewriter/fixtures/output.rb +0 -3
  96. data/test/using_tree_rewriter/using_tree_rewriter.rb +0 -9
data/doc/CUSTOMIZATION.md DELETED
@@ -1,37 +0,0 @@
1
- # Customizing Parsers
2
-
3
- While the default setup of the parsers provided by this Gem should be suitable
4
- for most some developers might want to change parts of it. An example would be
5
- the use of a custom class for nodes instead of `Parser::AST::Node`.
6
-
7
- Customizing the AST is done by creating a custom builder class and passing it
8
- to the constructor method of a parser. The default setup comes down to the
9
- following:
10
-
11
- builder = Parser::Builders::Default.new
12
- parser = Parser::Ruby19.new(builder)
13
-
14
- When creating your own builder class it's best to subclass the default one so
15
- that you don't have to redefine every used method again:
16
-
17
- class MyBuilder < Parser::Builders::Default
18
-
19
- end
20
-
21
- builder = MyBuilder.new
22
- parser = Parser::Ruby19.new(builder)
23
-
24
- ## Custom Node Classes
25
-
26
- To use a custom node class you have to override the method
27
- `Parser::Builders::Default#n`:
28
-
29
- class MyBuilder < Parser::Builders::Default
30
- def n(type, children, location)
31
- return MyNodeClass.new(type, children, :location => location)
32
- end
33
- end
34
-
35
- Note that the used class (and corresponding instance) must be compatible with
36
- `Parser::AST::Node` so it's best to subclass it and override/add code where
37
- needed.
data/doc/INTERNALS.md DELETED
@@ -1,21 +0,0 @@
1
- Entry points
2
- ------------
3
-
4
- Parser should be kept as slim as possible. This includes not loading
5
- any potentially large files when they are likely to be unused in practice.
6
-
7
- Parser has five main (classes of) `require` entry points:
8
-
9
- * `require 'parser'`. Main entry point, requires all classes which
10
- are used across the entire library.
11
- * `require 'parser/rubyXX'`. Version-specific entry point. Can raise
12
- a NotImplementedError if current Ruby runtime is unable to parse the
13
- requested Ruby version.
14
- * `require 'parser/all'`. Requires all available parsers for released
15
- versions of Ruby. Can raise NotImplementedError.
16
- * `require 'parser/runner'`. Requires all the stuff which is useful for
17
- command-line tools but not otherwise.
18
- * `require 'parser/runner/X'`. Runner-specific entry point.
19
-
20
- All non-main entry points internally `require 'parser'`. Additionally, all
21
- runner-specific entry points internally `requre 'parser/runner'`.
data/doc/css/.gitkeep DELETED
File without changes
data/doc/css/common.css DELETED
@@ -1,68 +0,0 @@
1
- body
2
- {
3
- font-size: 14px;
4
- line-height: 1.6;
5
- margin: 0 auto;
6
- max-width: 960px;
7
- }
8
-
9
- p code
10
- {
11
- background: #f2f2f2;
12
- padding-left: 3px;
13
- padding-right: 3px;
14
- }
15
-
16
- pre.code
17
- {
18
- font-size: 13px;
19
- line-height: 1.4;
20
- }
21
-
22
- /**
23
- * YARD uses generic table styles, using a special class means those tables
24
- * don't get messed up.
25
- */
26
- .table
27
- {
28
- border: 1px solid #ccc;
29
- border-right: none;
30
- border-collapse: separate;
31
- border-spacing: 0;
32
- text-align: left;
33
- }
34
-
35
- .table.full
36
- {
37
- width: 100%;
38
- }
39
-
40
- .table .field_name
41
- {
42
- min-width: 160px;
43
- }
44
-
45
- .table thead tr th.no_sort:first-child
46
- {
47
- width: 25px;
48
- }
49
-
50
- .table thead tr th, .table tbody tr td
51
- {
52
- border-bottom: 1px solid #ccc;
53
- border-right: 1px solid #ccc;
54
- min-width: 20px;
55
- padding: 8px 5px;
56
- text-align: left;
57
- vertical-align: top;
58
- }
59
-
60
- .table tbody tr:last-child td
61
- {
62
- border-bottom: none;
63
- }
64
-
65
- .table tr:nth-child(odd) td
66
- {
67
- background: #f9f9f9;
68
- }