cbor-diag 0.1.2 → 0.1.3

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
  SHA1:
3
- metadata.gz: bbc50b81351785251755ccefdd4699d3fc47b05f
4
- data.tar.gz: 395b8361bf5e6e8ac25e9ba33fae3932656407eb
3
+ metadata.gz: 7aa80d45a6ae5f3ed58ba23f627a72783d3ef09e
4
+ data.tar.gz: fbf6382b6f7351229f470c836395ba14f903a825
5
5
  SHA512:
6
- metadata.gz: 79c34273050260b7c295a99f00b39c6ce6f99e6858a3d1a2446bdeeb5262b905f5f72becab34d2b10a53f4b92ad8fe628eaddfffee3f63e842d12a0580b82508
7
- data.tar.gz: bbc94c97f12177dda1bb3198570332c2e52b71ec10c5b1a07b7cdcedd6ace72816a587b1e255e703fa35d2074a3a43a50351590131dc57d33a7ed9f556ec9b46
6
+ metadata.gz: 63eb19bedae2c11b1b687828869af180326e0f562fb9052ed556a6674734fc640cb3abecd55ec595a495a6f0cc7ef99cdcf534fef026b64fe163ae3de0a4a1ad
7
+ data.tar.gz: d72dd52e82fd8ae59742353b2da6e6d2472218d1931f3eb98a45284eefe75e4e11a27373d35332838e4676c99e0f23430dfe52936d5bfcfcba14e38b037531fe
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cbor-diag"
3
- s.version = "0.1.2"
3
+ s.version = "0.1.3"
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"
@@ -233,7 +233,7 @@ module CBOR_DIAG
233
233
  r8 = true
234
234
  @index += match_len
235
235
  else
236
- terminal_parse_failure('.')
236
+ terminal_parse_failure('\'.\'')
237
237
  r8 = nil
238
238
  end
239
239
  s7 << r8
@@ -381,7 +381,7 @@ module CBOR_DIAG
381
381
  r1.extend(Infin0)
382
382
  @index += match_len
383
383
  else
384
- terminal_parse_failure('Infinity')
384
+ terminal_parse_failure('\'Infinity\'')
385
385
  r1 = nil
386
386
  end
387
387
  if r1
@@ -393,7 +393,7 @@ module CBOR_DIAG
393
393
  r2.extend(Infin1)
394
394
  @index += match_len
395
395
  else
396
- terminal_parse_failure('-Infinity')
396
+ terminal_parse_failure('\'-Infinity\'')
397
397
  r2 = nil
398
398
  end
399
399
  if r2
@@ -405,7 +405,7 @@ module CBOR_DIAG
405
405
  r3.extend(Infin2)
406
406
  @index += match_len
407
407
  else
408
- terminal_parse_failure('NaN')
408
+ terminal_parse_failure('\'NaN\'')
409
409
  r3 = nil
410
410
  end
411
411
  if r3
@@ -475,7 +475,7 @@ module CBOR_DIAG
475
475
  r1.extend(Simple0)
476
476
  @index += match_len
477
477
  else
478
- terminal_parse_failure('false')
478
+ terminal_parse_failure('\'false\'')
479
479
  r1 = nil
480
480
  end
481
481
  if r1
@@ -487,7 +487,7 @@ module CBOR_DIAG
487
487
  r2.extend(Simple1)
488
488
  @index += match_len
489
489
  else
490
- terminal_parse_failure('true')
490
+ terminal_parse_failure('\'true\'')
491
491
  r2 = nil
492
492
  end
493
493
  if r2
@@ -499,7 +499,7 @@ module CBOR_DIAG
499
499
  r3.extend(Simple2)
500
500
  @index += match_len
501
501
  else
502
- terminal_parse_failure('null')
502
+ terminal_parse_failure('\'null\'')
503
503
  r3 = nil
504
504
  end
505
505
  if r3
@@ -511,7 +511,7 @@ module CBOR_DIAG
511
511
  r4.extend(Simple3)
512
512
  @index += match_len
513
513
  else
514
- terminal_parse_failure('undefined')
514
+ terminal_parse_failure('\'undefined\'')
515
515
  r4 = nil
516
516
  end
517
517
  if r4
@@ -523,7 +523,7 @@ module CBOR_DIAG
523
523
  r6 = instantiate_node(SyntaxNode,input, index...(index + match_len))
524
524
  @index += match_len
525
525
  else
526
- terminal_parse_failure('simple(')
526
+ terminal_parse_failure('\'simple(\'')
527
527
  r6 = nil
528
528
  end
529
529
  s5 << r6
@@ -541,7 +541,7 @@ module CBOR_DIAG
541
541
  r10 = true
542
542
  @index += match_len
543
543
  else
544
- terminal_parse_failure(')')
544
+ terminal_parse_failure('\')\'')
545
545
  r10 = nil
