logstash-core 7.4.2-java → 7.5.0-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 22609c148a0c1923ebfd197b553da10c106ca37a18158aeb9abf0d11421194d6
4
- data.tar.gz: '055698909796c81076553effa63bd168fb5cc0e1365f0085ef069a29dfd29890'
3
+ metadata.gz: cab190a6029673a04072d82712f522313d00bc9a399291cfaa7daff6463e3b93
4
+ data.tar.gz: 960dd2c650d83782c30e0e9ced88940245c0fdc574dd32c5c3f4882d4bd90c86
5
5
  SHA512:
6
- metadata.gz: cd32daf4c1e544dc954bfc1f94a0b7596ba45e5dc07a80115ce159a8536f407e1718a034a1cf96b7b212f6b9aa5d4e155f672841a308d50a21e1c1c32c0cb839
7
- data.tar.gz: ab53ea1800d2390867bdd42dc8a8869c87de53fd0102cd2a08fccdbee997175503bfede3da696bfd95bfdafff47ead0c9c2355009c0b5b7ba2b1a3d895a3a763
6
+ metadata.gz: fc0db329ab6c740bc080c6ee8e7656e053cdd2fc95d633438a3e040fba9405be73c6b62d1753a75341cacaf6e88645f3b7936e098822d74254a84b43733466df
7
+ data.tar.gz: 955e5d764bfc05afbc8e5834f56d9ef1b885278e4983985ec80bd8194ec47ad203d90eaf209e8c7109af34ba496213cb12952e57c396c5bc67e0587c2accf9a0
@@ -44,7 +44,7 @@ module LogStashCompilerLSCLGrammar
44
44
  if node_cache[:config].has_key?(index)
45
45
  cached = node_cache[:config][index]
46
46
  if cached
