Commit 93083be80018fdba00b610a6a4ca68db7364d4f3

new generated parser from grammer file
  
2424 if r3
2525 r1 = r3
2626 else
27 @index = i1
27 self.index = i1
2828 r1 = nil
2929 end
3030 end
3838
3939 node_cache[:program][start_index] = r0
4040
41 r0
41 return r0
4242 end
4343
4444 module Expression0
8080 if r6
8181 r4 = r6
8282 else
83 @index = i4
83 self.index = i4
8484 r4 = nil
8585 end
8686 end
9191 end
9292 end
9393 if s3.empty?
94 @index = i3
94 self.index = i3
9595 r3 = nil
9696 else
9797 r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
119119 r0 = instantiate_node(Expression,input, i0...index, s0)
120120 r0.extend(Expression0)
121121 else
122 @index = i0
122 self.index = i0
123123 r0 = nil
124124 end
125125
126126 node_cache[:expression][start_index] = r0
127127
128 r0
128 return r0
129129 end
130130
131131 module Comment0
155155 r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
156156 s0 << r1
157157 if r1
158 if has_terminal?("!", false, index)
158 if input.index("!", index) == index
159159 r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
160160 @index += 1
161161 else
168168 loop do
169169 i5, s5 = index, []
170170 i6 = index
171 if has_terminal?('\G[\\n]', true, index)
171 if input.index(Regexp.new('[\\n]'), index) == index
172172 r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
173173 @index += 1
174174 else
177177 if r7
178178 r6 = nil
179179 else
180 @index = i6
180 self.index = i6
181181 r6 = instantiate_node(SyntaxNode,input, index...index)
182182 end
183183 s5 << r6
195195 r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
196196 r5.extend(Comment0)
197197 else
198 @index = i5
198 self.index = i5
199199 r5 = nil
200200 end
201201 if r5
207207 r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
208208 s0 << r4
209209 if r4
210 if has_terminal?('\G[\\n]', true, index)
210 if input.index(Regexp.new('[\\n]'), index) == index
211211 r10 = instantiate_node(SyntaxNode,input, index...(index + 1))
212212 @index += 1
213213 else
226226 r0 = instantiate_node(Comment,input, i0...index, s0)
227227 r0.extend(Comment1)
228228 else
229 @index = i0
229 self.index = i0
230230 r0 = nil
231231 end
232232
233233 node_cache[:comment][start_index] = r0
234234
235 r0
235 return r0
236236 end
237237
238238 module Atom0
272272 if r5
273273 r3 = r5
274274 else
275 @index = i3
275 self.index = i3
276276 r3 = nil
277277 end
278278 end
295295 r0 = instantiate_node(Atom,input, i0...index, s0)
296296 r0.extend(Atom0)
297297 else
298 @index = i0
298 self.index = i0
299299 r0 = nil
300300 end
301301
302302 node_cache[:atom][start_index] = r0
303303
304 r0
304 return r0
305305 end
306306
307307 def _nt_datum
349349 if r9
350350 r0 = r9
351351 else
352 @index = i0
352 self.index = i0
353353 r0 = nil
354354 end
355355 end
363363
364364 node_cache[:datum][start_index] = r0
365365
366 r0
366 return r0
367367 end
368368
369369 module Boolean0
379379
380380 i0, s0 = index, []
381381 i1 = index
382 if has_terminal?("t", false, index)
382 if input.index("t", index) == index
383383 r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
384384 @index += 1
385385 else
389389 if r2
390390 r1 = r2
391391 else
392 if has_terminal?("f", false, index)
392 if input.index("f", index) == index
393393 r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
394394 @index += 1
395395 else
399399 if r3
400400 r1 = r3
401401 else
402 @index = i1
402 self.index = i1
403403 r1 = nil
404404 end
405405 end
410410 if r5
411411 r4 = nil
412412 else
413 @index = i4
413 self.index = i4
414414 r4 = instantiate_node(SyntaxNode,input, index...index)
415415 end
416416 s0 << r4
419419 r0 = instantiate_node(Boolean,input, i0...index, s0)
420420 r0.extend(Boolean0)
421421 else
422 @index = i0
422 self.index = i0
423423 r0 = nil
424424 end
425425
426426 node_cache[:boolean][start_index] = r0
427427
428 r0
428 return r0
429429 end
430430
431431 module Integer0
448448 i0, s0 = index, []
449449 i1 = index
450450 i2, s2 = index, []
451 if has_terminal?("-", false, index)
451 if input.index("-", index) == index
452452 r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
453453 @index += 1
454454 else
462462 end
463463 s2 << r3
464464 if r3
465 if has_terminal?("0", false, index)
465 if input.index("0", index) == index
466466 r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
467467 @index += 1
468468 else
475475 r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
476476 r2.extend(Integer0)
477477 else
478 @index = i2
478 self.index = i2
479479 r2 = nil
480480 end
481481 if r2
482482 r1 = r2
483483 else
484484 i6, s6 = index, []
485 if has_terminal?("-", false, index)
485 if input.index("-", index) == index
486486 r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
487487 @index += 1
488488 else
496496 end
497497 s6 << r7
498498 if r7
499 if has_terminal?('\G[1-9]', true, index)
499 if input.index(Regexp.new('[1-9]'), index) == index
500500 r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
501501 @index += 1
502502 else
506506 if r9
507507 s10, i10 = [], index
508508 loop do
509 if has_terminal?('\G[0-9]', true, index)
509 if input.index(Regexp.new('[0-9]'), index) == index
510510 r11 = instantiate_node(SyntaxNode,input, index...(index + 1))
511511 @index += 1
512512 else
526526 r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
527527 r6.extend(Integer1)
528528 else
529 @index = i6
529 self.index = i6
530530 r6 = nil
531531 end
532532 if r6
533533 r1 = r6
534534 else
535 @index = i1
535 self.index = i1
536536 r1 = nil
537537 end
538538 end
541541 i12 = index
542542 r13 = _nt_delimiter
543543 if r13
544 @index = i12
544 self.index = i12
545545 r12 = instantiate_node(SyntaxNode,input, index...index)
546546 else
547547 r12 = nil
552552 r0 = instantiate_node(Integer,input, i0...index, s0)
553553 r0.extend(Integer2)
554554 else
555 @index = i0
555 self.index = i0
556556 r0 = nil
557557 end
558558
559559 node_cache[:integer][start_index] = r0
560560
561 r0
561 return r0
562562 end
563563
564564 module Float0
573573 end
574574
575575 i0, s0 = index, []
576 if has_terminal?("-", false, index)
576 if input.index("-", index) == index
577577 r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
578578 @index += 1
579579 else
589589 if r1
590590 s3, i3 = [], index
591591 loop do
592 if has_terminal?('\G[0-9]', true, index)
592 if input.index(Regexp.new('[0-9]'), index) == index
593593 r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
594594 @index += 1
595595 else
602602 end
603603 end
604604 if s3.empty?
605 @index = i3
605 self.index = i3
606606 r3 = nil
607607 else
608608 r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
609609 end
610610 s0 << r3
611611 if r3
612 if has_terminal?(".", false, index)
612 if input.index(".", index) == index
613613 r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
614614 @index += 1
615615 else
620620 if r5
621621 s6, i6 = [], index
622622 loop do
623 if has_terminal?('\G[0-9]', true, index)
623 if input.index(Regexp.new('[0-9]'), index) == index
624624 r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
625625 @index += 1
626626 else
633633 end
634634 end
635635 if s6.empty?
636 @index = i6
636 self.index = i6
637637 r6 = nil
638638 else
639639 r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
646646 r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
647647 r0.extend(Float0)
648648 else
649 @index = i0
649 self.index = i0
650650 r0 = nil
651651 end
652652
653653 node_cache[:float][start_index] = r0
654654
655 r0
655 return r0
656656 end
657657
658658 module String0
671671 end
672672
673673 i0, s0 = index, []
674 if has_terminal?('"', false, index)
674 if input.index('"', index) == index
675675 r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
676676 @index += 1
677677 else
692692 r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
693693 s0 << r2
694694 if r2
695 if has_terminal?('"', false, index)
695 if input.index('"', index) == index
696696 r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
697697 @index += 1
698698 else
706706 r0 = instantiate_node(StackdString,input, i0...index, s0)
707707 r0.extend(String0)
708708 else
709 @index = i0
709 self.index = i0
710710 r0 = nil
711711 end
712712
713713 node_cache[:string][start_index] = r0
714714
715 r0
715 return r0
716716 end
717717
718718 module StringChar0
737737
738738 i0, s0 = index, []
739739 i1 = index
740 if has_terminal?('"', false, index)
740 if input.index('"', index) == index
741741 r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
742742 @index += 1
743743 else
747747 if r2
748748 r1 = nil
749749 else
750 @index = i1
750 self.index = i1
751751 r1 = instantiate_node(SyntaxNode,input, index...index)
752752 end
753753 s0 << r1
766766 r0.extend(StringChar0)
767767 r0.extend(StringChar1)
768768 else
769 @index = i0
769 self.index = i0
770770 r0 = nil
771771 end
772772
773773 node_cache[:string_char][start_index] = r0
774774
775 r0
775 return r0
776776 end
777777
778778 module Quotation0
791791 end
792792
793793 i0, s0 = index, []
794 if has_terminal?("[", false, index)
794 if input.index("[", index) == index
795795 r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
796796 @index += 1
797797 else
810810 end
811811 end
812812 if s2.empty?
813 @index = i2
813 self.index = i2
814814 r2 = nil
815815 else
816816 r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
817817 end
818818 s0 << r2
819819 if r2
820 if has_terminal?("]", false, index)
820 if input.index("]", index) == index
821821 r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
822822 @index += 1
823823 else
831831 r0 = instantiate_node(Quotation,input, i0...index, s0)
832832 r0.extend(Quotation0)
833833 else
834 @index = i0
834 self.index = i0
835835 r0 = nil
836836 end
837837
838838 node_cache[:quotation][start_index] = r0
839839
840 r0
840 return r0
841841 end
842842
843843 module Regex0
859859 end
860860
861861 i0, s0 = index, []
862 if has_terminal?('/', false, index)
862 if input.index('/', index) == index
863863 r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
864864 @index += 1
865865 else
872872 loop do
873873 i3, s3 = index, []
874874 i4 = index
875 if has_terminal?('/', false, index)
875 if input.index('/', index) == index
876876 r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
877877 @index += 1
878878 else
882882 if r5
883883 r4 = nil
884884 else
885 @index = i4
885 self.index = i4
886886 r4 = instantiate_node(SyntaxNode,input, index...index)
887887 end
888888 s3 << r4
900900 r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
901901 r3.extend(Regex0)
902902 else
903 @index = i3
903 self.index = i3
904904 r3 = nil
905905 end
906906 if r3
912912 r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
913913 s0 << r2
914914 if r2
915 if has_terminal?('/', false, index)
915 if input.index('/', index) == index
916916 r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
917917 @index += 1
918918 else
926926 r0 = instantiate_node(Regex,input, i0...index, s0)
927927 r0.extend(Regex1)
928928 else
929 @index = i0
929 self.index = i0
930930 r0 = nil
931931 end
932932
933933 node_cache[:regex][start_index] = r0
934934
935 r0
935 return r0
936936 end
937937
938938 module Array0
951951 end
952952
953953 i0, s0 = index, []
954 if has_terminal?('#(', false, index)
954 if input.index('#(', index) == index
955955 r1 = instantiate_node(SyntaxNode,input, index...(index + 2))
956956 @index += 2
957957 else
996996 r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
997997 s0 << r6
998998 if r6
999 if has_terminal?(')', false, index)
999 if input.index(')', index) == index
10001000 r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
10011001 @index += 1
10021002 else
10121012 r0 = instantiate_node(Array,input, i0...index, s0)
10131013 r0.extend(Array0)
10141014 else
1015 @index = i0
1015 self.index = i0
10161016 r0 = nil
10171017 end
10181018
10191019 node_cache[:array][start_index] = r0
10201020
1021 r0
1021 return r0
10221022 end
10231023
10241024 module Hash0
10431043 end
10441044
10451045 i0, s0 = index, []
1046 if has_terminal?('{{', false, index)
1046 if input.index('{{', index) == index
10471047 r1 = instantiate_node(SyntaxNode,input, index...(index + 2))
10481048 @index += 2
10491049 else
10821082 r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
10831083 r5.extend(Hash0)
10841084 else
1085 @index = i5
1085 self.index = i5
10861086 r5 = nil
10871087 end
10881088 if r5
11061106 r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
11071107 s0 << r9
11081108 if r9
1109 if has_terminal?('}}', false, index)
1109 if input.index('}}', index) == index
11101110 r11 = instantiate_node(SyntaxNode,input, index...(index + 2))
11111111 @index += 2
11121112 else
11221122 r0 = instantiate_node(Hashtable,input, i0...index, s0)
11231123 r0.extend(Hash1)
11241124 else
1125 @index = i0
1125 self.index = i0
11261126 r0 = nil
11271127 end
11281128
11291129 node_cache[:hash][start_index] = r0
11301130
1131 r0
1131 return r0
11321132 end
11331133
11341134 module HashEntry0
11531153 r1 = _nt_atom
11541154 s0 << r1
11551155 if r1
1156 if has_terminal?('=>', false, index)
1156 if input.index('=>', index) == index
11571157 r2 = instantiate_node(SyntaxNode,input, index...(index + 2))
11581158 @index += 2
11591159 else
11701170 r0 = instantiate_node(HashEntry,input, i0...index, s0)
11711171 r0.extend(HashEntry0)
11721172 else
1173 @index = i0
1173 self.index = i0
11741174 r0 = nil
11751175 end
11761176
11771177 node_cache[:hash_entry][start_index] = r0
11781178
1179 r0
1179 return r0
11801180 end
11811181
11821182 module Symbol0
12001200 end
12011201
12021202 i0, s0 = index, []
1203 if has_terminal?(':', false, index)
1203 if input.index(':', index) == index
12041204 r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
12051205 @index += 1
12061206 else
12111211 if r1
12121212 i2, s2 = index, []
12131213 i3 = index
1214 if has_terminal?(':', false, index)
1214 if input.index(':', index) == index
12151215 r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
12161216 @index += 1
12171217 else
12211221 if r4
12221222 r3 = nil
12231223 else
1224 @index = i3
1224 self.index = i3
12251225 r3 = instantiate_node(SyntaxNode,input, index...index)
12261226 end
12271227 s2 << r3
12331233 r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
12341234 r2.extend(Symbol0)
12351235 else
1236 @index = i2
1236 self.index = i2
12371237 r2 = nil
12381238 end
12391239 s0 << r2
12421242 r0 = instantiate_node(Symbol,input, i0...index, s0)
12431243 r0.extend(Symbol1)
12441244 else
1245 @index = i0
1245 self.index = i0
12461246 r0 = nil
12471247 end
12481248
12491249 node_cache[:symbol][start_index] = r0
12501250
1251 r0
1251 return r0
12521252 end
12531253
12541254 module Identifier0
12701270 if r3
12711271 r2 = nil
12721272 else
1273 @index = i2
1273 self.index = i2
12741274 r2 = instantiate_node(SyntaxNode,input, index...index)
12751275 end
12761276 s1 << r2
12881288 r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
12891289 r1.extend(Identifier0)
12901290 else
1291 @index = i1
1291 self.index = i1
12921292 r1 = nil
12931293 end
12941294 if r1
12981298 end
12991299 end
13001300 if s0.empty?
1301 @index = i0
1301 self.index = i0
13021302 r0 = nil
13031303 else
13041304 r0 = instantiate_node(Identifier,input, i0...index, s0)
13061306
13071307 node_cache[:identifier][start_index] = r0
13081308
1309 r0
1309 return r0
13101310 end
13111311
13121312 def _nt_space
13171317 return cached
13181318 end
13191319
1320 if has_terminal?('\G[\\s\\n\\r\\t]', true, index)
1320 if input.index(Regexp.new('[\\s\\n\\r\\t]'), index) == index
13211321 r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
13221322 @index += 1
13231323 else
13261326
13271327 node_cache[:space][start_index] = r0
13281328
1329 r0
1329 return r0
13301330 end
13311331
13321332 def _nt_paren
13371337 return cached
13381338 end
13391339
1340 if has_terminal?('\G[\\(\\)\\[\\]]', true, index)
1340 if input.index(Regexp.new('[\\(\\)\\[\\]]'), index) == index
13411341 r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
13421342 @index += 1
13431343 else
13461346
13471347 node_cache[:paren][start_index] = r0
13481348
1349 r0
1349 return r0
13501350 end
13511351
13521352 def _nt_delimiter
13701370 if r3
13711371 r0 = r3
13721372 else
1373 @index = i0
1373 self.index = i0
13741374 r0 = nil
13751375 end
13761376 end
13781378
13791379 node_cache[:delimiter][start_index] = r0
13801380
1381 r0
1381 return r0
13821382 end
13831383
13841384 def _nt_terminal
13891389 return cached
13901390 end
13911391
1392 if has_terminal?(';', false, index)
1392 if input.index(';', index) == index
13931393 r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
13941394 @index += 1
13951395 else
13991399
14001400 node_cache[:terminal][start_index] = r0
14011401
1402 r0
1402 return r0
14031403 end
14041404
14051405end