546
546
  end
547
547
  s5 << r10
@@ -638,7 +638,7 @@ module CBOR_DIAG
638
638
  r3 = true
639
639
  @index += match_len
640
640
  else
641
- terminal_parse_failure('(')
641
+ terminal_parse_failure('\'(\'')
642
642
  r3 = nil
643
643
  end
644
644
  s0 << r3
@@ -656,7 +656,7 @@ module CBOR_DIAG
656
656
  r7 = true
657
657
  @index += match_len
658
658
  else
659
- terminal_parse_failure(')')
659
+ terminal_parse_failure('\')\'')
660
660
  r7 = nil
661
661
  end
662
662
  s0 << r7
@@ -709,7 +709,7 @@ module CBOR_DIAG
709
709
  r1 = true
710
710
  @index += match_len
711
711
  else
712
- terminal_parse_failure('"')
712
+ terminal_parse_failure('\'"\'')
713
713
  r1 = nil
714
714
  end
715
715
  s0 << r1
@@ -730,7 +730,7 @@ module CBOR_DIAG
730
730
  r4 = true
731
731
  @index += match_len
732
732
  else
733
- terminal_parse_failure('"')
733
+ terminal_parse_failure('\'"\'')
734
734
  r4 = nil
735
735
  end
736
736
  s0 << r4
@@ -848,7 +848,7 @@ module CBOR_DIAG
848
848
  r4 = true
849
849
  @index += match_len
850
850
  else
851
- terminal_parse_failure("\\")
851
+ terminal_parse_failure('"\\\\"')
852
852
  r4 = nil
853
853
  end
854
854
  s3 << r4
@@ -879,7 +879,7 @@ module CBOR_DIAG
879
879
  r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
880
880
  @index += match_len
881
881
  else
882
- terminal_parse_failure("\\u")
882
+ terminal_parse_failure('"\\\\u"')
883
883
  r7 = nil
884
884
  end
885
885
  s6 << r7
@@ -925,6 +925,9 @@ module CBOR_DIAG
925
925
  @index = i11
926
926
  r11 = nil
927
927
  else
928
+ if s11.size < 2
929
+ terminal_failures.pop
930
+ end
928
931
  r11 = instantiate_node(SyntaxNode,input, i11...index, s11)
929
932
  end
930
933
  s8 << r11
@@ -943,7 +946,7 @@ module CBOR_DIAG
943
946
  r13 = instantiate_node(SyntaxNode,input, index...(index + match_len))
944
947
  @index += match_len
945
948
  else
946
- terminal_parse_failure("\\u")
949
+ terminal_parse_failure('"\\\\u"')
947
950
  r13 = nil
948
951
  end
949
952
  s6 << r13
@@ -989,6 +992,9 @@ module CBOR_DIAG
989
992
  @index = i17
990
993
  r17 = nil
991
994
  else
995
+ if s17.size < 2
996
+ terminal_failures.pop
997
+ end
992
998
  r17 = instantiate_node(SyntaxNode,input, i17...index, s17)
993
999
  end
994
1000
  s14 << r17
@@ -1022,7 +1028,7 @@ module CBOR_DIAG
1022
1028
  r20 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1023
1029
  @index += match_len
1024
1030
  else
1025
- terminal_parse_failure("\\u")
1031
+ terminal_parse_failure('"\\\\u"')
1026
1032
  r20 = nil
1027
1033
  end
1028
1034
  s19 << r20
@@ -1060,6 +1066,9 @@ module CBOR_DIAG
1060
1066
  @index = i24
1061
1067
  r24 = nil
1062
1068
  else
1069
+ if s24.size < 3
1070
+ terminal_failures.pop
1071
+ end
1063
1072
  r24 = instantiate_node(SyntaxNode,input, i24...index, s24)
1064
1073
  end
1065
1074
  s22 << r24
@@ -1116,6 +1125,9 @@ module CBOR_DIAG
1116
1125
  @index = i29
1117
1126
  r29 = nil
1118
1127
  else
1128
+ if s29.size < 2
1129
+ terminal_failures.pop
1130
+ end
1119
1131
  r29 = instantiate_node(SyntaxNode,input, i29...index, s29)
1120
1132
  end
1121
1133
  s26 << r29
@@ -1195,7 +1207,7 @@ module CBOR_DIAG
1195
1207
  r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1196
1208
  @index += match_len
1197
1209
  else
1198
- terminal_parse_failure("h'")
1210
+ terminal_parse_failure('"h\'"')
1199
1211
  r1 = nil
1200
1212
  end
1201
1213
  s0 << r1
@@ -1241,7 +1253,7 @@ module CBOR_DIAG
1241
1253
  r6 = true
1242
1254
  @index += match_len
1243
1255
  else
