edn-abnf 0.0.5 → 0.0.6

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: fc5ceebd31ab8dcb7737436c41348a218438eb914ac7090e85015fb6ecbda313
4
- data.tar.gz: 8859e52ce3b6154d0d409e01a1d4d279c1f60f589121eeb749f7d171b60c2452
3
+ metadata.gz: 119b776b0bf643c32c9c0c2481b654e3087d0a7747f0a3f9bf9ae2460837a67a
4
+ data.tar.gz: bc7545b0786eeae5f5d33c6b95b702fe383ccdc306ecc5370e932413e089838e
5
5
  SHA512:
6
- metadata.gz: 350cb3b5cf59fc45721f626e2a6eb2cf5b936da60952aa4d758b14f8152f98e2f08afe490d2c3e063a2db6900ac1323f59c2e8f6248a11e8f9ff7ac440020130
7
- data.tar.gz: 75c3ff4a6948ac326e1b60b9e49a4f440f2e18fd2dc910fc3a7b915244fc95be4edecf843cdcde6d408cc8d74df321200ef93762c3e15228c4c947ea41d600f0
6
+ metadata.gz: e5c9dd0f7c19367133392c803bdf4719d6e0ec45d49d74c3fc05bb59e2d38e6ce0ffe38f17c0610c454783b795d5528e3bb030f32b452df9a802cbd447fc4c13
7
+ data.tar.gz: 994b84d2f1e90643aacfb3ef117d150bafbbd2a28f63057f25b51d5a1222d5a222a5d7fd8c77c83232c28e7378084bfaccc0d04db3e0f60eafecca7ed2eecb86
data/edn-abnf.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "edn-abnf"
3
- s.version = "0.0.5"
3
+ s.version = "0.0.6"
4
4
  s.summary = "CDDL (Concise Data Definition Language) converters and miscellaneous tools"