47
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
47
+ node_cache[:config][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
48
48
  @index = cached.interval.end
49
49
  end
50
50
  return cached
@@ -112,7 +112,7 @@ module LogStashCompilerLSCLGrammar
112
112
  if node_cache[:comment].has_key?(index)
113
113
  cached = node_cache[:comment][index]
114
114
  if cached
115
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
115
+ node_cache[:comment][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
116
116
  @index = cached.interval.end
117
117
  end
118
118
  return cached
@@ -129,21 +129,22 @@ module LogStashCompilerLSCLGrammar
129
129
  end
130
130
  s1 << r2
131
131
  if r2
132
- if has_terminal?("#", false, index)
133
- r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
134
- @index += 1
132
+ if (match_len = has_terminal?("#", false, index))
133
+ r4 = true
134
+ @index += match_len
135
135
  else
136
- terminal_parse_failure("#")
136
+ terminal_parse_failure('"#"')
137
137
  r4 = nil
138
138
  end
139
139
  s1 << r4
140
140
  if r4
141
141
  s5, i5 = [], index
142
142
  loop do
143
- if has_terminal?('\G[^\\r\\n]', true, index)
143
+ if has_terminal?(@regexps[gr = '\A[^\\r\\n]'] ||= Regexp.new(gr), :regexp, index)
144
144
  r6 = true
145
145
  @index += 1
146
146
  else
147
+ terminal_parse_failure('[^\\r\\n]')
147
148
  r6 = nil
148
149
  end
149
150
  if r6
@@ -155,11 +156,11 @@ module LogStashCompilerLSCLGrammar
155
156
  r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
156
157
  s1 << r5
157
158
  if r5
158
- if has_terminal?("\r", false, index)
159
- r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
160
- @index += 1
159
+ if (match_len = has_terminal?("\r", false, index))
160
+ r8 = true
161
+ @index += match_len
161
162
  else
162
- terminal_parse_failure("\r")
163
+ terminal_parse_failure('"\\r"')
163
164
  r8 = nil
164
165
  end
165
166
  if r8
@@ -169,11 +170,11 @@ module LogStashCompilerLSCLGrammar
169
170
  end
170
171
  s1 << r7
171
172
  if r7
172
- if has_terminal?("\n", false, index)
173
- r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
174
- @index += 1
173
+ if (match_len = has_terminal?("\n", false, index))
174
+ r9 = true
175
+ @index += match_len
175
176
  else
176
- terminal_parse_failure("\n")
177
+ terminal_parse_failure('"\\n"')
177
178
  r9 = nil
178
179
  end
179
180
  s1 << r9
@@ -211,7 +212,7 @@ module LogStashCompilerLSCLGrammar
211
212
  if node_cache[:_].has_key?(index)
212
213
  cached = node_cache[:_][index]
213
214
  if cached
214
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
215
+ node_cache[:_][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
215
216
  @index = cached.interval.end
216
217
  end
217
218
  return cached
@@ -222,10 +223,12 @@ module LogStashCompilerLSCLGrammar
222
223
  i1 = index
223
224
  r2 = _nt_comment
224
225
  if r2
226
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
225
227
  r1 = r2
226
228
  else
227
229
  r3 = _nt_whitespace
228
230
  if r3
231
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
229
232
  r1 = r3
230
233
  else
231
234
  @index = i1
@@ -250,7 +253,7 @@ module LogStashCompilerLSCLGrammar
250
253
  if node_cache[:whitespace].has_key?(index)
251
254
  cached = node_cache[:whitespace][index]
252
255
  if cached
253
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
256
+ node_cache[:whitespace][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
254
257
  @index = cached.interval.end
255
258
  end
256
259
  return cached
@@ -258,10 +261,11 @@ module LogStashCompilerLSCLGrammar
258
261
 
259
262
  s0, i0 = [], index
260
263
  loop do
261
- if has_terminal?('\G[ \\t\\r\\n]', true, index)
264
+ if has_terminal?(@regexps[gr = '\A[ \\t\\r\\n]'] ||= Regexp.new(gr), :regexp, index)
262
265
  r1 = true
263
266
  @index += 1
264
267
  else
268
+ terminal_parse_failure('[ \\t\\r\\n]')
265
269
  r1 = nil
266
270
  end
267
271
  if r1
@@ -312,7 +316,7 @@ module LogStashCompilerLSCLGrammar
312
316
  if node_cache[:plugin_section].has_key?(index)
313
317
  cached = node_cache[:plugin_section][index]
314
318
  if cached
315
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
319
+ node_cache[:plugin_section][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
316
320
  @index = cached.interval.end
317
321
  end
318
322
  return cached
@@ -325,11 +329,11 @@ module LogStashCompilerLSCLGrammar
325
329
  r2 = _nt__
326
330
  s0 << r2
327
331
  if r2
328
- if has_terminal?("{", false, index)
329
- r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
330
- @index += 1
332
+ if (match_len = has_terminal?("{", false, index))
333
+ r3 = true
334
+ @index += match_len
331
335
  else
332
- terminal_parse_failure("{")
336
+ terminal_parse_failure('"{"')
333
337
  r3 = nil
334
338
  end
335
339
  s0 << r3
@@ -362,11 +366,11 @@ module LogStashCompilerLSCLGrammar
362
366
  r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
363
367
  s0 << r5
364
368
  if r5
365
- if has_terminal?("}", false, index)
366
- r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
367
- @index += 1
369
+ if (match_len = has_terminal?("}", false, index))
370
+ r9 = true
371
+ @index += match_len
368
372
  else
369
- terminal_parse_failure("}")
373
+ terminal_parse_failure('"}"')
370
374
  r9 = nil
371
375
  end
372
376
  s0 << r9
@@ -393,7 +397,7 @@ module LogStashCompilerLSCLGrammar
393
397
  if node_cache[:branch_or_plugin].has_key?(index)
394
398
  cached = node_cache[:branch_or_plugin][index]
395
399
  if cached
396
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
400
+ node_cache[:branch_or_plugin][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
397
401
  @index = cached.interval.end
398
402
  end
399
403
  return cached
@@ -402,10 +406,12 @@ module LogStashCompilerLSCLGrammar
402
406
  i0 = index
403
407
  r1 = _nt_branch
404
408
  if r1
409
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
405
410
  r0 = r1
406
411
  else
407
412
  r2 = _nt_plugin
408
413
  if r2
414
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
409
415
  r0 = r2
410
416
  else
411
417
  @index = i0
@@ -423,41 +429,44 @@ module LogStashCompilerLSCLGrammar
423
429
  if node_cache[:plugin_type].has_key?(index)
424
430
  cached = node_cache[:plugin_type][index]
425
431
  if cached
426
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
432
+ node_cache[:plugin_type][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
427
433
  @index = cached.interval.end
428
434
  end
429
435
  return cached
430
436
  end
431
437
 
432
438
  i0 = index
433
- if has_terminal?("input", false, index)
434
- r1 = instantiate_node(SyntaxNode,input, index...(index + 5))
435
- @index += 5
439
+ if (match_len = has_terminal?("input", false, index))
440
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
441
+ @index += match_len
436
442
  else
437
- terminal_parse_failure("input")
443
+ terminal_parse_failure('"input"')
438
444
  r1 = nil
439
445
  end
440
446
  if r1
447
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
441
448
  r0 = r1
442
449
  else
443
- if has_terminal?("filter", false, index)
444
- r2 = instantiate_node(SyntaxNode,input, index...(index + 6))
445
- @index += 6
450
+ if (match_len = has_terminal?("filter", false, index))
451
+ r2 = instantiate_node(SyntaxNode,input, index...(index + match_len))
452
+ @index += match_len
446
453
  else
447
- terminal_parse_failure("filter")
454
+ terminal_parse_failure('"filter"')
448
455
  r2 = nil
449
456
  end
450
457
  if r2
458
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
451
459
  r0 = r2
452
460
  else
453
- if has_terminal?("output", false, index)
454
- r3 = instantiate_node(SyntaxNode,input, index...(index + 6))
455
- @index += 6
461
+ if (match_len = has_terminal?("output", false, index))
462
+ r3 = instantiate_node(SyntaxNode,input, index...(index + match_len))
463
+ @index += match_len
456
464
  else
457
- terminal_parse_failure("output")
465
+ terminal_parse_failure('"output"')
458
466
  r3 = nil
459
467
  end
460
468
  if r3
469
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
461
470
  r0 = r3
462
471
  else
463
472
  @index = i0
@@ -493,7 +502,7 @@ module LogStashCompilerLSCLGrammar
493
502
  if node_cache[:plugins].has_key?(index)
494
503
  cached = node_cache[:plugins][index]
495
504
  if cached
496
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
505
+ node_cache[:plugins][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
497
506
  @index = cached.interval.end
498
507
  end
499
508
  return cached
@@ -595,7 +604,7 @@ module LogStashCompilerLSCLGrammar
595
604
  if node_cache[:plugin].has_key?(index)
596
605
  cached = node_cache[:plugin][index]
597
606
  if cached
598
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
607
+ node_cache[:plugin][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
599
608
  @index = cached.interval.end
600
609
  end
601
610
  return cached
@@ -608,11 +617,11 @@ module LogStashCompilerLSCLGrammar
608
617
  r2 = _nt__
609
618
  s0 << r2
610
619
  if r2
611
- if has_terminal?("{", false, index)
612
- r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
613
- @index += 1
620
+ if (match_len = has_terminal?("{", false, index))
621
+ r3 = true
622
+ @index += match_len
614
623
  else
615
- terminal_parse_failure("{")
624
+ terminal_parse_failure('"{"')
616
625
  r3 = nil
617
626
  end
618
627
  s0 << r3
@@ -670,11 +679,11 @@ module LogStashCompilerLSCLGrammar
670
679
  r13 = _nt__
671
680
  s0 << r13
672
681
  if r13
673
- if has_terminal?("}", false, index)
674
- r14 = instantiate_node(SyntaxNode,input, index...(index + 1))
675
- @index += 1
682
+ if (match_len = has_terminal?("}", false, index))
683
+ r14 = true
684
+ @index += match_len
676
685
  else
677
- terminal_parse_failure("}")
686
+ terminal_parse_failure('"}"')
678
687
  r14 = nil
679
688
  end
680
689
  s0 << r14
@@ -702,7 +711,7 @@ module LogStashCompilerLSCLGrammar
702
711
  if node_cache[:name].has_key?(index)
703
712
  cached = node_cache[:name][index]
704
713
  if cached
705
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
714
+ node_cache[:name][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
706
715
  @index = cached.interval.end
707
716
  end
708
717
  return cached
@@ -711,10 +720,11 @@ module LogStashCompilerLSCLGrammar
711
720
  i0 = index
712
721
  s1, i1 = [], index
713
722
  loop do
714
- if has_terminal?('\G[A-Za-z0-9_-]', true, index)
723
+ if has_terminal?(@regexps[gr = '\A[A-Za-z0-9_-]'] ||= Regexp.new(gr), :regexp, index)
715
724
  r2 = true
716
725
  @index += 1
717
726
  else
727
+ terminal_parse_failure('[A-Za-z0-9_-]')
718
728
  r2 = nil
719
729
  end
720
730
  if r2
@@ -730,10 +740,12 @@ module LogStashCompilerLSCLGrammar
730
740
  r1 = instantiate_node(LogStash::Compiler::LSCL::AST::Name,input, i1...index, s1)
731
741
  end
732
742
  if r1
743
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
733
744
  r0 = r1
734
745
  else
735
746
  r3 = _nt_string
736
747
  if r3
748
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
737
749
  r0 = r3
738
750
  else
739
751
  @index = i0
@@ -769,7 +781,7 @@ module LogStashCompilerLSCLGrammar
769
781
  if node_cache[:attribute].has_key?(index)
770
782
  cached = node_cache[:attribute][index]
771
783
  if cached
772
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
784
+ node_cache[:attribute][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
773
785
  @index = cached.interval.end
774
786
  end
775
787
  return cached
@@ -782,11 +794,11 @@ module LogStashCompilerLSCLGrammar
782
794
  r2 = _nt__
783
795
  s0 << r2
784
796
  if r2
785
- if has_terminal?("=>", false, index)
786
- r3 = instantiate_node(SyntaxNode,input, index...(index + 2))
787
- @index += 2
797
+ if (match_len = has_terminal?("=>", false, index))
798
+ r3 = instantiate_node(SyntaxNode,input, index...(index + match_len))
799
+ @index += match_len
788
800
  else
789
- terminal_parse_failure("=>")
801
+ terminal_parse_failure('"=>"')
790
802
  r3 = nil
791
803
  end
792
804
  s0 << r3
@@ -818,7 +830,7 @@ module LogStashCompilerLSCLGrammar
818
830
  if node_cache[:value].has_key?(index)
819
831
  cached = node_cache[:value][index]
820
832
  if cached
821
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
833
+ node_cache[:value][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
822
834
  @index = cached.interval.end
823
835
  end
824
836
  return cached
@@ -827,26 +839,32 @@ module LogStashCompilerLSCLGrammar
827
839
  i0 = index
828
840
  r1 = _nt_plugin
829
841
  if r1
842
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
830
843
  r0 = r1
831
844
  else
832
845
  r2 = _nt_bareword
833
846
  if r2
847
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
834
848
  r0 = r2
835
849
  else
836
850
  r3 = _nt_string
837
851
  if r3
852
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
838
853
  r0 = r3
839
854
  else
840
855
  r4 = _nt_number
841
856
  if r4
857
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
842
858
  r0 = r4
843
859
  else
844
860
  r5 = _nt_array
845
861
  if r5
862
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
846
863
  r0 = r5
847
864
  else
848
865
  r6 = _nt_hash
849
866
  if r6
867
+ r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
850
868
  r0 = r6
851
869
  else
852
870
  @index = i0
@@ -868,7 +886,7 @@ module LogStashCompilerLSCLGrammar
868
886
  if node_cache[:array_value].has_key?(index)
869
887
  cached = node_cache[:array_value][index]
870
888
  if cached
871
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
889
+ node_cache[:array_value][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
872
890
  @index = cached.interval.end
873
891
  end
874
892
  return cached
@@ -877,22 +895,27 @@ module LogStashCompilerLSCLGrammar
877
895
  i0 = index
878
896
  r1 = _nt_bareword
879
897
  if r1
898
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
880
899
  r0 = r1
881
900
  else
882
901
  r2 = _nt_string
883
902
  if r2
903
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
884
904
  r0 = r2
885
905
  else
886
906
  r3 = _nt_number
887
907
  if r3
908
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
888
909
  r0 = r3
889
910
  else
890
911
  r4 = _nt_array
891
912
  if r4
913
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
892
914
  r0 = r4
893
915
  else
894
916
  r5 = _nt_hash
895
917
  if r5
918
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
896
919
  r0 = r5
897
920
  else
898
921
  @index = i0
@@ -916,27 +939,29 @@ module LogStashCompilerLSCLGrammar
916
939
  if node_cache[:bareword].has_key?(index)
917
940
  cached = node_cache[:bareword][index]
918
941
  if cached
919
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
942
+ node_cache[:bareword][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
920
943
  @index = cached.interval.end
921
944
  end
922
945
  return cached
923
946
  end
924
947
 
925
948
  i0, s0 = index, []
926
- if has_terminal?('\G[A-Za-z_]', true, index)
949
+ if has_terminal?(@regexps[gr = '\A[A-Za-z_]'] ||= Regexp.new(gr), :regexp, index)
927
950
  r1 = true
928
951
  @index += 1
929
952
  else
953
+ terminal_parse_failure('[A-Za-z_]')
930
954
  r1 = nil
931
955
  end
932
956
  s0 << r1
933
957
  if r1
934
958
  s2, i2 = [], index
935
959
  loop do
936
- if has_terminal?('\G[A-Za-z0-9_]', true, index)
960
+ if has_terminal?(@regexps[gr = '\A[A-Za-z0-9_]'] ||= Regexp.new(gr), :regexp, index)
937
961
  r3 = true
938
962
  @index += 1
939
963
  else
964
+ terminal_parse_failure('[A-Za-z0-9_]')
940
965
  r3 = nil
941
966
  end
942
967
  if r3
@@ -977,18 +1002,18 @@ module LogStashCompilerLSCLGrammar
977
1002
  if node_cache[:double_quoted_string].has_key?(index)
978
1003
  cached = node_cache[:double_quoted_string][index]
979
1004
  if cached
980
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1005
+ node_cache[:double_quoted_string][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
981
1006
  @index = cached.interval.end
982
1007
  end
983
1008
  return cached
984
1009
  end
985
1010
 
986
1011
  i0, s0 = index, []
987
- if has_terminal?('"', false, index)
988
- r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
989
- @index += 1
1012
+ if (match_len = has_terminal?('"', false, index))
1013
+ r1 = true
1014
+ @index += match_len
990
1015
  else
991
- terminal_parse_failure('"')
1016
+ terminal_parse_failure('\'"\'')
992
1017
  r1 = nil
993
1018
  end
994
1019
  s0 << r1
@@ -996,35 +1021,39 @@ module LogStashCompilerLSCLGrammar
996
1021
  s2, i2 = [], index
997
1022
  loop do
998
1023
  i3 = index
999
- if has_terminal?('\"', false, index)
1000
- r4 = instantiate_node(SyntaxNode,input, index...(index + 2))
1001
- @index += 2
1024
+ if (match_len = has_terminal?('\"', false, index))
1025
+ r4 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1026
+ @index += match_len
1002
1027
  else
1003
- terminal_parse_failure('\"')
1028
+ terminal_parse_failure('\'\\"\'')
1004
1029
  r4 = nil
1005
1030
  end
1006
1031
  if r4
1032
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
1007
1033
  r3 = r4
1008
1034
  else
1009
1035
  i5, s5 = index, []
1010
1036
  i6 = index
1011
- if has_terminal?('"', false, index)
1012
- r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
1013
- @index += 1
1037
+ if (match_len = has_terminal?('"', false, index))
1038
+ r7 = true
1039
+ @index += match_len
1014
1040
  else
1015
- terminal_parse_failure('"')
1041
+ terminal_parse_failure('\'"\'')
1016
1042
  r7 = nil
1017
1043
  end
1018
1044
  if r7
1045
+ @index = i6
1019
1046
  r6 = nil
1047
+ terminal_parse_failure('\'"\'', true)
1020
1048
  else
1049
+ @terminal_failures.pop
1021
1050
  @index = i6
1022
1051
  r6 = instantiate_node(SyntaxNode,input, index...index)
1023
1052
  end
1024
1053
  s5 << r6
1025
1054
  if r6
1026
1055
  if index < input_length
1027
- r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
1056
+ r8 = true
1028
1057
  @index += 1
1029
1058
  else
1030
1059
  terminal_parse_failure("any character")
@@ -1040,6 +1069,7 @@ module LogStashCompilerLSCLGrammar
1040
1069
  r5 = nil
1041
1070
  end
1042
1071
  if r5
1072
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
1043
1073
  r3 = r5
1044
1074
  else
1045
1075
  @index = i3
@@ -1055,11 +1085,11 @@ module LogStashCompilerLSCLGrammar
1055
1085
  r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1056
1086
  s0 << r2
1057
1087
  if r2
1058
- if has_terminal?('"', false, index)
1059
- r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
1060
- @index += 1
1088
+ if (match_len = has_terminal?('"', false, index))
1089
+ r9 = true
1090
+ @index += match_len
1061
1091
  else
1062
- terminal_parse_failure('"')
1092
+ terminal_parse_failure('\'"\'')
1063
1093
  r9 = nil
1064
1094
  end
1065
1095
  s0 << r9
@@ -1089,18 +1119,18 @@ module LogStashCompilerLSCLGrammar
1089
1119
  if node_cache[:single_quoted_string].has_key?(index)
1090
1120
  cached = node_cache[:single_quoted_string][index]
1091
1121
  if cached
1092
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1122
+ node_cache[:single_quoted_string][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1093
1123
  @index = cached.interval.end
1094
1124
  end
1095
1125
  return cached
1096
1126
  end
1097
1127
 
1098
1128
  i0, s0 = index, []
1099
- if has_terminal?("'", false, index)
1100
- r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
1101
- @index += 1
1129
+ if (match_len = has_terminal?("'", false, index))
1130
+ r1 = true
1131
+ @index += match_len
1102
1132
  else
1103
- terminal_parse_failure("'")
1133
+ terminal_parse_failure('"\'"')
1104
1134
  r1 = nil
1105
1135
  end
1106
1136
  s0 << r1
@@ -1108,35 +1138,39 @@ module LogStashCompilerLSCLGrammar
1108
1138
  s2, i2 = [], index
1109
1139
  loop do
1110
1140
  i3 = index
1111
- if has_terminal?("\\'", false, index)
1112
- r4 = instantiate_node(SyntaxNode,input, index...(index + 2))
1113
- @index += 2
1141
+ if (match_len = has_terminal?("\\'", false, index))
1142
+ r4 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1143
+ @index += match_len
1114
1144
  else
1115
- terminal_parse_failure("\\'")
1145
+ terminal_parse_failure('"\\\\\'"')
1116
1146
  r4 = nil
1117
1147
  end
1118
1148
  if r4
1149
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
1119
1150
  r3 = r4
1120
1151
  else
1121
1152
  i5, s5 = index, []
1122
1153
  i6 = index
1123
- if has_terminal?("'", false, index)
1124
- r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
1125
- @index += 1
1154
+ if (match_len = has_terminal?("'", false, index))
1155
+ r7 = true
1156
+ @index += match_len
1126
1157
  else
1127
- terminal_parse_failure("'")
1158
+ terminal_parse_failure('"\'"')
1128
1159
  r7 = nil
1129
1160
  end
1130
1161
  if r7
1162
+ @index = i6
1131
1163
  r6 = nil
1164
+ terminal_parse_failure('"\'"', true)
1132
1165
  else
1166
+ @terminal_failures.pop
1133
1167
  @index = i6
1134
1168
  r6 = instantiate_node(SyntaxNode,input, index...index)
1135
1169
  end
1136
1170
  s5 << r6
1137
1171
  if r6
1138
1172
  if index < input_length
1139
- r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
1173
+ r8 = true
1140
1174
  @index += 1
1141
1175
  else
1142
1176
  terminal_parse_failure("any character")
@@ -1152,6 +1186,7 @@ module LogStashCompilerLSCLGrammar
1152
1186
  r5 = nil
1153
1187
  end
1154
1188
  if r5
1189
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
1155
1190
  r3 = r5
1156
1191
  else
1157
1192
  @index = i3
@@ -1167,11 +1202,11 @@ module LogStashCompilerLSCLGrammar
1167
1202
  r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1168
1203
  s0 << r2
1169
1204
  if r2
1170
- if has_terminal?("'", false, index)
1171
- r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
1172
- @index += 1
1205
+ if (match_len = has_terminal?("'", false, index))
1206
+ r9 = true
1207
+ @index += match_len
1173
1208
  else
1174
- terminal_parse_failure("'")
1209
+ terminal_parse_failure('"\'"')
1175
1210
  r9 = nil
1176
1211
  end
1177
1212
  s0 << r9
@@ -1195,7 +1230,7 @@ module LogStashCompilerLSCLGrammar
1195
1230
  if node_cache[:string].has_key?(index)
1196
1231
  cached = node_cache[:string][index]
1197
1232
  if cached
1198
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1233
+ node_cache[:string][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1199
1234
  @index = cached.interval.end
1200
1235
  end
1201
1236
  return cached
@@ -1204,10 +1239,12 @@ module LogStashCompilerLSCLGrammar
1204
1239
  i0 = index
1205
1240
  r1 = _nt_double_quoted_string
1206
1241
  if r1
1242
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1207
1243
  r0 = r1
1208
1244
  else
1209
1245
  r2 = _nt_single_quoted_string
1210
1246
  if r2
1247
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1211
1248
  r0 = r2
1212
1249
  else
1213
1250
  @index = i0
@@ -1231,18 +1268,18 @@ module LogStashCompilerLSCLGrammar
1231
1268
  if node_cache[:regexp].has_key?(index)
1232
1269
  cached = node_cache[:regexp][index]
1233
1270
  if cached
1234
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1271
+ node_cache[:regexp][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1235
1272
  @index = cached.interval.end
1236
1273
  end
1237
1274
  return cached
1238
1275
  end
1239
1276
 
1240
1277
  i0, s0 = index, []
1241
- if has_terminal?('/', false, index)
1242
- r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
1243
- @index += 1
1278
+ if (match_len = has_terminal?('/', false, index))
1279
+ r1 = true
1280
+ @index += match_len
1244
1281
  else
1245
- terminal_parse_failure('/')
1282
+ terminal_parse_failure('\'/\'')
1246
1283
  r1 = nil
1247
1284
  end
1248
1285
  s0 << r1
@@ -1250,35 +1287,39 @@ module LogStashCompilerLSCLGrammar
1250
1287
  s2, i2 = [], index
1251
1288
  loop do
1252
1289
  i3 = index
1253
- if has_terminal?('\/', false, index)
1254
- r4 = instantiate_node(SyntaxNode,input, index...(index + 2))
1255
- @index += 2
1290
+ if (match_len = has_terminal?('\/', false, index))
1291
+ r4 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1292
+ @index += match_len
1256
1293
  else
1257
- terminal_parse_failure('\/')
1294
+ terminal_parse_failure('\'\\/\'')
1258
1295
  r4 = nil
1259
1296
  end
1260
1297
  if r4
1298
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
1261
1299
  r3 = r4
1262
1300
  else
1263
1301
  i5, s5 = index, []
1264
1302
  i6 = index
1265
- if has_terminal?('/', false, index)
1266
- r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
1267
- @index += 1
1303
+ if (match_len = has_terminal?('/', false, index))
1304
+ r7 = true
1305
+ @index += match_len
1268
1306
  else
1269
- terminal_parse_failure('/')
1307
+ terminal_parse_failure('\'/\'')
1270
1308
  r7 = nil
1271
1309
  end
1272
1310
  if r7
1311
+ @index = i6
1273
1312
  r6 = nil
1313
+ terminal_parse_failure('\'/\'', true)
1274
1314
  else
1315
+ @terminal_failures.pop
1275
1316
  @index = i6
1276
1317
  r6 = instantiate_node(SyntaxNode,input, index...index)
1277
1318
  end
1278
1319
  s5 << r6
1279
1320
  if r6
1280
1321
  if index < input_length
1281
- r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
1322
+ r8 = true
1282
1323
  @index += 1
1283
1324
  else
1284
1325
  terminal_parse_failure("any character")
@@ -1294,6 +1335,7 @@ module LogStashCompilerLSCLGrammar
1294
1335
  r5 = nil
1295
1336
  end
1296
1337
  if r5
1338
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
1297
1339
  r3 = r5
1298
1340
  else
1299
1341
  @index = i3
@@ -1309,11 +1351,11 @@ module LogStashCompilerLSCLGrammar
1309
1351
  r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1310
1352
  s0 << r2
1311
1353
  if r2
1312
- if has_terminal?('/', false, index)
1313
- r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
1314
- @index += 1
1354
+ if (match_len = has_terminal?('/', false, index))
1355
+ r9 = true
1356
+ @index += match_len
1315
1357
  else
1316
- terminal_parse_failure('/')
1358
+ terminal_parse_failure('\'/\'')
1317
1359
  r9 = nil
1318
1360
  end
1319
1361
  s0 << r9
@@ -1343,18 +1385,18 @@ module LogStashCompilerLSCLGrammar
1343
1385
  if node_cache[:number].has_key?(index)
1344
1386
  cached = node_cache[:number][index]
1345
1387
  if cached
1346
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1388
+ node_cache[:number][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1347
1389
  @index = cached.interval.end
1348
1390
  end
1349
1391
  return cached
1350
1392
  end
1351
1393
 
1352
1394
  i0, s0 = index, []
1353
- if has_terminal?("-", false, index)
1354
- r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
1355
- @index += 1
1395
+ if (match_len = has_terminal?("-", false, index))
1396
+ r2 = true
1397
+ @index += match_len
1356
1398
  else
1357
- terminal_parse_failure("-")
1399
+ terminal_parse_failure('"-"')
1358
1400
  r2 = nil
1359
1401
  end
1360
1402
  if r2
@@ -1366,10 +1408,11 @@ module LogStashCompilerLSCLGrammar
1366
1408
  if r1
1367
1409
  s3, i3 = [], index
1368
1410
  loop do
1369
- if has_terminal?('\G[0-9]', true, index)
1411
+ if has_terminal?(@regexps[gr = '\A[0-9]'] ||= Regexp.new(gr), :regexp, index)
1370
1412
  r4 = true
1371
1413
  @index += 1
1372
1414
  else
1415
+ terminal_parse_failure('[0-9]')
1373
1416
  r4 = nil
1374
1417
  end
1375
1418
  if r4
@@ -1387,21 +1430,22 @@ module LogStashCompilerLSCLGrammar
1387
1430
  s0 << r3
1388
1431
  if r3
1389
1432
  i6, s6 = index, []
1390
- if has_terminal?(".", false, index)
1391
- r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
1392
- @index += 1
1433
+ if (match_len = has_terminal?(".", false, index))
1434
+ r7 = true
1435
+ @index += match_len
1393
1436
  else
1394
- terminal_parse_failure(".")
1437
+ terminal_parse_failure('"."')
1395
1438
  r7 = nil
1396
1439
  end
1397
1440
  s6 << r7
1398
1441
  if r7
1399
1442
  s8, i8 = [], index
1400
1443
  loop do
1401
- if has_terminal?('\G[0-9]', true, index)
1444
+ if has_terminal?(@regexps[gr = '\A[0-9]'] ||= Regexp.new(gr), :regexp, index)
1402
1445
  r9 = true
1403
1446
  @index += 1
1404
1447
  else
1448
+ terminal_parse_failure('[0-9]')
1405
1449
  r9 = nil
1406
1450
  end
1407
1451
  if r9
@@ -1478,18 +1522,18 @@ module LogStashCompilerLSCLGrammar
1478
1522
  if node_cache[:array].has_key?(index)
1479
1523
  cached = node_cache[:array][index]
1480
1524
  if cached
1481
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1525
+ node_cache[:array][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1482
1526
  @index = cached.interval.end
1483
1527
  end
1484
1528
  return cached
1485
1529
  end
1486
1530
 
1487
1531
  i0, s0 = index, []
1488
- if has_terminal?("[", false, index)
1489
- r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
1490
- @index += 1
1532
+ if (match_len = has_terminal?("[", false, index))
1533
+ r1 = true
1534
+ @index += match_len
1491
1535
  else
1492
- terminal_parse_failure("[")
1536
+ terminal_parse_failure('"["')
1493
1537
  r1 = nil
1494
1538
  end
1495
1539
  s0 << r1
@@ -1507,11 +1551,11 @@ module LogStashCompilerLSCLGrammar
1507
1551
  r8 = _nt__
1508
1552
  s7 << r8
1509
1553
  if r8
1510
- if has_terminal?(",", false, index)
1511
- r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
1512
- @index += 1
1554
+ if (match_len = has_terminal?(",", false, index))
1555
+ r9 = true
1556
+ @index += match_len
1513
1557
  else
1514
- terminal_parse_failure(",")
1558
+ terminal_parse_failure('","')
1515
1559
  r9 = nil
1516
1560
  end
1517
1561
  s7 << r9
@@ -1557,11 +1601,11 @@ module LogStashCompilerLSCLGrammar
1557
1601
  r12 = _nt__
1558
1602
  s0 << r12
1559
1603
  if r12
1560
- if has_terminal?("]", false, index)
1561
- r13 = instantiate_node(SyntaxNode,input, index...(index + 1))
1562
- @index += 1
1604
+ if (match_len = has_terminal?("]", false, index))
1605
+ r13 = true
1606
+ @index += match_len
1563
1607
  else
1564
- terminal_parse_failure("]")
1608
+ terminal_parse_failure('"]"')
1565
1609
  r13 = nil
1566
1610
  end
1567
1611
  s0 << r13
@@ -1598,18 +1642,18 @@ module LogStashCompilerLSCLGrammar
1598
1642
  if node_cache[:hash].has_key?(index)
1599
1643
  cached = node_cache[:hash][index]
1600
1644
  if cached
1601
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1645
+ node_cache[:hash][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1602
1646
  @index = cached.interval.end
1603
1647
  end
1604
1648
  return cached
1605
1649
  end
1606
1650
 
1607
1651
  i0, s0 = index, []
1608
- if has_terminal?("{", false, index)
1609
- r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
1610
- @index += 1
1652
+ if (match_len = has_terminal?("{", false, index))
1653
+ r1 = true
1654
+ @index += match_len
1611
1655
  else
1612
- terminal_parse_failure("{")
1656
+ terminal_parse_failure('"{"')
1613
1657
  r1 = nil
1614
1658
  end
1615
1659
  s0 << r1
@@ -1628,11 +1672,11 @@ module LogStashCompilerLSCLGrammar
1628
1672
  r5 = _nt__
1629
1673
  s0 << r5
1630
1674
  if r5
1631
- if has_terminal?("}", false, index)
1632
- r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
1633
- @index += 1
1675
+ if (match_len = has_terminal?("}", false, index))
1676
+ r6 = true
1677
+ @index += match_len
1634
1678
  else
1635
- terminal_parse_failure("}")
1679
+ terminal_parse_failure('"}"')
1636
1680
  r6 = nil
1637
1681
  end
1638
1682
  s0 << r6
@@ -1675,7 +1719,7 @@ module LogStashCompilerLSCLGrammar
1675
1719
  if node_cache[:hashentries].has_key?(index)
1676
1720
  cached = node_cache[:hashentries][index]
1677
1721
  if cached
1678
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1722
+ node_cache[:hashentries][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1679
1723
  @index = cached.interval.end
1680
1724
  end
1681
1725
  return cached
@@ -1746,7 +1790,7 @@ module LogStashCompilerLSCLGrammar
1746
1790
  if node_cache[:hashentry].has_key?(index)
1747
1791
  cached = node_cache[:hashentry][index]
1748
1792
  if cached
1749
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1793
+ node_cache[:hashentry][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1750
1794
  @index = cached.interval.end
1751
1795
  end
1752
1796
  return cached
@@ -1756,14 +1800,17 @@ module LogStashCompilerLSCLGrammar
1756
1800
  i1 = index
1757
1801
  r2 = _nt_number
1758
1802
  if r2
1803
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1759
1804
  r1 = r2
1760
1805
  else
1761
1806
  r3 = _nt_bareword
1762
1807
  if r3
1808
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
1763
1809
  r1 = r3
1764
1810
  else
1765
1811
  r4 = _nt_string
1766
1812
  if r4
1813
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
1767
1814
  r1 = r4
1768
1815
  else
1769
1816
  @index = i1
@@ -1776,11 +1823,11 @@ module LogStashCompilerLSCLGrammar
1776
1823
  r5 = _nt__
1777
1824
  s0 << r5
1778
1825
  if r5
1779
- if has_terminal?("=>", false, index)
1780
- r6 = instantiate_node(SyntaxNode,input, index...(index + 2))
1781
- @index += 2
1826
+ if (match_len = has_terminal?("=>", false, index))
1827
+ r6 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1828
+ @index += match_len
1782
1829
  else
1783
- terminal_parse_failure("=>")
1830
+ terminal_parse_failure('"=>"')
1784
1831
  r6 = nil
1785
1832
  end
1786
1833
  s0 << r6
@@ -1839,7 +1886,7 @@ module LogStashCompilerLSCLGrammar
1839
1886
  if node_cache[:branch].has_key?(index)
1840
1887
  cached = node_cache[:branch][index]
1841
1888
  if cached
1842
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1889
+ node_cache[:branch][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1843
1890
  @index = cached.interval.end
1844
1891
  end
1845
1892
  return cached
@@ -1943,18 +1990,18 @@ module LogStashCompilerLSCLGrammar
1943
1990
  if node_cache[:if].has_key?(index)
1944
1991
  cached = node_cache[:if][index]
1945
1992
  if cached
1946
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1993
+ node_cache[:if][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1947
1994
  @index = cached.interval.end
1948
1995
  end
1949
1996
  return cached
1950
1997
  end
1951
1998
 
1952
1999
  i0, s0 = index, []
1953
- if has_terminal?("if", false, index)
1954
- r1 = instantiate_node(SyntaxNode,input, index...(index + 2))
1955
- @index += 2
2000
+ if (match_len = has_terminal?("if", false, index))
2001
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2002
+ @index += match_len
1956
2003
  else
1957
- terminal_parse_failure("if")
2004
+ terminal_parse_failure('"if"')
1958
2005
  r1 = nil
1959
2006
  end
1960
2007
  s0 << r1
@@ -1968,11 +2015,11 @@ module LogStashCompilerLSCLGrammar
1968
2015
  r4 = _nt__
1969
2016
  s0 << r4
1970
2017
  if r4
1971
- if has_terminal?("{", false, index)
1972
- r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
1973
- @index += 1
2018
+ if (match_len = has_terminal?("{", false, index))
2019
+ r5 = true
2020
+ @index += match_len
1974
2021
  else
1975
- terminal_parse_failure("{")
2022
+ terminal_parse_failure('"{"')
1976
2023
  r5 = nil
1977
2024
  end
1978
2025
  s0 << r5
@@ -2005,11 +2052,11 @@ module LogStashCompilerLSCLGrammar
2005
2052
  r7 = instantiate_node(SyntaxNode,input, i7...index, s7)
2006
2053
  s0 << r7
2007
2054
  if r7
2008
- if has_terminal?("}", false, index)
2009
- r11 = instantiate_node(SyntaxNode,input, index...(index + 1))
2010
- @index += 1
2055
+ if (match_len = has_terminal?("}", false, index))
2056
+ r11 = true
2057
+ @index += match_len
2011
2058
  else
2012
- terminal_parse_failure("}")
2059
+ terminal_parse_failure('"}"')
2013
2060
  r11 = nil
2014
2061
  end
2015
2062
  s0 << r11
@@ -2071,18 +2118,18 @@ module LogStashCompilerLSCLGrammar
2071
2118
  if node_cache[:else_if].has_key?(index)
2072
2119
  cached = node_cache[:else_if][index]
2073
2120
  if cached
2074
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2121
+ node_cache[:else_if][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2075
2122
  @index = cached.interval.end
2076
2123
  end
2077
2124
  return cached
2078
2125
  end
2079
2126
 
2080
2127
  i0, s0 = index, []
2081
- if has_terminal?("else", false, index)
2082
- r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
2083
- @index += 4
2128
+ if (match_len = has_terminal?("else", false, index))
2129
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2130
+ @index += match_len
2084
2131
  else
2085
- terminal_parse_failure("else")
2132
+ terminal_parse_failure('"else"')
2086
2133
  r1 = nil
2087
2134
  end
2088
2135
  s0 << r1
@@ -2090,11 +2137,11 @@ module LogStashCompilerLSCLGrammar
2090
2137
  r2 = _nt__
2091
2138
  s0 << r2
2092
2139
  if r2
2093
- if has_terminal?("if", false, index)
2094
- r3 = instantiate_node(SyntaxNode,input, index...(index + 2))
2095
- @index += 2
2140
+ if (match_len = has_terminal?("if", false, index))
2141
+ r3 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2142
+ @index += match_len
2096
2143
  else
2097
- terminal_parse_failure("if")
2144
+ terminal_parse_failure('"if"')
2098
2145
  r3 = nil
2099
2146
  end
2100
2147
  s0 << r3
@@ -2108,11 +2155,11 @@ module LogStashCompilerLSCLGrammar
2108
2155
  r6 = _nt__
2109
2156
  s0 << r6
2110
2157
  if r6
2111
- if has_terminal?("{", false, index)
2112
- r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
2113
- @index += 1
2158
+ if (match_len = has_terminal?("{", false, index))
2159
+ r7 = true
2160
+ @index += match_len
2114
2161
  else
2115
- terminal_parse_failure("{")
2162
+ terminal_parse_failure('"{"')
2116
2163
  r7 = nil
2117
2164
  end
2118
2165
  s0 << r7
@@ -2145,11 +2192,11 @@ module LogStashCompilerLSCLGrammar
2145
2192
  r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
2146
2193
  s0 << r9
2147
2194
  if r9
2148
- if has_terminal?("}", false, index)
2149
- r13 = instantiate_node(SyntaxNode,input, index...(index + 1))
2150
- @index += 1
2195
+ if (match_len = has_terminal?("}", false, index))
2196
+ r13 = true
2197
+ @index += match_len
2151
2198
  else
2152
- terminal_parse_failure("}")
2199
+ terminal_parse_failure('"}"')
2153
2200
  r13 = nil
2154
2201
  end
2155
2202
  s0 << r13
@@ -2201,18 +2248,18 @@ module LogStashCompilerLSCLGrammar
2201
2248
  if node_cache[:else].has_key?(index)
2202
2249
  cached = node_cache[:else][index]
2203
2250
  if cached
2204
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2251
+ node_cache[:else][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2205
2252
  @index = cached.interval.end
2206
2253
  end
2207
2254
  return cached
2208
2255
  end
2209
2256
 
2210
2257
  i0, s0 = index, []
2211
- if has_terminal?("else", false, index)
2212
- r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
2213
- @index += 4
2258
+ if (match_len = has_terminal?("else", false, index))
2259
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2260
+ @index += match_len
2214
2261
  else
2215
- terminal_parse_failure("else")
2262
+ terminal_parse_failure('"else"')
2216
2263
  r1 = nil
2217
2264
  end
2218
2265
  s0 << r1
@@ -2220,11 +2267,11 @@ module LogStashCompilerLSCLGrammar
2220
2267
  r2 = _nt__
2221
2268
  s0 << r2
2222
2269
  if r2
2223
- if has_terminal?("{", false, index)
2224
- r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
2225
- @index += 1
2270
+ if (match_len = has_terminal?("{", false, index))
2271
+ r3 = true
2272
+ @index += match_len
2226
2273
  else
2227
- terminal_parse_failure("{")
2274
+ terminal_parse_failure('"{"')
2228
2275
  r3 = nil
2229
2276
  end
2230
2277
  s0 << r3
@@ -2257,11 +2304,11 @@ module LogStashCompilerLSCLGrammar
2257
2304
  r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
2258
2305
  s0 << r5
2259
2306
  if r5
2260
- if has_terminal?("}", false, index)
2261
- r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
2262
- @index += 1
2307
+ if (match_len = has_terminal?("}", false, index))
2308
+ r9 = true
2309
+ @index += match_len
2263
2310
  else
2264
- terminal_parse_failure("}")
2311
+ terminal_parse_failure('"}"')
2265
2312
  r9 = nil
2266
2313
  end
2267
2314
  s0 << r9
@@ -2313,7 +2360,7 @@ module LogStashCompilerLSCLGrammar
2313
2360
  if node_cache[:condition].has_key?(index)
2314
2361
  cached = node_cache[:condition][index]
2315
2362
  if cached
2316
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2363
+ node_cache[:condition][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2317
2364
  @index = cached.interval.end
2318
2365
  end
2319
2366
  return cached
@@ -2389,7 +2436,7 @@ module LogStashCompilerLSCLGrammar
2389
2436
  if node_cache[:expression].has_key?(index)
2390
2437
  cached = node_cache[:expression][index]
2391
2438
  if cached
2392
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2439
+ node_cache[:expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2393
2440
  @index = cached.interval.end
2394
2441
  end
2395
2442
  return cached
@@ -2397,11 +2444,11 @@ module LogStashCompilerLSCLGrammar
2397
2444
 
2398
2445
  i0 = index
2399
2446
  i1, s1 = index, []
2400
- if has_terminal?("(", false, index)
2401
- r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
2402
- @index += 1
2447
+ if (match_len = has_terminal?("(", false, index))
2448
+ r2 = true
2449
+ @index += match_len
2403
2450
  else
2404
- terminal_parse_failure("(")
2451
+ terminal_parse_failure('"("')
2405
2452
  r2 = nil
2406
2453
  end
2407
2454
  s1 << r2
@@ -2415,11 +2462,11 @@ module LogStashCompilerLSCLGrammar
2415
2462
  r5 = _nt__
2416
2463
  s1 << r5
2417
2464
  if r5
2418
- if has_terminal?(")", false, index)
2419
- r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
2420
- @index += 1
2465
+ if (match_len = has_terminal?(")", false, index))
2466
+ r6 = true
2467
+ @index += match_len
2421
2468
  else
2422
- terminal_parse_failure(")")
2469
+ terminal_parse_failure('")"')
2423
2470
  r6 = nil
2424
2471
  end
2425
2472
  s1 << r6
@@ -2435,36 +2482,43 @@ module LogStashCompilerLSCLGrammar
2435
2482
  r1 = nil
2436
2483
  end
2437
2484
  if r1
2485
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2438
2486
  r0 = r1
2439
2487
  r0.extend(LogStash::Compiler::LSCL::AST::Expression)
2440
2488
  else
2441
2489
  r7 = _nt_negative_expression
2442
2490
  if r7
2491
+ r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
2443
2492
  r0 = r7
2444
2493
  r0.extend(LogStash::Compiler::LSCL::AST::Expression)
2445
2494
  else
2446
2495
  r8 = _nt_in_expression
2447
2496
  if r8
2497
+ r8 = SyntaxNode.new(input, (index-1)...index) if r8 == true
2448
2498
  r0 = r8
2449
2499
  r0.extend(LogStash::Compiler::LSCL::AST::Expression)
2450
2500
  else
2451
2501
  r9 = _nt_not_in_expression
2452
2502
  if r9
2503
+ r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true
2453
2504
  r0 = r9
2454
2505
  r0.extend(LogStash::Compiler::LSCL::AST::Expression)
2455
2506
  else
2456
2507
  r10 = _nt_compare_expression
2457
2508
  if r10
2509
+ r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true
2458
2510
  r0 = r10
2459
2511
  r0.extend(LogStash::Compiler::LSCL::AST::Expression)
2460
2512
  else
2461
2513
  r11 = _nt_regexp_expression
2462
2514
  if r11
2515
+ r11 = SyntaxNode.new(input, (index-1)...index) if r11 == true
2463
2516
  r0 = r11
2464
2517
  r0.extend(LogStash::Compiler::LSCL::AST::Expression)
2465
2518
  else
2466
2519
  r12 = _nt_rvalue
2467
2520
  if r12
2521
+ r12 = SyntaxNode.new(input, (index-1)...index) if r12 == true
2468
2522
  r0 = r12
2469
2523
  r0.extend(LogStash::Compiler::LSCL::AST::Expression)
2470
2524
  else
@@ -2517,7 +2571,7 @@ module LogStashCompilerLSCLGrammar
2517
2571
  if node_cache[:negative_expression].has_key?(index)
2518
2572
  cached = node_cache[:negative_expression][index]
2519
2573
  if cached
2520
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2574
+ node_cache[:negative_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2521
2575
  @index = cached.interval.end
2522
2576
  end
2523
2577
  return cached
@@ -2525,11 +2579,11 @@ module LogStashCompilerLSCLGrammar
2525
2579
 
2526
2580
  i0 = index
2527
2581
  i1, s1 = index, []
2528
- if has_terminal?("!", false, index)
2529
- r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
2530
- @index += 1
2582
+ if (match_len = has_terminal?("!", false, index))
2583
+ r2 = true
2584
+ @index += match_len
2531
2585
  else
2532
- terminal_parse_failure("!")
2586
+ terminal_parse_failure('"!"')
2533
2587
  r2 = nil
2534
2588
  end
2535
2589
  s1 << r2
@@ -2537,11 +2591,11 @@ module LogStashCompilerLSCLGrammar
2537
2591
  r3 = _nt__
2538
2592
  s1 << r3
2539
2593
  if r3
2540
- if has_terminal?("(", false, index)
2541
- r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2542
- @index += 1
2594
+ if (match_len = has_terminal?("(", false, index))
2595
+ r4 = true
2596
+ @index += match_len
2543
2597
  else
2544
- terminal_parse_failure("(")
2598
+ terminal_parse_failure('"("')
2545
2599
  r4 = nil
2546
2600
  end
2547
2601
  s1 << r4
@@ -2555,11 +2609,11 @@ module LogStashCompilerLSCLGrammar
2555
2609
  r7 = _nt__
2556
2610
  s1 << r7
2557
2611
  if r7
2558
- if has_terminal?(")", false, index)
2559
- r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
2560
- @index += 1
2612
+ if (match_len = has_terminal?(")", false, index))
2613
+ r8 = true
2614
+ @index += match_len
2561
2615
  else
2562
- terminal_parse_failure(")")
2616
+ terminal_parse_failure('")"')
2563
2617
  r8 = nil
2564
2618
  end
2565
2619
  s1 << r8
@@ -2577,15 +2631,16 @@ module LogStashCompilerLSCLGrammar
2577
2631
  r1 = nil
2578
2632
  end
2579
2633
  if r1
2634
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2580
2635
  r0 = r1
2581
2636
  r0.extend(LogStash::Compiler::LSCL::AST::NegativeExpression)
2582
2637
  else
2583
2638
  i9, s9 = index, []
2584
- if has_terminal?("!", false, index)
2585
- r10 = instantiate_node(SyntaxNode,input, index...(index + 1))
2586
- @index += 1
2639
+ if (match_len = has_terminal?("!", false, index))
2640
+ r10 = true
2641
+ @index += match_len
2587
2642
  else
2588
- terminal_parse_failure("!")
2643
+ terminal_parse_failure('"!"')
2589
2644
  r10 = nil
2590
2645
  end
2591
2646
  s9 << r10
@@ -2605,6 +2660,7 @@ module LogStashCompilerLSCLGrammar
2605
2660
  r9 = nil
2606
2661
  end
2607
2662
  if r9
2663
+ r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true
2608
2664
  r0 = r9
2609
2665
  r0.extend(LogStash::Compiler::LSCL::AST::NegativeExpression)
2610
2666
  else
@@ -2645,7 +2701,7 @@ module LogStashCompilerLSCLGrammar
2645
2701
  if node_cache[:in_expression].has_key?(index)
2646
2702
  cached = node_cache[:in_expression][index]
2647
2703
  if cached
2648
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2704
+ node_cache[:in_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2649
2705
  @index = cached.interval.end
2650
2706
  end
2651
2707
  return cached
@@ -2710,7 +2766,7 @@ module LogStashCompilerLSCLGrammar
2710
2766
  if node_cache[:not_in_expression].has_key?(index)
2711
2767
  cached = node_cache[:not_in_expression][index]
2712
2768
  if cached
2713
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2769
+ node_cache[:not_in_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2714
2770
  @index = cached.interval.end
2715
2771
  end
2716
2772
  return cached
@@ -2753,17 +2809,17 @@ module LogStashCompilerLSCLGrammar
2753
2809
  if node_cache[:in_operator].has_key?(index)
2754
2810
  cached = node_cache[:in_operator][index]
2755
2811
  if cached
2756
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2812
+ node_cache[:in_operator][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2757
2813
  @index = cached.interval.end
2758
2814
  end
2759
2815
  return cached
2760
2816
  end
2761
2817
 
2762
- if has_terminal?("in", false, index)
2763
- r0 = instantiate_node(SyntaxNode,input, index...(index + 2))
2764
- @index += 2
2818
+ if (match_len = has_terminal?("in", false, index))
2819
+ r0 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2820
+ @index += match_len
2765
2821
  else
2766
- terminal_parse_failure("in")
2822
+ terminal_parse_failure('"in"')
2767
2823
  r0 = nil
2768
2824
  end
2769
2825
 
@@ -2784,18 +2840,18 @@ module LogStashCompilerLSCLGrammar
2784
2840
  if node_cache[:not_in_operator].has_key?(index)
2785
2841
  cached = node_cache[:not_in_operator][index]
2786
2842
  if cached
2787
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2843
+ node_cache[:not_in_operator][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2788
2844
  @index = cached.interval.end
2789
2845
  end
2790
2846
  return cached
2791
2847
  end
2792
2848
 
2793
2849
  i0, s0 = index, []
2794
- if has_terminal?("not ", false, index)
2795
- r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
2796
- @index += 4
2850
+ if (match_len = has_terminal?("not ", false, index))
2851
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2852
+ @index += match_len
2797
2853
  else
2798
- terminal_parse_failure("not ")
2854
+ terminal_parse_failure('"not "')
2799
2855
  r1 = nil
2800
2856
  end
2801
2857
  s0 << r1
@@ -2803,11 +2859,11 @@ module LogStashCompilerLSCLGrammar
2803
2859
  r2 = _nt__
2804
2860
  s0 << r2
2805
2861
  if r2
2806
- if has_terminal?("in", false, index)
2807
- r3 = instantiate_node(SyntaxNode,input, index...(index + 2))
2808
- @index += 2
2862
+ if (match_len = has_terminal?("in", false, index))
2863
+ r3 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2864
+ @index += match_len
2809
2865
  else
2810
- terminal_parse_failure("in")
2866
+ terminal_parse_failure('"in"')
2811
2867
  r3 = nil
2812
2868
  end
2813
2869
  s0 << r3
@@ -2831,7 +2887,7 @@ module LogStashCompilerLSCLGrammar
2831
2887
  if node_cache[:rvalue].has_key?(index)
2832
2888
  cached = node_cache[:rvalue][index]
2833
2889
  if cached
2834
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2890
+ node_cache[:rvalue][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2835
2891
  @index = cached.interval.end
2836
2892
  end
2837
2893
  return cached
@@ -2840,26 +2896,32 @@ module LogStashCompilerLSCLGrammar
2840
2896
  i0 = index
2841
2897
  r1 = _nt_string
2842
2898
  if r1
2899
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2843
2900
  r0 = r1
2844
2901
  else
2845
2902
  r2 = _nt_number
2846
2903
  if r2
2904
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
2847
2905
  r0 = r2
2848
2906
  else
2849
2907
  r3 = _nt_selector
2850
2908
  if r3
2909
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
2851
2910
  r0 = r3
2852
2911
  else
2853
2912
  r4 = _nt_array
2854
2913
  if r4
2914
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
2855
2915
  r0 = r4
2856
2916
  else
2857
2917
  r5 = _nt_method_call
2858
2918
  if r5
2919
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
2859
2920
  r0 = r5
2860
2921
  else
2861
2922
  r6 = _nt_regexp
2862
2923
  if r6
2924
+ r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
2863
2925
  r0 = r6
2864
2926
  else
2865
2927
  @index = i0
@@ -2921,7 +2983,7 @@ module LogStashCompilerLSCLGrammar
2921
2983
  if node_cache[:method_call].has_key?(index)
2922
2984
  cached = node_cache[:method_call][index]
2923
2985
  if cached
2924
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2986
+ node_cache[:method_call][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2925
2987
  @index = cached.interval.end
2926
2988
  end
2927
2989
  return cached
@@ -2934,11 +2996,11 @@ module LogStashCompilerLSCLGrammar
2934
2996
  r2 = _nt__
2935
2997
  s0 << r2
2936
2998
  if r2
2937
- if has_terminal?("(", false, index)
2938
- r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
2939
- @index += 1
2999
+ if (match_len = has_terminal?("(", false, index))
3000
+ r3 = true
3001
+ @index += match_len
2940
3002
  else
2941
- terminal_parse_failure("(")
3003
+ terminal_parse_failure('"("')
2942
3004
  r3 = nil
2943
3005
  end
2944
3006
  s0 << r3
@@ -2956,11 +3018,11 @@ module LogStashCompilerLSCLGrammar
2956
3018
  r10 = _nt__
2957
3019
  s9 << r10
2958
3020
  if r10
2959
- if has_terminal?(",", false, index)
2960
- r11 = instantiate_node(SyntaxNode,input, index...(index + 1))
2961
- @index += 1
3021
+ if (match_len = has_terminal?(",", false, index))
3022
+ r11 = true
3023
+ @index += match_len
2962
3024
  else
2963
- terminal_parse_failure(",")
3025
+ terminal_parse_failure('","')
2964
3026
  r11 = nil
2965
3027
  end
2966
3028
  s9 << r11
@@ -3006,11 +3068,11 @@ module LogStashCompilerLSCLGrammar
3006
3068
  r14 = _nt__
3007
3069
  s0 << r14
3008
3070
  if r14
3009
- if has_terminal?(")", false, index)
3010
- r15 = instantiate_node(SyntaxNode,input, index...(index + 1))
3011
- @index += 1
3071
+ if (match_len = has_terminal?(")", false, index))
3072
+ r15 = true
3073
+ @index += match_len
3012
3074
  else
3013
- terminal_parse_failure(")")
3075
+ terminal_parse_failure('")"')
3014
3076
  r15 = nil
3015
3077
  end
3016
3078
  s0 << r15
@@ -3038,7 +3100,7 @@ module LogStashCompilerLSCLGrammar
3038
3100
  if node_cache[:method].has_key?(index)
3039
3101
  cached = node_cache[:method][index]
3040
3102
  if cached
3041
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3103
+ node_cache[:method][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3042
3104
  @index = cached.interval.end
3043
3105
  end
3044
3106
  return cached
@@ -3078,7 +3140,7 @@ module LogStashCompilerLSCLGrammar
3078
3140
  if node_cache[:compare_expression].has_key?(index)
3079
3141
  cached = node_cache[:compare_expression][index]
3080
3142
  if cached
3081
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3143
+ node_cache[:compare_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3082
3144
  @index = cached.interval.end
3083
3145
  end
3084
3146
  return cached
@@ -3121,76 +3183,82 @@ module LogStashCompilerLSCLGrammar
3121
3183
  if node_cache[:compare_operator].has_key?(index)
3122
3184
  cached = node_cache[:compare_operator][index]
3123
3185
  if cached
3124
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3186
+ node_cache[:compare_operator][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3125
3187
  @index = cached.interval.end
3126
3188
  end
3127
3189
  return cached
3128
3190
  end
3129
3191
 
3130
3192
  i0 = index
3131
- if has_terminal?("==", false, index)
3132
- r1 = instantiate_node(SyntaxNode,input, index...(index + 2))
3133
- @index += 2
3193
+ if (match_len = has_terminal?("==", false, index))
3194
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3195
+ @index += match_len
3134
3196
  else
3135
- terminal_parse_failure("==")
3197
+ terminal_parse_failure('"=="')
3136
3198
  r1 = nil
3137
3199
  end
3138
3200
  if r1
3201
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
3139
3202
  r0 = r1
3140
3203
  r0.extend(LogStash::Compiler::LSCL::AST::ComparisonOperator)
3141
3204
  else
3142
- if has_terminal?("!=", false, index)
3143
- r2 = instantiate_node(SyntaxNode,input, index...(index + 2))
3144
- @index += 2
3205
+ if (match_len = has_terminal?("!=", false, index))
3206
+ r2 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3207
+ @index += match_len
3145
3208
  else
3146
- terminal_parse_failure("!=")
3209
+ terminal_parse_failure('"!="')
3147
3210
  r2 = nil
3148
3211
  end
3149
3212
  if r2
3213
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
3150
3214
  r0 = r2
3151
3215
  r0.extend(LogStash::Compiler::LSCL::AST::ComparisonOperator)
3152
3216
  else
3153
- if has_terminal?("<=", false, index)
3154
- r3 = instantiate_node(SyntaxNode,input, index...(index + 2))
3155
- @index += 2
3217
+ if (match_len = has_terminal?("<=", false, index))
3218
+ r3 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3219
+ @index += match_len
3156
3220
  else
3157
- terminal_parse_failure("<=")
3221
+ terminal_parse_failure('"<="')
3158
3222
  r3 = nil
3159
3223
  end
3160
3224
  if r3
3225
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
3161
3226
  r0 = r3
3162
3227
  r0.extend(LogStash::Compiler::LSCL::AST::ComparisonOperator)
3163
3228
  else
3164
- if has_terminal?(">=", false, index)
3165
- r4 = instantiate_node(SyntaxNode,input, index...(index + 2))
3166
- @index += 2
3229
+ if (match_len = has_terminal?(">=", false, index))
3230
+ r4 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3231
+ @index += match_len
3167
3232
  else
3168
- terminal_parse_failure(">=")
3233
+ terminal_parse_failure('">="')
3169
3234
  r4 = nil
3170
3235
  end
3171
3236
  if r4
3237
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
3172
3238
  r0 = r4
3173
3239
  r0.extend(LogStash::Compiler::LSCL::AST::ComparisonOperator)
3174
3240
  else
3175
- if has_terminal?("<", false, index)
3176
- r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
3177
- @index += 1
3241
+ if (match_len = has_terminal?("<", false, index))
3242
+ r5 = true
3243
+ @index += match_len
3178
3244
  else
3179
- terminal_parse_failure("<")
3245
+ terminal_parse_failure('"<"')
3180
3246
  r5 = nil
3181
3247
  end
3182
3248
  if r5
3249
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
3183
3250
  r0 = r5
3184
3251
  r0.extend(LogStash::Compiler::LSCL::AST::ComparisonOperator)
3185
3252
  else
3186
- if has_terminal?(">", false, index)
3187
- r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
3188
- @index += 1
3253
+ if (match_len = has_terminal?(">", false, index))
3254
+ r6 = true
3255
+ @index += match_len
3189
3256
  else
3190
- terminal_parse_failure(">")
3257
+ terminal_parse_failure('">"')
3191
3258
  r6 = nil
3192
3259
  end
3193
3260
  if r6
3261
+ r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
3194
3262
  r0 = r6
3195
3263
  r0.extend(LogStash::Compiler::LSCL::AST::ComparisonOperator)
3196
3264
  else
@@ -3232,7 +3300,7 @@ module LogStashCompilerLSCLGrammar
3232
3300
  if node_cache[:regexp_expression].has_key?(index)
3233
3301
  cached = node_cache[:regexp_expression][index]
3234
3302
  if cached
3235
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3303
+ node_cache[:regexp_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3236
3304
  @index = cached.interval.end
3237
3305
  end
3238
3306
  return cached
@@ -3254,10 +3322,12 @@ module LogStashCompilerLSCLGrammar
3254
3322
  i5 = index
3255
3323
  r6 = _nt_string
3256
3324
  if r6
3325
+ r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
3257
3326
  r5 = r6
3258
3327
  else
3259
3328
  r7 = _nt_regexp
3260
3329
  if r7
3330
+ r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
3261
3331
  r5 = r7
3262
3332
  else
3263
3333
  @index = i5
@@ -3287,32 +3357,34 @@ module LogStashCompilerLSCLGrammar
3287
3357
  if node_cache[:regexp_operator].has_key?(index)
3288
3358
  cached = node_cache[:regexp_operator][index]
3289
3359
  if cached
3290
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3360
+ node_cache[:regexp_operator][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3291
3361
  @index = cached.interval.end
3292
3362
  end
3293
3363
  return cached
3294
3364
  end
3295
3365
 
3296
3366
  i0 = index
3297
- if has_terminal?("=~", false, index)
3298
- r1 = instantiate_node(SyntaxNode,input, index...(index + 2))
3299
- @index += 2
3367
+ if (match_len = has_terminal?("=~", false, index))
3368
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3369
+ @index += match_len
3300
3370
  else
3301
- terminal_parse_failure("=~")
3371
+ terminal_parse_failure('"=~"')
3302
3372
  r1 = nil
3303
3373
  end
3304
3374
  if r1
3375
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
3305
3376
  r0 = r1
3306
3377
  r0.extend(LogStash::Compiler::LSCL::AST::RegExpOperator)
3307
3378
  else
3308
- if has_terminal?("!~", false, index)
3309
- r2 = instantiate_node(SyntaxNode,input, index...(index + 2))
3310
- @index += 2
3379
+ if (match_len = has_terminal?("!~", false, index))
3380
+ r2 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3381
+ @index += match_len
3311
3382
  else
3312
- terminal_parse_failure("!~")
3383
+ terminal_parse_failure('"!~"')
3313
3384
  r2 = nil
3314
3385
  end
3315
3386
  if r2
3387
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
3316
3388
  r0 = r2
3317
3389
  r0.extend(LogStash::Compiler::LSCL::AST::RegExpOperator)
3318
3390
  else
@@ -3331,54 +3403,58 @@ module LogStashCompilerLSCLGrammar
3331
3403
  if node_cache[:boolean_operator].has_key?(index)
3332
3404
  cached = node_cache[:boolean_operator][index]
3333
3405
  if cached
3334
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3406
+ node_cache[:boolean_operator][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3335
3407
  @index = cached.interval.end
3336
3408
  end
3337
3409
  return cached
3338
3410
  end
3339
3411
 
3340
3412
  i0 = index
3341
- if has_terminal?("and", false, index)
3342
- r1 = instantiate_node(SyntaxNode,input, index...(index + 3))
3343
- @index += 3
3413
+ if (match_len = has_terminal?("and", false, index))
3414
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3415
+ @index += match_len
3344
3416
  else
3345
- terminal_parse_failure("and")
3417
+ terminal_parse_failure('"and"')
3346
3418
  r1 = nil
3347
3419
  end
3348
3420
  if r1
3421
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
3349
3422
  r0 = r1
3350
3423
  r0.extend(LogStash::Compiler::LSCL::AST::BooleanOperator)
3351
3424
  else
3352
- if has_terminal?("or", false, index)
3353
- r2 = instantiate_node(SyntaxNode,input, index...(index + 2))
3354
- @index += 2
3425
+ if (match_len = has_terminal?("or", false, index))
3426
+ r2 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3427
+ @index += match_len
3355
3428
  else
3356
- terminal_parse_failure("or")
3429
+ terminal_parse_failure('"or"')
3357
3430
  r2 = nil
3358
3431
  end
3359
3432
  if r2
3433
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
3360
3434
  r0 = r2
3361
3435
  r0.extend(LogStash::Compiler::LSCL::AST::BooleanOperator)
3362
3436
  else
3363
- if has_terminal?("xor", false, index)
3364
- r3 = instantiate_node(SyntaxNode,input, index...(index + 3))
3365
- @index += 3
3437
+ if (match_len = has_terminal?("xor", false, index))
3438
+ r3 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3439
+ @index += match_len
3366
3440
  else
3367
- terminal_parse_failure("xor")
3441
+ terminal_parse_failure('"xor"')
3368
3442
  r3 = nil
3369
3443
  end
3370
3444
  if r3
3445
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
3371
3446
  r0 = r3
3372
3447
  r0.extend(LogStash::Compiler::LSCL::AST::BooleanOperator)
3373
3448
  else
3374
- if has_terminal?("nand", false, index)
3375
- r4 = instantiate_node(SyntaxNode,input, index...(index + 4))
3376
- @index += 4
3449
+ if (match_len = has_terminal?("nand", false, index))
3450
+ r4 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3451
+ @index += match_len
3377
3452
  else
3378
- terminal_parse_failure("nand")
3453
+ terminal_parse_failure('"nand"')
3379
3454
  r4 = nil
3380
3455
  end
3381
3456
  if r4
3457
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
3382
3458
  r0 = r4
3383
3459
  r0.extend(LogStash::Compiler::LSCL::AST::BooleanOperator)
3384
3460
  else
@@ -3399,7 +3475,7 @@ module LogStashCompilerLSCLGrammar
3399
3475
  if node_cache[:selector].has_key?(index)
3400
3476
  cached = node_cache[:selector][index]
3401
3477
  if cached
3402
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3478
+ node_cache[:selector][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3403
3479
  @index = cached.interval.end
3404
3480
  end
3405
3481
  return cached
@@ -3434,28 +3510,29 @@ module LogStashCompilerLSCLGrammar
3434
3510
  if node_cache[:selector_element].has_key?(index)
3435
3511
  cached = node_cache[:selector_element][index]
3436
3512
  if cached
3437
- cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3513
+ node_cache[:selector_element][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3438
3514
  @index = cached.interval.end
3439
3515
  end
3440
3516
  return cached
3441
3517
  end
3442
3518
 
3443
3519
  i0, s0 = index, []
3444
- if has_terminal?("[", false, index)
3445
- r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
3446
- @index += 1
3520
+ if (match_len = has_terminal?("[", false, index))
3521
+ r1 = true
3522
+ @index += match_len
3447
3523
  else
3448
- terminal_parse_failure("[")
3524
+ terminal_parse_failure('"["')
3449
3525
  r1 = nil
3450
3526
  end
3451
3527
  s0 << r1
3452
3528
  if r1
3453
3529
  s2, i2 = [], index
3454
3530
  loop do
3455
- if has_terminal?('\G[^\\],]', true, index)
3531
+ if has_terminal?(@regexps[gr = '\A[^\\]\\[,]'] ||= Regexp.new(gr), :regexp, index)
3456
3532
  r3 = true
3457
3533
  @index += 1
3458
3534
  else
3535
+ terminal_parse_failure('[^\\]\\[,]')
3459
3536
  r3 = nil
3460
3537
  end
3461
3538
  if r3
@@ -3472,11 +3549,11 @@ module LogStashCompilerLSCLGrammar
3472
3549
  end
3473
3550
  s0 << r2
3474
3551
  if r2
3475
- if has_terminal?("]", false, index)
3476
- r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
3477
- @index += 1
3552
+ if (match_len = has_terminal?("]", false, index))
3553
+ r4 = true
3554
+ @index += match_len
3478
3555
  else
3479
- terminal_parse_failure("]")
3556
+ terminal_parse_failure('"]"')
3480
3557
  r4 = nil
3481
3558
  end
3482
3559
  s0 << r4