ruby_parser 3.8.2 → 3.8.3
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.
- 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
|