1244
- terminal_parse_failure("'")
1256
+ terminal_parse_failure('"\'"')
1245
1257
  r6 = nil
1246
1258
  end
1247
1259
  s0 << r6
@@ -1261,6 +1273,118 @@ module CBOR_DIAG
1261
1273
  r0
1262
1274
  end
1263
1275
 
1276
+ module Hstring0
1277
+ end
1278
+
1279
+ module Hstring1
1280
+ def s
1281
+ elements[1]
1282
+ end
1283
+
1284
+ end
1285
+
1286
+ module Hstring2
1287
+ #"
1288
+ def to_rb;
1289
+ t = s.text_value.chars.each_slice(4).map(&:join)
1290
+ if last = t[-1]
1291
+ last << "=" * (4 - last.size)
1292
+ end
1293
+ t.join.tr("-_", "+/").unpack("m0")[0]
1294
+ end
1295
+ end
1296
+
1297
+ def _nt_hstring
1298
+ start_index = index
1299
+ if node_cache[:hstring].has_key?(index)
1300
+ cached = node_cache[:hstring][index]
1301
+ if cached
1302
+ node_cache[:hstring][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1303
+ @index = cached.interval.end
1304
+ end
1305
+ return cached
1306
+ end
1307
+
1308
+ i0, s0 = index, []
1309
+ if (match_len = has_terminal?("b64'", false, index))
1310
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1311
+ @index += match_len
1312
+ else
1313
+ terminal_parse_failure('"b64\'"')
1314
+ r1 = nil
1315
+ end
1316
+ s0 << r1
1317
+ if r1
1318
+ i2, s2 = index, []
1319
+ s3, i3 = [], index
1320
+ loop do
1321
+ if has_terminal?(@regexps[gr = '\A[0-9a-fA-F_\\-+/]'] ||= Regexp.new(gr), :regexp, index)
1322
+ r4 = true
1323
+ @index += 1
1324
+ else
1325
+ terminal_parse_failure('[0-9a-fA-F_\\-+/]')
1326
+ r4 = nil
1327
+ end
1328
+ if r4
1329
+ s3 << r4
1330
+ else
1331
+ break
1332
+ end
1333
+ end
1334
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1335
+ s2 << r3
1336
+ if r3
1337
+ s5, i5 = [], index
1338
+ loop do
1339
+ if has_terminal?(@regexps[gr = '\A[=]'] ||= Regexp.new(gr), :regexp, index)
1340
+ r6 = true
1341
+ @index += 1
1342
+ else
1343
+ terminal_parse_failure('[=]')
1344
+ r6 = nil
1345
+ end
1346
+ if r6
1347
+ s5 << r6
1348
+ else
1349
+ break
1350
+ end
1351
+ end
1352
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
1353
+ s2 << r5
1354
+ end
1355
+ if s2.last
1356
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1357
+ r2.extend(Hstring0)
1358
+ else
1359
+ @index = i2
1360
+ r2 = nil
1361
+ end
1362
+ s0 << r2
1363
+ if r2
1364
+ if (match_len = has_terminal?("'", false, index))
1365
+ r7 = true
1366
+ @index += match_len
1367
+ else
1368
+ terminal_parse_failure('"\'"')
1369
+ r7 = nil
1370
+ end
1371
+ s0 << r7
1372
+ end
1373
+ end
1374
+ if s0.last
1375
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1376
+ r0.extend(Hstring1)
1377
+ r0.extend(Hstring2)
1378
+ else
1379
+ @index = i0
1380
+ r0 = nil
1381
+ end
1382
+
1383
+ node_cache[:hstring][start_index] = r0
1384
+
1385
+ r0
1386
+ end
1387
+
1264
1388
  module Array0
1265
1389
  def ows1
1266
1390
  elements[1]
@@ -1334,7 +1458,7 @@ module CBOR_DIAG
1334
1458
  r1 = true
1335
1459
  @index += match_len
1336
1460
  else
1337
- terminal_parse_failure('[')
1461
+ terminal_parse_failure('\'[\'')
1338
1462
  r1 = nil
1339
1463
  end
1340
1464
  s0 << r1
@@ -1356,7 +1480,7 @@ module CBOR_DIAG
1356
1480
  r9 = true
1357
1481
  @index += match_len
1358
1482
  else
1359
- terminal_parse_failure(',')
1483
+ terminal_parse_failure('\',\'')
1360
1484
  r9 = nil
1361
1485
  end
1362
1486
  s8 << r9
@@ -1410,7 +1534,7 @@ module CBOR_DIAG
1410
1534
  r14 = true
1411
1535
  @index += match_len
1412
1536
  else
1413
- terminal_parse_failure(']')
1537
+ terminal_parse_failure('\']\'')
1414
1538
  r14 = nil
1415
1539
  end
1416
1540
  s0 << r14
@@ -1505,7 +1629,7 @@ module CBOR_DIAG
1505
1629
  r1 = true
1506
1630
  @index += match_len
1507
1631
  else
1508
- terminal_parse_failure('{')
1632
+ terminal_parse_failure('\'{\'')
1509
1633
  r1 = nil
1510
1634
  end
1511
1635
  s0 << r1
@@ -1527,7 +1651,7 @@ module CBOR_DIAG
1527
1651
  r9 = true
1528
1652
  @index += match_len
1529
1653
  else
1530
- terminal_parse_failure(',')
1654
+ terminal_parse_failure('\',\'')
1531
1655
  r9 = nil
1532
1656
  end
1533
1657
  s8 << r9
@@ -1581,7 +1705,7 @@ module CBOR_DIAG
1581
1705
  r14 = true
1582
1706
  @index += match_len
1583
1707
  else
1584
- terminal_parse_failure('}')
1708
+ terminal_parse_failure('\'}\'')
1585
1709
  r14 = nil
1586
1710
  end
1587
1711
  s0 << r14
@@ -1649,7 +1773,7 @@ module CBOR_DIAG
1649
1773
  r3 = true
1650
1774
  @index += match_len
1651
1775
  else
1652
- terminal_parse_failure(":")
1776
+ terminal_parse_failure('":"')
1653
1777
  r3 = nil
1654
1778
  end
1655
1779
  s0 << r3
@@ -1835,7 +1959,7 @@ module CBOR_DIAG
1835
1959
  r2 = true
1836
1960
  @index += match_len
1837
1961
  else
1838
- terminal_parse_failure('(')
1962
+ terminal_parse_failure('\'(\'')
1839
1963
  r2 = nil
1840
1964
  end
1841
1965
  s1 << r2
@@ -1847,7 +1971,7 @@ module CBOR_DIAG
1847
1971
  r4 = true
1848
1972
  @index += match_len
1849
1973
  else
1850
- terminal_parse_failure("_")
1974
+ terminal_parse_failure('"_"')
1851
1975
  r4 = nil
1852
1976
  end
1853
1977
  s1 << r4
@@ -1869,7 +1993,7 @@ module CBOR_DIAG
1869
1993
  r11 = true
1870
1994
  @index += match_len
1871
1995
  else
1872
- terminal_parse_failure(",")
1996
+ terminal_parse_failure('","')
1873
1997
  r11 = nil
1874
1998
  end
1875
1999
  s10 << r11
@@ -1915,7 +2039,7 @@ module CBOR_DIAG
1915
2039
  r15 = true
1916
2040
  @index += match_len
1917
2041
  else
1918
- terminal_parse_failure(')')
2042
+ terminal_parse_failure('\')\'')
1919
2043
  r15 = nil
1920
2044
  end
1921
2045
  s1 << r15
@@ -1941,7 +2065,7 @@ module CBOR_DIAG
1941
2065
  r17 = true
1942
2066
  @index += match_len
1943
2067
  else
1944
- terminal_parse_failure('(')
2068
+ terminal_parse_failure('\'(\'')
1945
2069
  r17 = nil
1946
2070
  end
1947
2071
  s16 << r17
@@ -1953,7 +2077,7 @@ module CBOR_DIAG
1953
2077
  r19 = true
1954
2078
  @index += match_len
1955
2079
  else
1956
- terminal_parse_failure("_")
2080
+ terminal_parse_failure('"_"')
1957
2081
  r19 = nil
1958
2082
  end
1959
2083
  s16 << r19
@@ -1975,7 +2099,7 @@ module CBOR_DIAG
1975
2099
  r26 = true
1976
2100
  @index += match_len
1977
2101
  else
1978
- terminal_parse_failure(",")
2102
+ terminal_parse_failure('","')
1979
2103
  r26 = nil
1980
2104
  end
1981
2105
  s25 << r26
@@ -2021,7 +2145,7 @@ module CBOR_DIAG
2021
2145
  r30 = true
2022
2146
  @index += match_len
2023
2147
  else
2024
- terminal_parse_failure(')')
2148
+ terminal_parse_failure('\')\'')
2025
2149
  r30 = nil
2026
2150
  end
2027
2151
  s16 << r30
@@ -2091,7 +2215,7 @@ module CBOR_DIAG
2091
2215
  r3 = true
2092
2216
  @index += match_len
2093
2217
  else
2094
- terminal_parse_failure("_")
2218
+ terminal_parse_failure('"_"')
2095
2219
  r3 = nil
2096
2220
  end
2097
2221
  if r3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cbor-diag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-09 00:00:00.000000000 Z
11
+ date: 2015-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -105,3 +105,4 @@ signing_key:
105
105
  specification_version: 4
106
106
  summary: CBOR (Concise Binary Object Representation) diagnostic notation
107
107
  test_files: []
108
+ has_rdoc: false