5
5
  s.description = %q{edn-abnf implements converters and miscellaneous tools for CBOR EDN's ABNF}
6
6
  s.author = "Carsten Bormann"
@@ -469,7 +469,13 @@ module EDNGRAMMAR
469
469
  end
470
470
 
471
471
  module Basenumber4
472
- def ast; Integer(text_value) end
472
+ end
473
+
474
+ module Basenumber5
475
+ end
476
+
477
+ module Basenumber6
478
+ def ast; /p/i =~ text_value ? Float(text_value) : Integer(text_value) end
473
479
  end
474
480
 
475
481
  def _nt_basenumber
@@ -528,10 +534,98 @@ module EDNGRAMMAR
528
534
  r7 = instantiate_node(SyntaxNode,input, i7...index, s7)
529
535
  end
530
536
  s5 << r7
537
+ if r7
538
+ i10, s10 = index, []
539
+ i12, s12 = index, []
540
+ if (match_len = has_terminal?(".", false, index))
541
+ r13 = true
542
+ @index += match_len
543
+ else
544
+ terminal_parse_failure('"."')
545
+ r13 = nil
546
+ end
547
+ s12 << r13
548
+ if r13
549
+ s14, i14 = [], index
550
+ loop do
551
+ r15 = _nt_HEXDIG
552
+ if r15
553
+ s14 << r15
554
+ else
555
+ break
556
+ end
557
+ end
558
+ if s14.empty?
559
+ @index = i14
560
+ r14 = nil
561
+ else
562
+ r14 = instantiate_node(SyntaxNode,input, i14...index, s14)
563
+ end
564
+ s12 << r14
565
+ end
566
+ if s12.last
567
+ r12 = instantiate_node(SyntaxNode,input, i12...index, s12)
568
+ r12.extend(Basenumber0)
569
+ else
570
+ @index = i12
571
+ r12 = nil
572
+ end
573
+ if r12
574
+ r11 = r12
575
+ else
576
+ r11 = instantiate_node(SyntaxNode,input, index...index)
577
+ end
578
+ s10 << r11
579
+ if r11
580
+ if (match_len = has_terminal?("p", :insens, index))
581
+ r16 = instantiate_node(SyntaxNode,input, index...(index + match_len))
582
+ @index += match_len
583
+ else
584
+ terminal_parse_failure('"p"')
585
+ r16 = nil
586
+ end
587
+ s10 << r16
588
+ if r16
589
+ r18 = _nt_sign
590
+ if r18
591
+ r17 = r18
592
+ else
593
+ r17 = instantiate_node(SyntaxNode,input, index...index)
594
+ end
595
+ s10 << r17
596
+ if r17
597
+ s19, i19 = [], index
598
+ loop do
599
+ r20 = _nt_DIGIT
600
+ if r20
601
+ s19 << r20
602
+ else
603
+ break
604
+ end
605
+ end
606
+ r19 = instantiate_node(SyntaxNode,input, i19...index, s19)
607
+ s10 << r19
608
+ end
609
+ end
610
+ end
611
+ if s10.last
612
+ r10 = instantiate_node(SyntaxNode,input, i10...index, s10)
613
+ r10.extend(Basenumber1)
614
+ else
615
+ @index = i10
616
+ r10 = nil
617
+ end
618
+ if r10
619
+ r9 = r10
620
+ else
621
+ r9 = instantiate_node(SyntaxNode,input, index...index)
622
+ end
623
+ s5 << r9
624
+ end
531
625
  end
532
626
  if s5.last
533
627
  r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
534
- r5.extend(Basenumber0)
628
+ r5.extend(Basenumber2)
535
629
  else
536
630
  @index = i5
537
631
  r5 = nil
@@ -540,81 +634,81 @@ module EDNGRAMMAR
540
634
  r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
541
635
  r4 = r5
542
636
  else
543
- i9, s9 = index, []
637
+ i21, s21 = index, []
544
638
  if (match_len = has_terminal?("o", :insens, index))
545
- r10 = instantiate_node(SyntaxNode,input, index...(index + match_len))
639
+ r22 = instantiate_node(SyntaxNode,input, index...(index + match_len))
546
640
  @index += match_len
547
641
  else
548
642
  terminal_parse_failure('"o"')
549
- r10 = nil
643
+ r22 = nil
550
644
  end
551
- s9 << r10
552
- if r10
553
- s11, i11 = [], index
645
+ s21 << r22
646
+ if r22
647
+ s23, i23 = [], index
554
648
  loop do
555
- r12 = _nt_ODIGIT
556
- if r12
557
- s11 << r12
649
+ r24 = _nt_ODIGIT
650
+ if r24
651
+ s23 << r24
558
652
  else
559
653
  break
560
654
  end
561
655
  end
562
- if s11.empty?
563
- @index = i11
564
- r11 = nil
656
+ if s23.empty?
657
+ @index = i23
658
+ r23 = nil
565
659
  else
566
- r11 = instantiate_node(SyntaxNode,input, i11...index, s11)
660
+ r23 = instantiate_node(SyntaxNode,input, i23...index, s23)
567
661
  end
568
- s9 << r11
662
+ s21 << r23
569
663
  end
570
- if s9.last
571
- r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
572
- r9.extend(Basenumber1)
664
+ if s21.last
665
+ r21 = instantiate_node(SyntaxNode,input, i21...index, s21)
666
+ r21.extend(Basenumber3)
573
667
  else
574
- @index = i9
575
- r9 = nil
668
+ @index = i21
669
+ r21 = nil
576
670
  end
577
- if r9
578
- r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true
579
- r4 = r9
671
+ if r21
672
+ r21 = SyntaxNode.new(input, (index-1)...index) if r21 == true
673
+ r4 = r21
580
674
  else
581
- i13, s13 = index, []
675
+ i25, s25 = index, []
582
676
  if (match_len = has_terminal?("b", :insens, index))
583
- r14 = instantiate_node(SyntaxNode,input, index...(index + match_len))
677
+ r26 = instantiate_node(SyntaxNode,input, index...(index + match_len))
584
678
  @index += match_len
585
679
  else
586
680
  terminal_parse_failure('"b"')
587
- r14 = nil
681
+ r26 = nil
588
682
  end
589
- s13 << r14
590
- if r14
591
- s15, i15 = [], index
683
+ s25 << r26
684
+ if r26
685
+ s27, i27 = [], index
592
686
  loop do
593
- r16 = _nt_BDIGIT
594
- if r16
595
- s15 << r16
687
+ r28 = _nt_BDIGIT
688
+ if r28
689
+ s27 << r28
596
690
  else
597
691
  break
598
692
  end
599
693
  end
600
- if s15.empty?
601
- @index = i15
602
- r15 = nil
694
+ if s27.empty?
695
+ @index = i27
696
+ r27 = nil
603
697
  else
604
- r15 = instantiate_node(SyntaxNode,input, i15...index, s15)
698
+ r27 = instantiate_node(SyntaxNode,input, i27...index, s27)
605
699
  end
606
- s13 << r15
700
+ s25 << r27
607
701
  end
608
- if s13.last
609
- r13 = instantiate_node(SyntaxNode,input, i13...index, s13)
610
- r13.extend(Basenumber2)
702
+ if s25.last
703
+ r25 = instantiate_node(SyntaxNode,input, i25...index, s25)
704
+ r25.extend(Basenumber4)
611
705
  else
612
- @index = i13
613
- r13 = nil
706
+ @index = i25
707
+ r25 = nil
614
708
  end
615
- if r13
616
- r13 = SyntaxNode.new(input, (index-1)...index) if r13 == true
617
- r4 = r13
709
+ if r25
710
+ r25 = SyntaxNode.new(input, (index-1)...index) if r25 == true
711
+ r4 = r25
618
712
  else
619
713
  @index = i4
620
714
  r4 = nil
@@ -626,8 +720,8 @@ module EDNGRAMMAR
626
720
  end
627
721
  if s0.last
628
722
  r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
629
- r0.extend(Basenumber3)
630
- r0.extend(Basenumber4)
723
+ r0.extend(Basenumber5)
724
+ r0.extend(Basenumber6)
631
725
  else
632
726
  @index = i0
633
727
  r0 = nil
@@ -3690,44 +3784,6 @@ module EDNGRAMMAR
3690
3784
  r0
3691
3785
  end
3692
3786
 
3693
- def _nt_ALPHA
3694
- start_index = index
3695
- if node_cache[:ALPHA].has_key?(index)
3696
- cached = node_cache[:ALPHA][index]
3697
- if cached
3698
- node_cache[:ALPHA][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3699
- @index = cached.interval.end
3700
- end
3701
- return cached
3702
- end
3703
-
3704
- i0 = index
3705
- if has_terminal?(@regexps[gr = '\A[A-Z]'] ||= Regexp.new(gr), :regexp, index)
3706
- r1 = true
3707
- @index += 1
3708
- else
3709
- terminal_parse_failure('[A-Z]')
3710
- r1 = nil
3711
- end
3712
- if r1
3713
- r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
3714
- r0 = r1
3715
- else
3716
- r2 = _nt_lcalpha
3717
- if r2
3718
- r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
3719
- r0 = r2
3720
- else
3721
- @index = i0
3722
- r0 = nil
3723
- end
3724
- end
3725
-
3726
- node_cache[:ALPHA][start_index] = r0
3727
-
3728
- r0
3729
- end
3730
-
3731
3787
  end
3732
3788
 
3733
3789
  class EDNGRAMMARParser < Treetop::Runtime::CompiledParser
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: edn-abnf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-26 00:00:00.000000000 Z
11
+ date: 2023-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler