antlr4-runtime 0.2.7 → 0.2.12
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
- data/CHANGELOG.md +21 -0
- data/antlr4-runtime.gemspec +1 -1
- data/lib/antlr4/runtime.rb +0 -3
- data/lib/antlr4/runtime/antlr_file_stream.rb +2 -2
- data/lib/antlr4/runtime/array_2d_hash_set.rb +1 -1
- data/lib/antlr4/runtime/atn_config.rb +4 -2
- data/lib/antlr4/runtime/buffered_token_stream.rb +8 -8
- data/lib/antlr4/runtime/dfa.rb +1 -1
- data/lib/antlr4/runtime/dfa_state.rb +2 -1
- data/lib/antlr4/runtime/flexible_hash_map.rb +1 -1
- data/lib/antlr4/runtime/interval_set.rb +6 -6
- data/lib/antlr4/runtime/lexer_channel_action.rb +3 -3
- data/lib/antlr4/runtime/lexer_custom_action.rb +1 -1
- data/lib/antlr4/runtime/lexer_indexed_custom_action.rb +1 -1
- data/lib/antlr4/runtime/lexer_mode_action.rb +1 -1
- data/lib/antlr4/runtime/lexer_more_action.rb +1 -1
- data/lib/antlr4/runtime/lexer_pop_mode_action.rb +1 -1
- data/lib/antlr4/runtime/lexer_push_mode_action.rb +1 -1
- data/lib/antlr4/runtime/lexer_skip_action.rb +5 -1
- data/lib/antlr4/runtime/lexer_type_action.rb +1 -1
- data/lib/antlr4/runtime/parse_tree.rb +1 -1
- data/lib/antlr4/runtime/parser_atn_simulator.rb +1 -2
- data/lib/antlr4/runtime/prediction_context_utils.rb +4 -2
- data/lib/antlr4/runtime/rule_node.rb +0 -2
- data/lib/antlr4/runtime/semantic_context.rb +6 -5
- data/lib/antlr4/runtime/tag_chunk.rb +1 -1
- data/lib/antlr4/runtime/text_chunk.rb +1 -1
- data/lib/antlr4/runtime/triple.rb +1 -1
- data/lib/antlr4/runtime/version.rb +1 -1
- metadata +10 -13
- data/lib/antlr4/runtime/chunk.rb +0 -4
- data/lib/antlr4/runtime/syntax_tree.rb +0 -4
- data/lib/antlr4/runtime/tree.rb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ed8d46f9fdf43cb18c6ecb986de8be4779ce8637256db4bc10b92a8128b3931
|
4
|
+
data.tar.gz: 37a9c6a363624aa8532f5ab4dbdbd16804add37ec16def23699b10033aff2963
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1363da993fdfc239cbc75c538c0a91dd93b0ef767008be1f3c9cc6577bd192deae023c8af6ccc6467c19ec42e468b3327c10e84de360bd846bea9f993339c00
|
7
|
+
data.tar.gz: dcc0b856e9911e0f52a23a89f63e260e06b9aaa866b8562052299f6d053f676e6c1807f492eb523ad9405bd2df3e619f603d63c5297c1b9c6cf87daad46709af
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
0.2.12
|
2
|
+
===
|
3
|
+
- Another fix for channels, kindly provided by Jan Žák (zakjan).
|
4
|
+
|
5
|
+
0.2.11
|
6
|
+
===
|
7
|
+
- Fix for channels, kindly provided by Jan Žák (zakjan).
|
8
|
+
|
9
|
+
0.2.10
|
10
|
+
===
|
11
|
+
- Update Rake due to security advisory.
|
12
|
+
|
13
|
+
0.2.9
|
14
|
+
===
|
15
|
+
- Minor changes to clear some ruby interpreter and code smell warnings.
|
16
|
+
- RSpecs now run properly in RubyMine
|
17
|
+
|
18
|
+
0.2.8
|
19
|
+
===
|
20
|
+
- Change certain error messages to match the format produced by the Java runtime.
|
21
|
+
|
1
22
|
0.2.7
|
2
23
|
===
|
3
24
|
- In C extension, move `for` loop variable declaration outside the loop - AWS didn't like it.
|
data/antlr4-runtime.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
24
|
spec.require_paths = ["lib", "ext"]
|
25
25
|
|
26
|
-
spec.add_development_dependency "rake", "
|
26
|
+
spec.add_development_dependency "rake", ">= 12.3.3"
|
27
27
|
spec.add_development_dependency "rspec", "~> 3.0"
|
28
28
|
spec.add_development_dependency "simplecov", "~> 0.16.1"
|
29
29
|
spec.extensions = %w[ext/rumourhash/extconf.rb]
|
data/lib/antlr4/runtime.rb
CHANGED
@@ -36,7 +36,6 @@ module Antlr4
|
|
36
36
|
autoload :BufferedTokenStream, 'antlr4/runtime/buffered_token_stream'
|
37
37
|
autoload :CharStream, 'antlr4/runtime/char_stream'
|
38
38
|
autoload :CharStreams, 'antlr4/runtime/char_streams'
|
39
|
-
autoload :Chunk, 'antlr4/runtime/chunk'
|
40
39
|
autoload :CodePointCharStream, 'antlr4/runtime/code_point_char_stream'
|
41
40
|
autoload :CommonToken, 'antlr4/runtime/common_token'
|
42
41
|
autoload :CommonTokenFactory, 'antlr4/runtime/common_token_factory'
|
@@ -124,7 +123,6 @@ module Antlr4
|
|
124
123
|
autoload :StarBlockStartState, 'antlr4/runtime/star_block_start_state'
|
125
124
|
autoload :StarLoopEntryState, 'antlr4/runtime/star_loop_entry_state'
|
126
125
|
autoload :StarLoopbackState, 'antlr4/runtime/star_loopback_state'
|
127
|
-
autoload :SyntaxTree, 'antlr4/runtime/syntax_tree'
|
128
126
|
autoload :TagChunk, 'antlr4/runtime/tag_chunk'
|
129
127
|
autoload :TerminalNode, 'antlr4/runtime/terminal_node'
|
130
128
|
autoload :TerminalNodeImpl, 'antlr4/runtime/terminal_node_impl'
|
@@ -134,7 +132,6 @@ module Antlr4
|
|
134
132
|
autoload :TokenTagToken, 'antlr4/runtime/token_tag_token'
|
135
133
|
autoload :TokensStartState, 'antlr4/runtime/tokens_start_state'
|
136
134
|
autoload :Transition, 'antlr4/runtime/transition'
|
137
|
-
autoload :Tree, 'antlr4/runtime/tree'
|
138
135
|
autoload :Trees, 'antlr4/runtime/trees'
|
139
136
|
autoload :Triple, 'antlr4/runtime/triple'
|
140
137
|
autoload :Utils, 'antlr4/runtime/utils'
|
@@ -2,10 +2,10 @@ module Antlr4::Runtime
|
|
2
2
|
class ANTLRFileStream < ANTLRInputStream
|
3
3
|
def initialize(file_name, encoding)
|
4
4
|
@file_name = file_name
|
5
|
-
|
5
|
+
load_file(file_name, encoding)
|
6
6
|
end
|
7
7
|
|
8
|
-
def
|
8
|
+
def load_file(file_name, encoding)
|
9
9
|
data = Utils.read_file(file_name, encoding)
|
10
10
|
@n_items = data.length
|
11
11
|
end
|
@@ -12,12 +12,14 @@ module Antlr4::Runtime
|
|
12
12
|
def initialize
|
13
13
|
@reaches_into_outer_context = 0
|
14
14
|
@alt = 0
|
15
|
+
@_hash = nil
|
16
|
+
@_bucket_hash = nil
|
15
17
|
end
|
16
18
|
|
17
19
|
def bucket_hash
|
18
20
|
return @_bucket_hash unless @_bucket_hash.nil?
|
19
21
|
|
20
|
-
|
22
|
+
unless @_bucket_hash.nil?
|
21
23
|
if hash_code == @_bucket_hash
|
22
24
|
puts 'Same hash_code for ATNConfig.bucket_hash'
|
23
25
|
else
|
@@ -139,7 +141,7 @@ module Antlr4::Runtime
|
|
139
141
|
|
140
142
|
hash_code = RumourHash.calculate([@state.state_number, @alt, @context, @semantic_context])
|
141
143
|
|
142
|
-
|
144
|
+
unless @_hash.nil?
|
143
145
|
if hash_code == @_hash
|
144
146
|
puts 'Same hash_code for ATNConfig'
|
145
147
|
else
|
@@ -109,7 +109,7 @@ module Antlr4::Runtime
|
|
109
109
|
t = @tokens[i]
|
110
110
|
break if t.type == Token::EOF
|
111
111
|
|
112
|
-
subset
|
112
|
+
subset << t
|
113
113
|
i += 1
|
114
114
|
end
|
115
115
|
subset
|
@@ -155,7 +155,7 @@ module Antlr4::Runtime
|
|
155
155
|
@ptr = adjust_seek_index(0)
|
156
156
|
end
|
157
157
|
|
158
|
-
def
|
158
|
+
def set_token_source(tokenSource)
|
159
159
|
@token_source = tokenSource
|
160
160
|
@tokens.clear
|
161
161
|
@ptr = -1
|
@@ -177,7 +177,7 @@ module Antlr4::Runtime
|
|
177
177
|
i = start
|
178
178
|
while i <= stop
|
179
179
|
t = @tokens[i]
|
180
|
-
filtered_tokens
|
180
|
+
filtered_tokens << t if types.nil? || types.include?(t.type)
|
181
181
|
i += 1
|
182
182
|
end
|
183
183
|
filtered_tokens = nil if filtered_tokens.empty?
|
@@ -186,7 +186,7 @@ module Antlr4::Runtime
|
|
186
186
|
|
187
187
|
def get_tokens2(start, stop, ttype)
|
188
188
|
s = Set.new
|
189
|
-
s
|
189
|
+
s << ttype
|
190
190
|
tokens1(start, stop, s)
|
191
191
|
end
|
192
192
|
|
@@ -229,7 +229,7 @@ module Antlr4::Runtime
|
|
229
229
|
raise IndexOutOfBoundsException, token_index + ' not in 0..' + (@tokens.length - 1)
|
230
230
|
end
|
231
231
|
|
232
|
-
next_on_channel = next_token_on_channel(token_index + 1, Lexer
|
232
|
+
next_on_channel = next_token_on_channel(token_index + 1, Lexer::DEFAULT_TOKEN_CHANNEL)
|
233
233
|
from = token_index + 1
|
234
234
|
# if none onchannel to right, next_on_channel=-1 so set to = last token
|
235
235
|
to = next_on_channel == -1 ? size - 1 : next_on_channel
|
@@ -252,7 +252,7 @@ module Antlr4::Runtime
|
|
252
252
|
return nil
|
253
253
|
end
|
254
254
|
|
255
|
-
prev_on_channel = previous_token_on_channel(token_index - 1, Lexer
|
255
|
+
prev_on_channel = previous_token_on_channel(token_index - 1, Lexer::DEFAULT_TOKEN_CHANNEL)
|
256
256
|
return nil if prev_on_channel == token_index - 1
|
257
257
|
|
258
258
|
# if none onchannel to left, prev_on_channel=-1 then from=0
|
@@ -272,9 +272,9 @@ module Antlr4::Runtime
|
|
272
272
|
while i <= to
|
273
273
|
t = @tokens[i]
|
274
274
|
if channel == -1
|
275
|
-
hidden
|
275
|
+
hidden << t if t.channel != Lexer::DEFAULT_TOKEN_CHANNEL
|
276
276
|
else
|
277
|
-
hidden
|
277
|
+
hidden << t if t.channel == channel
|
278
278
|
end
|
279
279
|
i += 1
|
280
280
|
end
|
data/lib/antlr4/runtime/dfa.rb
CHANGED
@@ -51,7 +51,7 @@ module Antlr4::Runtime
|
|
51
51
|
@s0.edges[precedence] = start_state
|
52
52
|
end
|
53
53
|
|
54
|
-
def
|
54
|
+
def set_precedence_dfa(precedence_dfa)
|
55
55
|
if precedence_dfa != @precedence_dfa
|
56
56
|
raise UnsupportedOperationException, 'The precedence_dfa field cannot change after a DFA is constructed.'
|
57
57
|
end
|
@@ -20,6 +20,7 @@ module Antlr4::Runtime
|
|
20
20
|
@is_accept_state = false
|
21
21
|
@edges = []
|
22
22
|
@state_number = -1
|
23
|
+
@_hash = nil
|
23
24
|
|
24
25
|
if x.nil?
|
25
26
|
@configs = ATNConfigSet.new
|
@@ -72,7 +73,7 @@ module Antlr4::Runtime
|
|
72
73
|
|
73
74
|
hash_code = RumourHash.calculate([configs.hash])
|
74
75
|
|
75
|
-
|
76
|
+
unless @_hash.nil?
|
76
77
|
if hash_code == @_hash
|
77
78
|
puts 'Same hash_code for DFAState'
|
78
79
|
else
|
@@ -124,7 +124,7 @@ module Antlr4::Runtime
|
|
124
124
|
def subtract(a)
|
125
125
|
return IntervalSet.new self if a.nil? || a.is_nil
|
126
126
|
|
127
|
-
|
127
|
+
subtract_interval_sets(self, a)
|
128
128
|
end
|
129
129
|
|
130
130
|
def subtract_interval_sets(left, right)
|
@@ -297,7 +297,7 @@ module Antlr4::Runtime
|
|
297
297
|
|
298
298
|
hash_code = RumourHash.calculate(ints)
|
299
299
|
|
300
|
-
|
300
|
+
unless @_hash.nil?
|
301
301
|
if hash_code == @_hash
|
302
302
|
puts 'Same hash_code for IntervalSet'
|
303
303
|
else
|
@@ -348,8 +348,8 @@ module Antlr4::Runtime
|
|
348
348
|
end
|
349
349
|
|
350
350
|
def to_string_from_vocabulary(vocabulary)
|
351
|
-
buf = ''
|
352
|
-
return 'end' if @intervals.nil? || @intervals.empty?
|
351
|
+
buf = '{'
|
352
|
+
return '{end}' if @intervals.nil? || @intervals.empty?
|
353
353
|
|
354
354
|
buf << '' if size > 1
|
355
355
|
i = 0
|
@@ -367,10 +367,10 @@ module Antlr4::Runtime
|
|
367
367
|
j += 1
|
368
368
|
end
|
369
369
|
end
|
370
|
-
buf << ', ' if i < @intervals.length
|
370
|
+
buf << ', ' if i < (@intervals.length - 1)
|
371
371
|
i += 1
|
372
372
|
end
|
373
|
-
buf << '
|
373
|
+
buf << '}' if size > 1
|
374
374
|
buf
|
375
375
|
end
|
376
376
|
|
@@ -16,15 +16,15 @@ module Antlr4::Runtime
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def execute(lexer)
|
19
|
-
lexer.
|
19
|
+
lexer._channel = @channel
|
20
20
|
end
|
21
21
|
|
22
22
|
def hash
|
23
23
|
return @_hash unless @_hash.nil?
|
24
24
|
|
25
|
-
hash_code = RumourHash.calculate([action_type
|
25
|
+
hash_code = RumourHash.calculate([action_type, @channel])
|
26
26
|
|
27
|
-
|
27
|
+
unless @_hash.nil?
|
28
28
|
if hash_code == @_hash
|
29
29
|
puts 'Same hash_code for LexerChannelAction'
|
30
30
|
else
|
@@ -3,6 +3,10 @@ module Antlr4::Runtime
|
|
3
3
|
class LexerSkipAction < LexerAction
|
4
4
|
include Singleton
|
5
5
|
|
6
|
+
def initialize
|
7
|
+
@_hash = nil
|
8
|
+
end
|
9
|
+
|
6
10
|
def action_type
|
7
11
|
LexerActionType::SKIP
|
8
12
|
end
|
@@ -20,7 +24,7 @@ module Antlr4::Runtime
|
|
20
24
|
|
21
25
|
hash_code = RumourHash.calculate([action_type])
|
22
26
|
|
23
|
-
|
27
|
+
unless @_hash.nil?
|
24
28
|
if hash_code == @_hash
|
25
29
|
puts 'Same hash_code for LexerSkipAction'
|
26
30
|
else
|
@@ -246,8 +246,7 @@ module Antlr4::Runtime
|
|
246
246
|
end
|
247
247
|
|
248
248
|
# all adds to dfa are done after we've created full D state
|
249
|
-
|
250
|
-
d
|
249
|
+
add_dfa_edge(dfa, prev_d, t, d)
|
251
250
|
end
|
252
251
|
|
253
252
|
def predicate_dfa_state(dfa_state, decision_state) # We need to test all predicates, even in DFA states that
|
@@ -4,6 +4,8 @@ module Antlr4::Runtime
|
|
4
4
|
INITIAL_HASH = 1
|
5
5
|
EMPTY_RETURN_STATE = Integer::MAX
|
6
6
|
|
7
|
+
@@_hash = nil
|
8
|
+
|
7
9
|
def self.from_rule_context(atn, outer_ctx)
|
8
10
|
outer_ctx = ParserRuleContext::EMPTY if outer_ctx.nil?
|
9
11
|
|
@@ -388,9 +390,9 @@ module Antlr4::Runtime
|
|
388
390
|
end
|
389
391
|
|
390
392
|
def self.calculate_empty_hash_code
|
391
|
-
return
|
393
|
+
return @@_hash unless @@_hash.nil?
|
392
394
|
|
393
|
-
|
395
|
+
@@_hash = RumourHash.calculate([INITIAL_HASH])
|
394
396
|
end
|
395
397
|
|
396
398
|
def self.calculate_hash_code1(parent, return_state)
|
@@ -16,6 +16,7 @@ module Antlr4::Runtime
|
|
16
16
|
@rule_index = rule_index
|
17
17
|
@pred_index = pred_index
|
18
18
|
@is_ctx_dependent = is_ctx_dependent
|
19
|
+
@_hash = nil
|
19
20
|
end
|
20
21
|
|
21
22
|
def eval(parser, parser_call_stack)
|
@@ -28,7 +29,7 @@ module Antlr4::Runtime
|
|
28
29
|
|
29
30
|
hash_code = RumourHash.calculate([@rule_index, @pred_index, @is_ctx_dependent ? 1 : 0])
|
30
31
|
|
31
|
-
|
32
|
+
unless @_hash.nil?
|
32
33
|
if hash_code == @_hash
|
33
34
|
puts 'Same hash_code for SemanticContext'
|
34
35
|
else
|
@@ -46,7 +47,7 @@ module Antlr4::Runtime
|
|
46
47
|
end
|
47
48
|
|
48
49
|
def to_s
|
49
|
-
'' + @rule_index + ':' + @pred_index + '
|
50
|
+
'{' + @rule_index + ':' + @pred_index + '}?'
|
50
51
|
end
|
51
52
|
end
|
52
53
|
|
@@ -84,7 +85,7 @@ module Antlr4::Runtime
|
|
84
85
|
|
85
86
|
# precedence >= _precedenceStack.peek()
|
86
87
|
def to_s
|
87
|
-
'' + @precedence + '>=
|
88
|
+
'{' + @precedence + '>=prec}?'
|
88
89
|
end
|
89
90
|
end
|
90
91
|
|
@@ -125,7 +126,7 @@ module Antlr4::Runtime
|
|
125
126
|
|
126
127
|
def hash
|
127
128
|
hash_code = RumourHash.calculate(@opnds, AND.hash)
|
128
|
-
|
129
|
+
unless @_hash2.nil?
|
129
130
|
if hash_code == @_hash2
|
130
131
|
puts 'Same hash_code for SemanticContext_2'
|
131
132
|
else
|
@@ -220,7 +221,7 @@ module Antlr4::Runtime
|
|
220
221
|
|
221
222
|
def hash
|
222
223
|
hash_code = MurmurHash.calculate(@opnds, OR.hash)
|
223
|
-
|
224
|
+
unless @_hash3.nil?
|
224
225
|
if hash_code == @_hash3
|
225
226
|
puts 'Same hash_code for SemanticContext_2'
|
226
227
|
else
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: antlr4-runtime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tony Walmsley
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 12.3.3
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 12.3.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,7 +105,6 @@ files:
|
|
105
105
|
- lib/antlr4/runtime/buffered_token_stream.rb
|
106
106
|
- lib/antlr4/runtime/char_stream.rb
|
107
107
|
- lib/antlr4/runtime/char_streams.rb
|
108
|
-
- lib/antlr4/runtime/chunk.rb
|
109
108
|
- lib/antlr4/runtime/code_point_char_stream.rb
|
110
109
|
- lib/antlr4/runtime/common_token.rb
|
111
110
|
- lib/antlr4/runtime/common_token_factory.rb
|
@@ -193,7 +192,6 @@ files:
|
|
193
192
|
- lib/antlr4/runtime/star_block_start_state.rb
|
194
193
|
- lib/antlr4/runtime/star_loop_entry_state.rb
|
195
194
|
- lib/antlr4/runtime/star_loopback_state.rb
|
196
|
-
- lib/antlr4/runtime/syntax_tree.rb
|
197
195
|
- lib/antlr4/runtime/tag_chunk.rb
|
198
196
|
- lib/antlr4/runtime/terminal_node.rb
|
199
197
|
- lib/antlr4/runtime/terminal_node_impl.rb
|
@@ -203,7 +201,6 @@ files:
|
|
203
201
|
- lib/antlr4/runtime/token_tag_token.rb
|
204
202
|
- lib/antlr4/runtime/tokens_start_state.rb
|
205
203
|
- lib/antlr4/runtime/transition.rb
|
206
|
-
- lib/antlr4/runtime/tree.rb
|
207
204
|
- lib/antlr4/runtime/trees.rb
|
208
205
|
- lib/antlr4/runtime/triple.rb
|
209
206
|
- lib/antlr4/runtime/utils.rb
|
@@ -217,7 +214,7 @@ homepage: https://github.com/MODLanguage/antlr4-ruby-runtime
|
|
217
214
|
licenses:
|
218
215
|
- MIT
|
219
216
|
metadata: {}
|
220
|
-
post_install_message:
|
217
|
+
post_install_message:
|
221
218
|
rdoc_options: []
|
222
219
|
require_paths:
|
223
220
|
- lib
|
@@ -233,9 +230,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
233
230
|
- !ruby/object:Gem::Version
|
234
231
|
version: '0'
|
235
232
|
requirements: []
|
236
|
-
rubyforge_project:
|
233
|
+
rubyforge_project:
|
237
234
|
rubygems_version: 2.7.9
|
238
|
-
signing_key:
|
235
|
+
signing_key:
|
239
236
|
specification_version: 4
|
240
237
|
summary: ANTLR4 Runtime for Ruby language target lexers and parsers.
|
241
238
|
test_files: []
|
data/lib/antlr4/runtime/chunk.rb
DELETED
data/lib/antlr4/runtime/tree.rb
DELETED