ruby_parser 3.8.2 → 3.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +1 -2
- data/History.txt +12 -0
- data/lib/ruby18_parser.rb +7 -8
- data/lib/ruby18_parser.y +7 -8
- data/lib/ruby19_parser.rb +8 -9
- data/lib/ruby19_parser.y +10 -11
- data/lib/ruby20_parser.rb +2594 -2632
- data/lib/ruby20_parser.y +14 -50
- data/lib/ruby21_parser.rb +2591 -2619
- data/lib/ruby21_parser.y +14 -48
- data/lib/ruby22_parser.rb +263 -286
- data/lib/ruby22_parser.y +14 -45
- data/lib/ruby23_parser.rb +269 -292
- data/lib/ruby23_parser.y +14 -45
- data/lib/ruby_lexer.rb +41 -8
- data/lib/ruby_lexer.rex +6 -6
- data/lib/ruby_lexer.rex.rb +17 -11
- data/lib/ruby_parser.yy +20 -33
- data/lib/ruby_parser_extras.rb +65 -3
- data/test/test_ruby_lexer.rb +88 -14
- data/test/test_ruby_parser.rb +102 -9
- data/test/test_ruby_parser_extras.rb +1 -1
- metadata +29 -28
- metadata.gz.sig +0 -0
data/lib/ruby_parser_extras.rb
CHANGED
@@ -91,7 +91,7 @@ class RPStringScanner < StringScanner
|
|
91
91
|
end
|
92
92
|
|
93
93
|
module RubyParserStuff
|
94
|
-
VERSION = "3.8.
|
94
|
+
VERSION = "3.8.3" unless constants.include? "VERSION" # SIGH
|
95
95
|
|
96
96
|
attr_accessor :lexer, :in_def, :in_single, :file
|
97
97
|
attr_reader :env, :comments
|
@@ -875,11 +875,73 @@ module RubyParserStuff
|
|
875
875
|
str = val[0]
|
876
876
|
str.force_encoding("ASCII-8BIT") unless str.valid_encoding? unless RUBY_VERSION < "1.9"
|
877
877
|
result = s(:str, str)
|
878
|
-
self.lexer.
|
879
|
-
self.lexer.extra_lineno = 0
|
878
|
+
self.lexer.fixup_lineno str.count("\n")
|
880
879
|
result
|
881
880
|
end
|
882
881
|
|
882
|
+
def new_qword_list_entry val
|
883
|
+
str = val[1]
|
884
|
+
str.force_encoding("ASCII-8BIT") unless str.valid_encoding? unless RUBY_VERSION < "1.9"
|
885
|
+
result = s(:str, str)
|
886
|
+
self.lexer.fixup_lineno
|
887
|
+
result
|
888
|
+
end
|
889
|
+
|
890
|
+
def new_qword_list
|
891
|
+
result = s(:array)
|
892
|
+
self.lexer.fixup_lineno
|
893
|
+
result
|
894
|
+
end
|
895
|
+
|
896
|
+
def new_word_list
|
897
|
+
result = s(:array)
|
898
|
+
self.lexer.fixup_lineno
|
899
|
+
result
|
900
|
+
end
|
901
|
+
|
902
|
+
def new_word_list_entry val
|
903
|
+
result = val[1][0] == :evstr ? s(:dstr, "", val[1]) : val[1]
|
904
|
+
self.lexer.fixup_lineno
|
905
|
+
result
|
906
|
+
end
|
907
|
+
|
908
|
+
def new_qsym_list
|
909
|
+
result = s(:array)
|
910
|
+
self.lexer.fixup_lineno
|
911
|
+
result
|
912
|
+
end
|
913
|
+
|
914
|
+
def new_qsym_list_entry val
|
915
|
+
result = s(:lit, val[1].to_sym)
|
916
|
+
self.lexer.fixup_lineno
|
917
|
+
result
|
918
|
+
end
|
919
|
+
|
920
|
+
def new_symbol_list
|
921
|
+
result = s(:array)
|
922
|
+
self.lexer.fixup_lineno
|
923
|
+
result
|
924
|
+
end
|
925
|
+
|
926
|
+
def new_symbol_list_entry val
|
927
|
+
_list, sym, _nil = val # TODO: use _list
|
928
|
+
result = val[1]
|
929
|
+
|
930
|
+
result ||= s(:str, "")
|
931
|
+
|
932
|
+
case sym[0]
|
933
|
+
when :dstr then
|
934
|
+
sym[0] = :dsym
|
935
|
+
when :str then
|
936
|
+
sym = s(:lit, sym.last.to_sym)
|
937
|
+
else
|
938
|
+
debug20 24
|
939
|
+
sym = s(:dsym, "", sym || s(:str, ""))
|
940
|
+
end
|
941
|
+
self.lexer.fixup_lineno
|
942
|
+
sym
|
943
|
+
end
|
944
|
+
|
883
945
|
def new_super args
|
884
946
|
if args && args.node_type == :block_pass then
|
885
947
|
s(:super, args)
|
data/test/test_ruby_lexer.rb
CHANGED
@@ -89,6 +89,8 @@ class TestRubyLexer < Minitest::Test
|
|
89
89
|
case value
|
90
90
|
when Float then
|
91
91
|
assert_in_epsilon value, act_value, 0.001, msg
|
92
|
+
when NilClass then
|
93
|
+
assert_nil act_value, msg
|
92
94
|
else
|
93
95
|
assert_equal value, act_value, msg
|
94
96
|
end
|
@@ -967,7 +969,17 @@ class TestRubyLexer < Minitest::Test
|
|
967
969
|
end
|
968
970
|
|
969
971
|
def test_yylex_float_e_bad_double_e
|
970
|
-
|
972
|
+
assert_lex3("1e2e3",
|
973
|
+
nil,
|
974
|
+
:tFLOAT, 100, :expr_end,
|
975
|
+
:tIDENTIFIER, "e3", :expr_end)
|
976
|
+
end
|
977
|
+
|
978
|
+
def test_yylex_float_if_modifier
|
979
|
+
assert_lex3("1e2if",
|
980
|
+
nil,
|
981
|
+
:tFLOAT, 100, :expr_end,
|
982
|
+
:kIF_MOD, "if", :expr_beg)
|
971
983
|
end
|
972
984
|
|
973
985
|
def test_yylex_float_e_bad_trailing_underscore
|
@@ -1409,6 +1421,13 @@ class TestRubyLexer < Minitest::Test
|
|
1409
1421
|
refute_lex "0d42__24"
|
1410
1422
|
end
|
1411
1423
|
|
1424
|
+
def test_yylex_integer_if_modifier
|
1425
|
+
assert_lex3("123if",
|
1426
|
+
nil,
|
1427
|
+
:tINTEGER, 123, :expr_end,
|
1428
|
+
:kIF_MOD, "if", :expr_beg)
|
1429
|
+
end
|
1430
|
+
|
1412
1431
|
def test_yylex_question_eh_a__18
|
1413
1432
|
setup_lexer_class Ruby18Parser
|
1414
1433
|
|
@@ -2698,25 +2717,80 @@ class TestRubyLexer < Minitest::Test
|
|
2698
2717
|
:tRCURLY, "}", :expr_endarg, 0, 0)
|
2699
2718
|
end
|
2700
2719
|
|
2701
|
-
def
|
2702
|
-
|
2720
|
+
def test_ruby21_rational_literal
|
2721
|
+
setup_lexer_class Ruby21Parser
|
2703
2722
|
|
2723
|
+
assert_lex3("10r", nil, :tRATIONAL, Rational(10), :expr_end)
|
2724
|
+
assert_lex3("0x10r", nil, :tRATIONAL, Rational(16), :expr_end)
|
2725
|
+
assert_lex3("0o10r", nil, :tRATIONAL, Rational(8), :expr_end)
|
2726
|
+
assert_lex3("0or", nil, :tRATIONAL, Rational(0), :expr_end)
|
2727
|
+
assert_lex3("0b10r", nil, :tRATIONAL, Rational(2), :expr_end)
|
2728
|
+
assert_lex3("1.5r", nil, :tRATIONAL, Rational(15, 10), :expr_end)
|
2729
|
+
assert_lex3("15e3r", nil, :tRATIONAL, Rational(15000), :expr_end)
|
2730
|
+
assert_lex3("15e-3r", nil, :tRATIONAL, Rational(15, 1000), :expr_end)
|
2731
|
+
assert_lex3("1.5e3r", nil, :tRATIONAL, Rational(1500), :expr_end)
|
2732
|
+
assert_lex3("1.5e-3r", nil, :tRATIONAL, Rational(15, 10000), :expr_end)
|
2733
|
+
|
2734
|
+
assert_lex3("-10r", nil,
|
2735
|
+
:tUMINUS_NUM, "-", :expr_beg,
|
2736
|
+
:tRATIONAL, Rational(10), :expr_end)
|
2737
|
+
end
|
2738
|
+
|
2739
|
+
def test_ruby21_imaginary_literal
|
2704
2740
|
setup_lexer_class Ruby21Parser
|
2705
2741
|
|
2706
|
-
assert_lex3("
|
2707
|
-
assert_lex3("
|
2742
|
+
assert_lex3("1i", nil, :tIMAGINARY, Complex(0, 1), :expr_end)
|
2743
|
+
assert_lex3("0x10i", nil, :tIMAGINARY, Complex(0, 16), :expr_end)
|
2744
|
+
assert_lex3("0o10i", nil, :tIMAGINARY, Complex(0, 8), :expr_end)
|
2745
|
+
assert_lex3("0oi", nil, :tIMAGINARY, Complex(0, 0), :expr_end)
|
2746
|
+
assert_lex3("0b10i", nil, :tIMAGINARY, Complex(0, 2), :expr_end)
|
2747
|
+
assert_lex3("1.5i", nil, :tIMAGINARY, Complex(0, 1.5), :expr_end)
|
2748
|
+
assert_lex3("15e3i", nil, :tIMAGINARY, Complex(0, 15000), :expr_end)
|
2749
|
+
assert_lex3("15e-3i", nil, :tIMAGINARY, Complex(0, 0.015), :expr_end)
|
2750
|
+
assert_lex3("1.5e3i", nil, :tIMAGINARY, Complex(0, 1500), :expr_end)
|
2751
|
+
assert_lex3("1.5e-3i", nil, :tIMAGINARY, Complex(0, 0.0015), :expr_end)
|
2752
|
+
|
2753
|
+
assert_lex3("-10i", nil,
|
2754
|
+
:tUMINUS_NUM, "-", :expr_beg,
|
2755
|
+
:tIMAGINARY, Complex(0, 10), :expr_end)
|
2756
|
+
end
|
2708
2757
|
|
2709
|
-
|
2710
|
-
|
2711
|
-
assert_lex3("1.2+3.4i", nil, :tIMAGINARY, "1.2+3.4i", :expr_end)
|
2712
|
-
assert_lex3("4r+3i", nil, :tIMAGINARY, "4r+3i", :expr_end)
|
2713
|
-
assert_lex3("4r+3ri", nil, :tIMAGINARY, "4r+3i", :expr_end)
|
2758
|
+
def test_ruby21_rational_imaginary_literal
|
2759
|
+
setup_lexer_class Ruby21Parser
|
2714
2760
|
|
2715
|
-
assert_lex3("
|
2716
|
-
assert_lex3("
|
2761
|
+
assert_lex3("1ri", nil, :tIMAGINARY, Complex(0, Rational(1)), :expr_end)
|
2762
|
+
assert_lex3("0x10ri", nil, :tIMAGINARY, Complex(0, Rational(16)), :expr_end)
|
2763
|
+
assert_lex3("0o10ri", nil, :tIMAGINARY, Complex(0, Rational(8)), :expr_end)
|
2764
|
+
assert_lex3("0ori", nil, :tIMAGINARY, Complex(0, Rational(0)), :expr_end)
|
2765
|
+
assert_lex3("0b10ri", nil, :tIMAGINARY, Complex(0, Rational(2)), :expr_end)
|
2766
|
+
assert_lex3("1.5ri", nil, :tIMAGINARY, Complex(0, Rational("1.5")), :expr_end)
|
2767
|
+
assert_lex3("15e3ri", nil, :tIMAGINARY, Complex(0, Rational("15e3")), :expr_end)
|
2768
|
+
assert_lex3("15e-3ri", nil, :tIMAGINARY, Complex(0, Rational("15e-3")), :expr_end)
|
2769
|
+
assert_lex3("1.5e3ri", nil, :tIMAGINARY, Complex(0, Rational("1.5e3")), :expr_end)
|
2770
|
+
assert_lex3("1.5e-3ri", nil, :tIMAGINARY, Complex(0, Rational("1.5e-3")), :expr_end)
|
2771
|
+
|
2772
|
+
assert_lex3("-10ri", nil,
|
2773
|
+
:tUMINUS_NUM, "-", :expr_beg,
|
2774
|
+
:tIMAGINARY, Complex(0, Rational(10)), :expr_end)
|
2775
|
+
end
|
2776
|
+
|
2777
|
+
def test_ruby21_imaginary_literal_with_succeeding_keyword
|
2778
|
+
skip "Currently does not tokenize correctly"
|
2779
|
+
|
2780
|
+
setup_lexer_class Ruby21Parser
|
2717
2781
|
|
2718
|
-
assert_lex3("
|
2719
|
-
|
2782
|
+
assert_lex3("1if", nil,
|
2783
|
+
:tINTEGER, 1, :expr_end,
|
2784
|
+
:kIF_MOD, "if", :expr_beg)
|
2785
|
+
assert_lex3("1rif", nil,
|
2786
|
+
:tRATIONAL, Rational(1), :expr_end,
|
2787
|
+
:kIF_MOD, "if", :expr_beg)
|
2788
|
+
assert_lex3("1.0if", nil,
|
2789
|
+
:tFLOAT, 1.0, :expr_end,
|
2790
|
+
:kIF_MOD, "if", :expr_beg)
|
2791
|
+
assert_lex3("1.0rif", nil,
|
2792
|
+
:tRATIONAL, Rational("1.0"), :expr_end,
|
2793
|
+
:kIF_MOD, "if", :expr_beg)
|
2720
2794
|
|
2721
2795
|
flunk
|
2722
2796
|
end
|
data/test/test_ruby_parser.rb
CHANGED
@@ -45,6 +45,11 @@ class RubyParserTestCase < ParseTreeTestCase
|
|
45
45
|
assert_equal pt, result
|
46
46
|
end
|
47
47
|
|
48
|
+
def refute_parse rb
|
49
|
+
self.result = processor.parse rb
|
50
|
+
assert_nil result
|
51
|
+
end
|
52
|
+
|
48
53
|
def assert_syntax_error rb, emsg
|
49
54
|
e = nil
|
50
55
|
assert_silent do
|
@@ -302,10 +307,9 @@ module TestRubyParserShared
|
|
302
307
|
|
303
308
|
def test_bug_comment_eq_begin
|
304
309
|
rb = "\n\n#\n=begin\nblah\n=end\n\n"
|
305
|
-
pt = nil
|
306
310
|
exp = rb.strip + "\n"
|
307
311
|
|
308
|
-
|
312
|
+
refute_parse rb
|
309
313
|
assert_equal exp, processor.lexer.comments
|
310
314
|
end
|
311
315
|
|
@@ -366,10 +370,7 @@ module TestRubyParserShared
|
|
366
370
|
end
|
367
371
|
|
368
372
|
def test_empty
|
369
|
-
|
370
|
-
pt = nil
|
371
|
-
|
372
|
-
assert_parse rb, pt
|
373
|
+
refute_parse ""
|
373
374
|
end
|
374
375
|
|
375
376
|
def test_evstr_evstr
|
@@ -1401,8 +1402,29 @@ module TestRubyParserShared
|
|
1401
1402
|
assert_parse rb, pt
|
1402
1403
|
end
|
1403
1404
|
|
1404
|
-
def
|
1405
|
-
|
1405
|
+
def test_array_line_breaks
|
1406
|
+
# It seems like arrays are roughly created when a certain element is created
|
1407
|
+
# In ruby > 1.9 it seems like that is after the last element, so the array
|
1408
|
+
# itself is assigned line 3 (since the last element is on line 3) and for
|
1409
|
+
# ruby <= 1.9 it seems to get created after the first element, so the array
|
1410
|
+
# itself is assigned line 2 (since the first element is on line 2).
|
1411
|
+
# This seems to happen since arrays like this are created with a line in
|
1412
|
+
# ruby_parser.yy like `result = s(:array, val[0])`. So, the array is not
|
1413
|
+
# created by itself. The creation of the array itself is deferred until there
|
1414
|
+
# is an element to create it with. That seems to mess up line numbers
|
1415
|
+
# for the array. Luckily, the arary elements all seemt to get the correct
|
1416
|
+
# line number.
|
1417
|
+
start_line = self.class.to_s =~ /1[89]/ ? 2 : 3
|
1418
|
+
rb = "[\n'a',\n'b']\n1"
|
1419
|
+
pt = s(:block,
|
1420
|
+
s(:array,
|
1421
|
+
s(:str, "a").line(2),
|
1422
|
+
s(:str, "b").line(3)).line(start_line),
|
1423
|
+
s(:lit, 1).line(4))
|
1424
|
+
assert_parse rb, pt
|
1425
|
+
end
|
1426
|
+
|
1427
|
+
def test_non_interpolated_word_array_line_breaks
|
1406
1428
|
|
1407
1429
|
rb = "%w(\na\nb\n)\n1"
|
1408
1430
|
pt = s(:block,
|
@@ -1410,7 +1432,17 @@ module TestRubyParserShared
|
|
1410
1432
|
s(:str, "a").line(2),
|
1411
1433
|
s(:str, "b").line(3)).line(1),
|
1412
1434
|
s(:lit, 1).line(5))
|
1435
|
+
assert_parse rb, pt
|
1436
|
+
end
|
1437
|
+
|
1438
|
+
def test_interpolated_word_array_line_breaks
|
1413
1439
|
|
1440
|
+
rb = "%W(\na\nb\n)\n1"
|
1441
|
+
pt = s(:block,
|
1442
|
+
s(:array,
|
1443
|
+
s(:str, "a").line(2),
|
1444
|
+
s(:str, "b").line(3)).line(1),
|
1445
|
+
s(:lit, 1).line(5))
|
1414
1446
|
assert_parse rb, pt
|
1415
1447
|
end
|
1416
1448
|
|
@@ -2187,6 +2219,28 @@ module TestRubyParserShared19to22
|
|
2187
2219
|
end
|
2188
2220
|
|
2189
2221
|
module TestRubyParserShared20to22
|
2222
|
+
def test_non_interpolated_symbol_array_line_breaks
|
2223
|
+
|
2224
|
+
rb = "%i(\na\nb\n)\n1"
|
2225
|
+
pt = s(:block,
|
2226
|
+
s(:array,
|
2227
|
+
s(:lit, :a).line(2),
|
2228
|
+
s(:lit, :b).line(3)).line(1),
|
2229
|
+
s(:lit, 1).line(5))
|
2230
|
+
assert_parse rb, pt
|
2231
|
+
end
|
2232
|
+
|
2233
|
+
def test_interpolated_symbol_array_line_breaks
|
2234
|
+
|
2235
|
+
rb = "%I(\na\nb\n)\n1"
|
2236
|
+
pt = s(:block,
|
2237
|
+
s(:array,
|
2238
|
+
s(:lit, :a).line(2),
|
2239
|
+
s(:lit, :b).line(3)).line(1),
|
2240
|
+
s(:lit, 1).line(5))
|
2241
|
+
assert_parse rb, pt
|
2242
|
+
end
|
2243
|
+
|
2190
2244
|
def test_defs_kwarg
|
2191
2245
|
rb = "def self.a b: 1\nend"
|
2192
2246
|
pt = s(:defs, s(:self), :a, s(:args, s(:kwarg, :b, s(:lit, 1))), s(:nil))
|
@@ -3504,8 +3558,47 @@ class TestRuby23Parser < RubyParserTestCase
|
|
3504
3558
|
|
3505
3559
|
assert_parse rb, pt
|
3506
3560
|
end
|
3507
|
-
end
|
3508
3561
|
|
3562
|
+
def test_ruby21_numbers
|
3563
|
+
rb = "[1i, 2r, 3ri]"
|
3564
|
+
pt = s(:array, s(:lit, Complex(0, 1)), s(:lit, Rational(2)), s(:lit, Complex(0, Rational(3))))
|
3565
|
+
|
3566
|
+
assert_parse rb, pt
|
3567
|
+
end
|
3568
|
+
|
3569
|
+
def test_float_with_if_modifier
|
3570
|
+
rb = "1.0if true"
|
3571
|
+
pt = s(:if, s(:true), s(:lit, 1.0), nil)
|
3572
|
+
|
3573
|
+
assert_parse rb, pt
|
3574
|
+
end
|
3575
|
+
|
3576
|
+
def test_integer_with_if_modifier
|
3577
|
+
rb = "1_234if true"
|
3578
|
+
pt = s(:if, s(:true), s(:lit, 1234), nil)
|
3579
|
+
|
3580
|
+
assert_parse rb, pt
|
3581
|
+
end
|
3582
|
+
|
3583
|
+
def test_slashy_newlines_within_string
|
3584
|
+
rb = %(puts "hello\\
|
3585
|
+
my\\
|
3586
|
+
dear\\
|
3587
|
+
friend"
|
3588
|
+
|
3589
|
+
a + b
|
3590
|
+
)
|
3591
|
+
|
3592
|
+
pt = s(:block,
|
3593
|
+
s(:call, nil, :puts, s(:str, "hello my dear friend").line(1)).line(1),
|
3594
|
+
s(:call, s(:call, nil, :a).line(6),
|
3595
|
+
:+,
|
3596
|
+
s(:call, nil, :b).line(6)).line(6)
|
3597
|
+
).line(1)
|
3598
|
+
|
3599
|
+
assert_parse rb, pt
|
3600
|
+
end
|
3601
|
+
end
|
3509
3602
|
|
3510
3603
|
[18, 19, 20, 21, 22, 23].each do |v|
|
3511
3604
|
describe "block args arity #{v}" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.8.
|
4
|
+
version: 3.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -10,9 +10,9 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
13
|
+
MIIDijCCAnKgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
|
14
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
15
|
-
|
15
|
+
GRYDY29tMB4XDTE2MDkyNjAxNTczNVoXDTE3MDkyNjAxNTczNVowRTETMBEGA1UE
|
16
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
17
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
18
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -20,16 +20,17 @@ cert_chain:
|
|
20
20
|
oOvjtt5P8+GSK9zLzxQP0gVLS/D0FmoE44XuDr3iQkVS2ujU5zZL84mMNqNB1znh
|
21
21
|
GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
|
22
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
23
|
-
gBEfoTEGr7Zii72cx+
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
23
|
+
gBEfoTEGr7Zii72cx+sCAwEAAaOBhDCBgTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE
|
24
|
+
sDAdBgNVHQ4EFgQUR8V72Z3+v+2P9abCnL4wjx32T+EwIwYDVR0RBBwwGoEYcnlh
|
25
|
+
bmQtcnVieUB6ZW5zcGlkZXIuY29tMCMGA1UdEgQcMBqBGHJ5YW5kLXJ1YnlAemVu
|
26
|
+
c3BpZGVyLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEAIGzgp0aZ2W9+v96ujmBcQHoC
|
27
|
+
buy0iU68MVj2VlxMyfr1KPZIh1OyhU4UO4zrkREcH8ML70v9cYHNvOd9oynRHnvC
|
28
|
+
l2tj/fD3YJ0AEkJxGrYwRWQmvMfC4bJ02bC1+rVOUIXXKp3+cUmiN4sTniof8VFo
|
29
|
+
bo/YYP4c7erpERa+9hrqygg6WQbJlk2YRlH3JXPFjmu869i2dcbR5ZLOAeEy+axH
|
30
|
+
E4oJcnPkJAr0rw504JGtlZtONZQblwmRJOIdXzolaE3NRGUzGVOUSptZppAKiavY
|
31
|
+
fO6tdKQc/5RfA8oQEkg8hrxA5PQSz4TOFJGLpFvIapEk6tMruQ0bHgkhr9auXg==
|
31
32
|
-----END CERTIFICATE-----
|
32
|
-
date: 2016-
|
33
|
+
date: 2016-10-09 00:00:00.000000000 Z
|
33
34
|
dependencies:
|
34
35
|
- !ruby/object:Gem::Dependency
|
35
36
|
name: sexp_processor
|
@@ -46,61 +47,61 @@ dependencies:
|
|
46
47
|
- !ruby/object:Gem::Version
|
47
48
|
version: '4.1'
|
48
49
|
- !ruby/object:Gem::Dependency
|
49
|
-
name:
|
50
|
+
name: rake
|
50
51
|
requirement: !ruby/object:Gem::Requirement
|
51
52
|
requirements:
|
52
|
-
- -
|
53
|
+
- - <
|
53
54
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
55
|
+
version: '11'
|
55
56
|
type: :development
|
56
57
|
prerelease: false
|
57
58
|
version_requirements: !ruby/object:Gem::Requirement
|
58
59
|
requirements:
|
59
|
-
- -
|
60
|
+
- - <
|
60
61
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
62
|
+
version: '11'
|
62
63
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
64
|
+
name: oedipus_lex
|
64
65
|
requirement: !ruby/object:Gem::Requirement
|
65
66
|
requirements:
|
66
67
|
- - ~>
|
67
68
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1
|
69
|
+
version: '2.1'
|
69
70
|
type: :development
|
70
71
|
prerelease: false
|
71
72
|
version_requirements: !ruby/object:Gem::Requirement
|
72
73
|
requirements:
|
73
74
|
- - ~>
|
74
75
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1
|
76
|
+
version: '2.1'
|
76
77
|
- !ruby/object:Gem::Dependency
|
77
|
-
name:
|
78
|
+
name: rdoc
|
78
79
|
requirement: !ruby/object:Gem::Requirement
|
79
80
|
requirements:
|
80
|
-
- -
|
81
|
+
- - ~>
|
81
82
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
83
|
+
version: '4.0'
|
83
84
|
type: :development
|
84
85
|
prerelease: false
|
85
86
|
version_requirements: !ruby/object:Gem::Requirement
|
86
87
|
requirements:
|
87
|
-
- -
|
88
|
+
- - ~>
|
88
89
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
90
|
+
version: '4.0'
|
90
91
|
- !ruby/object:Gem::Dependency
|
91
|
-
name:
|
92
|
+
name: racc
|
92
93
|
requirement: !ruby/object:Gem::Requirement
|
93
94
|
requirements:
|
94
95
|
- - ~>
|
95
96
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
97
|
+
version: 1.4.6
|
97
98
|
type: :development
|
98
99
|
prerelease: false
|
99
100
|
version_requirements: !ruby/object:Gem::Requirement
|
100
101
|
requirements:
|
101
102
|
- - ~>
|
102
103
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
104
|
+
version: 1.4.6
|
104
105
|
- !ruby/object:Gem::Dependency
|
105
106
|
name: hoe
|
106
107
|
requirement: !ruby/object:Gem::Requirement
|