pubid 2.0.0.pre.alpha.14 → 2.0.0.pre.alpha.16
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/data/parg/adobe.json +1 -0
- data/data/parg/aiee.parg +37 -0
- data/data/parg/amca.json +1 -0
- data/data/parg/ansi.json +1 -0
- data/data/parg/api.json +1 -0
- data/data/parg/ashrae.json +1 -0
- data/data/parg/asme.json +1 -0
- data/data/parg/astm.json +1 -0
- data/data/parg/bipm.json +1 -0
- data/data/parg/bsi.json +1 -0
- data/data/parg/calconnect.json +1 -0
- data/data/parg/ccsds.json +1 -0
- data/data/parg/cen_cenelec.json +1 -0
- data/data/parg/cen_cenelec.parg +42 -0
- data/data/parg/cie.json +1 -0
- data/data/parg/csa.json +1 -0
- data/data/parg/doi.json +1 -0
- data/data/parg/easc.json +1 -0
- data/data/parg/ecma.json +1 -0
- data/data/parg/etsi.json +1 -0
- data/data/parg/evs.json +1 -0
- data/data/parg/gb.json +1 -0
- data/data/parg/gost.json +1 -0
- data/data/parg/iala.json +1 -0
- data/data/parg/iana.json +1 -0
- data/data/parg/idf.parg +39 -0
- data/data/parg/iec.json +1 -0
- data/data/parg/ieee.json +1 -0
- data/data/parg/ietf.json +1 -0
- data/data/parg/ire.parg +39 -0
- data/data/parg/isbn.json +1 -0
- data/data/parg/iso.json +1 -0
- data/data/parg/itu.json +1 -0
- data/data/parg/jcgm.json +1 -0
- data/data/parg/jis.json +1 -0
- data/data/parg/nesc.parg +38 -0
- data/data/parg/nist.json +1 -0
- data/data/parg/oasis.json +1 -0
- data/data/parg/ogc.json +1 -0
- data/data/parg/oiml.json +1 -0
- data/data/parg/omg.json +1 -0
- data/data/parg/plateau.json +1 -0
- data/data/parg/sae.json +1 -0
- data/data/parg/tgpp.json +1 -0
- data/data/parg/un.json +1 -0
- data/data/parg/w3c.json +1 -0
- data/data/parg/xsf.json +1 -0
- data/lib/pubid/version.rb +1 -1
- data/lib/pubid.rb +12 -7
- metadata +49 -2
data/data/parg/ietf.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"0.1.0","grammar":"PubidIetf","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":9}},{"Str":{"pattern":"RFC"}},{"Entity":{"atom":3}},{"Str":{"pattern":" "}},{"Repetition":{"atom":2,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":6}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":5,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":7}},{"Sequence":{"atoms":[1,4,8]}},{"Entity":{"atom":21}},{"Str":{"pattern":"BCP"}},{"Str":{"pattern":"STD"}},{"Str":{"pattern":"FYI"}},{"Alternative":{"atoms":[11,12,13]}},{"Named":{"name":"series","atom":14}},{"Entity":{"atom":3}},{"Repetition":{"atom":16,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":6}},{"Repetition":{"atom":18,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":19}},{"Sequence":{"atoms":[15,17,20]}},{"Entity":{"atom":35}},{"Str":{"pattern":"draft-"}},{"Entity":{"atom":32}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Re":{"pattern":"[+]"}},{"Re":{"pattern":"[_]"}},{"Re":{"pattern":"[.]"}},{"Re":{"pattern":"[\\-]"}},{"Alternative":{"atoms":[25,26,27,28,29,30,31]}},{"Repetition":{"atom":24,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"draft_rest","atom":33}},{"Sequence":{"atoms":[23,34]}},{"Alternative":{"atoms":[0,10,22]}}],"root":36},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":[]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"RFC 2616","expect":{}},{"entry":"identifier","kind":"accept","input":"RFC2616","expect":{}},{"entry":"identifier","kind":"accept","input":"BCP 14","expect":{}},{"entry":"identifier","kind":"accept","input":"draft-ietf-httpbis-messaging-19","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/ietf/parser.rb: three families keyed on the leading\n# token — RFC, sub-series (BCP/STD/FYI, padded forms allowed), and\n# Internet-Drafts (the wide draft tail is safe: the alternation is\n# leading-token keyed).\n\ngrammar PubidIetf version \"0.1.0\" {\n rfc = \"RFC\" [space] (1*digit) as number\n subseries = (\"BCP\" / \"STD\" / \"FYI\") as series [space] (1*digit) as number\n draft_rest_char = %x30-39 / %x41-5A / %x61-7A / %x2B / %x5F / %x2E / %x2D\n draft = \"draft-\" (1*draft_rest_char) as draft_rest\n identifier = rfc / subseries / draft\n digit = %x30-39\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"RFC 2616\"\n accept \"RFC2616\"\n accept \"BCP 14\"\n accept \"draft-ietf-httpbis-messaging-19\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:a352aba9e5161643bcbc86a66c1c15a7bcf68aabdcce5470b2af78ad6e908e06"}
|
data/data/parg/ire.parg
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Port of lib/pubid/ieee/ire/parser.rb — IRE (pre-IEEE) designations:
|
|
2
|
+
# year-first and prefix-first forms, types (Trans./Standard/Std),
|
|
3
|
+
# numbers (dotted letters, IRE-glued, letters-dash) and dates.
|
|
4
|
+
# Consumed by the ieee grammar via `use ire`.
|
|
5
|
+
|
|
6
|
+
grammar PubidIre version "0.1.0" {
|
|
7
|
+
digit = %x30-39
|
|
8
|
+
upper = %x41-5A
|
|
9
|
+
digits = 1*digit
|
|
10
|
+
space = " "
|
|
11
|
+
dash = "-"
|
|
12
|
+
dot = "."
|
|
13
|
+
|
|
14
|
+
year_short = (%x31-36 digit)
|
|
15
|
+
year_full = (("191" digit)) / (("19" ("2" / "3" / "4" / "5") digit)) / (("196" %x30-33))
|
|
16
|
+
year = year_full / year_short
|
|
17
|
+
ire_prefix = ("IEEE-IRE" / "IRE") as publisher
|
|
18
|
+
ire_type = ("Trans." / "Standard" / "Std") as type
|
|
19
|
+
number = (((digits (space / dot) upper digits)) / ((digits dot "IRE" digits dot digits upper digits)) / ((2*4upper dash digits)) / (digits)) as number
|
|
20
|
+
yr_sep = (space [(dash / ",")] [space]) / (dash / ",") / space
|
|
21
|
+
date = [yr_sep (year) as year]
|
|
22
|
+
|
|
23
|
+
# The trailing optional is flattened on purpose: a nested [([x] [y])]
|
|
24
|
+
# compiles to branches that commit past the leading space in the
|
|
25
|
+
# pure-Ruby VM, losing the backtrack the year-less forms need.
|
|
26
|
+
ire_identifier_year_first = ((year) as year) space ire_prefix space [(ire_type space)] number [yr_sep (year_full) as full_year]
|
|
27
|
+
ire_identifier_prefix_first = ire_prefix space [(ire_type space)] number date
|
|
28
|
+
ire_identifier = ire_identifier_year_first / ire_identifier_prefix_first
|
|
29
|
+
|
|
30
|
+
entry ire_identifier: ire_identifier
|
|
31
|
+
|
|
32
|
+
test {
|
|
33
|
+
accept "IRE Trans. PGI-7"
|
|
34
|
+
accept "1930 IRE 20"
|
|
35
|
+
accept "IRE Standard 15 S1"
|
|
36
|
+
accept "IRE 28"
|
|
37
|
+
reject "nonsense"
|
|
38
|
+
}
|
|
39
|
+
}
|
data/data/parg/isbn.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"0.1.0","grammar":"PubidIsbn","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":13}},{"Str":{"pattern":"ISBN"}},{"Entity":{"atom":3}},{"Str":{"pattern":" "}},{"Entity":{"atom":3}},{"Repetition":{"atom":4,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":7}},{"Str":{"pattern":":"}},{"Entity":{"atom":3}},{"Repetition":{"atom":8,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[5,6,9]}},{"Alternative":{"atoms":[2,10]}},{"Sequence":{"atoms":[1,11]}},{"Repetition":{"atom":12,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":0,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":33}},{"Entity":{"atom":19}},{"Entity":{"atom":18}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":17,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":21}},{"Str":{"pattern":"-"}},{"Entity":{"atom":19}},{"Sequence":{"atoms":[20,22]}},{"Repetition":{"atom":23,"min":0,"max":null,"tag":"Repetition"}},{"Entity":{"atom":21}},{"Entity":{"atom":29}},{"Entity":{"atom":18}},{"Str":{"pattern":"X"}},{"Alternative":{"atoms":[27,28]}},{"Sequence":{"atoms":[25,26]}},{"Repetition":{"atom":30,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[16,24,31]}},{"Named":{"name":"body","atom":32}},{"Entity":{"atom":40}},{"Entity":{"atom":18}},{"Repetition":{"atom":35,"min":9,"max":12,"tag":"Repetition"}},{"Entity":{"atom":29}},{"Repetition":{"atom":37,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[36,38]}},{"Named":{"name":"body","atom":39}},{"Alternative":{"atoms":[15,34]}},{"Sequence":{"atoms":[14,41]}}],"root":42},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":[]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ISBN 978-0-306-40615-7","expect":{}},{"entry":"identifier","kind":"accept","input":"978-0-306-40615-7","expect":{}},{"entry":"identifier","kind":"accept","input":"0-306-40615-2","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/isbn/parser.rb: [ISBN[ |:]] digits/hyphens with an\n# optional final X (ISBN-10 check digit), per ISO 2108.\n\ngrammar PubidIsbn version \"0.1.0\" {\n digit = %x30-39\n x_digit = digit / \"X\"\n isbn_prefix = [\"ISBN\" (space / ([space] colon [space]))]\n digit_group = 1*digit\n hyphen_body = (digit_group *(hyphen digit_group) [hyphen x_digit]) as body\n plain_body = (9*12digit [x_digit]) as body\n identifier = [isbn_prefix] (hyphen_body / plain_body)\n space = \" \"\n colon = \":\"\n hyphen = \"-\"\n entry identifier: identifier\n\n test {\n accept \"ISBN 978-0-306-40615-7\"\n accept \"978-0-306-40615-7\"\n accept \"0-306-40615-2\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:136df0300843ee4296f459d23ecdc2c7502c088fcbb4a080fa8033414fcd40ea"}
|
data/data/parg/iso.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"0.3.0","grammar":"PubidIso","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":402}},{"Str":{"pattern":"Fpr"}},{"Named":{"name":"nsb_stage","atom":1}},{"Entity":{"atom":4}},{"Entity":{"atom":8}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Alternative":{"atoms":[5,6]}},{"Named":{"name":"publisher","atom":7}},{"Entity":{"atom":10}},{"Str":{"pattern":" "}},{"Repetition":{"atom":9,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":35}},{"Entity":{"atom":33}},{"Entity":{"atom":15}},{"Str":{"pattern":"/"}},{"Entity":{"atom":10}},{"Repetition":{"atom":16,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":31}},{"Str":{"pattern":"ASME"}},{"Str":{"pattern":"ASTM"}},{"Str":{"pattern":"IEEE"}},{"Str":{"pattern":"OECD"}},{"Str":{"pattern":"UNDP"}},{"Str":{"pattern":"CEI"}},{"Str":{"pattern":"CIE"}},{"Str":{"pattern":"CIW"}},{"Str":{"pattern":"HL7"}},{"Str":{"pattern":"IEC"}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"SAE"}},{"Alternative":{"atoms":[19,20,21,22,23,24,25,26,27,28,29,30]}},{"Named":{"name":"copublisher","atom":18}},{"Sequence":{"atoms":[14,17,32]}},{"Repetition":{"atom":13,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"copublishers","atom":34}},{"Repetition":{"atom":12,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":37,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":163}},{"Entity":{"atom":155}},{"Str":{"pattern":"Directives, Part"}},{"Str":{"pattern":"Directives Part"}},{"Str":{"pattern":"Directives,"}},{"Str":{"pattern":"Directives"}},{"Str":{"pattern":"Supplement"}},{"Str":{"pattern":"AWI GUIDE"}},{"Str":{"pattern":"AWI Guide"}},{"Str":{"pattern":"PRF GUIDE"}},{"Str":{"pattern":"PRF Guide"}},{"Str":{"pattern":"PWI Guide"}},{"Str":{"pattern":"AWI DATA"}},{"Str":{"pattern":"CD GUIDE"}},{"Str":{"pattern":"CD Guide"}},{"Str":{"pattern":"FD GUIDE"}},{"Str":{"pattern":"FD Guide"}},{"Str":{"pattern":"FDIS ISP"}},{"Str":{"pattern":"NP GUIDE"}},{"Str":{"pattern":"NP Guide"}},{"Str":{"pattern":"PRF DATA"}},{"Str":{"pattern":"WD GUIDE"}},{"Str":{"pattern":"WD Guide"}},{"Str":{"pattern":"AWI ISP"}},{"Str":{"pattern":"AWI IWA"}},{"Str":{"pattern":"AWI PAS"}},{"Str":{"pattern":"AWI TTA"}},{"Str":{"pattern":"CD DATA"}},{"Str":{"pattern":"DIR SUP"}},{"Str":{"pattern":"DIS ISP"}},{"Str":{"pattern":"FDGuide"}},{"Str":{"pattern":"FDIS TR"}},{"Str":{"pattern":"NP DATA"}},{"Str":{"pattern":"PRF ISP"}},{"Str":{"pattern":"PRF IWA"}},{"Str":{"pattern":"PRF PAS"}},{"Str":{"pattern":"PRF TTA"}},{"Str":{"pattern":"PWI ISP"}},{"Str":{"pattern":"PWI IWA"}},{"Str":{"pattern":"PWI PAS"}},{"Str":{"pattern":"PWI TTA"}},{"Str":{"pattern":"WD DATA"}},{"Str":{"pattern":"AWI TR"}},{"Str":{"pattern":"AWI TS"}},{"Str":{"pattern":"CD ISP"}},{"Str":{"pattern":"CD IWA"}},{"Str":{"pattern":"CD PAS"}},{"Str":{"pattern":"CD TTA"}},{"Str":{"pattern":"D DATA"}},{"Str":{"pattern":"DGUIDE"}},{"Str":{"pattern":"DGuide"}},{"Str":{"pattern":"DIS TR"}},{"Str":{"pattern":"NP ISP"}},{"Str":{"pattern":"NP IWA"}},{"Str":{"pattern":"NP PAS"}},{"Str":{"pattern":"NP TTA"}},{"Str":{"pattern":"PRF TR"}},{"Str":{"pattern":"PRF TS"}},{"Str":{"pattern":"PWI TR"}},{"Str":{"pattern":"PWI TS"}},{"Str":{"pattern":"WD ISP"}},{"Str":{"pattern":"WD IWA"}},{"Str":{"pattern":"WD PAS"}},{"Str":{"pattern":"WD TTA"}},{"Str":{"pattern":"CD TR"}},{"Str":{"pattern":"CD TS"}},{"Str":{"pattern":"FDISP"}},{"Str":{"pattern":"FDPAS"}},{"Str":{"pattern":"FDTTA"}},{"Str":{"pattern":"GUIDE"}},{"Str":{"pattern":"Guide"}},{"Str":{"pattern":"NP TR"}},{"Str":{"pattern":"NP TS"}},{"Str":{"pattern":"PreCD"}},{"Str":{"pattern":"WD TR"}},{"Str":{"pattern":"WD TS"}},{"Str":{"pattern":"preCD"}},{"Str":{"pattern":"CDTS"}},{"Str":{"pattern":"DATA"}},{"Str":{"pattern":"DISP"}},{"Str":{"pattern":"DIWA"}},{"Str":{"pattern":"DPAS"}},{"Str":{"pattern":"DTTA"}},{"Str":{"pattern":"FDIS"}},{"Str":{"pattern":"FDTR"}},{"Str":{"pattern":"FDTS"}},{"Str":{"pattern":"NWIP"}},{"Str":{"pattern":"PDTR"}},{"Str":{"pattern":"PDTS"}},{"Str":{"pattern":"WDAR"}},{"Str":{"pattern":"AWI"}},{"Str":{"pattern":"DIR"}},{"Str":{"pattern":"DIS"}},{"Str":{"pattern":"DTR"}},{"Str":{"pattern":"DTS"}},{"Str":{"pattern":"FCD"}},{"Str":{"pattern":"FPD"}},{"Str":{"pattern":"Fpr"}},{"Str":{"pattern":"ISP"}},{"Str":{"pattern":"IWA"}},{"Str":{"pattern":"PAS"}},{"Str":{"pattern":"PRF"}},{"Str":{"pattern":"PWI"}},{"Str":{"pattern":"SUP"}},{"Str":{"pattern":"TTA"}},{"Str":{"pattern":"WDA"}},{"Str":{"pattern":"WDR"}},{"Str":{"pattern":"WDS"}},{"Str":{"pattern":"CD"}},{"Str":{"pattern":"DP"}},{"Str":{"pattern":"IS"}},{"Str":{"pattern":"NP"}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"TS"}},{"Str":{"pattern":"WD"}},{"Str":{"pattern":"R"}},{"Alternative":{"atoms":[41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154]}},{"Named":{"name":"type_with_stage","atom":40}},{"Entity":{"atom":158}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Named":{"name":"stage_iteration","atom":157}},{"Entity":{"atom":10}},{"Sequence":{"atoms":[159,160]}},{"Repetition":{"atom":161,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[156,162]}},{"Repetition":{"atom":39,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":165,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":322}},{"Entity":{"atom":272}},{"Entity":{"atom":171}},{"Entity":{"atom":158}},{"Repetition":{"atom":170,"min":1,"max":5,"tag":"Repetition"}},{"Entity":{"atom":269}},{"Entity":{"atom":193}},{"Entity":{"atom":178}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"‑"}},{"Str":{"pattern":"‐"}},{"Alternative":{"atoms":[175,176,177]}},{"Entity":{"atom":10}},{"Repetition":{"atom":179,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":185}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[182,183,184]}},{"Repetition":{"atom":181,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":191}},{"Entity":{"atom":178}},{"Entity":{"atom":185}},{"Repetition":{"atom":189,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[188,190]}},{"Repetition":{"atom":187,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[174,180,186,192]}},{"Entity":{"atom":268}},{"Entity":{"atom":15}},{"Entity":{"atom":10}},{"Repetition":{"atom":196,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Str":{"pattern":"FDIS Suppl"}},{"Str":{"pattern":"AWI Suppl"}},{"Str":{"pattern":"DIS Suppl"}},{"Str":{"pattern":"PRF Suppl"}},{"Str":{"pattern":"PWI Suppl"}},{"Str":{"pattern":"Addendum"}},{"Str":{"pattern":"CD Suppl"}},{"Str":{"pattern":"FDIS Add"}},{"Str":{"pattern":"FDIS Cor"}},{"Str":{"pattern":"NP Suppl"}},{"Str":{"pattern":"WD Suppl"}},{"Str":{"pattern":"AWI Add"}},{"Str":{"pattern":"AWI Amd"}},{"Str":{"pattern":"AWI Cor"}},{"Str":{"pattern":"DIS Add"}},{"Str":{"pattern":"DIS Cor"}},{"Str":{"pattern":"FDSuppl"}},{"Str":{"pattern":"PRF Amd"}},{"Str":{"pattern":"PRF Cor"}},{"Str":{"pattern":"PWI Add"}},{"Str":{"pattern":"PWI Amd"}},{"Str":{"pattern":"PWI Cor"}},{"Str":{"pattern":"CD Add"}},{"Str":{"pattern":"CD Amd"}},{"Str":{"pattern":"CD Cor"}},{"Str":{"pattern":"DSuppl"}},{"Str":{"pattern":"FD ADD"}},{"Str":{"pattern":"NP Add"}},{"Str":{"pattern":"NP Amd"}},{"Str":{"pattern":"NP Cor"}},{"Str":{"pattern":"Suppl."}},{"Str":{"pattern":"WD Add"}},{"Str":{"pattern":"WD Amd"}},{"Str":{"pattern":"WD Cor"}},{"Str":{"pattern":"D ADD"}},{"Str":{"pattern":"FDAdd"}},{"Str":{"pattern":"FDAmd"}},{"Str":{"pattern":"FDCOR"}},{"Str":{"pattern":"FDCor"}},{"Str":{"pattern":"FPDAM"}},{"Str":{"pattern":"Suppl"}},{"Str":{"pattern":"pDCOR"}},{"Str":{"pattern":"Add."}},{"Str":{"pattern":"Amd."}},{"Str":{"pattern":"Cor."}},{"Str":{"pattern":"DAdd"}},{"Str":{"pattern":"DAmd"}},{"Str":{"pattern":"DCOR"}},{"Str":{"pattern":"DCor"}},{"Str":{"pattern":"FCOR"}},{"Str":{"pattern":"FDAD"}},{"Str":{"pattern":"FDAM"}},{"Str":{"pattern":"FDad"}},{"Str":{"pattern":"PDAM"}},{"Str":{"pattern":"ADD"}},{"Str":{"pattern":"AMD"}},{"Str":{"pattern":"Add"}},{"Str":{"pattern":"Amd"}},{"Str":{"pattern":"COR"}},{"Str":{"pattern":"Cor"}},{"Str":{"pattern":"DAD"}},{"Str":{"pattern":"DAM"}},{"Str":{"pattern":"Dad"}},{"Str":{"pattern":"Ext"}},{"Alternative":{"atoms":[199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262]}},{"Named":{"name":"type_with_stage","atom":263}},{"Lookahead":{"atom":198,"positive":false}},{"Entity":{"atom":185}},{"Repetition":{"atom":266,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[195,197,265,267]}},{"Alternative":{"atoms":[173,194]}},{"Repetition":{"atom":172,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[169,270]}},{"Named":{"name":"number_with_part","atom":271}},{"Entity":{"atom":278}},{"Entity":{"atom":275}},{"Str":{"pattern":"."}},{"Entity":{"atom":158}},{"Named":{"name":"stage_iteration","atom":276}},{"Sequence":{"atoms":[274,277]}},{"Repetition":{"atom":273,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":280,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":320}},{"Entity":{"atom":284}},{"Str":{"pattern":":"}},{"Entity":{"atom":178}},{"Alternative":{"atoms":[283,285]}},{"Entity":{"atom":318}},{"Entity":{"atom":291}},{"Str":{"pattern":"--"}},{"Str":{"pattern":"—"}},{"Alternative":{"atoms":[289,290]}},{"Named":{"name":"undated_marker","atom":288}},{"Entity":{"atom":316}},{"Entity":{"atom":303}},{"Entity":{"atom":298}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[296,297]}},{"Entity":{"atom":158}},{"Repetition":{"atom":299,"min":2,"max":null,"tag":"Repetition"}},{"Entity":{"atom":158}},{"Lookahead":{"atom":301,"positive":false}},{"Sequence":{"atoms":[295,300,302]}},{"Entity":{"atom":178}},{"Entity":{"atom":307}},{"Entity":{"atom":158}},{"Repetition":{"atom":306,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[304,305]}},{"Repetition":{"atom":308,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":178}},{"Entity":{"atom":313}},{"Entity":{"atom":158}},{"Repetition":{"atom":312,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[310,311]}},{"Repetition":{"atom":314,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[294,309,315]}},{"Named":{"name":"date","atom":293}},{"Alternative":{"atoms":[292,317]}},{"Repetition":{"atom":287,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[286,319]}},{"Repetition":{"atom":282,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[168,279,281,321]}},{"Entity":{"atom":383}},{"Entity":{"atom":343}},{"Entity":{"atom":10}},{"Repetition":{"atom":325,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":341}},{"Entity":{"atom":333}},{"Str":{"pattern":"Edition"}},{"Str":{"pattern":"Ed."}},{"Str":{"pattern":"ED"}},{"Str":{"pattern":"Ed"}},{"Alternative":{"atoms":[329,330,331,332]}},{"Entity":{"atom":10}},{"Repetition":{"atom":334,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":338}},{"Entity":{"atom":158}},{"Repetition":{"atom":337,"min":1,"max":null,"tag":"Repetition"}},{"Repetition":{"atom":336,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[328,335,339]}},{"Named":{"name":"edition","atom":340}},{"Repetition":{"atom":327,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[326,342]}},{"Entity":{"atom":375}},{"Str":{"pattern":"("}},{"Entity":{"atom":373}},{"Entity":{"atom":371}},{"Entity":{"atom":355}},{"Re":{"pattern":"[E]"}},{"Re":{"pattern":"[F]"}},{"Re":{"pattern":"[A]"}},{"Re":{"pattern":"[R]"}},{"Re":{"pattern":"[D]"}},{"Re":{"pattern":"[S]"}},{"Alternative":{"atoms":[349,350,351,352,353,354]}},{"Entity":{"atom":359}},{"Entity":{"atom":15}},{"Str":{"pattern":","}},{"Alternative":{"atoms":[357,358]}},{"Repetition":{"atom":356,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[348,360]}},{"Entity":{"atom":370}},{"Entity":{"atom":366}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[364,365]}},{"Repetition":{"atom":363,"min":1,"max":null,"tag":"Repetition"}},{"Str":{"pattern":","}},{"Repetition":{"atom":368,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[367,369]}},{"Alternative":{"atoms":[361,362]}},{"Repetition":{"atom":347,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"languages","atom":372}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[345,346,374]}},{"Repetition":{"atom":344,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":377,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":381}},{"Str":{"pattern":"(all parts)"}},{"Named":{"name":"all_parts","atom":380}},{"Repetition":{"atom":379,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[324,376,378,382]}},{"Sequence":{"atoms":[2,3,11,36,38,164,166,167,323]}},{"Str":{"pattern":"WD"}},{"Named":{"name":"nsb_stage","atom":385}},{"Entity":{"atom":15}},{"Entity":{"atom":4}},{"Entity":{"atom":10}},{"Repetition":{"atom":389,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":35}},{"Repetition":{"atom":391,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":393,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":163}},{"Repetition":{"atom":395,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":397,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":322}},{"Entity":{"atom":383}},{"Sequence":{"atoms":[386,387,388,390,392,394,396,398,399,400]}},{"Alternative":{"atoms":[384,401]}},{"Entity":{"atom":514}},{"Entity":{"atom":4}},{"Entity":{"atom":15}},{"Entity":{"atom":10}},{"Alternative":{"atoms":[405,406]}},{"Entity":{"atom":452}},{"Str":{"pattern":"SAG_CRMI_CG"}},{"Str":{"pattern":"ISOlutions"}},{"Str":{"pattern":"SAG_ESG_CG"}},{"Str":{"pattern":"MENA_STAR"}},{"Str":{"pattern":"SAG_SF_CG"}},{"Str":{"pattern":"JSCTF-TF"}},{"Str":{"pattern":"SAG_CRMI"}},{"Str":{"pattern":"CCCC-TG"}},{"Str":{"pattern":"COPOLCO"}},{"Str":{"pattern":"COUNCIL"}},{"Str":{"pattern":"JTCG-TF"}},{"Str":{"pattern":"SAG_Acc"}},{"Str":{"pattern":"SAG_ESG"}},{"Str":{"pattern":"SAG_MRS"}},{"Str":{"pattern":"SAG_SF"}},{"Str":{"pattern":"CASCO"}},{"Str":{"pattern":"DEVCO"}},{"Str":{"pattern":"INFCO"}},{"Str":{"pattern":"REMCO"}},{"Str":{"pattern":"ATMG"}},{"Str":{"pattern":"CCCC"}},{"Str":{"pattern":"CPSG"}},{"Str":{"pattern":"GAAB"}},{"Str":{"pattern":"JDMT"}},{"Str":{"pattern":"JSAG"}},{"Str":{"pattern":"JTCG"}},{"Str":{"pattern":"SGPM"}},{"Str":{"pattern":"SMCC"}},{"Str":{"pattern":"STMG"}},{"Str":{"pattern":"TMBG"}},{"Str":{"pattern":"CAB"}},{"Str":{"pattern":"DMT"}},{"Str":{"pattern":"ITN"}},{"Str":{"pattern":"JCG"}},{"Str":{"pattern":"JTC"}},{"Str":{"pattern":"TMB"}},{"Str":{"pattern":"WMO"}},{"Str":{"pattern":"CS"}},{"Str":{"pattern":"GA"}},{"Str":{"pattern":"IT"}},{"Str":{"pattern":"PC"}},{"Str":{"pattern":"TC"}},{"Alternative":{"atoms":[409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450]}},{"Named":{"name":"tc_type","atom":451}},{"Entity":{"atom":10}},{"Entity":{"atom":338}},{"Named":{"name":"tc_number","atom":454}},{"Entity":{"atom":501}},{"Entity":{"atom":15}},{"Entity":{"atom":462}},{"Str":{"pattern":"SC/QC"}},{"Str":{"pattern":"SC"}},{"Alternative":{"atoms":[459,460]}},{"Named":{"name":"sc_type","atom":461}},{"Entity":{"atom":10}},{"Entity":{"atom":338}},{"Named":{"name":"sc_number","atom":464}},{"Entity":{"atom":15}},{"Entity":{"atom":490}},{"Str":{"pattern":"CSC/FIN"}},{"Str":{"pattern":"CSC/NOM"}},{"Str":{"pattern":"CSC/OVE"}},{"Str":{"pattern":"CSC/SP"}},{"Str":{"pattern":"ITSAG"}},{"Str":{"pattern":"ITSG"}},{"Str":{"pattern":"JCTF"}},{"Str":{"pattern":"JTAG"}},{"Str":{"pattern":"AhG"}},{"Str":{"pattern":"CAG"}},{"Str":{"pattern":"CSC"}},{"Str":{"pattern":"JAG"}},{"Str":{"pattern":"JSG"}},{"Str":{"pattern":"JTG"}},{"Str":{"pattern":"JWG"}},{"Str":{"pattern":"PPC"}},{"Str":{"pattern":"AG"}},{"Str":{"pattern":"QC"}},{"Str":{"pattern":"SF"}},{"Str":{"pattern":"TF"}},{"Str":{"pattern":"WG"}},{"Alternative":{"atoms":[468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488]}},{"Named":{"name":"wg_type","atom":489}},{"Entity":{"atom":10}},{"Entity":{"atom":338}},{"Named":{"name":"wg_number","atom":492}},{"Sequence":{"atoms":[457,458,463,465,466,467,491,493]}},{"Entity":{"atom":15}},{"Entity":{"atom":462}},{"Entity":{"atom":10}},{"Entity":{"atom":338}},{"Named":{"name":"sc_number","atom":498}},{"Sequence":{"atoms":[495,496,497,499]}},{"Alternative":{"atoms":[494,500]}},{"Repetition":{"atom":456,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Str":{"pattern":"N"}},{"Entity":{"atom":10}},{"Repetition":{"atom":505,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":338}},{"Named":{"name":"number","atom":507}},{"Entity":{"atom":284}},{"Entity":{"atom":303}},{"Named":{"name":"year","atom":510}},{"Sequence":{"atoms":[509,511]}},{"Repetition":{"atom":512,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[404,407,408,453,455,502,503,504,506,508,513]}},{"Entity":{"atom":645}},{"Entity":{"atom":624}},{"Entity":{"atom":590}},{"Entity":{"atom":576}},{"Entity":{"atom":525}},{"Entity":{"atom":4}},{"Entity":{"atom":10}},{"Repetition":{"atom":521,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":35}},{"Repetition":{"atom":523,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[520,522,524]}},{"Entity":{"atom":10}},{"Repetition":{"atom":526,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":530}},{"Str":{"pattern":"JTC 1"}},{"Named":{"name":"subgroup","atom":529}},{"Entity":{"atom":10}},{"Sequence":{"atoms":[528,531]}},{"Repetition":{"atom":532,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":540}},{"Str":{"pattern":"Directives, Part"}},{"Str":{"pattern":"Directives Part"}},{"Str":{"pattern":"Directives,"}},{"Str":{"pattern":"Directives"}},{"Str":{"pattern":"DIR"}},{"Alternative":{"atoms":[535,536,537,538,539]}},{"Named":{"name":"type_with_stage","atom":534}},{"Entity":{"atom":10}},{"Entity":{"atom":530}},{"Entity":{"atom":10}},{"Str":{"pattern":"SUP"}},{"Sequence":{"atoms":[544,545]}},{"Lookahead":{"atom":546,"positive":false}},{"Sequence":{"atoms":[542,543,547]}},{"Repetition":{"atom":548,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Entity":{"atom":567}},{"Entity":{"atom":171}},{"Entity":{"atom":564}},{"Entity":{"atom":10}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Alternative":{"atoms":[555,556]}},{"Entity":{"atom":15}},{"Lookahead":{"atom":558,"positive":false}},{"Entity":{"atom":10}},{"Str":{"pattern":"SUP"}},{"Sequence":{"atoms":[560,561]}},{"Lookahead":{"atom":562,"positive":false}},{"Sequence":{"atoms":[554,557,559,563]}},{"Repetition":{"atom":553,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[552,565]}},{"Named":{"name":"number_with_part","atom":566}},{"Sequence":{"atoms":[550,551]}},{"Repetition":{"atom":568,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":284}},{"Entity":{"atom":320}},{"Sequence":{"atoms":[570,571]}},{"Repetition":{"atom":572,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[569,573]}},{"Repetition":{"atom":574,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[519,527,533,541,549,575]}},{"Entity":{"atom":383}},{"Repetition":{"atom":577,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":579,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[578,580]}},{"Repetition":{"atom":581,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":320}},{"Repetition":{"atom":583,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":585,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[584,586]}},{"Repetition":{"atom":587,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[518,582,588]}},{"Named":{"name":"base_document","atom":589}},{"Entity":{"atom":621}},{"Str":{"pattern":"+ "}},{"Entity":{"atom":619}},{"Entity":{"atom":10}},{"Repetition":{"atom":594,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"--"}},{"Entity":{"atom":10}},{"Repetition":{"atom":597,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"Consolidated"}},{"Entity":{"atom":10}},{"Sequence":{"atoms":[595,596,598,599,600]}},{"Repetition":{"atom":601,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"ISO/IEC"}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Str":{"pattern":"JTC 1"}},{"Alternative":{"atoms":[603,604,605,606]}},{"Named":{"name":"publisher","atom":607}},{"Entity":{"atom":10}},{"Entity":{"atom":614}},{"Str":{"pattern":"Supplement"}},{"Str":{"pattern":"DIR SUP"}},{"Str":{"pattern":"SUP"}},{"Alternative":{"atoms":[611,612,613]}},{"Named":{"name":"type_with_stage","atom":610}},{"Sequence":{"atoms":[609,615]}},{"Entity":{"atom":320}},{"Repetition":{"atom":617,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[602,608,616,618]}},{"Named":{"name":"supplement","atom":593}},{"Sequence":{"atoms":[592,620]}},{"Repetition":{"atom":591,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"supplements","atom":622}},{"Sequence":{"atoms":[517,623]}},{"Entity":{"atom":635}},{"Entity":{"atom":576}},{"Named":{"name":"base","atom":626}},{"Entity":{"atom":10}},{"Repetition":{"atom":628,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":634}},{"Entity":{"atom":619}},{"Entity":{"atom":383}},{"Repetition":{"atom":632,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[631,633]}},{"Sequence":{"atoms":[627,629,630]}},{"Entity":{"atom":644}},{"Entity":{"atom":576}},{"Entity":{"atom":383}},{"Repetition":{"atom":638,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":640,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":320}},{"Repetition":{"atom":642,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[637,639,641,643]}},{"Alternative":{"atoms":[516,625,636]}},{"Entity":{"atom":652}},{"Str":{"pattern":"JCGM"}},{"Named":{"name":"publisher","atom":647}},{"Entity":{"atom":10}},{"Entity":{"atom":322}},{"Entity":{"atom":383}},{"Sequence":{"atoms":[648,649,650,651]}},{"Entity":{"atom":691}},{"Entity":{"atom":656}},{"Str":{"pattern":"ISO/R"}},{"Named":{"name":"iso_r_prefix","atom":655}},{"Entity":{"atom":10}},{"Entity":{"atom":670}},{"Entity":{"atom":171}},{"Entity":{"atom":269}},{"Repetition":{"atom":660,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[659,661]}},{"Named":{"name":"number_with_part","atom":662}},{"Entity":{"atom":278}},{"Repetition":{"atom":664,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":666,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":320}},{"Repetition":{"atom":668,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[663,665,667,669]}},{"Sequence":{"atoms":[654,657,658]}},{"Named":{"name":"base","atom":671}},{"Entity":{"atom":685}},{"Entity":{"atom":15}},{"Entity":{"atom":10}},{"Repetition":{"atom":675,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"—"}},{"Entity":{"atom":10}},{"Repetition":{"atom":678,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[676,677,679]}},{"Entity":{"atom":10}},{"Entity":{"atom":178}},{"Entity":{"atom":10}},{"Sequence":{"atoms":[681,682,683]}},{"Alternative":{"atoms":[674,680,684]}},{"Entity":{"atom":264}},{"Entity":{"atom":10}},{"Repetition":{"atom":687,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":322}},{"Entity":{"atom":383}},{"Sequence":{"atoms":[672,673,686,688,689,690]}},{"Entity":{"atom":697}},{"Entity":{"atom":656}},{"Entity":{"atom":10}},{"Entity":{"atom":670}},{"Entity":{"atom":383}},{"Sequence":{"atoms":[693,694,695,696]}},{"Entity":{"atom":770}},{"Entity":{"atom":755}},{"Entity":{"atom":740}},{"Entity":{"atom":722}},{"Entity":{"atom":705}},{"Str":{"pattern":"Guide"}},{"Str":{"pattern":"GUIDE"}},{"Alternative":{"atoms":[703,704]}},{"Named":{"name":"type_with_stage_fr","atom":702}},{"Entity":{"atom":10}},{"Sequence":{"atoms":[706,707]}},{"Repetition":{"atom":708,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":525}},{"Repetition":{"atom":710,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":712,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":15}},{"Repetition":{"atom":714,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":163}},{"Repetition":{"atom":716,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Repetition":{"atom":718,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":322}},{"Entity":{"atom":343}},{"Sequence":{"atoms":[709,711,713,715,717,719,720,721]}},{"Named":{"name":"base","atom":701}},{"Entity":{"atom":15}},{"Entity":{"atom":264}},{"Entity":{"atom":10}},{"Repetition":{"atom":726,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":322}},{"Sequence":{"atoms":[727,728]}},{"Entity":{"atom":275}},{"Entity":{"atom":338}},{"Named":{"name":"number","atom":731}},{"Sequence":{"atoms":[730,732]}},{"Entity":{"atom":10}},{"Repetition":{"atom":734,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":320}},{"Sequence":{"atoms":[735,736]}},{"Alternative":{"atoms":[729,733,737]}},{"Repetition":{"atom":738,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[723,724,725,739]}},{"Named":{"name":"base","atom":700}},{"Entity":{"atom":15}},{"Entity":{"atom":264}},{"Entity":{"atom":10}},{"Repetition":{"atom":744,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":322}},{"Entity":{"atom":383}},{"Sequence":{"atoms":[745,746,747]}},{"Entity":{"atom":275}},{"Entity":{"atom":338}},{"Named":{"name":"number","atom":750}},{"Entity":{"atom":383}},{"Sequence":{"atoms":[749,751,752]}},{"Alternative":{"atoms":[748,753]}},{"Sequence":{"atoms":[741,742,743,754]}},{"Named":{"name":"base","atom":699}},{"Entity":{"atom":15}},{"Entity":{"atom":264}},{"Entity":{"atom":10}},{"Repetition":{"atom":759,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":322}},{"Entity":{"atom":383}},{"Sequence":{"atoms":[760,761,762]}},{"Entity":{"atom":275}},{"Entity":{"atom":338}},{"Named":{"name":"number","atom":765}},{"Entity":{"atom":383}},{"Sequence":{"atoms":[764,766,767]}},{"Alternative":{"atoms":[763,768]}},{"Sequence":{"atoms":[756,757,758,769]}},{"Entity":{"atom":755}},{"Entity":{"atom":775}},{"Entity":{"atom":740}},{"Entity":{"atom":383}},{"Sequence":{"atoms":[773,774]}},{"Entity":{"atom":961}},{"Entity":{"atom":722}},{"Named":{"name":"base","atom":777}},{"Entity":{"atom":10}},{"Repetition":{"atom":779,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"|"}},{"Entity":{"atom":10}},{"Repetition":{"atom":782,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":959}},{"Entity":{"atom":954}},{"Entity":{"atom":920}},{"Entity":{"atom":905}},{"Entity":{"atom":790}},{"Str":{"pattern":"IDF"}},{"Named":{"name":"publisher","atom":789}},{"Entity":{"atom":792}},{"Str":{"pattern":" "}},{"Repetition":{"atom":791,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":795}},{"Str":{"pattern":"/"}},{"Repetition":{"atom":794,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":833}},{"Str":{"pattern":"AWI RM"}},{"Str":{"pattern":"PRF RM"}},{"Str":{"pattern":"PWI RM"}},{"Str":{"pattern":"CD RM"}},{"Str":{"pattern":"NP RM"}},{"Str":{"pattern":"WD RM"}},{"Str":{"pattern":"FDIS"}},{"Str":{"pattern":"FDRM"}},{"Str":{"pattern":"NWIP"}},{"Str":{"pattern":"PDRM"}},{"Str":{"pattern":"WDAR"}},{"Str":{"pattern":"AMD"}},{"Str":{"pattern":"AWI"}},{"Str":{"pattern":"COR"}},{"Str":{"pattern":"DIS"}},{"Str":{"pattern":"DRM"}},{"Str":{"pattern":"FCD"}},{"Str":{"pattern":"FPD"}},{"Str":{"pattern":"Fpr"}},{"Str":{"pattern":"PRF"}},{"Str":{"pattern":"PWI"}},{"Str":{"pattern":"WDA"}},{"Str":{"pattern":"WDR"}},{"Str":{"pattern":"CD"}},{"Str":{"pattern":"NP"}},{"Str":{"pattern":"RM"}},{"Str":{"pattern":"WD"}},{"Alternative":{"atoms":[798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824]}},{"Named":{"name":"type_with_stage","atom":825}},{"Entity":{"atom":828}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Named":{"name":"stage_iteration","atom":827}},{"Entity":{"atom":792}},{"Sequence":{"atoms":[829,830]}},{"Repetition":{"atom":831,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[826,832]}},{"Repetition":{"atom":797,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":792}},{"Repetition":{"atom":835,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":904}},{"Entity":{"atom":865}},{"Entity":{"atom":846}},{"Entity":{"atom":845}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Re":{"pattern":"[_]"}},{"Alternative":{"atoms":[841,842,843,844]}},{"Repetition":{"atom":840,"min":1,"max":5,"tag":"Repetition"}},{"Entity":{"atom":862}},{"Entity":{"atom":852}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"‑"}},{"Str":{"pattern":"‐"}},{"Alternative":{"atoms":[849,850,851]}},{"Entity":{"atom":792}},{"Repetition":{"atom":853,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":845}},{"Repetition":{"atom":855,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":852}},{"Entity":{"atom":845}},{"Repetition":{"atom":858,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[857,859]}},{"Repetition":{"atom":860,"min":0,"max":1,"tag":"Repetition"}},{"Sequence":{"atoms":[848,854,856,861]}},{"Repetition":{"atom":847,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[839,863]}},{"Named":{"name":"number_with_part","atom":864}},{"Entity":{"atom":871}},{"Entity":{"atom":868}},{"Str":{"pattern":"."}},{"Entity":{"atom":828}},{"Named":{"name":"stage_iteration","atom":869}},{"Sequence":{"atoms":[867,870]}},{"Repetition":{"atom":866,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":792}},{"Repetition":{"atom":873,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":876}},{"Str":{"pattern":":"}},{"Entity":{"atom":901}},{"Entity":{"atom":887}},{"Entity":{"atom":882}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[880,881]}},{"Entity":{"atom":828}},{"Repetition":{"atom":883,"min":2,"max":null,"tag":"Repetition"}},{"Entity":{"atom":828}},{"Lookahead":{"atom":885,"positive":false}},{"Sequence":{"atoms":[879,884,886]}},{"Entity":{"atom":852}},{"Entity":{"atom":891}},{"Entity":{"atom":828}},{"Repetition":{"atom":890,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[888,889]}},{"Repetition":{"atom":892,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":852}},{"Entity":{"atom":897}},{"Entity":{"atom":828}},{"Repetition":{"atom":896,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[894,895]}},{"Repetition":{"atom":898,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[878,893,899]}},{"Named":{"name":"date","atom":900}},{"Sequence":{"atoms":[875,877]}},{"Repetition":{"atom":902,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[838,872,874,903]}},{"Sequence":{"atoms":[788,793,796,834,836,837]}},{"Named":{"name":"base","atom":787}},{"Entity":{"atom":792}},{"Repetition":{"atom":907,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":795}},{"Entity":{"atom":792}},{"Repetition":{"atom":910,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":916}},{"Str":{"pattern":"AMD"}},{"Str":{"pattern":"COR"}},{"Alternative":{"atoms":[913,914]}},{"Named":{"name":"type_with_stage","atom":915}},{"Entity":{"atom":792}},{"Repetition":{"atom":917,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":904}},{"Sequence":{"atoms":[906,908,909,911,912,918,919]}},{"Entity":{"atom":953}},{"Entity":{"atom":792}},{"Repetition":{"atom":922,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":947}},{"Str":{"pattern":"("}},{"Entity":{"atom":927}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Repetition":{"atom":926,"min":1,"max":null,"tag":"Repetition"}},{"Str":{"pattern":","}},{"Repetition":{"atom":929,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[928,930]}},{"Entity":{"atom":939}},{"Re":{"pattern":"[E]"}},{"Re":{"pattern":"[F]"}},{"Re":{"pattern":"[A]"}},{"Re":{"pattern":"[R]"}},{"Re":{"pattern":"[D]"}},{"Re":{"pattern":"[S]"}},{"Alternative":{"atoms":[933,934,935,936,937,938]}},{"Entity":{"atom":795}},{"Repetition":{"atom":940,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[932,941]}},{"Alternative":{"atoms":[931,942]}},{"Named":{"name":"languages","atom":943}},{"Repetition":{"atom":944,"min":0,"max":null,"tag":"Repetition"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[925,945,946]}},{"Repetition":{"atom":924,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":951}},{"Str":{"pattern":"(all parts)"}},{"Named":{"name":"all_parts","atom":950}},{"Repetition":{"atom":949,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[923,948,952]}},{"Sequence":{"atoms":[786,921]}},{"Entity":{"atom":958}},{"Entity":{"atom":905}},{"Entity":{"atom":953}},{"Sequence":{"atoms":[956,957]}},{"Alternative":{"atoms":[785,955]}},{"Named":{"name":"joint_identifier","atom":784}},{"Sequence":{"atoms":[778,780,781,783,960]}},{"Entity":{"atom":965}},{"Entity":{"atom":722}},{"Entity":{"atom":383}},{"Sequence":{"atoms":[963,964]}},{"Alternative":{"atoms":[0,403,515,646,653,692,698,771,772,776,962]}}],"root":966},"bindings":[{"capture":"publisher","path":"publisher","type":"string","card":null,"preprocess":null},{"capture":"year","path":"year","type":"integer","card":null,"preprocess":null},{"capture":"number","path":"number","type":"integer","card":null,"preprocess":null},{"capture":"number_with_part","path":"number_with_part","type":"string","card":null,"preprocess":null},{"capture":"date","path":"date","type":"integer","card":null,"preprocess":null},{"capture":"publisher","path":"publisher_name","type":"string","card":null,"preprocess":"publisher_names"}]},"idf.identifier":{"root":"idf.identifier","grammar":{"atoms":[{"Entity":{"atom":169}},{"Entity":{"atom":135}},{"Entity":{"atom":120}},{"Entity":{"atom":5}},{"Str":{"pattern":"IDF"}},{"Named":{"name":"publisher","atom":4}},{"Entity":{"atom":7}},{"Str":{"pattern":" "}},{"Repetition":{"atom":6,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Str":{"pattern":"/"}},{"Repetition":{"atom":9,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":48}},{"Str":{"pattern":"AWI RM"}},{"Str":{"pattern":"PRF RM"}},{"Str":{"pattern":"PWI RM"}},{"Str":{"pattern":"CD RM"}},{"Str":{"pattern":"NP RM"}},{"Str":{"pattern":"WD RM"}},{"Str":{"pattern":"FDIS"}},{"Str":{"pattern":"FDRM"}},{"Str":{"pattern":"NWIP"}},{"Str":{"pattern":"PDRM"}},{"Str":{"pattern":"WDAR"}},{"Str":{"pattern":"AMD"}},{"Str":{"pattern":"AWI"}},{"Str":{"pattern":"COR"}},{"Str":{"pattern":"DIS"}},{"Str":{"pattern":"DRM"}},{"Str":{"pattern":"FCD"}},{"Str":{"pattern":"FPD"}},{"Str":{"pattern":"Fpr"}},{"Str":{"pattern":"PRF"}},{"Str":{"pattern":"PWI"}},{"Str":{"pattern":"WDA"}},{"Str":{"pattern":"WDR"}},{"Str":{"pattern":"CD"}},{"Str":{"pattern":"NP"}},{"Str":{"pattern":"RM"}},{"Str":{"pattern":"WD"}},{"Alternative":{"atoms":[13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]}},{"Named":{"name":"type_with_stage","atom":40}},{"Entity":{"atom":43}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Named":{"name":"stage_iteration","atom":42}},{"Entity":{"atom":7}},{"Sequence":{"atoms":[44,45]}},{"Repetition":{"atom":46,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[41,47]}},{"Repetition":{"atom":12,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":7}},{"Repetition":{"atom":50,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":119}},{"Entity":{"atom":80}},{"Entity":{"atom":61}},{"Entity":{"atom":60}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Re":{"pattern":"[_]"}},{"Alternative":{"atoms":[56,57,58,59]}},{"Repetition":{"atom":55,"min":1,"max":5,"tag":"Repetition"}},{"Entity":{"atom":77}},{"Entity":{"atom":67}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"‑"}},{"Str":{"pattern":"‐"}},{"Alternative":{"atoms":[64,65,66]}},{"Entity":{"atom":7}},{"Repetition":{"atom":68,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":60}},{"Repetition":{"atom":70,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":67}},{"Entity":{"atom":60}},{"Repetition":{"atom":73,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[72,74]}},{"Repetition":{"atom":75,"min":0,"max":1,"tag":"Repetition"}},{"Sequence":{"atoms":[63,69,71,76]}},{"Repetition":{"atom":62,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[54,78]}},{"Named":{"name":"number_with_part","atom":79}},{"Entity":{"atom":86}},{"Entity":{"atom":83}},{"Str":{"pattern":"."}},{"Entity":{"atom":43}},{"Named":{"name":"stage_iteration","atom":84}},{"Sequence":{"atoms":[82,85]}},{"Repetition":{"atom":81,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":7}},{"Repetition":{"atom":88,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":91}},{"Str":{"pattern":":"}},{"Entity":{"atom":116}},{"Entity":{"atom":102}},{"Entity":{"atom":97}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[95,96]}},{"Entity":{"atom":43}},{"Repetition":{"atom":98,"min":2,"max":null,"tag":"Repetition"}},{"Entity":{"atom":43}},{"Lookahead":{"atom":100,"positive":false}},{"Sequence":{"atoms":[94,99,101]}},{"Entity":{"atom":67}},{"Entity":{"atom":106}},{"Entity":{"atom":43}},{"Repetition":{"atom":105,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[103,104]}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":67}},{"Entity":{"atom":112}},{"Entity":{"atom":43}},{"Repetition":{"atom":111,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[109,110]}},{"Repetition":{"atom":113,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[93,108,114]}},{"Named":{"name":"date","atom":115}},{"Sequence":{"atoms":[90,92]}},{"Repetition":{"atom":117,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[53,87,89,118]}},{"Sequence":{"atoms":[3,8,11,49,51,52]}},{"Named":{"name":"base","atom":2}},{"Entity":{"atom":7}},{"Repetition":{"atom":122,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":10}},{"Entity":{"atom":7}},{"Repetition":{"atom":125,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":131}},{"Str":{"pattern":"AMD"}},{"Str":{"pattern":"COR"}},{"Alternative":{"atoms":[128,129]}},{"Named":{"name":"type_with_stage","atom":130}},{"Entity":{"atom":7}},{"Repetition":{"atom":132,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":119}},{"Sequence":{"atoms":[121,123,124,126,127,133,134]}},{"Entity":{"atom":168}},{"Entity":{"atom":7}},{"Repetition":{"atom":137,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":162}},{"Str":{"pattern":"("}},{"Entity":{"atom":142}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Repetition":{"atom":141,"min":1,"max":null,"tag":"Repetition"}},{"Str":{"pattern":","}},{"Repetition":{"atom":144,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[143,145]}},{"Entity":{"atom":154}},{"Re":{"pattern":"[E]"}},{"Re":{"pattern":"[F]"}},{"Re":{"pattern":"[A]"}},{"Re":{"pattern":"[R]"}},{"Re":{"pattern":"[D]"}},{"Re":{"pattern":"[S]"}},{"Alternative":{"atoms":[148,149,150,151,152,153]}},{"Entity":{"atom":10}},{"Repetition":{"atom":155,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[147,156]}},{"Alternative":{"atoms":[146,157]}},{"Named":{"name":"languages","atom":158}},{"Repetition":{"atom":159,"min":0,"max":null,"tag":"Repetition"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[140,160,161]}},{"Repetition":{"atom":139,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":166}},{"Str":{"pattern":"(all parts)"}},{"Named":{"name":"all_parts","atom":165}},{"Repetition":{"atom":164,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[138,163,167]}},{"Sequence":{"atoms":[1,136]}},{"Entity":{"atom":173}},{"Entity":{"atom":120}},{"Entity":{"atom":168}},{"Sequence":{"atoms":[171,172]}},{"Alternative":{"atoms":[0,170]}}],"root":174},"bindings":[]}},"preprocess":{"publisher_names":[{"op":"table_lookup","table":"iso_publishers","from":"abbrev","to":"name"}]},"tables":{"organizations":{"file":"organizations.yaml","rows":[{"name":"ISO"},{"name":"IEC"},{"name":"IEEE"},{"name":"CIW"},{"name":"SAE"},{"name":"CIE"},{"name":"ASME"},{"name":"ASTM"},{"name":"OECD"},{"name":"HL7"},{"name":"CEI"},{"name":"UNDP"}]},"typed_stages":{"file":"typed_stages.yaml","rows":[{"abbr":"PWI TS"},{"abbr":"NP TS"},{"abbr":"AWI TS"},{"abbr":"WD TS"},{"abbr":"CDTS"},{"abbr":"CD TS"},{"abbr":"PDTS"},{"abbr":"DTS"},{"abbr":"FDTS"},{"abbr":"PRF TS"},{"abbr":"TS"},{"abbr":"PWI TTA"},{"abbr":"NP TTA"},{"abbr":"AWI TTA"},{"abbr":"WD TTA"},{"abbr":"CD TTA"},{"abbr":"DTTA"},{"abbr":"FDTTA"},{"abbr":"PRF TTA"},{"abbr":"TTA"},{"abbr":"NP DATA"},{"abbr":"AWI DATA"},{"abbr":"WD DATA"},{"abbr":"CD DATA"},{"abbr":"D DATA"},{"abbr":"PRF DATA"},{"abbr":"DATA"},{"abbr":"DIR"},{"abbr":"Directives Part"},{"abbr":"Directives, Part"},{"abbr":"Directives,"},{"abbr":"Directives"},{"abbr":"DIR SUP"},{"abbr":"SUP"},{"abbr":"Supplement"},{"abbr":"PWI Guide"},{"abbr":"NP Guide"},{"abbr":"NP GUIDE"},{"abbr":"AWI Guide"},{"abbr":"AWI GUIDE"},{"abbr":"WD Guide"},{"abbr":"WD GUIDE"},{"abbr":"CD Guide"},{"abbr":"CD GUIDE"},{"abbr":"DGuide"},{"abbr":"DGUIDE"},{"abbr":"FDGuide"},{"abbr":"FD Guide"},{"abbr":"FD GUIDE"},{"abbr":"PRF Guide"},{"abbr":"PRF GUIDE"},{"abbr":"Guide"},{"abbr":"GUIDE"},{"abbr":"DP"},{"abbr":"PWI"},{"abbr":"NP"},{"abbr":"NWIP"},{"abbr":"AWI"},{"abbr":"WD"},{"abbr":"WDS"},{"abbr":"preCD"},{"abbr":"PreCD"},{"abbr":"CD"},{"abbr":"DIS"},{"abbr":"FPD"},{"abbr":"FCD"},{"abbr":"FDIS"},{"abbr":"PRF"},{"abbr":"Fpr"},{"abbr":"IS"},{"abbr":"WDR"},{"abbr":"WDA"},{"abbr":"WDAR"},{"abbr":"PWI ISP"},{"abbr":"NP ISP"},{"abbr":"AWI ISP"},{"abbr":"WD ISP"},{"abbr":"CD ISP"},{"abbr":"DISP"},{"abbr":"DIS ISP"},{"abbr":"FDISP"},{"abbr":"FDIS ISP"},{"abbr":"PRF ISP"},{"abbr":"ISP"},{"abbr":"PWI IWA"},{"abbr":"NP IWA"},{"abbr":"AWI IWA"},{"abbr":"WD IWA"},{"abbr":"CD IWA"},{"abbr":"DIWA"},{"abbr":"PRF IWA"},{"abbr":"IWA"},{"abbr":"PWI PAS"},{"abbr":"NP PAS"},{"abbr":"AWI PAS"},{"abbr":"WD PAS"},{"abbr":"CD PAS"},{"abbr":"DPAS"},{"abbr":"FDPAS"},{"abbr":"PRF PAS"},{"abbr":"PAS"},{"abbr":"R"},{"abbr":"PWI TR"},{"abbr":"NP TR"},{"abbr":"AWI TR"},{"abbr":"WD TR"},{"abbr":"CD TR"},{"abbr":"PDTR"},{"abbr":"DTR"},{"abbr":"DIS TR"},{"abbr":"FDTR"},{"abbr":"FDIS TR"},{"abbr":"PRF TR"},{"abbr":"TR"}]},"typed_stages_supplements":{"file":"typed_stages_supplements.yaml","rows":[{"abbr":"PWI Suppl"},{"abbr":"NP Suppl"},{"abbr":"AWI Suppl"},{"abbr":"WD Suppl"},{"abbr":"CD Suppl"},{"abbr":"DSuppl"},{"abbr":"DIS Suppl"},{"abbr":"FDSuppl"},{"abbr":"FDIS Suppl"},{"abbr":"PRF Suppl"},{"abbr":"Suppl"},{"abbr":"Suppl."},{"abbr":"PWI Add"},{"abbr":"NP Add"},{"abbr":"AWI Add"},{"abbr":"WD Add"},{"abbr":"CD Add"},{"abbr":"DAD"},{"abbr":"DAdd"},{"abbr":"D ADD"},{"abbr":"Dad"},{"abbr":"DIS Add"},{"abbr":"FDAD"},{"abbr":"FDAdd"},{"abbr":"FD ADD"},{"abbr":"FDad"},{"abbr":"FDIS Add"},{"abbr":"Add"},{"abbr":"ADD"},{"abbr":"Add."},{"abbr":"Addendum"},{"abbr":"PWI Amd"},{"abbr":"NP Amd"},{"abbr":"AWI Amd"},{"abbr":"WD Amd"},{"abbr":"CD Amd"},{"abbr":"PDAM"},{"abbr":"DAM"},{"abbr":"DAmd"},{"abbr":"FDAM"},{"abbr":"FDAmd"},{"abbr":"FPDAM"},{"abbr":"PRF Amd"},{"abbr":"Amd"},{"abbr":"AMD"},{"abbr":"Amd."},{"abbr":"PWI Cor"},{"abbr":"NP Cor"},{"abbr":"AWI Cor"},{"abbr":"WD Cor"},{"abbr":"CD Cor"},{"abbr":"pDCOR"},{"abbr":"DCor"},{"abbr":"DCOR"},{"abbr":"DIS Cor"},{"abbr":"FDCor"},{"abbr":"FDCOR"},{"abbr":"FCOR"},{"abbr":"FDIS Cor"},{"abbr":"PRF Cor"},{"abbr":"Cor"},{"abbr":"COR"},{"abbr":"Cor."},{"abbr":"Ext"}]},"tc_types":{"file":"tc_types.yaml","rows":[{"name":"TC"},{"name":"JTC"},{"name":"PC"},{"name":"IT"},{"name":"CAB"},{"name":"CASCO"},{"name":"COPOLCO"},{"name":"COUNCIL"},{"name":"CPSG"},{"name":"CS"},{"name":"DEVCO"},{"name":"GA"},{"name":"GAAB"},{"name":"INFCO"},{"name":"ITN"},{"name":"ISOlutions"},{"name":"REMCO"},{"name":"TMB"},{"name":"TMBG"},{"name":"WMO"},{"name":"DMT"},{"name":"JCG"},{"name":"SGPM"},{"name":"ATMG"},{"name":"CCCC"},{"name":"CCCC-TG"},{"name":"JDMT"},{"name":"JSAG"},{"name":"JSCTF-TF"},{"name":"JTCG"},{"name":"JTCG-TF"},{"name":"SAG_Acc"},{"name":"SAG_CRMI"},{"name":"SAG_CRMI_CG"},{"name":"SAG_ESG"},{"name":"SAG_ESG_CG"},{"name":"SAG_MRS"},{"name":"SAG_SF"},{"name":"SAG_SF_CG"},{"name":"SMCC"},{"name":"STMG"},{"name":"MENA_STAR"}]},"wg_types":{"file":"wg_types.yaml","rows":[{"name":"AG"},{"name":"AhG"},{"name":"WG"},{"name":"JWG"},{"name":"QC"},{"name":"TF"},{"name":"PPC"},{"name":"CAG"},{"name":"CSC"},{"name":"ITSAG"},{"name":"CSC/FIN"},{"name":"CSC/NOM"},{"name":"CSC/OVE"},{"name":"CSC/SP"},{"name":"SF"},{"name":"ITSG"},{"name":"JAG"},{"name":"JCTF"},{"name":"JSG"},{"name":"JTAG"},{"name":"JTG"}]},"directives_typed_stages":{"file":"directives_typed_stages.yaml","rows":[{"abbr":"DIR"},{"abbr":"Directives Part"},{"abbr":"Directives, Part"},{"abbr":"Directives,"},{"abbr":"Directives"}]},"directives_supplements_typed_stages":{"file":"directives_supplements_typed_stages.yaml","rows":[{"abbr":"DIR SUP"},{"abbr":"SUP"},{"abbr":"Supplement"}]},"idf_typed_stages":{"file":"idf_typed_stages.yaml","rows":[{"abbr":"PWI RM"},{"abbr":"NP RM"},{"abbr":"AWI RM"},{"abbr":"WD RM"},{"abbr":"CD RM"},{"abbr":"PDRM"},{"abbr":"DRM"},{"abbr":"FDRM"},{"abbr":"PRF RM"},{"abbr":"RM"},{"abbr":"AMD"},{"abbr":"COR"},{"abbr":"PWI"},{"abbr":"NP"},{"abbr":"NWIP"},{"abbr":"AWI"},{"abbr":"WD"},{"abbr":"CD"},{"abbr":"FCD"},{"abbr":"DIS"},{"abbr":"FPD"},{"abbr":"FDIS"},{"abbr":"PRF"},{"abbr":"Fpr"},{"abbr":"WDR"},{"abbr":"WDA"},{"abbr":"WDAR"}]},"idf_typed_stages_supplements":{"file":"idf_typed_stages_supplements.yaml","rows":[{"abbr":"AMD"},{"abbr":"COR"}]},"iso_publishers":{"file":"iso_publishers.yaml","rows":[{"abbrev":"ISO","name":"International Organization for Standardization"},{"abbrev":"IEC","name":"International Electrotechnical Commission"}]}},"lint":{"order_warnings":["rule dash: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule edition_str: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule edition_str: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule edition_str: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule edition_str: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule edition_str: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule edition_str: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule lang_item: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule guide_prefix: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule tc_subcommittee_part: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule iso_r_supplement_separator: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule directives_identifiers: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule directives_identifiers: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule directives_identifiers: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 7 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 9 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule idf.dash: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule idf.identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{"default":[{"type":"field","field":"publisher"},{"type":"literal","text":"-"},{"type":"field","field":"number_with_part"},{"type":"cond","field":"date","then":[{"type":"literal","text":":"},{"type":"field","field":"date"}]}]},"derive":{"urn":"urn:iso:std:{number_with_part}:{date}"},"tests":[{"entry":"identifier","kind":"accept","input":"ISO 8601-1:2019","expect":{}},{"entry":"identifier","kind":"accept","input":"ISO/IEC WD TS 25025","expect":{}},{"entry":"identifier","kind":"accept","input":"Guide ISO/CEI 51:1999","expect":{}},{"entry":"identifier","kind":"accept","input":"ISO/IEC DIR 1:2022 + IEC SUP:2022","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}},{"entry":"identifier","kind":"example","input":"ISO/IEC WD TS 25025","expect":{"publisher":"ISO"}},{"entry":"identifier","kind":"example","input":"JCGM 200:2008(F)","expect":{"publisher":"JCGM"}}],"docs":{"publisher":"The leading organization token. Copublishers follow after a slash,\neach captured as :copublisher and grouped under :copublishers.","identifier":"The ISO identifier root: common-text twin form first, then the\nsingle spine."},"source":"# Pubid ISO flavor — port of lib/pubid/iso/parser.rb (pubid monorepo).\n#\n# Scope: the full identifier root — NSB stage prefixes (FprISO, WD/ISO),\n# TC documents (ISO/TC 184/SC 4/WG 3 N 123), directives (plain,\n# supplement, bundled \"DIR 1 + IEC SUP\"), JCGM, legacy ISO/R forms\n# (including supplements), the three-level supplement chains\n# (/Amd/../Cor/../Amd..), and the copublisher identifier spine.\n#\n# Omitted (next iteration):\n# - joint_identifier (ISO 5537|IDF 26) — requires the Idf flavor grammar\n#\n# Data-driven from tables/ (extracted from the pubid gem): typed stages\n# (114 main / 64 supplement), directives stages (5 / 3), TC types (42),\n# WG types (21), copublisher organizations (12). The gem's empty-string\n# published-stage abbreviation is represented by the absence of\n# type_with_stage; duplicate list entries are excluded (identical\n# alternatives are a PG lint error).\n\nuse idf\n\ngrammar PubidIso version \"0.3.0\" {\n\n # ---- lexical (pubid/parser/common_parse_rules.rb + ISO override) ----\n digit = %x30-39\n digits = 1*digit\n letter = %x41-5A / %x61-7A\n word_digit = %x30-39 / %x41-5A / %x61-7A\n space = \" \"\n dash = \"-\" / \"‑\" / \"‐\"\n dot = \".\"\n slash = \"/\"\n colon = \":\"\n\n century = \"19\" / \"20\"\n year_digits = century 2*digit !digit\n month_digits = 2*digit\n day_digits = 2*digit\n\n # ---- publishers and copublishers ----\n ## The leading organization token. Copublishers follow after a slash,\n ## each captured as :copublisher and grouped under :copublishers.\n publisher = (\"ISO\" / \"IEC\") as publisher\n organization = alt from_table \"organizations\" column \"name\"\n copublishers_item = slash [space] organization as copublisher\n copublishers = (*copublishers_item) as copublishers\n prefix_sole_publisher = publisher\n prefix_with_copublishers = prefix_sole_publisher [space] [copublishers]\n\n # ---- number and parts ----\n number = 1*5digit\n part_sub = dash 1*word_digit\n part_modern = dash [space] 1*word_digit *part_sub\n part_legacy = slash [space] !supplement_type_with_stage 1*word_digit\n part_and_subpart = part_modern / part_legacy\n number_with_part = (number [part_and_subpart]) as number_with_part\n\n # ---- stage iteration: \"ISO 11243.1\" ----\n stage_iteration = dot digit as stage_iteration\n\n # ---- date: \":2005-02\", \":--\", \":—\", legacy dash form ----\n undated = \"--\" / \"—\"\n full_date = year_digits [(dash month_digits)] [(dash day_digits)]\n date_core = undated as undated_marker / full_date as date\n date = (colon / dash) [date_core]\n\n second_part = number_with_part [stage_iteration] [space] [date]\n\n # ---- typed stages ----\n typed_stage = alt from_table \"typed_stages\" column \"abbr\"\n type_with_stage = typed_stage as type_with_stage [digit as stage_iteration space]\n supplement_type_with_stage = alt from_table \"typed_stages_supplements\" column \"abbr\" as type_with_stage\n\n # ---- third part: edition, language, all-parts ----\n edition_str = \"Edition\" / \"Ed.\" / \"ED\" / \"Ed\"\n edition = (edition_str [space] [digits]) as edition\n lang_word = 1*letter [\",\"]\n lang_code = %x45 / %x46 / %x41 / %x52 / %x44 / %x53\n # Separator-first: \"(E/F)\" and \"(E,F)\" only parse if each code item\n # claims its following separator before the bare-word alternative\n # commits (PEG ordered choice — parslet retries fewer iterations, PG\n # does not).\n lang_sep = slash / \",\"\n lang_item = (lang_code [lang_sep]) / lang_word\n languages = (*lang_item) as languages\n language = \"(\" languages \")\"\n all_parts = \"(all parts)\" as all_parts\n third_part_edition = [space] [edition]\n third_part = third_part_edition [language] [space] [all_parts]\n\n # ---- guide prefix ----\n guide_prefix = \"Guide\" / \"GUIDE\"\n\n # ---- the copublisher identifier form ----\n identifier_copublishers_no_third = [guide_prefix as type_with_stage_fr space] [prefix_with_copublishers] [space] [slash] [type_with_stage] [space] second_part third_part_edition\n identifier_copublishers = identifier_copublishers_no_third third_part\n\n # ---- JCGM: \"JCGM 200:2008(F)\" ----\n jcgm_identifier = \"JCGM\" as publisher space second_part third_part\n\n # ---- NSB stage prefixes: \"FprISO 105-A03\", \"WD/ISO 10360-5:2000\" ----\n nsb_iso_identifier = (\"Fpr\" as nsb_stage prefix_sole_publisher [space] [copublishers] [space] [type_with_stage] [space] second_part third_part) / (\"WD\" as nsb_stage slash prefix_sole_publisher [space] [copublishers] [space] [type_with_stage] [space] second_part third_part)\n\n # ---- TC documents: \"ISO/TC 184/SC 4/WG 3 N 123\" ----\n tc_type = alt from_table \"tc_types\" column \"name\" as tc_type\n wg_type = alt from_table \"wg_types\" column \"name\" as wg_type\n sc_type = (\"SC/QC\" / \"SC\") as sc_type\n tc_subcommittee_part = (slash sc_type space digits as sc_number slash wg_type space digits as wg_number) / (slash sc_type space digits as sc_number)\n tc_document = prefix_sole_publisher (slash / space) tc_type space digits as tc_number [tc_subcommittee_part] space \"N\" [space] digits as number [(colon year_digits as year)]\n\n # ---- legacy ISO/R ----\n iso_r_prefix = \"ISO/R\" as iso_r_prefix\n iso_r_second_part = (number [part_and_subpart]) as number_with_part [stage_iteration] [space] [date]\n iso_r_identifier = iso_r_prefix space iso_r_second_part third_part\n iso_r_supplement_separator = slash / ([space] \"—\" [space]) / (space dash space)\n iso_r_supplement_identifier = (iso_r_prefix space iso_r_second_part) as base iso_r_supplement_separator supplement_type_with_stage [space] second_part third_part\n\n # ---- supplements (up to three levels) ----\n supplement_identifier_no_third = identifier_copublishers_no_third as base slash supplement_type_with_stage [([space] second_part) / (dot digits as number) / ([space] date)]\n supplement_identifier = supplement_identifier_no_third third_part\n supplement_supplement_identifier = supplement_identifier_no_third as base slash supplement_type_with_stage (([space] second_part third_part) / (dot digits as number third_part))\n supplement_supplement_supplement_identifier = supplement_supplement_identifier as base slash supplement_type_with_stage (([space] second_part third_part) / (dot digits as number third_part))\n\n # ---- directives: \"ISO/IEC DIR 1\", \"ISO/IEC JTC 1 DIR\", supplements,\n # bundled \"ISO/IEC DIR 1:2022 + IEC SUP:2022\" ----\n directives_publisher_subgroup = \"JTC 1\" as subgroup\n directives_part_and_subpart = space (\"ISO\" / \"IEC\") !slash !(space \"SUP\")\n directives_number_with_part = (number [directives_part_and_subpart]) as number_with_part\n directives_typed_stage = alt from_table \"directives_typed_stages\" column \"abbr\"\n directives_identifier_no_third = prefix_with_copublishers [space] [directives_publisher_subgroup space] directives_typed_stage as type_with_stage [space directives_publisher_subgroup !(space \"SUP\")] [[space directives_number_with_part] [(colon date)]]\n directives_identifier = directives_identifier_no_third [third_part] [space] [date]\n directives_supplement_typed_stage = alt from_table \"directives_supplements_typed_stages\" column \"abbr\"\n directives_supplement_part_no_third = [[space] \"--\" [space] \"Consolidated\" space] (\"ISO/IEC\" / \"ISO\" / \"IEC\" / \"JTC 1\") as publisher (space directives_supplement_typed_stage as type_with_stage) [date]\n directives_supplement_part = directives_supplement_part_no_third [third_part]\n directives_supplement_identifier = directives_identifier_no_third as base [space] directives_supplement_part\n directives_base_document = (directives_identifier_no_third [[third_part] [space]] [[date] [space]]) as base_document\n bundled_supplement = \"+ \" directives_supplement_part_no_third as supplement\n directives_bundled_identifier = directives_base_document (1*bundled_supplement) as supplements\n directives_identifiers = directives_bundled_identifier / directives_supplement_identifier / directives_identifier\n\n # ---- joint: \"ISO 5537|IDF 26\" — the IDF grammar is IMPORTED via\n # `use idf` (rules namespaced idf.*, captures unchanged) ----\n joint_identifier = (identifier_copublishers_no_third as base) [space] \"|\" [space] (idf.identifier as joint_identifier)\n\n ## The ISO identifier root: common-text twin form first, then the\n ## single spine.\n identifier = nsb_iso_identifier / tc_document / directives_identifiers / jcgm_identifier / iso_r_supplement_identifier / iso_r_identifier / supplement_supplement_supplement_identifier / supplement_supplement_identifier / supplement_identifier / joint_identifier / identifier_copublishers\n}\n\nentry identifier: identifier\n\n## In-file grammar tests: run at compile time, embedded in the artifact,\n## and re-runnable by every consumer (accept / reject / example with\n## expected bound captures).\ntest {\n accept \"ISO 8601-1:2019\"\n accept \"ISO/IEC WD TS 25025\"\n accept \"Guide ISO/CEI 51:1999\"\n accept \"ISO/IEC DIR 1:2022 + IEC SUP:2022\"\n reject \"nonsense\"\n example \"ISO/IEC WD TS 25025\" { publisher: \"ISO\" }\n example \"JCGM 200:2008(F)\" { publisher: \"JCGM\" }\n}\n\n# Model-side bindings (PN 4). The pilot binds the flat identity fields;\n# the full builder-parity mapping lands with the conformance corpora\n# milestone.\npreprocess publisher_names {\n table_lookup iso_publishers abbrev -> name\n}\n\nderive urn \"urn:iso:std:{number_with_part}:{date}\"\n\nrender default {\n field publisher\n literal \"-\"\n field number_with_part\n cond date {\n literal \":\"\n field date\n }\n}\n\nbindings identifier {\n publisher -> publisher (string)\n year -> year (integer)\n number -> number (integer)\n number_with_part -> number_with_part (string)\n date -> date (integer)\n publisher -> publisher_name (string) preprocess: publisher_names\n}\n","checksum":"sha256:6e07af8f59edaa25ef3b07a06fc7e47c9283cfe24801898b4df6118e7c679caf"}
|
data/data/parg/itu.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"0.1.0","grammar":"PubidItu","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":737}},{"Entity":{"atom":725}},{"Entity":{"atom":165}},{"Str":{"pattern":"Annex to"}},{"Entity":{"atom":5}},{"Str":{"pattern":" "}},{"Entity":{"atom":163}},{"Entity":{"atom":108}},{"Entity":{"atom":21}},{"Str":{"pattern":"Recommendation "}},{"Str":{"pattern":"ITU"}},{"Entity":{"atom":12}},{"Str":{"pattern":"-"}},{"Entity":{"atom":5}},{"Alternative":{"atoms":[11,13]}},{"Sequence":{"atoms":[9,10,14]}},{"Str":{"pattern":"ITU"}},{"Entity":{"atom":12}},{"Entity":{"atom":5}},{"Alternative":{"atoms":[17,18]}},{"Sequence":{"atoms":[16,19]}},{"Alternative":{"atoms":[15,20]}},{"Entity":{"atom":27}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"T"}},{"Str":{"pattern":"D"}},{"Alternative":{"atoms":[23,24,25]}},{"Named":{"name":"sector","atom":26}},{"Entity":{"atom":5}},{"Sequence":{"atoms":[22,28]}},{"Repetition":{"atom":29,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":33}},{"Str":{"pattern":"OB"}},{"Named":{"name":"series","atom":32}},{"Entity":{"atom":43}},{"Entity":{"atom":36}},{"Str":{"pattern":"."}},{"Entity":{"atom":42}},{"Entity":{"atom":41}},{"Entity":{"atom":40}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":39,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":38}},{"Sequence":{"atoms":[35,37]}},{"Entity":{"atom":49}},{"Entity":{"atom":5}},{"Str":{"pattern":"No."}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Sequence":{"atoms":[45,46,47,48]}},{"Entity":{"atom":53}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Sequence":{"atoms":[51,52]}},{"Alternative":{"atoms":[34,44,50]}},{"Entity":{"atom":94}},{"Entity":{"atom":68}},{"Entity":{"atom":5}},{"Str":{"pattern":"("}},{"Entity":{"atom":41}},{"Named":{"name":"month","atom":59}},{"Str":{"pattern":"/"}},{"Sequence":{"atoms":[60,61]}},{"Repetition":{"atom":62,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":40}},{"Repetition":{"atom":64,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":65}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[57,58,63,66,67]}},{"Entity":{"atom":93}},{"Str":{"pattern":" - "}},{"Entity":{"atom":40}},{"Repetition":{"atom":71,"min":2,"max":2,"tag":"Repetition"}},{"Named":{"name":"day","atom":72}},{"Entity":{"atom":36}},{"Entity":{"atom":87}},{"Str":{"pattern":"XII"}},{"Str":{"pattern":"XI"}},{"Str":{"pattern":"IX"}},{"Str":{"pattern":"VIII"}},{"Str":{"pattern":"VII"}},{"Str":{"pattern":"VI"}},{"Str":{"pattern":"V"}},{"Str":{"pattern":"IV"}},{"Str":{"pattern":"III"}},{"Str":{"pattern":"II"}},{"Str":{"pattern":"I"}},{"Alternative":{"atoms":[76,77,78,79,80,81,82,83,84,85,86]}},{"Named":{"name":"roman_month","atom":75}},{"Entity":{"atom":36}},{"Entity":{"atom":40}},{"Repetition":{"atom":90,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":91}},{"Sequence":{"atoms":[70,73,74,88,89,92]}},{"Alternative":{"atoms":[56,69]}},{"Repetition":{"atom":55,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Entity":{"atom":12}},{"Str":{"pattern":"E"}},{"Str":{"pattern":"F"}},{"Str":{"pattern":"A"}},{"Str":{"pattern":"S"}},{"Str":{"pattern":"C"}},{"Str":{"pattern":"R"}},{"Alternative":{"atoms":[98,99,100,101,102,103]}},{"Named":{"name":"language","atom":104}},{"Sequence":{"atoms":[97,105]}},{"Repetition":{"atom":96,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[8,30,31,54,95,107]}},{"Entity":{"atom":162}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Sequence":{"atoms":[111,112]}},{"Repetition":{"atom":113,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"Operational Bulletin"}},{"Named":{"name":"_op_bull","atom":115}},{"Entity":{"atom":5}},{"Str":{"pattern":"No."}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Entity":{"atom":158}},{"Entity":{"atom":68}},{"Entity":{"atom":157}},{"Entity":{"atom":145}},{"Entity":{"atom":12}},{"Entity":{"atom":132}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[127,128]}},{"Entity":{"atom":40}},{"Entity":{"atom":40}},{"Sequence":{"atoms":[129,130,131]}},{"Named":{"name":"year","atom":126}},{"Entity":{"atom":141}},{"Str":{"pattern":"0"}},{"Re":{"pattern":"[\\x31-\\x39]"}},{"Sequence":{"atoms":[135,136]}},{"Str":{"pattern":"1"}},{"Re":{"pattern":"[\\x30-\\x32]"}},{"Sequence":{"atoms":[138,139]}},{"Alternative":{"atoms":[137,140]}},{"Named":{"name":"month","atom":134}},{"Entity":{"atom":40}},{"Lookahead":{"atom":143,"positive":false}},{"Sequence":{"atoms":[125,133,142,144]}},{"Entity":{"atom":155}},{"Entity":{"atom":12}},{"Str":{"pattern":"I"}},{"Entity":{"atom":40}},{"Entity":{"atom":151}},{"Entity":{"atom":152}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Alternative":{"atoms":[149,150]}},{"Lookahead":{"atom":153,"positive":false}},{"Sequence":{"atoms":[147,148,154]}},{"Repetition":{"atom":146,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[124,156]}},{"Alternative":{"atoms":[122,123]}},{"Repetition":{"atom":121,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":160,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[110,114,116,117,118,119,120,159,161]}},{"Alternative":{"atoms":[7,109]}},{"Named":{"name":"annex_to","atom":6}},{"Sequence":{"atoms":[3,4,164]}},{"Entity":{"atom":163}},{"Entity":{"atom":558}},{"Entity":{"atom":543}},{"Entity":{"atom":509}},{"Entity":{"atom":426}},{"Entity":{"atom":411}},{"Entity":{"atom":323}},{"Entity":{"atom":175}},{"Str":{"pattern":"Report"}},{"Named":{"name":"report_marker","atom":174}},{"Entity":{"atom":5}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":314}},{"Str":{"pattern":"OB"}},{"Entity":{"atom":36}},{"Sequence":{"atoms":[181,182]}},{"Lookahead":{"atom":183,"positive":false}},{"Entity":{"atom":192}},{"Str":{"pattern":"SG"}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[186,187]}},{"Entity":{"atom":151}},{"Repetition":{"atom":189,"min":1,"max":3,"tag":"Repetition"}},{"Alternative":{"atoms":[188,190]}},{"Named":{"name":"series","atom":191}},{"Entity":{"atom":36}},{"Sequence":{"atoms":[185,193]}},{"Repetition":{"atom":194,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":256}},{"Entity":{"atom":226}},{"Str":{"pattern":"Imp"}},{"Named":{"name":"imp_marker","atom":198}},{"Entity":{"atom":41}},{"Entity":{"atom":151}},{"Repetition":{"atom":201,"min":1,"max":3,"tag":"Repetition"}},{"Alternative":{"atoms":[200,202]}},{"Named":{"name":"number","atom":203}},{"Entity":{"atom":209}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Named":{"name":"subseries","atom":207}},{"Sequence":{"atoms":[206,208]}},{"Repetition":{"atom":205,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":225}},{"Entity":{"atom":223}},{"Entity":{"atom":12}},{"Entity":{"atom":219}},{"Entity":{"atom":132}},{"Entity":{"atom":141}},{"Entity":{"atom":40}},{"Lookahead":{"atom":217,"positive":false}},{"Sequence":{"atoms":[215,216,218]}},{"Lookahead":{"atom":214,"positive":false}},{"Entity":{"atom":41}},{"Named":{"name":"part","atom":221}},{"Sequence":{"atoms":[213,220,222]}},{"Repetition":{"atom":212,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":224}},{"Sequence":{"atoms":[199,204,210,211]}},{"Entity":{"atom":255}},{"Entity":{"atom":42}},{"Entity":{"atom":236}},{"Entity":{"atom":235}},{"Str":{"pattern":"bis"}},{"Str":{"pattern":"ter"}},{"Str":{"pattern":"quater"}},{"Str":{"pattern":"quarter"}},{"Alternative":{"atoms":[231,232,233,234]}},{"Named":{"name":"series_suffix","atom":230}},{"Repetition":{"atom":229,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":209}},{"Repetition":{"atom":238,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":225}},{"Entity":{"atom":242}},{"Entity":{"atom":253}},{"Re":{"pattern":"[\\x41-\\x52]"}},{"Re":{"pattern":"[\\x61-\\x72]"}},{"Alternative":{"atoms":[243,244]}},{"Named":{"name":"qualifier","atom":245}},{"Entity":{"atom":152}},{"Entity":{"atom":249}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Entity":{"atom":40}},{"Alternative":{"atoms":[247,248,250]}},{"Lookahead":{"atom":251,"positive":false}},{"Sequence":{"atoms":[246,252]}},{"Repetition":{"atom":241,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[228,237,239,240,254]}},{"Alternative":{"atoms":[197,227]}},{"Entity":{"atom":265}},{"Entity":{"atom":12}},{"Entity":{"atom":151}},{"Repetition":{"atom":259,"min":1,"max":3,"tag":"Repetition"}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[260,261,262]}},{"Named":{"name":"range_end","atom":263}},{"Sequence":{"atoms":[258,264]}},{"Repetition":{"atom":257,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":281}},{"Entity":{"atom":273}},{"Entity":{"atom":5}},{"Named":{"name":"series_suffix_spaced","atom":269}},{"Entity":{"atom":235}},{"Named":{"name":"series_suffix","atom":271}},{"Sequence":{"atoms":[270,272]}},{"Repetition":{"atom":268,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":279}},{"Entity":{"atom":5}},{"Named":{"name":"qualifier_spaced","atom":276}},{"Entity":{"atom":253}},{"Sequence":{"atoms":[277,278]}},{"Repetition":{"atom":275,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[274,280]}},{"Entity":{"atom":286}},{"Entity":{"atom":5}},{"Str":{"pattern":"series"}},{"Named":{"name":"series_word","atom":284}},{"Sequence":{"atoms":[283,285]}},{"Repetition":{"atom":282,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":292}},{"Entity":{"atom":5}},{"Str":{"pattern":"attachment"}},{"Named":{"name":"attachment","atom":290}},{"Sequence":{"atoms":[289,291]}},{"Repetition":{"atom":288,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Entity":{"atom":5}},{"Str":{"pattern":"(V"}},{"Entity":{"atom":41}},{"Named":{"name":"version","atom":297}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[296,298,299]}},{"Str":{"pattern":"V"}},{"Str":{"pattern":"v"}},{"Alternative":{"atoms":[301,302]}},{"Entity":{"atom":36}},{"Repetition":{"atom":304,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":41}},{"Named":{"name":"version","atom":306}},{"Sequence":{"atoms":[303,305,307]}},{"Alternative":{"atoms":[300,308]}},{"Sequence":{"atoms":[295,309]}},{"Repetition":{"atom":294,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":312,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[184,195,196,266,267,287,293,311,313]}},{"Sequence":{"atoms":[173,176,177,178,179,180]}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":175}},{"Entity":{"atom":5}},{"Entity":{"atom":314}},{"Sequence":{"atoms":[316,317,318,319,320,321]}},{"Alternative":{"atoms":[315,322]}},{"Entity":{"atom":371}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":333}},{"Str":{"pattern":"REC"}},{"Entity":{"atom":5}},{"Entity":{"atom":12}},{"Alternative":{"atoms":[330,331]}},{"Sequence":{"atoms":[329,332]}},{"Repetition":{"atom":328,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":256}},{"Entity":{"atom":265}},{"Repetition":{"atom":338,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":281}},{"Entity":{"atom":361}},{"Entity":{"atom":359}},{"Str":{"pattern":"/"}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Named":{"name":"number","atom":346}},{"Entity":{"atom":209}},{"Repetition":{"atom":348,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":225}},{"Entity":{"atom":242}},{"Repetition":{"atom":351,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":273}},{"Repetition":{"atom":353,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":279}},{"Repetition":{"atom":355,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[344,345,347,349,350,352,354,356]}},{"Named":{"name":"designation","atom":357}},{"Sequence":{"atoms":[343,358]}},{"Repetition":{"atom":342,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"combined","atom":360}},{"Repetition":{"atom":341,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":286}},{"Repetition":{"atom":363,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":292}},{"Repetition":{"atom":365,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":367,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":369,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[325,326,327,334,335,336,337,339,340,362,364,366,368,370]}},{"Entity":{"atom":384}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":256}},{"Entity":{"atom":281}},{"Entity":{"atom":292}},{"Repetition":{"atom":378,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":380,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":382,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[373,374,375,376,377,379,381,383]}},{"Entity":{"atom":410}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":405}},{"Str":{"pattern":"OB"}},{"Entity":{"atom":12}},{"Sequence":{"atoms":[390,391]}},{"Lookahead":{"atom":392,"positive":false}},{"Entity":{"atom":151}},{"Repetition":{"atom":394,"min":2,"max":null,"tag":"Repetition"}},{"Named":{"name":"series","atom":395}},{"Entity":{"atom":12}},{"Named":{"name":"series_dash","atom":397}},{"Entity":{"atom":41}},{"Entity":{"atom":151}},{"Repetition":{"atom":400,"min":1,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[399,401]}},{"Named":{"name":"number","atom":402}},{"Entity":{"atom":225}},{"Sequence":{"atoms":[393,396,398,403,404]}},{"Entity":{"atom":310}},{"Repetition":{"atom":406,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":408,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[386,387,388,389,407,409]}},{"Alternative":{"atoms":[172,324,372,385]}},{"Named":{"name":"base","atom":171}},{"Entity":{"atom":5}},{"Str":{"pattern":"Annex"}},{"Entity":{"atom":5}},{"Entity":{"atom":422}},{"Entity":{"atom":151}},{"Entity":{"atom":41}},{"Repetition":{"atom":418,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"+"}},{"Repetition":{"atom":420,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[417,419,421]}},{"Named":{"name":"annex_number","atom":416}},{"Entity":{"atom":158}},{"Repetition":{"atom":424,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[412,413,414,415,423,425]}},{"Named":{"name":"base","atom":170}},{"Entity":{"atom":452}},{"Entity":{"atom":411}},{"Named":{"name":"base","atom":429}},{"Entity":{"atom":5}},{"Str":{"pattern":"App."}},{"Entity":{"atom":5}},{"Repetition":{"atom":433,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":440}},{"Re":{"pattern":"[I]"}},{"Re":{"pattern":"[V]"}},{"Re":{"pattern":"[X]"}},{"Alternative":{"atoms":[436,437,438]}},{"Repetition":{"atom":439,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"appendix_number","atom":435}},{"Entity":{"atom":448}},{"Entity":{"atom":5}},{"Str":{"pattern":"test vectors"}},{"Str":{"pattern":"Software"}},{"Alternative":{"atoms":[444,445]}},{"Named":{"name":"appendix_material","atom":446}},{"Sequence":{"atoms":[443,447]}},{"Repetition":{"atom":442,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":450,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[430,431,432,434,441,449,451]}},{"Named":{"name":"base","atom":428}},{"Entity":{"atom":411}},{"Named":{"name":"base","atom":454}},{"Alternative":{"atoms":[427,453,455]}},{"Entity":{"atom":5}},{"Entity":{"atom":480}},{"Str":{"pattern":"Suppl."}},{"Str":{"pattern":"Suppl"}},{"Str":{"pattern":"Amd."}},{"Str":{"pattern":"Amd"}},{"Str":{"pattern":"Add."}},{"Str":{"pattern":"Add"}},{"Str":{"pattern":"Err."}},{"Str":{"pattern":"Err"}},{"Alternative":{"atoms":[459,460,461,462,463,464,465,466]}},{"Named":{"name":"supplement_type","atom":467}},{"Entity":{"atom":473}},{"Str":{"pattern":"Technical"}},{"Named":{"name":"technical","atom":470}},{"Entity":{"atom":5}},{"Sequence":{"atoms":[471,472]}},{"Repetition":{"atom":469,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"Cor."}},{"Str":{"pattern":"Cor"}},{"Alternative":{"atoms":[475,476]}},{"Named":{"name":"supplement_type","atom":477}},{"Sequence":{"atoms":[474,478]}},{"Alternative":{"atoms":[468,479]}},{"Entity":{"atom":492}},{"Entity":{"atom":5}},{"Named":{"name":"supplement_space","atom":482}},{"Repetition":{"atom":483,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":41}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[486,487]}},{"Repetition":{"atom":488,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[485,489]}},{"Named":{"name":"supplement_number","atom":490}},{"Sequence":{"atoms":[484,491]}},{"Entity":{"atom":505}},{"Entity":{"atom":5}},{"Str":{"pattern":"("}},{"Entity":{"atom":41}},{"Named":{"name":"supplement_month","atom":496}},{"Str":{"pattern":"/"}},{"Sequence":{"atoms":[497,498]}},{"Repetition":{"atom":499,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":40}},{"Repetition":{"atom":501,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"supplement_year","atom":502}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[494,495,500,503,504]}},{"Repetition":{"atom":493,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":507,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[456,457,458,481,506,508]}},{"Entity":{"atom":533}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":521}},{"Entity":{"atom":151}},{"Entity":{"atom":41}},{"Repetition":{"atom":516,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[515,517,518,519]}},{"Named":{"name":"series","atom":520}},{"Entity":{"atom":192}},{"Alternative":{"atoms":[514,522]}},{"Entity":{"atom":286}},{"Repetition":{"atom":524,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":5}},{"Entity":{"atom":480}},{"Entity":{"atom":492}},{"Entity":{"atom":505}},{"Repetition":{"atom":529,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":531,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[511,512,513,523,525,526,527,528,530,532]}},{"Alternative":{"atoms":[169,510]}},{"Named":{"name":"base","atom":534}},{"Entity":{"atom":5}},{"Entity":{"atom":480}},{"Entity":{"atom":492}},{"Entity":{"atom":505}},{"Repetition":{"atom":539,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":541,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[535,536,537,538,540,542]}},{"Entity":{"atom":555}},{"Entity":{"atom":509}},{"Named":{"name":"base","atom":545}},{"Str":{"pattern":"/"}},{"Named":{"name":"supplement_slash","atom":547}},{"Entity":{"atom":480}},{"Entity":{"atom":492}},{"Entity":{"atom":505}},{"Repetition":{"atom":551,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":553,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[546,548,549,550,552,554]}},{"Entity":{"atom":509}},{"Entity":{"atom":533}},{"Alternative":{"atoms":[168,544,556,557]}},{"Entity":{"atom":563}},{"Entity":{"atom":426}},{"Entity":{"atom":106}},{"Repetition":{"atom":561,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[560,562]}},{"Entity":{"atom":568}},{"Entity":{"atom":452}},{"Entity":{"atom":106}},{"Repetition":{"atom":566,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[565,567]}},{"Entity":{"atom":573}},{"Entity":{"atom":323}},{"Entity":{"atom":106}},{"Repetition":{"atom":571,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[570,572]}},{"Entity":{"atom":584}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Entity":{"atom":36}},{"Str":{"pattern":"HDB"}},{"Named":{"name":"handbook_marker","atom":580}},{"Entity":{"atom":158}},{"Repetition":{"atom":582,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[575,576,577,578,579,581,583]}},{"Entity":{"atom":598}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Entity":{"atom":225}},{"Str":{"pattern":"/"}},{"Entity":{"atom":41}},{"Named":{"name":"study_group","atom":592}},{"Sequence":{"atoms":[591,593]}},{"Str":{"pattern":":"}},{"Named":{"name":"question_colon","atom":595}},{"Repetition":{"atom":596,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[586,587,588,589,590,594,597]}},{"Entity":{"atom":623}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Str":{"pattern":"["}},{"Named":{"name":"bracketed","atom":605}},{"Entity":{"atom":615}},{"Entity":{"atom":42}},{"Str":{"pattern":"/BL"}},{"Named":{"name":"has_bl","atom":609}},{"Repetition":{"atom":610,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"/"}},{"Entity":{"atom":41}},{"Named":{"name":"study_group","atom":613}},{"Sequence":{"atoms":[608,611,612,614]}},{"Str":{"pattern":"]"}},{"Sequence":{"atoms":[606,607,616]}},{"Entity":{"atom":615}},{"Alternative":{"atoms":[617,618]}},{"Str":{"pattern":":"}},{"Named":{"name":"question_colon","atom":620}},{"Repetition":{"atom":621,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[600,601,602,603,604,619,622]}},{"Entity":{"atom":644}},{"Entity":{"atom":21}},{"Str":{"pattern":"R"}},{"Named":{"name":"sector","atom":626}},{"Entity":{"atom":5}},{"Str":{"pattern":"RR"}},{"Named":{"name":"radio_regulations","atom":629}},{"Entity":{"atom":68}},{"Entity":{"atom":12}},{"Entity":{"atom":40}},{"Repetition":{"atom":633,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":634}},{"Sequence":{"atoms":[632,635]}},{"Alternative":{"atoms":[631,636]}},{"Repetition":{"atom":637,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":639,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":642}},{"Re":{"pattern":"[\\x00-\\u{10ffff}]"}},{"Lookahead":{"atom":641,"positive":false}},{"Sequence":{"atoms":[625,627,628,630,638,640,643]}},{"Entity":{"atom":669}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":333}},{"Repetition":{"atom":649,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":256}},{"Entity":{"atom":265}},{"Repetition":{"atom":654,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":281}},{"Entity":{"atom":361}},{"Repetition":{"atom":657,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":286}},{"Repetition":{"atom":659,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":292}},{"Repetition":{"atom":661,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":663,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":665,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":667,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[646,647,648,650,651,652,653,655,656,658,660,662,664,666,668]}},{"Entity":{"atom":681}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":192}},{"Str":{"pattern":"-C"}},{"Named":{"name":"contribution_marker","atom":675}},{"Entity":{"atom":42}},{"Entity":{"atom":225}},{"Entity":{"atom":106}},{"Repetition":{"atom":679,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[671,672,673,674,676,677,678,680]}},{"Entity":{"atom":686}},{"Entity":{"atom":410}},{"Entity":{"atom":106}},{"Repetition":{"atom":684,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[683,685]}},{"Entity":{"atom":701}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":256}},{"Entity":{"atom":281}},{"Entity":{"atom":292}},{"Repetition":{"atom":693,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":695,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":697,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":699,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[688,689,690,691,692,694,696,698,700]}},{"Entity":{"atom":724}},{"Entity":{"atom":27}},{"Entity":{"atom":12}},{"Str":{"pattern":"REC"}},{"Entity":{"atom":12}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":256}},{"Entity":{"atom":145}},{"Entity":{"atom":720}},{"Entity":{"atom":12}},{"Str":{"pattern":"I"}},{"Str":{"pattern":"S"}},{"Alternative":{"atoms":[713,714]}},{"Entity":{"atom":40}},{"Entity":{"atom":151}},{"Alternative":{"atoms":[716,717]}},{"Lookahead":{"atom":718,"positive":false}},{"Sequence":{"atoms":[712,715,719]}},{"Repetition":{"atom":711,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":722,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[703,704,705,706,707,708,709,710,721,723]}},{"Alternative":{"atoms":[2,166,167,559,564,569,574,585,599,624,645,670,682,687,702]}},{"Entity":{"atom":736}},{"Entity":{"atom":5}},{"Str":{"pattern":"|"}},{"Entity":{"atom":5}},{"Entity":{"atom":733}},{"Re":{"pattern":"[\\x01-\\x7b]"}},{"Re":{"pattern":"[\\x7d-\\u{10ffff}]"}},{"Alternative":{"atoms":[731,732]}},{"Repetition":{"atom":730,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[727,728,729,734]}},{"Named":{"name":"common_text_twin","atom":735}},{"Sequence":{"atoms":[1,726]}},{"Entity":{"atom":725}},{"Alternative":{"atoms":[0,738]}}],"root":739},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule non_pipe: branches 1 and 2 are order-dependent (first set not statically known)","rule series_suffix_word: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule base_report: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 4 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 9 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule ob_date: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule special_publication: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 12 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 12 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 12 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 13 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 13 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 14 and 15 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ITU-R BT.500","expect":{}},{"entry":"identifier","kind":"accept","input":"Recommendation ITU-T G.650.1 (09/2020)","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-R SA.3631 Annex A","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T OB.101 (2016)","expect":{}},{"entry":"identifier","kind":"accept","input":"Annex to ITU-T OB.101","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T E.164/2","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T 55/13:","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T G.984.2 Amd. 1 (2010)","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T G.650.1B","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/itu/parser.rb — ITU-T/R/D designations: series codes\n# (BT/G/V, SGnn), Imp implementation codes, OB Operational Bulletins,\n# Reports, Study Group questions (numeric and bracketed series form),\n# supplements (Suppl./Amd./Add./Err./Cor. with Technical marker), Annex\n# and App. wraps, combined \"/XX.N\" designations, and the \"| twin\"\n# common-text form. Internal rule `itu_identifier` corresponds to the\n# source's `identifier` (renamed: PG forbids self-reference from the\n# common-text wrapper).\n\ngrammar PubidItu version \"0.1.0\" {\n digit = %x30-39\n upper = %x41-5A\n lower = %x61-7A\n letter = upper\n digits = 1*digit\n space = \" \"\n dash = \"-\"\n dot = \".\"\n non_pipe = %x01-7B / %x7D-10FFFF\n\n itu_prefix = (\"Recommendation \" \"ITU\" (dash / space)) / (\"ITU\" (dash / space))\n sector = (\"R\" / \"T\" / \"D\") as sector\n series = ((\"SG\" digits) / (1*3letter)) as series\n series_group = (letter [digits] dash digits) as series\n series_word = space \"series\" as series_word\n number = digits as number\n subseries = dot digits as subseries\n series_suffix_word = \"bis\" / \"ter\" / \"quater\" / \"quarter\"\n series_suffix = (series_suffix_word) as series_suffix\n series_suffix_spaced = (space as series_suffix_spaced) ((series_suffix_word) as series_suffix)\n qualifier_letter = ((%x41-52 / %x61-72) as qualifier) !(upper / lower / digit)\n qualifier_glued = qualifier_letter\n qualifier_spaced = (space as qualifier_spaced) qualifier_letter\n yyyymm_year = (\"19\" / \"20\") digit digit\n yyyymm_month = (\"0\" %x31-39) / (\"1\" %x30-32)\n yyyymm_shape = yyyymm_year yyyymm_month !digit\n yyyymm_date = dash (yyyymm_year) as year (yyyymm_month) as month !digit\n id_status = dash (\"I\" / \"S\") !(digit / letter)\n print_id_status = dash \"I\" !(digit / letter)\n id_date = yyyymm_date [print_id_status]\n document_date = (date_part / id_date)\n rec_word = (\"REC\" (space / dash))\n publication_id = sector dash \"REC\" dash series dot code yyyymm_date [id_status] [language]\n code_suffixes = [series_suffix_spaced] [qualifier_spaced]\n attachment = space \"attachment\" as attachment\n range_end = dash ((1*3letter dot digits) as range_end)\n part = dash !yyyymm_shape digits as part\n parts = (*part) as parts\n code = imp_code / standard_code\n standard_code = number [series_suffix] [subseries] parts [qualifier_glued]\n imp_code = \"Imp\" as imp_marker ((digits / (1*3letter)) as number) [subseries] parts\n date_part = space \"(\" [(digits as month \"/\")] ((4digit) as year) \")\"\n version_part = space (((\"(V\" digits as version \")\") / ((\"V\" / \"v\") [dot] digits as version)))\n language = dash ((\"E\" / \"F\" / \"A\" / \"S\" / \"C\" / \"R\") as language)\n\n combined_designation = \"/\" ((series dot digits as number [subseries] parts [qualifier_glued] [series_suffix_spaced] [qualifier_spaced]) as designation)\n combined_suffixes = (1*combined_designation) as combined\n\n technical_marker = \"Technical\" as technical space\n supplement_type = ((\"Suppl.\" / \"Suppl\" / \"Amd.\" / \"Amd\" / \"Add.\" / \"Add\" / \"Err.\" / \"Err\") as supplement_type) / (([technical_marker] (\"Cor.\" / \"Cor\") as supplement_type))\n supplement_number = ([space as supplement_space]) ((digits *(dot digits)) as supplement_number)\n supplement_date = space \"(\" [(digits as supplement_month \"/\")] ((4digit) as supplement_year) \")\"\n\n base_with_series = itu_prefix sector space [rec_word] series dot code [range_end] code_suffixes [combined_suffixes] [series_word] [attachment] [version_part] [document_date]\n base_without_series = itu_prefix sector space code code_suffixes [attachment] [version_part] [document_date]\n series_code_body = !(\"OB\" dash) ((2*letter) as series) (dash as series_dash) ((digits / (1*letter)) as number) parts\n contribution = itu_prefix sector space series (\"-C\" as contribution_marker) number parts [language]\n base_series_code = itu_prefix sector space series_code_body [version_part] [document_date]\n series_code_identifier = base_series_code [language]\n report_word = \"Report\" as report_marker\n report_body = !(\"OB\" dot) [(series dot)] code [range_end] code_suffixes [series_word] [attachment] [version_part] [document_date]\n base_report = (report_word space itu_prefix sector space report_body) / (itu_prefix sector space report_word space report_body)\n report_identifier = base_report [language]\n base = base_report / base_with_series / base_without_series / base_series_code\n\n annex_label = letter [digits] [\"+\"]\n annex_body = (base as base) space \"Annex\" space annex_label as annex_number [document_date]\n annex_identifier = annex_body [language]\n roman = 1*(%x49 / %x56 / %x58)\n appendix_material = space ((\"test vectors\" / \"Software\") as appendix_material)\n appendix_body = (base as base) space \"App.\" [space] roman as appendix_number [appendix_material] [document_date]\n appendix_identifier = appendix_body [language]\n\n supplement_with_base = ((annex_body as base) / (appendix_body as base) / (base as base)) space supplement_type supplement_number [supplement_date] [language]\n chained_supplement = ((supplement_with_base / supplement_series_only) as base) space supplement_type supplement_number [supplement_date] [language]\n supplement_series_only = itu_prefix sector space (series_group / series) [series_word] space supplement_type supplement_number [supplement_date] [language]\n slash_chained_supplement = ((supplement_with_base) as base) (\"/\" as supplement_slash) supplement_type supplement_number [supplement_date] [language]\n supplement_identifier = chained_supplement / slash_chained_supplement / supplement_with_base / supplement_series_only\n\n with_series = itu_prefix sector space [rec_word] series dot code [range_end] code_suffixes [combined_suffixes] [series_word] [attachment] [version_part] [document_date] [language]\n without_series = itu_prefix sector space code code_suffixes [attachment] [version_part] [document_date] [language]\n\n roman_month = \"XII\" / \"XI\" / \"IX\" / \"VIII\" / \"VII\" / \"VI\" / \"V\" / \"IV\" / \"III\" / \"II\" / \"I\"\n ob_roman_date = \" - \" (2digit) as day dot (roman_month as roman_month) dot (4digit) as year\n ob_date = (date_part / ob_roman_date)\n ob_series = \"OB\" as series\n ob_dot_body = dot number\n ob_no_body = space \"No.\" space number\n ob_bare_body = space number\n ob_with_sector = itu_prefix [(sector space)] ob_series (ob_dot_body / ob_no_body / ob_bare_body) [ob_date] [language]\n ob_long_form = itu_prefix [(sector space)] \"Operational Bulletin\" as _op_bull space \"No.\" space number [document_date] [language]\n special_publication = ob_with_sector / ob_long_form\n annex_to_identifier = \"Annex to\" space (special_publication as annex_to)\n handbook = itu_prefix sector space number dot \"HDB\" as handbook_marker [document_date]\n numeric_question = itu_prefix sector space number parts (\"/\" digits as study_group) [\":\" as question_colon]\n question_tail = number [(\"/BL\" as has_bl)] \"/\" digits as study_group\n letter_question = itu_prefix sector space series dot (((\"[\" as bracketed) question_tail \"]\") / question_tail) [\":\" as question_colon]\n common_text_twin = (space \"|\" space (1*non_pipe)) as common_text_twin\n\n identifier = common_text_identifier / itu_identifier\n any_char = %x00-10FFFF\n radio_regulations = itu_prefix (\"R\") as sector space \"RR\" as radio_regulations [(date_part / (dash (4digit) as year))] [language] !any_char\n itu_identifier = annex_to_identifier / special_publication / supplement_identifier / annex_identifier / appendix_identifier / report_identifier / handbook / numeric_question / letter_question / radio_regulations / with_series / contribution / series_code_identifier / without_series / publication_id\n common_text_identifier = itu_identifier common_text_twin\n\n entry identifier: identifier\n\n test {\n accept \"ITU-R BT.500\"\n accept \"Recommendation ITU-T G.650.1 (09/2020)\"\n accept \"ITU-R SA.3631 Annex A\"\n accept \"ITU-T OB.101 (2016)\"\n accept \"Annex to ITU-T OB.101\"\n accept \"ITU-T E.164/2\"\n accept \"ITU-T 55/13:\"\n accept \"ITU-T G.984.2 Amd. 1 (2010)\"\n accept \"ITU-T G.650.1B\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:10d9d6e058eee61b4131e2e16356f3ba75e5fcd5868b00f275787c5335ec7bc4"}
|
data/data/parg/jcgm.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"0.1.0","grammar":"PubidJcgm","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":36}},{"Entity":{"atom":3}},{"Str":{"pattern":"JCGM"}},{"Named":{"name":"publisher","atom":2}},{"Entity":{"atom":5}},{"Str":{"pattern":" "}},{"Entity":{"atom":9}},{"Entity":{"atom":8}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":7,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":6}},{"Entity":{"atom":16}},{"Str":{"pattern":"st"}},{"Str":{"pattern":"nd"}},{"Str":{"pattern":"rd"}},{"Str":{"pattern":"th"}},{"Alternative":{"atoms":[12,13,14,15]}},{"Entity":{"atom":5}},{"Str":{"pattern":"Meeting"}},{"Named":{"name":"type_with_stage","atom":18}},{"Entity":{"atom":5}},{"Str":{"pattern":"("}},{"Entity":{"atom":31}},{"Entity":{"atom":26}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[24,25]}},{"Entity":{"atom":8}},{"Repetition":{"atom":27,"min":2,"max":null,"tag":"Repetition"}},{"Entity":{"atom":8}},{"Lookahead":{"atom":29,"positive":false}},{"Sequence":{"atoms":[23,28,30]}},{"Named":{"name":"date","atom":22}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[20,21,32,33]}},{"Repetition":{"atom":34,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[1,4,10,11,17,19,35]}},{"Entity":{"atom":101}},{"Entity":{"atom":86}},{"Entity":{"atom":3}},{"Entity":{"atom":5}},{"Entity":{"atom":51}},{"Entity":{"atom":47}},{"Str":{"pattern":"GUM-"}},{"Entity":{"atom":8}},{"Repetition":{"atom":44,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"gum_number","atom":45}},{"Sequence":{"atoms":[43,46]}},{"Entity":{"atom":50}},{"Entity":{"atom":9}},{"Named":{"name":"number","atom":49}},{"Alternative":{"atoms":[42,48]}},{"Entity":{"atom":72}},{"Entity":{"atom":54}},{"Str":{"pattern":":"}},{"Entity":{"atom":67}},{"Entity":{"atom":31}},{"Entity":{"atom":58}},{"Str":{"pattern":"-"}},{"Entity":{"atom":61}},{"Entity":{"atom":8}},{"Repetition":{"atom":60,"min":2,"max":null,"tag":"Repetition"}},{"Entity":{"atom":58}},{"Entity":{"atom":65}},{"Entity":{"atom":8}},{"Repetition":{"atom":64,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[56,57,59,62,63]}},{"Named":{"name":"date","atom":66}},{"Entity":{"atom":70}},{"Entity":{"atom":31}},{"Named":{"name":"date","atom":69}},{"Alternative":{"atoms":[55,68]}},{"Sequence":{"atoms":[53,71]}},{"Repetition":{"atom":52,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":84}},{"Str":{"pattern":"("}},{"Str":{"pattern":"E/F"}},{"Str":{"pattern":"F/E"}},{"Alternative":{"atoms":[76,77]}},{"Entity":{"atom":80}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Alternative":{"atoms":[78,79]}},{"Named":{"name":"languages","atom":81}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[75,82,83]}},{"Repetition":{"atom":74,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[39,40,41,73,85]}},{"Named":{"name":"base","atom":38}},{"Entity":{"atom":89}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"Amd"}},{"Named":{"name":"type_with_stage","atom":90}},{"Entity":{"atom":5}},{"Entity":{"atom":9}},{"Named":{"name":"number","atom":93}},{"Entity":{"atom":54}},{"Entity":{"atom":67}},{"Entity":{"atom":70}},{"Alternative":{"atoms":[96,97]}},{"Sequence":{"atoms":[95,98]}},{"Repetition":{"atom":99,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[87,88,91,92,94,100]}},{"Entity":{"atom":108}},{"Entity":{"atom":86}},{"Named":{"name":"base","atom":103}},{"Entity":{"atom":5}},{"Str":{"pattern":"Corrigendum"}},{"Named":{"name":"type_with_stage","atom":106}},{"Sequence":{"atoms":[104,105,107]}},{"Entity":{"atom":124}},{"Entity":{"atom":86}},{"Named":{"name":"base","atom":110}},{"Entity":{"atom":89}},{"Str":{"pattern":"Cor"}},{"Named":{"name":"type_with_stage","atom":113}},{"Entity":{"atom":5}},{"Entity":{"atom":9}},{"Named":{"name":"number","atom":116}},{"Entity":{"atom":54}},{"Entity":{"atom":67}},{"Entity":{"atom":70}},{"Alternative":{"atoms":[119,120]}},{"Sequence":{"atoms":[118,121]}},{"Repetition":{"atom":122,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[111,112,114,115,117,123]}},{"Entity":{"atom":86}},{"Entity":{"atom":139}},{"Entity":{"atom":3}},{"Entity":{"atom":5}},{"Entity":{"atom":138}},{"Str":{"pattern":"GUM"}},{"Str":{"pattern":"VIM"}},{"Entity":{"atom":58}},{"Entity":{"atom":9}},{"Sequence":{"atoms":[132,133]}},{"Repetition":{"atom":134,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[131,135]}},{"Alternative":{"atoms":[130,136]}},{"Named":{"name":"number","atom":137}},{"Sequence":{"atoms":[127,128,129]}},{"Alternative":{"atoms":[0,37,102,109,125,126]}}],"root":140},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"JCGM 200:2008(F)","expect":{}},{"entry":"identifier","kind":"accept","input":"JCGM 100:2008","expect":{}},{"entry":"identifier","kind":"accept","input":"JCGM 1st Meeting (2004)","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/jcgm/parser.rb: JCGM base, meeting, amendment and\n# corrigendum identifiers, and the named GUM/VIM guides.\n\ngrammar PubidJcgm version \"0.1.0\" {\n century = \"19\" / \"20\"\n year_digits = century 2*digit !digit\n month_digits = 2*digit\n day_digits = 2*digit\n digits = 1*digit\n publisher = \"JCGM\" as publisher\n ordinal_suffix = \"st\" / \"nd\" / \"rd\" / \"th\"\n gum_number = \"GUM-\" (1*digit) as gum_number\n standard_number = digits as number\n number_portion = gum_number / standard_number\n full_date = (year_digits dash month_digits dash day_digits) as date\n year_only = year_digits as date\n date_portion = colon (full_date / year_only)\n language_portion = \"(\" ((\"E/F\" / \"F/E\") / upper) as languages \")\"\n base = publisher space number_portion [date_portion] [language_portion]\n meeting_identifier = publisher space digits as number ordinal_suffix space \"Meeting\" as type_with_stage [(space \"(\" year_digits as date \")\")]\n amendment_identifier = (base as base) slash \"Amd\" as type_with_stage space digits as number [(colon (full_date / year_only))]\n corrigendum_identifier = (base as base) space \"Corrigendum\" as type_with_stage\n numbered_corrigendum_identifier = (base as base) slash \"Cor\" as type_with_stage space digits as number [(colon (full_date / year_only))]\n named_number = (\"GUM\" / (\"VIM\" [(dash digits)])) as number\n named_guide_identifier = publisher space named_number\n identifier = meeting_identifier / amendment_identifier / corrigendum_identifier / numbered_corrigendum_identifier / base / named_guide_identifier\n upper = %x41-5A\n digit = %x30-39\n slash = \"/\"\n dash = \"-\"\n colon = \":\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"JCGM 200:2008(F)\"\n accept \"JCGM 100:2008\"\n accept \"JCGM 1st Meeting (2004)\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:21297a05e35ccf02bb5301e26697757890ab317dab2eb12c1086d8835b760780"}
|
data/data/parg/jis.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"0.1.0","grammar":"PubidJis","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Str":{"pattern":"JIS"}},{"Entity":{"atom":4}},{"Str":{"pattern":" "}},{"Str":{"pattern":" "}},{"Alternative":{"atoms":[2,3]}},{"Entity":{"atom":6}},{"Str":{"pattern":"/"}},{"Alternative":{"atoms":[1,5]}},{"Repetition":{"atom":7,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,8]}},{"Repetition":{"atom":9,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":19}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"TS"}},{"Alternative":{"atoms":[12,13]}},{"Named":{"name":"type","atom":14}},{"Entity":{"atom":4}},{"Entity":{"atom":6}},{"Alternative":{"atoms":[16,17]}},{"Sequence":{"atoms":[15,18]}},{"Repetition":{"atom":11,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Repetition":{"atom":21,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":26}},{"Entity":{"atom":25}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Named":{"name":"series","atom":24}},{"Entity":{"atom":4}},{"Repetition":{"atom":27,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":33}},{"Entity":{"atom":31}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":30,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":32}},{"Entity":{"atom":46}},{"Entity":{"atom":44}},{"Entity":{"atom":40}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"ー"}},{"Alternative":{"atoms":[37,38]}},{"Named":{"name":"dash","atom":39}},{"Entity":{"atom":31}},{"Repetition":{"atom":41,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":42}},{"Sequence":{"atoms":[36,43]}},{"Repetition":{"atom":35,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":45}},{"Entity":{"atom":62}},{"Entity":{"atom":51}},{"Str":{"pattern":":"}},{"Str":{"pattern":":"}},{"Alternative":{"atoms":[49,50]}},{"Entity":{"atom":31}},{"Repetition":{"atom":52,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"year","atom":53}},{"Entity":{"atom":59}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"R"}},{"Repetition":{"atom":57,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[56,58]}},{"Repetition":{"atom":55,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"reaffirmed","atom":60}},{"Sequence":{"atoms":[48,54,61]}},{"Repetition":{"atom":47,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":75}},{"Str":{"pattern":"("}},{"Str":{"pattern":"("}},{"Alternative":{"atoms":[65,66]}},{"Str":{"pattern":"E"}},{"Str":{"pattern":"J"}},{"Alternative":{"atoms":[68,69]}},{"Named":{"name":"language","atom":70}},{"Str":{"pattern":")"}},{"Str":{"pattern":")"}},{"Alternative":{"atoms":[72,73]}},{"Sequence":{"atoms":[67,71,74]}},{"Repetition":{"atom":64,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":87}},{"Str":{"pattern":"("}},{"Str":{"pattern":"規格群"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[78,79,80]}},{"Str":{"pattern":"("}},{"Str":{"pattern":"規格群"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[82,83,84]}},{"Alternative":{"atoms":[81,85]}},{"Named":{"name":"all_parts","atom":86}},{"Repetition":{"atom":77,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":148}},{"Entity":{"atom":110}},{"Entity":{"atom":6}},{"Str":{"pattern":"AMENDMENT"}},{"Str":{"pattern":"AMD"}},{"Alternative":{"atoms":[92,93]}},{"Named":{"name":"amd_type","atom":94}},{"Entity":{"atom":4}},{"Entity":{"atom":31}},{"Repetition":{"atom":97,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_number","atom":98}},{"Entity":{"atom":51}},{"Entity":{"atom":31}},{"Repetition":{"atom":101,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_year","atom":102}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"R"}},{"Repetition":{"atom":105,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[104,106]}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"amd_reaffirmed","atom":108}},{"Sequence":{"atoms":[91,95,96,99,100,103,109]}},{"Named":{"name":"amendment","atom":90}},{"Entity":{"atom":124}},{"Entity":{"atom":6}},{"Str":{"pattern":"EXPLANATION"}},{"Str":{"pattern":"EXPL"}},{"Alternative":{"atoms":[114,115]}},{"Named":{"name":"expl_type","atom":116}},{"Entity":{"atom":4}},{"Entity":{"atom":31}},{"Repetition":{"atom":119,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"expl_number","atom":120}},{"Sequence":{"atoms":[118,121]}},{"Repetition":{"atom":122,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[113,117,123]}},{"Named":{"name":"explanation","atom":112}},{"Entity":{"atom":146}},{"Entity":{"atom":6}},{"Str":{"pattern":"CORRIGENDUM"}},{"Str":{"pattern":"CORR"}},{"Alternative":{"atoms":[128,129]}},{"Named":{"name":"corr_type","atom":130}},{"Entity":{"atom":4}},{"Entity":{"atom":31}},{"Repetition":{"atom":133,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"corr_number","atom":134}},{"Entity":{"atom":51}},{"Entity":{"atom":31}},{"Repetition":{"atom":137,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"corr_year","atom":138}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"R"}},{"Repetition":{"atom":141,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[140,142]}},{"Repetition":{"atom":143,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"corr_reaffirmed","atom":144}},{"Sequence":{"atoms":[127,131,132,135,136,139,145]}},{"Named":{"name":"corrigendum","atom":126}},{"Alternative":{"atoms":[111,125,147]}},{"Repetition":{"atom":89,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":163}},{"Entity":{"atom":4}},{"Str":{"pattern":"SYMBOL"}},{"Named":{"name":"symbol_present","atom":152}},{"Entity":{"atom":4}},{"Entity":{"atom":158}},{"Re":{"pattern":"[\\x01-\\x09]"}},{"Re":{"pattern":"[\\x0b-\\u{10ffff}]"}},{"Alternative":{"atoms":[156,157]}},{"Repetition":{"atom":155,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"symbol_value","atom":159}},{"Sequence":{"atoms":[154,160]}},{"Repetition":{"atom":161,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[151,153,162]}},{"Repetition":{"atom":150,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[10,20,22,23,28,29,34,63,76,88,149,164]}}],"root":165},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule supplement: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule symbol_value_char: branches 1 and 2 are order-dependent (first set not statically known)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"JIS B 0001","expect":{}},{"entry":"identifier","kind":"accept","input":"JIS X 0208:1997","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/jis/parser.rb — JIS identifiers with the Japanese\n# full-width separator tolerance (ー : ()), TR/TS prefixes, parts,\n# reaffirmed years, (E)/(J) language codes, 規格群 all-parts, AMD/EXPL/\n# CORR supplements, and the SYMBOL clause.\n\ngrammar PubidJis version \"0.1.0\" {\n dash = (\"-\" / \"ー\") as dash\n space = (\" \" / \" \")\n colon = (\":\" / \":\")\n type_prefix = (\"TR\" / \"TS\") as type (space / slash)\n series = upper as series\n number = (1*digit) as number\n part = dash (1*digit) as part\n parts = (*part) as parts\n reaffirmed = \"R\" (*\"R\")\n year = colon (1*digit) as year ([reaffirmed]) as reaffirmed\n language = (\"(\" / \"(\") (\"E\" / \"J\") as language (\")\" / \")\")\n all_parts = ((\"(\" \"規格群\" \")\") / (\"(\" \"規格群\" \")\")) as all_parts\n amendment = slash (\"AMENDMENT\" / \"AMD\") as amd_type space (1*digit) as amd_number colon (1*digit) as amd_year ([\"R\" (*\"R\")]) as amd_reaffirmed\n explanation = slash (\"EXPLANATION\" / \"EXPL\") as expl_type ([space (1*digit) as expl_number])\n corrigendum = slash (\"CORRIGENDUM\" / \"CORR\") as corr_type space (1*digit) as corr_number colon (1*digit) as corr_year ([\"R\" (*\"R\")]) as corr_reaffirmed\n supplement = (amendment as amendment) / (explanation as explanation) / (corrigendum as corrigendum)\n symbol_value_char = %x01-09 / %x0B-10FFFF\n symbol_clause = space \"SYMBOL\" as symbol_present ([space (1*symbol_value_char) as symbol_value])\n identifier = [\"JIS\" [(space / slash)]] [type_prefix] [space] series [space] number parts [year] [language] [all_parts] [supplement] [symbol_clause]\n upper = %x41-5A\n digit = %x30-39\n slash = \"/\"\n entry identifier: identifier\n\n test {\n accept \"JIS B 0001\"\n accept \"JIS X 0208:1997\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:a73234c3ea886d74506db2ffb1ba0e5c06a2eacaf9df3f8dcf69f40eab1df21a"}
|
data/data/parg/nesc.parg
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Port of lib/pubid/ieee/nesc/parser.rb — National Electrical Safety
|
|
2
|
+
# Code designations: C2-year, year-first, name-first and Draft forms
|
|
3
|
+
# with (R) marks, editions and variants. Consumed by the ieee grammar
|
|
4
|
+
# via `use nesc`.
|
|
5
|
+
|
|
6
|
+
grammar PubidNesc version "0.1.0" {
|
|
7
|
+
digit = %x30-39
|
|
8
|
+
digits = 1*digit
|
|
9
|
+
space = " "
|
|
10
|
+
comma = ","
|
|
11
|
+
dash = "-"
|
|
12
|
+
|
|
13
|
+
year = 4digit
|
|
14
|
+
c2_code = "C2" as code
|
|
15
|
+
nesc_full_name = "National Electrical Safety Code" / "National Electric Safety Code"
|
|
16
|
+
nesc_abbr = "NESC"
|
|
17
|
+
nesc_name = nesc_full_name / nesc_abbr
|
|
18
|
+
registered = "(R)"
|
|
19
|
+
edition = ("Premier Edition" / "Second Edition" / "Third Edition" / "Fourth Edition" / "Fifth Edition" / "Sixth Edition" / "Seventh Edition" / "Eighth Edition" / "Ninth Edition" / "Tenth Edition" / "First Edition") as edition
|
|
20
|
+
variant = ("Handbook" / "Redline") as variant
|
|
21
|
+
month = ("January" / "February" / "March" / "April" / "May" / "June" / "July" / "August" / "September" / "October" / "November" / "December") as month
|
|
22
|
+
|
|
23
|
+
c2_standard = (c2_code dash (year) as year [([comma] space)] nesc_full_name [registered] [(space "(" nesc_abbr [registered] ")")])
|
|
24
|
+
year_first = ((year) as year) space (((nesc_full_name) as full_name [(registered) as name_registered] [(space "(" (nesc_abbr) as paren_abbr [(registered) as paren_registered] ")")]) / (((nesc_abbr) as abbr [(registered) as abbr_registered]))) [(space variant)] [(comma space edition)]
|
|
25
|
+
name_first = ((nesc_full_name [registered]) comma space c2_code dash (year) as year [(space "-" space (variant) as variant)])
|
|
26
|
+
draft_nesc = (("Draft") as draft space nesc_name [registered] comma space (month) space (year) as year)
|
|
27
|
+
nesc_identifier = draft_nesc / name_first / c2_standard / year_first
|
|
28
|
+
|
|
29
|
+
entry nesc_identifier: nesc_identifier
|
|
30
|
+
|
|
31
|
+
test {
|
|
32
|
+
accept "C2-2023 National Electrical Safety Code"
|
|
33
|
+
accept "2023 NESC"
|
|
34
|
+
accept "National Electrical Safety Code, C2-2017"
|
|
35
|
+
accept "Draft NESC, January 2016"
|
|
36
|
+
reject "nonsense"
|
|
37
|
+
}
|
|
38
|
+
}
|