cbor-diag 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/cbor-diag.gemspec +1 -1
- data/lib/cbor-diag-parser.rb +134 -18
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 07d189c84e8268cba0d305a69be2be6171fb6fe5
|
|
4
|
+
data.tar.gz: 71145361b05c19d21bd26320fae09d34720ba60c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ce77f679d0fcc80d9c1e60567548dbe3eb6d50af296b4e5d9f04fea10105cc1346b829fb4d41b2ef79359f946f501688b2f1ba6e051d4cb362faf676ba267eb1
|
|
7
|
+
data.tar.gz: 6b5b719f66a3add0320e6638ffb0f77e7f10edbc5e65491f626fcf4e7b89c631edd11a3f0a702041b80bd9e7ff330cb21ca924b779bd5cfe9fec477b0a5082c9
|
data/cbor-diag.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = "cbor-diag"
|
|
3
|
-
s.version = "0.2.
|
|
3
|
+
s.version = "0.2.2"
|
|
4
4
|
s.summary = "CBOR (Concise Binary Object Representation) diagnostic notation"
|
|
5
5
|
s.description = %q{cbor-diag implements diagnostic notation for CBOR, RFC 7049}
|
|
6
6
|
s.author = "Carsten Bormann"
|
data/lib/cbor-diag-parser.rb
CHANGED
|
@@ -374,12 +374,21 @@ module CBOR_DIAG
|
|
|
374
374
|
end
|
|
375
375
|
|
|
376
376
|
module Hnumber1
|
|
377
|
+
end
|
|
378
|
+
|
|
379
|
+
module Hnumber2
|
|
380
|
+
end
|
|
381
|
+
|
|
382
|
+
module Hnumber3
|
|
383
|
+
end
|
|
384
|
+
|
|
385
|
+
module Hnumber4
|
|
377
386
|
def ip
|
|
378
387
|
elements[0]
|
|
379
388
|
end
|
|
380
389
|
end
|
|
381
390
|
|
|
382
|
-
module
|
|
391
|
+
module Hnumber5
|
|
383
392
|
def to_rb
|
|
384
393
|
Integer(ip.text_value)
|
|
385
394
|
end
|
|
@@ -421,43 +430,150 @@ module CBOR_DIAG
|
|
|
421
430
|
end
|
|
422
431
|
s1 << r4
|
|
423
432
|
if r4
|
|
433
|
+
i5 = index
|
|
434
|
+
i6, s6 = index, []
|
|
424
435
|
if has_terminal?(@regexps[gr = '\A[xX]'] ||= Regexp.new(gr), :regexp, index)
|
|
425
|
-
|
|
436
|
+
r7 = true
|
|
426
437
|
@index += 1
|
|
427
438
|
else
|
|
428
439
|
terminal_parse_failure('[xX]')
|
|
429
|
-
|
|
440
|
+
r7 = nil
|
|
430
441
|
end
|
|
431
|
-
|
|
432
|
-
if
|
|
433
|
-
|
|
442
|
+
s6 << r7
|
|
443
|
+
if r7
|
|
444
|
+
s8, i8 = [], index
|
|
434
445
|
loop do
|
|
435
446
|
if has_terminal?(@regexps[gr = '\A[0-9a-fA-F]'] ||= Regexp.new(gr), :regexp, index)
|
|
436
|
-
|
|
447
|
+
r9 = true
|
|
437
448
|
@index += 1
|
|
438
449
|
else
|
|
439
450
|
terminal_parse_failure('[0-9a-fA-F]')
|
|
440
|
-
|
|
451
|
+
r9 = nil
|
|
441
452
|
end
|
|
442
|
-
if
|
|
443
|
-
|
|
453
|
+
if r9
|
|
454
|
+
s8 << r9
|
|
444
455
|
else
|
|
445
456
|
break
|
|
446
457
|
end
|
|
447
458
|
end
|
|
448
|
-
if
|
|
449
|
-
@index =
|
|
450
|
-
|
|
459
|
+
if s8.empty?
|
|
460
|
+
@index = i8
|
|
461
|
+
r8 = nil
|
|
462
|
+
else
|
|
463
|
+
r8 = instantiate_node(SyntaxNode,input, i8...index, s8)
|
|
464
|
+
end
|
|
465
|
+
s6 << r8
|
|
466
|
+
end
|
|
467
|
+
if s6.last
|
|
468
|
+
r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
|
|
469
|
+
r6.extend(Hnumber0)
|
|
470
|
+
else
|
|
471
|
+
@index = i6
|
|
472
|
+
r6 = nil
|
|
473
|
+
end
|
|
474
|
+
if r6
|
|
475
|
+
r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
|
|
476
|
+
r5 = r6
|
|
477
|
+
else
|
|
478
|
+
i10, s10 = index, []
|
|
479
|
+
if has_terminal?(@regexps[gr = '\A[oO]'] ||= Regexp.new(gr), :regexp, index)
|
|
480
|
+
r11 = true
|
|
481
|
+
@index += 1
|
|
482
|
+
else
|
|
483
|
+
terminal_parse_failure('[oO]')
|
|
484
|
+
r11 = nil
|
|
485
|
+
end
|
|
486
|
+
s10 << r11
|
|
487
|
+
if r11
|
|
488
|
+
s12, i12 = [], index
|
|
489
|
+
loop do
|
|
490
|
+
if has_terminal?(@regexps[gr = '\A[0-7]'] ||= Regexp.new(gr), :regexp, index)
|
|
491
|
+
r13 = true
|
|
492
|
+
@index += 1
|
|
493
|
+
else
|
|
494
|
+
terminal_parse_failure('[0-7]')
|
|
495
|
+
r13 = nil
|
|
496
|
+
end
|
|
497
|
+
if r13
|
|
498
|
+
s12 << r13
|
|
499
|
+
else
|
|
500
|
+
break
|
|
501
|
+
end
|
|
502
|
+
end
|
|
503
|
+
if s12.empty?
|
|
504
|
+
@index = i12
|
|
505
|
+
r12 = nil
|
|
506
|
+
else
|
|
507
|
+
r12 = instantiate_node(SyntaxNode,input, i12...index, s12)
|
|
508
|
+
end
|
|
509
|
+
s10 << r12
|
|
510
|
+
end
|
|
511
|
+
if s10.last
|
|
512
|
+
r10 = instantiate_node(SyntaxNode,input, i10...index, s10)
|
|
513
|
+
r10.extend(Hnumber1)
|
|
514
|
+
else
|
|
515
|
+
@index = i10
|
|
516
|
+
r10 = nil
|
|
517
|
+
end
|
|
518
|
+
if r10
|
|
519
|
+
r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true
|
|
520
|
+
r5 = r10
|
|
451
521
|
else
|
|
452
|
-
|
|
522
|
+
i14, s14 = index, []
|
|
523
|
+
if has_terminal?(@regexps[gr = '\A[bB]'] ||= Regexp.new(gr), :regexp, index)
|
|
524
|
+
r15 = true
|
|
525
|
+
@index += 1
|
|
526
|
+
else
|
|
527
|
+
terminal_parse_failure('[bB]')
|
|
528
|
+
r15 = nil
|
|
529
|
+
end
|
|
530
|
+
s14 << r15
|
|
531
|
+
if r15
|
|
532
|
+
s16, i16 = [], index
|
|
533
|
+
loop do
|
|
534
|
+
if has_terminal?(@regexps[gr = '\A[01]'] ||= Regexp.new(gr), :regexp, index)
|
|
535
|
+
r17 = true
|
|
536
|
+
@index += 1
|
|
537
|
+
else
|
|
538
|
+
terminal_parse_failure('[01]')
|
|
539
|
+
r17 = nil
|
|
540
|
+
end
|
|
541
|
+
if r17
|
|
542
|
+
s16 << r17
|
|
543
|
+
else
|
|
544
|
+
break
|
|
545
|
+
end
|
|
546
|
+
end
|
|
547
|
+
if s16.empty?
|
|
548
|
+
@index = i16
|
|
549
|
+
r16 = nil
|
|
550
|
+
else
|
|
551
|
+
r16 = instantiate_node(SyntaxNode,input, i16...index, s16)
|
|
552
|
+
end
|
|
553
|
+
s14 << r16
|
|
554
|
+
end
|
|
555
|
+
if s14.last
|
|
556
|
+
r14 = instantiate_node(SyntaxNode,input, i14...index, s14)
|
|
557
|
+
r14.extend(Hnumber2)
|
|
558
|
+
else
|
|
559
|
+
@index = i14
|
|
560
|
+
r14 = nil
|
|
561
|
+
end
|
|
562
|
+
if r14
|
|
563
|
+
r14 = SyntaxNode.new(input, (index-1)...index) if r14 == true
|
|
564
|
+
r5 = r14
|
|
565
|
+
else
|
|
566
|
+
@index = i5
|
|
567
|
+
r5 = nil
|
|
568
|
+
end
|
|
453
569
|
end
|
|
454
|
-
s1 << r6
|
|
455
570
|
end
|
|
571
|
+
s1 << r5
|
|
456
572
|
end
|
|
457
573
|
end
|
|
458
574
|
if s1.last
|
|
459
575
|
r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
|
|
460
|
-
r1.extend(
|
|
576
|
+
r1.extend(Hnumber3)
|
|
461
577
|
else
|
|
462
578
|
@index = i1
|
|
463
579
|
r1 = nil
|
|
@@ -465,8 +581,8 @@ module CBOR_DIAG
|
|
|
465
581
|
s0 << r1
|
|
466
582
|
if s0.last
|
|
467
583
|
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
|
|
468
|
-
r0.extend(
|
|
469
|
-
r0.extend(
|
|
584
|
+
r0.extend(Hnumber4)
|
|
585
|
+
r0.extend(Hnumber5)
|
|
470
586
|
else
|
|
471
587
|
@index = i0
|
|
472
588
|
r0 = nil
|