parser 2.6.0.0 → 3.1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/parser/all.rb +3 -0
- data/lib/parser/ast/processor.rb +48 -1
- data/lib/parser/base.rb +30 -6
- data/lib/parser/builders/default.rb +670 -38
- data/lib/parser/context.rb +24 -26
- data/lib/parser/current.rb +36 -9
- data/lib/parser/current_arg_stack.rb +46 -0
- data/lib/parser/diagnostic/engine.rb +1 -2
- data/lib/parser/diagnostic.rb +1 -1
- data/lib/parser/lexer/dedenter.rb +58 -49
- data/lib/parser/lexer/explanation.rb +1 -1
- data/lib/parser/lexer.rb +13837 -11893
- data/lib/parser/macruby.rb +2544 -2489
- data/lib/parser/max_numparam_stack.rb +56 -0
- data/lib/parser/messages.rb +78 -44
- data/lib/parser/meta.rb +13 -3
- data/lib/parser/ruby18.rb +2313 -2259
- data/lib/parser/ruby19.rb +2537 -2488
- data/lib/parser/ruby20.rb +2724 -2673
- data/lib/parser/ruby21.rb +2766 -2727
- data/lib/parser/ruby22.rb +2683 -2628
- data/lib/parser/ruby23.rb +2796 -2755
- data/lib/parser/ruby24.rb +2812 -2771
- data/lib/parser/ruby25.rb +2703 -2670
- data/lib/parser/ruby26.rb +2794 -2747
- data/lib/parser/ruby27.rb +7914 -0
- data/lib/parser/ruby28.rb +8047 -0
- data/lib/parser/ruby30.rb +8096 -0
- data/lib/parser/ruby31.rb +8354 -0
- data/lib/parser/rubymotion.rb +2527 -2485
- data/lib/parser/runner/ruby_parse.rb +2 -2
- data/lib/parser/runner/ruby_rewrite.rb +2 -2
- data/lib/parser/runner.rb +36 -2
- data/lib/parser/source/buffer.rb +53 -28
- data/lib/parser/source/comment/associator.rb +31 -8
- data/lib/parser/source/comment.rb +14 -1
- data/lib/parser/source/map/method_definition.rb +25 -0
- data/lib/parser/source/range.rb +19 -3
- data/lib/parser/source/tree_rewriter/action.rb +137 -28
- data/lib/parser/source/tree_rewriter.rb +144 -14
- data/lib/parser/static_environment.rb +23 -0
- data/lib/parser/tree_rewriter.rb +3 -3
- data/lib/parser/variables_stack.rb +36 -0
- data/lib/parser/version.rb +1 -1
- data/lib/parser.rb +4 -0
- data/parser.gemspec +12 -19
- metadata +34 -99
- data/.gitignore +0 -32
- data/.travis.yml +0 -45
- data/.yardopts +0 -21
- data/CHANGELOG.md +0 -943
- data/CONTRIBUTING.md +0 -17
- data/Gemfile +0 -10
- data/README.md +0 -301
- data/Rakefile +0 -165
- data/ci/run_rubocop_specs +0 -14
- data/doc/AST_FORMAT.md +0 -1735
- data/doc/CUSTOMIZATION.md +0 -37
- data/doc/INTERNALS.md +0 -21
- data/doc/css/.gitkeep +0 -0
- data/doc/css/common.css +0 -68
- data/lib/parser/lexer.rl +0 -2383
- data/lib/parser/macruby.y +0 -2198
- data/lib/parser/ruby18.y +0 -1934
- data/lib/parser/ruby19.y +0 -2175
- data/lib/parser/ruby20.y +0 -2353
- data/lib/parser/ruby21.y +0 -2357
- data/lib/parser/ruby22.y +0 -2364
- data/lib/parser/ruby23.y +0 -2370
- data/lib/parser/ruby24.y +0 -2408
- data/lib/parser/ruby25.y +0 -2405
- data/lib/parser/ruby26.y +0 -2413
- data/lib/parser/rubymotion.y +0 -2182
- data/test/bug_163/fixtures/input.rb +0 -5
- data/test/bug_163/fixtures/output.rb +0 -5
- data/test/bug_163/rewriter.rb +0 -20
- data/test/helper.rb +0 -52
- data/test/parse_helper.rb +0 -315
- data/test/racc_coverage_helper.rb +0 -133
- data/test/test_base.rb +0 -31
- data/test/test_current.rb +0 -27
- data/test/test_diagnostic.rb +0 -96
- data/test/test_diagnostic_engine.rb +0 -62
- data/test/test_encoding.rb +0 -99
- data/test/test_lexer.rb +0 -3543
- data/test/test_lexer_stack_state.rb +0 -78
- data/test/test_parse_helper.rb +0 -80
- data/test/test_parser.rb +0 -7087
- data/test/test_runner_rewrite.rb +0 -47
- data/test/test_source_buffer.rb +0 -162
- data/test/test_source_comment.rb +0 -36
- data/test/test_source_comment_associator.rb +0 -367
- data/test/test_source_map.rb +0 -15
- data/test/test_source_range.rb +0 -172
- data/test/test_source_rewriter.rb +0 -541
- data/test/test_source_rewriter_action.rb +0 -46
- data/test/test_source_tree_rewriter.rb +0 -173
- data/test/test_static_environment.rb +0 -45
- data/test/using_tree_rewriter/fixtures/input.rb +0 -3
- data/test/using_tree_rewriter/fixtures/output.rb +0 -3
- 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
|
-
}
|