edn-abnf 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml 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