pubid 2.0.0 → 2.0.1
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 -1
- data/data/parg/aiee.json +1 -1
- data/data/parg/amca.json +1 -1
- data/data/parg/ansi.json +1 -1
- data/data/parg/api.json +1 -1
- data/data/parg/ashrae.json +1 -1
- data/data/parg/asme.json +1 -1
- data/data/parg/astm.json +1 -1
- data/data/parg/bipm.json +1 -1
- data/data/parg/bsi.json +1 -1
- data/data/parg/calconnect.json +1 -1
- data/data/parg/ccsds.json +1 -1
- data/data/parg/cen_cenelec.json +1 -1
- data/data/parg/cie.json +1 -1
- data/data/parg/csa.json +1 -1
- data/data/parg/doi.json +1 -1
- data/data/parg/easc.json +1 -1
- data/data/parg/ecma.json +1 -1
- data/data/parg/etsi.json +1 -1
- data/data/parg/evs.json +1 -1
- data/data/parg/gb.json +1 -1
- data/data/parg/gost.json +1 -1
- data/data/parg/iala.json +1 -1
- data/data/parg/iana.json +1 -1
- data/data/parg/idf.json +1 -1
- data/data/parg/iec.json +1 -1
- data/data/parg/ieee.json +1 -29571
- data/data/parg/ietf.json +1 -1
- data/data/parg/ire.json +1 -1
- data/data/parg/isbn.json +1 -1
- data/data/parg/iso.json +1 -8510
- data/data/parg/itu.json +1 -1
- data/data/parg/jcgm.json +1 -1
- data/data/parg/jis.json +1 -1
- data/data/parg/nesc.json +1 -1
- data/data/parg/nist.json +1 -9588
- data/data/parg/oasis.json +1 -1
- data/data/parg/ogc.json +1 -1
- data/data/parg/oiml.json +1 -1
- data/data/parg/omg.json +1 -1
- data/data/parg/parg.json +1 -1
- data/data/parg/plateau.json +1 -1
- data/data/parg/sae.json +1 -1
- data/data/parg/tables/typed_stages.yaml +1 -0
- data/data/parg/tgpp.json +1 -1
- data/data/parg/un.json +1 -1
- data/data/parg/w3c.json +1 -1
- data/data/parg/xsf.json +1 -1
- data/lib/pubid/calconnect/identifier.rb +1 -1
- data/lib/pubid/doi/identifier.rb +1 -1
- data/lib/pubid/easc/identifier.rb +1 -1
- data/lib/pubid/gb/identifier.rb +1 -1
- data/lib/pubid/ietf/identifiers/base.rb +1 -1
- data/lib/pubid/iso/identifiers/international_standard.rb +3 -1
- data/lib/pubid/oasis/identifier.rb +1 -1
- data/lib/pubid/ogc/identifier.rb +1 -1
- data/lib/pubid/parg/artifact.rb +22 -3
- data/lib/pubid/parg/model.rb +98 -0
- data/lib/pubid/parg.rb +1 -0
- data/lib/pubid/sae/identifiers/base.rb +1 -1
- data/lib/pubid/version.rb +1 -1
- data/lib/pubid/w3c/identifier.rb +1 -1
- data/lib/pubid/xsf/identifier.rb +1 -1
- metadata +11 -4
data/data/parg/evs.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.3.0","grammar":"PubidEvs","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":2}},{"Str":{"pattern":"pr"}},{"Named":{"name":"draft_prefix","atom":1}},{"Repetition":{"atom":0,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"EVS"}},{"Entity":{"atom":11}},{"Entity":{"atom":7}},{"Str":{"pattern":"-"}},{"Entity":{"atom":9}},{"Str":{"pattern":" "}},{"Alternative":{"atoms":[6,8]}},{"Named":{"name":"evs_separator","atom":10}},{"Entity":{"atom":256}},{"Entity":{"atom":121}},{"Entity":{"atom":18}},{"Str":{"pattern":"FprEN"}},{"Str":{"pattern":"prEN"}},{"Alternative":{"atoms":[15,16]}},{"Named":{"name":"type_with_stage","atom":17}},{"Entity":{"atom":49}},{"Str":{"pattern":"CWA"}},{"Str":{"pattern":"HD"}},{"Str":{"pattern":"ES"}},{"Str":{"pattern":"CR"}},{"Str":{"pattern":"ENV"}},{"Alternative":{"atoms":[20,21,22,23,24]}},{"Named":{"name":"publisher","atom":25}},{"Str":{"pattern":"EN"}},{"Str":{"pattern":"CEN"}},{"Alternative":{"atoms":[27,28]}},{"Named":{"name":"publisher","atom":29}},{"Entity":{"atom":41}},{"Entity":{"atom":39}},{"Entity":{"atom":34}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"CLC"}},{"Str":{"pattern":"ETSI"}},{"Alternative":{"atoms":[35,36]}},{"Named":{"name":"copublisher","atom":37}},{"Sequence":{"atoms":[33,38]}},{"Repetition":{"atom":32,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"copublishers","atom":40}},{"Repetition":{"atom":31,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[30,42]}},{"Str":{"pattern":"CLC"}},{"Named":{"name":"publisher","atom":44}},{"Entity":{"atom":41}},{"Repetition":{"atom":46,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[45,47]}},{"Alternative":{"atoms":[26,43,48]}},{"Alternative":{"atoms":[14,19]}},{"Entity":{"atom":52}},{"Str":{"pattern":" "}},{"Entity":{"atom":63}},{"Entity":{"atom":55}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":54,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":55}},{"Repetition":{"atom":58,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[57,59]}},{"Repetition":{"atom":60,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[56,61]}},{"Named":{"name":"number","atom":62}},{"Entity":{"atom":75}},{"Entity":{"atom":73}},{"Entity":{"atom":67}},{"Str":{"pattern":"-"}},{"Entity":{"atom":55}},{"Entity":{"atom":67}},{"Alternative":{"atoms":[68,69]}},{"Repetition":{"atom":70,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":71}},{"Sequence":{"atoms":[66,72]}},{"Repetition":{"atom":65,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":74}},{"Entity":{"atom":52}},{"Str":{"pattern":"AMD"}},{"Entity":{"atom":55}},{"Repetition":{"atom":78,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amendment_number","atom":79}},{"Entity":{"atom":52}},{"Str":{"pattern":"FRAG"}},{"Entity":{"atom":55}},{"Repetition":{"atom":83,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"fragment_number","atom":84}},{"Sequence":{"atoms":[50,51,53,64,76,77,80,81,82,85]}},{"Entity":{"atom":18}},{"Entity":{"atom":49}},{"Alternative":{"atoms":[87,88]}},{"Entity":{"atom":52}},{"Entity":{"atom":63}},{"Entity":{"atom":75}},{"Entity":{"atom":99}},{"Entity":{"atom":95}},{"Str":{"pattern":":"}},{"Entity":{"atom":55}},{"Repetition":{"atom":96,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":97}},{"Sequence":{"atoms":[94,98]}},{"Repetition":{"atom":93,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":102}},{"Str":{"pattern":"+"}},{"Entity":{"atom":34}},{"Alternative":{"atoms":[101,103]}},{"Str":{"pattern":"A"}},{"Entity":{"atom":55}},{"Repetition":{"atom":106,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amendment_number","atom":107}},{"Entity":{"atom":95}},{"Entity":{"atom":55}},{"Repetition":{"atom":110,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"amendment_year","atom":111}},{"Sequence":{"atoms":[109,112]}},{"Repetition":{"atom":113,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Str":{"pattern":"FRAG"}},{"Entity":{"atom":55}},{"Repetition":{"atom":117,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"fragment_number","atom":118}},{"Sequence":{"atoms":[89,90,91,92,100,104,105,108,114,115,116,119]}},{"Alternative":{"atoms":[86,120]}},{"Entity":{"atom":18}},{"Entity":{"atom":49}},{"Alternative":{"atoms":[122,123]}},{"Entity":{"atom":52}},{"Entity":{"atom":211}},{"Entity":{"atom":131}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Str":{"pattern":"CISPR"}},{"Alternative":{"atoms":[128,129,130]}},{"Entity":{"atom":194}},{"Entity":{"atom":149}},{"Entity":{"atom":102}},{"Named":{"name":"amd_sep_plus","atom":134}},{"Entity":{"atom":34}},{"Named":{"name":"amd_sep_slash","atom":136}},{"Alternative":{"atoms":[135,137]}},{"Str":{"pattern":"A"}},{"Entity":{"atom":55}},{"Repetition":{"atom":140,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_number","atom":141}},{"Entity":{"atom":95}},{"Entity":{"atom":55}},{"Repetition":{"atom":144,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"amd_year","atom":145}},{"Sequence":{"atoms":[143,146]}},{"Repetition":{"atom":147,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[138,139,142,148]}},{"Entity":{"atom":192}},{"Entity":{"atom":102}},{"Named":{"name":"amd_sep_plus","atom":151}},{"Entity":{"atom":34}},{"Named":{"name":"amd_sep_slash","atom":153}},{"Alternative":{"atoms":[152,154]}},{"Str":{"pattern":"AC"}},{"Entity":{"atom":55}},{"Entity":{"atom":55}},{"Repetition":{"atom":158,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[157,159]}},{"Named":{"name":"cor_number","atom":160}},{"Repetition":{"atom":161,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":184}},{"Entity":{"atom":95}},{"Entity":{"atom":55}},{"Repetition":{"atom":165,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":166}},{"Entity":{"atom":67}},{"Entity":{"atom":183}},{"Str":{"pattern":"01"}},{"Str":{"pattern":"02"}},{"Str":{"pattern":"03"}},{"Str":{"pattern":"04"}},{"Str":{"pattern":"05"}},{"Str":{"pattern":"06"}},{"Str":{"pattern":"07"}},{"Str":{"pattern":"08"}},{"Str":{"pattern":"09"}},{"Str":{"pattern":"10"}},{"Str":{"pattern":"11"}},{"Str":{"pattern":"12"}},{"Alternative":{"atoms":[170,171,172,173,174,175,176,177,178,179,180,181]}},{"Named":{"name":"month","atom":182}},{"Sequence":{"atoms":[164,167,168,169]}},{"Entity":{"atom":95}},{"Entity":{"atom":55}},{"Repetition":{"atom":186,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":187}},{"Sequence":{"atoms":[185,188]}},{"Alternative":{"atoms":[163,189]}},{"Repetition":{"atom":190,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[155,156,162,191]}},{"Alternative":{"atoms":[133,150]}},{"Named":{"name":"supplement","atom":193}},{"Lookahead":{"atom":132,"positive":false}},{"Entity":{"atom":202}},{"Entity":{"atom":52}},{"Str":{"pattern":"ED"}},{"Entity":{"atom":55}},{"Repetition":{"atom":199,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"edition","atom":200}},{"Sequence":{"atoms":[197,198,201]}},{"Lookahead":{"atom":196,"positive":false}},{"Entity":{"atom":207}},{"Re":{"pattern":"[\\x01-\\x09]"}},{"Re":{"pattern":"[\\x0b-\\u{10ffff}]"}},{"Alternative":{"atoms":[205,206]}},{"Sequence":{"atoms":[195,203,204]}},{"Repetition":{"atom":208,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[127,209]}},{"Named":{"name":"adopted_string","atom":210}},{"Sequence":{"atoms":[125,126]}},{"Repetition":{"atom":212,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Entity":{"atom":221}},{"Str":{"pattern":"Guide"}},{"Str":{"pattern":"GUIDE"}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"TS"}},{"Alternative":{"atoms":[216,217,218,219]}},{"Named":{"name":"type","atom":220}},{"Sequence":{"atoms":[214,215]}},{"Entity":{"atom":34}},{"Entity":{"atom":221}},{"Sequence":{"atoms":[223,224]}},{"Alternative":{"atoms":[222,225]}},{"Repetition":{"atom":226,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Entity":{"atom":63}},{"Entity":{"atom":75}},{"Entity":{"atom":243}},{"Entity":{"atom":52}},{"Str":{"pattern":"V"}},{"Entity":{"atom":55}},{"Repetition":{"atom":234,"min":1,"max":null,"tag":"Repetition"}},{"Str":{"pattern":"."}},{"Entity":{"atom":55}},{"Repetition":{"atom":237,"min":1,"max":null,"tag":"Repetition"}},{"Str":{"pattern":"."}},{"Entity":{"atom":55}},{"Repetition":{"atom":240,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[232,233,235,236,238,239,241]}},{"Named":{"name":"version","atom":242}},{"Repetition":{"atom":231,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":99}},{"Repetition":{"atom":245,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[228,229,230,244,246]}},{"Repetition":{"atom":247,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":252}},{"Entity":{"atom":194}},{"Repetition":{"atom":250,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"supplements","atom":251}},{"Entity":{"atom":202}},{"Repetition":{"atom":253,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[124,213,227,248,249,254]}},{"Alternative":{"atoms":[13,255]}},{"Named":{"name":"adopted","atom":12}},{"Entity":{"atom":282}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Alternative":{"atoms":[259,260]}},{"Named":{"name":"intl_org","atom":261}},{"Entity":{"atom":9}},{"Entity":{"atom":265}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":264,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":266}},{"Sequence":{"atoms":[262,263,267]}},{"Entity":{"atom":7}},{"Entity":{"atom":265}},{"Repetition":{"atom":270,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":271}},{"Sequence":{"atoms":[269,272]}},{"Repetition":{"atom":273,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":276}},{"Str":{"pattern":":"}},{"Entity":{"atom":265}},{"Repetition":{"atom":277,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":278}},{"Sequence":{"atoms":[275,279]}},{"Repetition":{"atom":280,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[268,274,281]}},{"Named":{"name":"intl","atom":258}},{"Entity":{"atom":301}},{"Str":{"pattern":"TS"}},{"Str":{"pattern":"TR"}},{"Alternative":{"atoms":[285,286]}},{"Named":{"name":"evs_type","atom":287}},{"Entity":{"atom":9}},{"Sequence":{"atoms":[288,289]}},{"Repetition":{"atom":290,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":265}},{"Repetition":{"atom":292,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":293}},{"Entity":{"atom":276}},{"Entity":{"atom":265}},{"Repetition":{"atom":296,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":297}},{"Sequence":{"atoms":[295,298]}},{"Repetition":{"atom":299,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[291,294,300]}},{"Named":{"name":"plain","atom":284}},{"Alternative":{"atoms":[257,283,302]}},{"Entity":{"atom":327}},{"Entity":{"atom":306}},{"Str":{"pattern":"+"}},{"Named":{"name":"supp_plus","atom":305}},{"Entity":{"atom":309}},{"Str":{"pattern":"/"}},{"Named":{"name":"supp_slash","atom":308}},{"Entity":{"atom":9}},{"Named":{"name":"supp_space","atom":311}},{"Alternative":{"atoms":[307,310,312]}},{"Str":{"pattern":"AMD"}},{"Named":{"name":"amd_kind","atom":314}},{"Sequence":{"atoms":[313,315]}},{"Entity":{"atom":265}},{"Repetition":{"atom":317,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_number","atom":318}},{"Entity":{"atom":276}},{"Entity":{"atom":265}},{"Repetition":{"atom":321,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"amd_year","atom":322}},{"Sequence":{"atoms":[320,323]}},{"Repetition":{"atom":324,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[316,319,325]}},{"Named":{"name":"evs_amd","atom":326}},{"Repetition":{"atom":304,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":349}},{"Entity":{"atom":306}},{"Named":{"name":"supp_plus","atom":330}},{"Entity":{"atom":309}},{"Named":{"name":"supp_slash","atom":332}},{"Alternative":{"atoms":[331,333]}},{"Str":{"pattern":"COR"}},{"Named":{"name":"cor_kind","atom":335}},{"Sequence":{"atoms":[334,336]}},{"Entity":{"atom":265}},{"Repetition":{"atom":338,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"cor_number","atom":339}},{"Repetition":{"atom":340,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":276}},{"Entity":{"atom":265}},{"Repetition":{"atom":343,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"cor_year","atom":344}},{"Sequence":{"atoms":[342,345]}},{"Repetition":{"atom":346,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[337,341,347]}},{"Named":{"name":"evs_cor","atom":348}},{"Entity":{"atom":366}},{"Entity":{"atom":9}},{"Named":{"name":"supp_space","atom":351}},{"Str":{"pattern":"AC"}},{"Named":{"name":"cor_kind","atom":353}},{"Entity":{"atom":265}},{"Repetition":{"atom":355,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"cor_number","atom":356}},{"Repetition":{"atom":357,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":276}},{"Entity":{"atom":265}},{"Repetition":{"atom":360,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"cor_year","atom":361}},{"Sequence":{"atoms":[359,362]}},{"Repetition":{"atom":363,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[352,354,358,364]}},{"Named":{"name":"evs_cor","atom":365}},{"Alternative":{"atoms":[329,350]}},{"Repetition":{"atom":367,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":384}},{"Entity":{"atom":306}},{"Named":{"name":"supp_plus","atom":370}},{"Entity":{"atom":309}},{"Named":{"name":"supp_slash","atom":372}},{"Alternative":{"atoms":[371,373]}},{"Str":{"pattern":"NA"}},{"Sequence":{"atoms":[374,375]}},{"Entity":{"atom":276}},{"Entity":{"atom":265}},{"Repetition":{"atom":378,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"na_year","atom":379}},{"Sequence":{"atoms":[377,380]}},{"Repetition":{"atom":381,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[376,382]}},{"Named":{"name":"na","atom":383}},{"Repetition":{"atom":369,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[3,4,5,303,328,368,385]}}],"root":386},"bindings":[]},"cen_cenelec.identifier":{"root":"cen_cenelec.identifier","grammar":{"atoms":[{"Entity":{"atom":108}},{"Entity":{"atom":5}},{"Str":{"pattern":"FprEN"}},{"Str":{"pattern":"prEN"}},{"Alternative":{"atoms":[2,3]}},{"Named":{"name":"type_with_stage","atom":4}},{"Entity":{"atom":36}},{"Str":{"pattern":"CWA"}},{"Str":{"pattern":"HD"}},{"Str":{"pattern":"ES"}},{"Str":{"pattern":"CR"}},{"Str":{"pattern":"ENV"}},{"Alternative":{"atoms":[7,8,9,10,11]}},{"Named":{"name":"publisher","atom":12}},{"Str":{"pattern":"EN"}},{"Str":{"pattern":"CEN"}},{"Alternative":{"atoms":[14,15]}},{"Named":{"name":"publisher","atom":16}},{"Entity":{"atom":28}},{"Entity":{"atom":26}},{"Entity":{"atom":21}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"CLC"}},{"Str":{"pattern":"ETSI"}},{"Alternative":{"atoms":[22,23]}},{"Named":{"name":"copublisher","atom":24}},{"Sequence":{"atoms":[20,25]}},{"Repetition":{"atom":19,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"copublishers","atom":27}},{"Repetition":{"atom":18,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[17,29]}},{"Str":{"pattern":"CLC"}},{"Named":{"name":"publisher","atom":31}},{"Entity":{"atom":28}},{"Repetition":{"atom":33,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[32,34]}},{"Alternative":{"atoms":[13,30,35]}},{"Alternative":{"atoms":[1,6]}},{"Entity":{"atom":39}},{"Str":{"pattern":" "}},{"Entity":{"atom":50}},{"Entity":{"atom":42}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":41,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":39}},{"Entity":{"atom":42}},{"Repetition":{"atom":45,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[44,46]}},{"Repetition":{"atom":47,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[43,48]}},{"Named":{"name":"number","atom":49}},{"Entity":{"atom":62}},{"Entity":{"atom":60}},{"Entity":{"atom":54}},{"Str":{"pattern":"-"}},{"Entity":{"atom":42}},{"Entity":{"atom":54}},{"Alternative":{"atoms":[55,56]}},{"Repetition":{"atom":57,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":58}},{"Sequence":{"atoms":[53,59]}},{"Repetition":{"atom":52,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":61}},{"Entity":{"atom":39}},{"Str":{"pattern":"AMD"}},{"Entity":{"atom":42}},{"Repetition":{"atom":65,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amendment_number","atom":66}},{"Entity":{"atom":39}},{"Str":{"pattern":"FRAG"}},{"Entity":{"atom":42}},{"Repetition":{"atom":70,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"fragment_number","atom":71}},{"Sequence":{"atoms":[37,38,40,51,63,64,67,68,69,72]}},{"Entity":{"atom":5}},{"Entity":{"atom":36}},{"Alternative":{"atoms":[74,75]}},{"Entity":{"atom":39}},{"Entity":{"atom":50}},{"Entity":{"atom":62}},{"Entity":{"atom":86}},{"Entity":{"atom":82}},{"Str":{"pattern":":"}},{"Entity":{"atom":42}},{"Repetition":{"atom":83,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":84}},{"Sequence":{"atoms":[81,85]}},{"Repetition":{"atom":80,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":89}},{"Str":{"pattern":"+"}},{"Entity":{"atom":21}},{"Alternative":{"atoms":[88,90]}},{"Str":{"pattern":"A"}},{"Entity":{"atom":42}},{"Repetition":{"atom":93,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amendment_number","atom":94}},{"Entity":{"atom":82}},{"Entity":{"atom":42}},{"Repetition":{"atom":97,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"amendment_year","atom":98}},{"Sequence":{"atoms":[96,99]}},{"Repetition":{"atom":100,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":39}},{"Str":{"pattern":"FRAG"}},{"Entity":{"atom":42}},{"Repetition":{"atom":104,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"fragment_number","atom":105}},{"Sequence":{"atoms":[76,77,78,79,87,91,92,95,101,102,103,106]}},{"Alternative":{"atoms":[73,107]}},{"Entity":{"atom":5}},{"Entity":{"atom":36}},{"Alternative":{"atoms":[109,110]}},{"Entity":{"atom":39}},{"Entity":{"atom":198}},{"Entity":{"atom":118}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Str":{"pattern":"CISPR"}},{"Alternative":{"atoms":[115,116,117]}},{"Entity":{"atom":181}},{"Entity":{"atom":136}},{"Entity":{"atom":89}},{"Named":{"name":"amd_sep_plus","atom":121}},{"Entity":{"atom":21}},{"Named":{"name":"amd_sep_slash","atom":123}},{"Alternative":{"atoms":[122,124]}},{"Str":{"pattern":"A"}},{"Entity":{"atom":42}},{"Repetition":{"atom":127,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_number","atom":128}},{"Entity":{"atom":82}},{"Entity":{"atom":42}},{"Repetition":{"atom":131,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"amd_year","atom":132}},{"Sequence":{"atoms":[130,133]}},{"Repetition":{"atom":134,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[125,126,129,135]}},{"Entity":{"atom":179}},{"Entity":{"atom":89}},{"Named":{"name":"amd_sep_plus","atom":138}},{"Entity":{"atom":21}},{"Named":{"name":"amd_sep_slash","atom":140}},{"Alternative":{"atoms":[139,141]}},{"Str":{"pattern":"AC"}},{"Entity":{"atom":42}},{"Entity":{"atom":42}},{"Repetition":{"atom":145,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[144,146]}},{"Named":{"name":"cor_number","atom":147}},{"Repetition":{"atom":148,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":171}},{"Entity":{"atom":82}},{"Entity":{"atom":42}},{"Repetition":{"atom":152,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":153}},{"Entity":{"atom":54}},{"Entity":{"atom":170}},{"Str":{"pattern":"01"}},{"Str":{"pattern":"02"}},{"Str":{"pattern":"03"}},{"Str":{"pattern":"04"}},{"Str":{"pattern":"05"}},{"Str":{"pattern":"06"}},{"Str":{"pattern":"07"}},{"Str":{"pattern":"08"}},{"Str":{"pattern":"09"}},{"Str":{"pattern":"10"}},{"Str":{"pattern":"11"}},{"Str":{"pattern":"12"}},{"Alternative":{"atoms":[157,158,159,160,161,162,163,164,165,166,167,168]}},{"Named":{"name":"month","atom":169}},{"Sequence":{"atoms":[151,154,155,156]}},{"Entity":{"atom":82}},{"Entity":{"atom":42}},{"Repetition":{"atom":173,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":174}},{"Sequence":{"atoms":[172,175]}},{"Alternative":{"atoms":[150,176]}},{"Repetition":{"atom":177,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[142,143,149,178]}},{"Alternative":{"atoms":[120,137]}},{"Named":{"name":"supplement","atom":180}},{"Lookahead":{"atom":119,"positive":false}},{"Entity":{"atom":189}},{"Entity":{"atom":39}},{"Str":{"pattern":"ED"}},{"Entity":{"atom":42}},{"Repetition":{"atom":186,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"edition","atom":187}},{"Sequence":{"atoms":[184,185,188]}},{"Lookahead":{"atom":183,"positive":false}},{"Entity":{"atom":194}},{"Re":{"pattern":"[\\x01-\\x09]"}},{"Re":{"pattern":"[\\x0b-\\u{10ffff}]"}},{"Alternative":{"atoms":[192,193]}},{"Sequence":{"atoms":[182,190,191]}},{"Repetition":{"atom":195,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[114,196]}},{"Named":{"name":"adopted_string","atom":197}},{"Sequence":{"atoms":[112,113]}},{"Repetition":{"atom":199,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":39}},{"Entity":{"atom":208}},{"Str":{"pattern":"Guide"}},{"Str":{"pattern":"GUIDE"}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"TS"}},{"Alternative":{"atoms":[203,204,205,206]}},{"Named":{"name":"type","atom":207}},{"Sequence":{"atoms":[201,202]}},{"Entity":{"atom":21}},{"Entity":{"atom":208}},{"Sequence":{"atoms":[210,211]}},{"Alternative":{"atoms":[209,212]}},{"Repetition":{"atom":213,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":39}},{"Entity":{"atom":50}},{"Entity":{"atom":62}},{"Entity":{"atom":230}},{"Entity":{"atom":39}},{"Str":{"pattern":"V"}},{"Entity":{"atom":42}},{"Repetition":{"atom":221,"min":1,"max":null,"tag":"Repetition"}},{"Str":{"pattern":"."}},{"Entity":{"atom":42}},{"Repetition":{"atom":224,"min":1,"max":null,"tag":"Repetition"}},{"Str":{"pattern":"."}},{"Entity":{"atom":42}},{"Repetition":{"atom":227,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[219,220,222,223,225,226,228]}},{"Named":{"name":"version","atom":229}},{"Repetition":{"atom":218,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":86}},{"Repetition":{"atom":232,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[215,216,217,231,233]}},{"Repetition":{"atom":234,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":239}},{"Entity":{"atom":181}},{"Repetition":{"atom":237,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"supplements","atom":238}},{"Entity":{"atom":189}},{"Repetition":{"atom":240,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[111,200,214,235,236,241]}},{"Alternative":{"atoms":[0,242]}}],"root":243},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule cen_cenelec.publisher: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.publisher: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.publisher: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.date: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.adopted_org_prefix: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.any_noln_char: branches 1 and 2 are order-dependent (first set not statically known)","rule cen_cenelec.fragment_identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"EVS-EN 18216:2026","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN ISO 9001:2015/A1:2024","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS EN 196-1:2016","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS 921:2019","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-TS 1:2019","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-TR 1:2019","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-ISO 9001:2015","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-IEC 62368-1:2020","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN 1993-1-1:2005+NA:2010","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN 1993-1-1:2005/NA","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN 50581:2012+COR:2015","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN 50581:2012+AC:2015","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN 71-1:2011 AMD1:2014","expect":{}},{"entry":"identifier","kind":"accept","input":"prEVS-EN 100:2026","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 18216:2026","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN ISO 9001:2015","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"CEN/CLC TR 17161:2019","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 196-1:2016+A1","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"CEN/CLC/ETSI/TR 101551:2026","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 302 326-2:2026","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 302 326-2 V2.2.1","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 302 326 V2.2.1:2026","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 302:2026","expect":{}},{"entry":"cen_cenelec.identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# The EVS national identifier: the national prefix (\"EVS\" / \"prEVS\") over a\n# CEN/CENELEC adoption, an ISO/IEC adoption, or a plain Estonian standard —\n# plus the EVS-list supplements (national annex, corrigendum, AMD amendment)\n# and the language code. The CEN spine is IMPORTED via `use` (TODO 11/C6\n# imports): rules are namespaced cen_cenelec.* while captures keep their\n# contract names.\n\nuse cen_cenelec\n\ngrammar PubidEvs version \"0.3.0\" {\n identifier = [draft_prefix] \"EVS\" evs_separator ((cen_cenelec.identifier) as adopted / (evs_intl) as intl / (evs_plain) as plain) [evs_amd] [evs_cor / evs_ac] [evs_na]\n\n draft_prefix = \"pr\" as draft_prefix\n evs_separator = (dash / space) as evs_separator\n\n # \"EVS-ISO 9001:2015\", \"EVS-IEC 62368-1:2020\" (+ their amendments)\n evs_intl = ((((\"ISO\" / \"IEC\") as intl_org) space (1*digit) as number) [(dash (1*digit) as part)] [(colon (4digit) as year)])\n # \"EVS 921:2019\", \"EVS-TS 1:2019\", \"EVS-TR 1:2019\"\n evs_plain = [((\"TS\" / \"TR\") as evs_type) space] (1*digit) as number [(colon (4digit) as year)]\n\n # \" AMD1:2014\" / \"+AMD1\" — the AMD amendment spelling; the separator is\n # semantic (list: \"+A full standard plus the amendment\", \"/A only amendment\")\n evs_amd = (((plus as supp_plus / slash as supp_slash / space as supp_space) (\"AMD\" as amd_kind)) (1*digit) as amd_number [(colon (4digit) as amd_year)]) as evs_amd\n # \"+COR:2015\" / \"/COR\" — the COR spelling (the CEN spine consumes +AC itself)\n evs_cor = (((plus as supp_plus / slash as supp_slash) (\"COR\" as cor_kind)) [(1*digit) as cor_number] [(colon (4digit) as cor_year)]) as evs_cor\n # \" AC:2015\" — the space-separated AC spelling\n evs_ac = ((space as supp_space) (\"AC\" as cor_kind) [(1*digit) as cor_number] [(colon (4digit) as cor_year)]) as evs_cor\n # \"+NA:2010\" / \"/NA\" — the national annex\n evs_na = (((plus as supp_plus / slash as supp_slash) \"NA\") [(colon (4digit) as na_year)]) as na\n # The trailing language code (\" et\" / \" en\" / \" et-en\") is extracted by\n # the parse wrapper (Pubid::Evs.parse) BEFORE the grammar runs — the\n # CEN adopted_string is greedy over plain text and would swallow it.\n\n digit = %x30-39\n dash = \"-\"\n space = \" \"\n plus = \"+\"\n slash = \"/\"\n colon = \":\"\n\n entry identifier: identifier\n\n test {\n accept \"EVS-EN 18216:2026\"\n accept \"EVS-EN ISO 9001:2015/A1:2024\"\n accept \"EVS EN 196-1:2016\"\n accept \"EVS 921:2019\"\n accept \"EVS-TS 1:2019\"\n accept \"EVS-TR 1:2019\"\n accept \"EVS-ISO 9001:2015\"\n accept \"EVS-IEC 62368-1:2020\"\n accept \"EVS-EN 1993-1-1:2005+NA:2010\"\n accept \"EVS-EN 1993-1-1:2005/NA\"\n accept \"EVS-EN 50581:2012+COR:2015\"\n accept \"EVS-EN 50581:2012+AC:2015\"\n accept \"EVS-EN 71-1:2011 AMD1:2014\"\n accept \"prEVS-EN 100:2026\"\n reject \"nonsense\"\n }\n}\n","source_hash":"0b4cb52e9c6ec1beadb59a7d52f152c817f70bd67cc5e44194419cb536b679fc","compiler_version":"1.3.93","checksum":"sha256:f3954ca983e4bf132f0a978e8ddf9f80e9dfd2a862841380387eae40a7c7fcc1"}
|
|
1
|
+
{"bindings":null,"version":"0.3.0","grammar":"PubidEvs","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":2}},{"Str":{"pattern":"pr"}},{"Named":{"name":"draft_prefix","atom":1}},{"Repetition":{"atom":0,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"EVS"}},{"Entity":{"atom":11}},{"Entity":{"atom":7}},{"Str":{"pattern":"-"}},{"Entity":{"atom":9}},{"Str":{"pattern":" "}},{"Alternative":{"atoms":[6,8]}},{"Named":{"name":"evs_separator","atom":10}},{"Entity":{"atom":256}},{"Entity":{"atom":121}},{"Entity":{"atom":18}},{"Str":{"pattern":"FprEN"}},{"Str":{"pattern":"prEN"}},{"Alternative":{"atoms":[15,16]}},{"Named":{"name":"type_with_stage","atom":17}},{"Entity":{"atom":49}},{"Str":{"pattern":"CWA"}},{"Str":{"pattern":"HD"}},{"Str":{"pattern":"ES"}},{"Str":{"pattern":"CR"}},{"Str":{"pattern":"ENV"}},{"Alternative":{"atoms":[20,21,22,23,24]}},{"Named":{"name":"publisher","atom":25}},{"Str":{"pattern":"EN"}},{"Str":{"pattern":"CEN"}},{"Alternative":{"atoms":[27,28]}},{"Named":{"name":"publisher","atom":29}},{"Entity":{"atom":41}},{"Entity":{"atom":39}},{"Entity":{"atom":34}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"CLC"}},{"Str":{"pattern":"ETSI"}},{"Alternative":{"atoms":[35,36]}},{"Named":{"name":"copublisher","atom":37}},{"Sequence":{"atoms":[33,38]}},{"Repetition":{"atom":32,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"copublishers","atom":40}},{"Repetition":{"atom":31,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[30,42]}},{"Str":{"pattern":"CLC"}},{"Named":{"name":"publisher","atom":44}},{"Entity":{"atom":41}},{"Repetition":{"atom":46,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[45,47]}},{"Alternative":{"atoms":[26,43,48]}},{"Alternative":{"atoms":[14,19]}},{"Entity":{"atom":52}},{"Str":{"pattern":" "}},{"Entity":{"atom":63}},{"Entity":{"atom":55}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":54,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":55}},{"Repetition":{"atom":58,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[57,59]}},{"Repetition":{"atom":60,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[56,61]}},{"Named":{"name":"number","atom":62}},{"Entity":{"atom":75}},{"Entity":{"atom":73}},{"Entity":{"atom":67}},{"Str":{"pattern":"-"}},{"Entity":{"atom":55}},{"Entity":{"atom":67}},{"Alternative":{"atoms":[68,69]}},{"Repetition":{"atom":70,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":71}},{"Sequence":{"atoms":[66,72]}},{"Repetition":{"atom":65,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":74}},{"Entity":{"atom":52}},{"Str":{"pattern":"AMD"}},{"Entity":{"atom":55}},{"Repetition":{"atom":78,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amendment_number","atom":79}},{"Entity":{"atom":52}},{"Str":{"pattern":"FRAG"}},{"Entity":{"atom":55}},{"Repetition":{"atom":83,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"fragment_number","atom":84}},{"Sequence":{"atoms":[50,51,53,64,76,77,80,81,82,85]}},{"Entity":{"atom":18}},{"Entity":{"atom":49}},{"Alternative":{"atoms":[87,88]}},{"Entity":{"atom":52}},{"Entity":{"atom":63}},{"Entity":{"atom":75}},{"Entity":{"atom":99}},{"Entity":{"atom":95}},{"Str":{"pattern":":"}},{"Entity":{"atom":55}},{"Repetition":{"atom":96,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":97}},{"Sequence":{"atoms":[94,98]}},{"Repetition":{"atom":93,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":102}},{"Str":{"pattern":"+"}},{"Entity":{"atom":34}},{"Alternative":{"atoms":[101,103]}},{"Str":{"pattern":"A"}},{"Entity":{"atom":55}},{"Repetition":{"atom":106,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amendment_number","atom":107}},{"Entity":{"atom":95}},{"Entity":{"atom":55}},{"Repetition":{"atom":110,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"amendment_year","atom":111}},{"Sequence":{"atoms":[109,112]}},{"Repetition":{"atom":113,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Str":{"pattern":"FRAG"}},{"Entity":{"atom":55}},{"Repetition":{"atom":117,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"fragment_number","atom":118}},{"Sequence":{"atoms":[89,90,91,92,100,104,105,108,114,115,116,119]}},{"Alternative":{"atoms":[86,120]}},{"Entity":{"atom":18}},{"Entity":{"atom":49}},{"Alternative":{"atoms":[122,123]}},{"Entity":{"atom":52}},{"Entity":{"atom":211}},{"Entity":{"atom":131}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Str":{"pattern":"CISPR"}},{"Alternative":{"atoms":[128,129,130]}},{"Entity":{"atom":194}},{"Entity":{"atom":149}},{"Entity":{"atom":102}},{"Named":{"name":"amd_sep_plus","atom":134}},{"Entity":{"atom":34}},{"Named":{"name":"amd_sep_slash","atom":136}},{"Alternative":{"atoms":[135,137]}},{"Str":{"pattern":"A"}},{"Entity":{"atom":55}},{"Repetition":{"atom":140,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_number","atom":141}},{"Entity":{"atom":95}},{"Entity":{"atom":55}},{"Repetition":{"atom":144,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"amd_year","atom":145}},{"Sequence":{"atoms":[143,146]}},{"Repetition":{"atom":147,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[138,139,142,148]}},{"Entity":{"atom":192}},{"Entity":{"atom":102}},{"Named":{"name":"amd_sep_plus","atom":151}},{"Entity":{"atom":34}},{"Named":{"name":"amd_sep_slash","atom":153}},{"Alternative":{"atoms":[152,154]}},{"Str":{"pattern":"AC"}},{"Entity":{"atom":55}},{"Entity":{"atom":55}},{"Repetition":{"atom":158,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[157,159]}},{"Named":{"name":"cor_number","atom":160}},{"Repetition":{"atom":161,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":184}},{"Entity":{"atom":95}},{"Entity":{"atom":55}},{"Repetition":{"atom":165,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":166}},{"Entity":{"atom":67}},{"Entity":{"atom":183}},{"Str":{"pattern":"01"}},{"Str":{"pattern":"02"}},{"Str":{"pattern":"03"}},{"Str":{"pattern":"04"}},{"Str":{"pattern":"05"}},{"Str":{"pattern":"06"}},{"Str":{"pattern":"07"}},{"Str":{"pattern":"08"}},{"Str":{"pattern":"09"}},{"Str":{"pattern":"10"}},{"Str":{"pattern":"11"}},{"Str":{"pattern":"12"}},{"Alternative":{"atoms":[170,171,172,173,174,175,176,177,178,179,180,181]}},{"Named":{"name":"month","atom":182}},{"Sequence":{"atoms":[164,167,168,169]}},{"Entity":{"atom":95}},{"Entity":{"atom":55}},{"Repetition":{"atom":186,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":187}},{"Sequence":{"atoms":[185,188]}},{"Alternative":{"atoms":[163,189]}},{"Repetition":{"atom":190,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[155,156,162,191]}},{"Alternative":{"atoms":[133,150]}},{"Named":{"name":"supplement","atom":193}},{"Lookahead":{"atom":132,"positive":false}},{"Entity":{"atom":202}},{"Entity":{"atom":52}},{"Str":{"pattern":"ED"}},{"Entity":{"atom":55}},{"Repetition":{"atom":199,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"edition","atom":200}},{"Sequence":{"atoms":[197,198,201]}},{"Lookahead":{"atom":196,"positive":false}},{"Entity":{"atom":207}},{"Re":{"pattern":"[\\x01-\\x09]"}},{"Re":{"pattern":"[\\x0b-\\u{10ffff}]"}},{"Alternative":{"atoms":[205,206]}},{"Sequence":{"atoms":[195,203,204]}},{"Repetition":{"atom":208,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[127,209]}},{"Named":{"name":"adopted_string","atom":210}},{"Sequence":{"atoms":[125,126]}},{"Repetition":{"atom":212,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Entity":{"atom":221}},{"Str":{"pattern":"Guide"}},{"Str":{"pattern":"GUIDE"}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"TS"}},{"Alternative":{"atoms":[216,217,218,219]}},{"Named":{"name":"type","atom":220}},{"Sequence":{"atoms":[214,215]}},{"Entity":{"atom":34}},{"Entity":{"atom":221}},{"Sequence":{"atoms":[223,224]}},{"Alternative":{"atoms":[222,225]}},{"Repetition":{"atom":226,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Entity":{"atom":63}},{"Entity":{"atom":75}},{"Entity":{"atom":243}},{"Entity":{"atom":52}},{"Str":{"pattern":"V"}},{"Entity":{"atom":55}},{"Repetition":{"atom":234,"min":1,"max":null,"tag":"Repetition"}},{"Str":{"pattern":"."}},{"Entity":{"atom":55}},{"Repetition":{"atom":237,"min":1,"max":null,"tag":"Repetition"}},{"Str":{"pattern":"."}},{"Entity":{"atom":55}},{"Repetition":{"atom":240,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[232,233,235,236,238,239,241]}},{"Named":{"name":"version","atom":242}},{"Repetition":{"atom":231,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":99}},{"Repetition":{"atom":245,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[228,229,230,244,246]}},{"Repetition":{"atom":247,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":252}},{"Entity":{"atom":194}},{"Repetition":{"atom":250,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"supplements","atom":251}},{"Entity":{"atom":202}},{"Repetition":{"atom":253,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[124,213,227,248,249,254]}},{"Alternative":{"atoms":[13,255]}},{"Named":{"name":"adopted","atom":12}},{"Entity":{"atom":282}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Alternative":{"atoms":[259,260]}},{"Named":{"name":"intl_org","atom":261}},{"Entity":{"atom":9}},{"Entity":{"atom":265}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":264,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":266}},{"Sequence":{"atoms":[262,263,267]}},{"Entity":{"atom":7}},{"Entity":{"atom":265}},{"Repetition":{"atom":270,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":271}},{"Sequence":{"atoms":[269,272]}},{"Repetition":{"atom":273,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":276}},{"Str":{"pattern":":"}},{"Entity":{"atom":265}},{"Repetition":{"atom":277,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":278}},{"Sequence":{"atoms":[275,279]}},{"Repetition":{"atom":280,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[268,274,281]}},{"Named":{"name":"intl","atom":258}},{"Entity":{"atom":301}},{"Str":{"pattern":"TS"}},{"Str":{"pattern":"TR"}},{"Alternative":{"atoms":[285,286]}},{"Named":{"name":"evs_type","atom":287}},{"Entity":{"atom":9}},{"Sequence":{"atoms":[288,289]}},{"Repetition":{"atom":290,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":265}},{"Repetition":{"atom":292,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":293}},{"Entity":{"atom":276}},{"Entity":{"atom":265}},{"Repetition":{"atom":296,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":297}},{"Sequence":{"atoms":[295,298]}},{"Repetition":{"atom":299,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[291,294,300]}},{"Named":{"name":"plain","atom":284}},{"Alternative":{"atoms":[257,283,302]}},{"Entity":{"atom":327}},{"Entity":{"atom":306}},{"Str":{"pattern":"+"}},{"Named":{"name":"supp_plus","atom":305}},{"Entity":{"atom":309}},{"Str":{"pattern":"/"}},{"Named":{"name":"supp_slash","atom":308}},{"Entity":{"atom":9}},{"Named":{"name":"supp_space","atom":311}},{"Alternative":{"atoms":[307,310,312]}},{"Str":{"pattern":"AMD"}},{"Named":{"name":"amd_kind","atom":314}},{"Sequence":{"atoms":[313,315]}},{"Entity":{"atom":265}},{"Repetition":{"atom":317,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_number","atom":318}},{"Entity":{"atom":276}},{"Entity":{"atom":265}},{"Repetition":{"atom":321,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"amd_year","atom":322}},{"Sequence":{"atoms":[320,323]}},{"Repetition":{"atom":324,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[316,319,325]}},{"Named":{"name":"evs_amd","atom":326}},{"Repetition":{"atom":304,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":349}},{"Entity":{"atom":306}},{"Named":{"name":"supp_plus","atom":330}},{"Entity":{"atom":309}},{"Named":{"name":"supp_slash","atom":332}},{"Alternative":{"atoms":[331,333]}},{"Str":{"pattern":"COR"}},{"Named":{"name":"cor_kind","atom":335}},{"Sequence":{"atoms":[334,336]}},{"Entity":{"atom":265}},{"Repetition":{"atom":338,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"cor_number","atom":339}},{"Repetition":{"atom":340,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":276}},{"Entity":{"atom":265}},{"Repetition":{"atom":343,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"cor_year","atom":344}},{"Sequence":{"atoms":[342,345]}},{"Repetition":{"atom":346,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[337,341,347]}},{"Named":{"name":"evs_cor","atom":348}},{"Entity":{"atom":366}},{"Entity":{"atom":9}},{"Named":{"name":"supp_space","atom":351}},{"Str":{"pattern":"AC"}},{"Named":{"name":"cor_kind","atom":353}},{"Entity":{"atom":265}},{"Repetition":{"atom":355,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"cor_number","atom":356}},{"Repetition":{"atom":357,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":276}},{"Entity":{"atom":265}},{"Repetition":{"atom":360,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"cor_year","atom":361}},{"Sequence":{"atoms":[359,362]}},{"Repetition":{"atom":363,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[352,354,358,364]}},{"Named":{"name":"evs_cor","atom":365}},{"Alternative":{"atoms":[329,350]}},{"Repetition":{"atom":367,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":384}},{"Entity":{"atom":306}},{"Named":{"name":"supp_plus","atom":370}},{"Entity":{"atom":309}},{"Named":{"name":"supp_slash","atom":372}},{"Alternative":{"atoms":[371,373]}},{"Str":{"pattern":"NA"}},{"Sequence":{"atoms":[374,375]}},{"Entity":{"atom":276}},{"Entity":{"atom":265}},{"Repetition":{"atom":378,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"na_year","atom":379}},{"Sequence":{"atoms":[377,380]}},{"Repetition":{"atom":381,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[376,382]}},{"Named":{"name":"na","atom":383}},{"Repetition":{"atom":369,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[3,4,5,303,328,368,385]}}],"root":386},"bindings":[]},"cen_cenelec.identifier":{"root":"cen_cenelec.identifier","grammar":{"atoms":[{"Entity":{"atom":108}},{"Entity":{"atom":5}},{"Str":{"pattern":"FprEN"}},{"Str":{"pattern":"prEN"}},{"Alternative":{"atoms":[2,3]}},{"Named":{"name":"type_with_stage","atom":4}},{"Entity":{"atom":36}},{"Str":{"pattern":"CWA"}},{"Str":{"pattern":"HD"}},{"Str":{"pattern":"ES"}},{"Str":{"pattern":"CR"}},{"Str":{"pattern":"ENV"}},{"Alternative":{"atoms":[7,8,9,10,11]}},{"Named":{"name":"publisher","atom":12}},{"Str":{"pattern":"EN"}},{"Str":{"pattern":"CEN"}},{"Alternative":{"atoms":[14,15]}},{"Named":{"name":"publisher","atom":16}},{"Entity":{"atom":28}},{"Entity":{"atom":26}},{"Entity":{"atom":21}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"CLC"}},{"Str":{"pattern":"ETSI"}},{"Alternative":{"atoms":[22,23]}},{"Named":{"name":"copublisher","atom":24}},{"Sequence":{"atoms":[20,25]}},{"Repetition":{"atom":19,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"copublishers","atom":27}},{"Repetition":{"atom":18,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[17,29]}},{"Str":{"pattern":"CLC"}},{"Named":{"name":"publisher","atom":31}},{"Entity":{"atom":28}},{"Repetition":{"atom":33,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[32,34]}},{"Alternative":{"atoms":[13,30,35]}},{"Alternative":{"atoms":[1,6]}},{"Entity":{"atom":39}},{"Str":{"pattern":" "}},{"Entity":{"atom":50}},{"Entity":{"atom":42}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":41,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":39}},{"Entity":{"atom":42}},{"Repetition":{"atom":45,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[44,46]}},{"Repetition":{"atom":47,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[43,48]}},{"Named":{"name":"number","atom":49}},{"Entity":{"atom":62}},{"Entity":{"atom":60}},{"Entity":{"atom":54}},{"Str":{"pattern":"-"}},{"Entity":{"atom":42}},{"Entity":{"atom":54}},{"Alternative":{"atoms":[55,56]}},{"Repetition":{"atom":57,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":58}},{"Sequence":{"atoms":[53,59]}},{"Repetition":{"atom":52,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":61}},{"Entity":{"atom":39}},{"Str":{"pattern":"AMD"}},{"Entity":{"atom":42}},{"Repetition":{"atom":65,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amendment_number","atom":66}},{"Entity":{"atom":39}},{"Str":{"pattern":"FRAG"}},{"Entity":{"atom":42}},{"Repetition":{"atom":70,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"fragment_number","atom":71}},{"Sequence":{"atoms":[37,38,40,51,63,64,67,68,69,72]}},{"Entity":{"atom":5}},{"Entity":{"atom":36}},{"Alternative":{"atoms":[74,75]}},{"Entity":{"atom":39}},{"Entity":{"atom":50}},{"Entity":{"atom":62}},{"Entity":{"atom":86}},{"Entity":{"atom":82}},{"Str":{"pattern":":"}},{"Entity":{"atom":42}},{"Repetition":{"atom":83,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":84}},{"Sequence":{"atoms":[81,85]}},{"Repetition":{"atom":80,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":89}},{"Str":{"pattern":"+"}},{"Entity":{"atom":21}},{"Alternative":{"atoms":[88,90]}},{"Str":{"pattern":"A"}},{"Entity":{"atom":42}},{"Repetition":{"atom":93,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amendment_number","atom":94}},{"Entity":{"atom":82}},{"Entity":{"atom":42}},{"Repetition":{"atom":97,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"amendment_year","atom":98}},{"Sequence":{"atoms":[96,99]}},{"Repetition":{"atom":100,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":39}},{"Str":{"pattern":"FRAG"}},{"Entity":{"atom":42}},{"Repetition":{"atom":104,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"fragment_number","atom":105}},{"Sequence":{"atoms":[76,77,78,79,87,91,92,95,101,102,103,106]}},{"Alternative":{"atoms":[73,107]}},{"Entity":{"atom":5}},{"Entity":{"atom":36}},{"Alternative":{"atoms":[109,110]}},{"Entity":{"atom":39}},{"Entity":{"atom":198}},{"Entity":{"atom":118}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Str":{"pattern":"CISPR"}},{"Alternative":{"atoms":[115,116,117]}},{"Entity":{"atom":181}},{"Entity":{"atom":136}},{"Entity":{"atom":89}},{"Named":{"name":"amd_sep_plus","atom":121}},{"Entity":{"atom":21}},{"Named":{"name":"amd_sep_slash","atom":123}},{"Alternative":{"atoms":[122,124]}},{"Str":{"pattern":"A"}},{"Entity":{"atom":42}},{"Repetition":{"atom":127,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_number","atom":128}},{"Entity":{"atom":82}},{"Entity":{"atom":42}},{"Repetition":{"atom":131,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"amd_year","atom":132}},{"Sequence":{"atoms":[130,133]}},{"Repetition":{"atom":134,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[125,126,129,135]}},{"Entity":{"atom":179}},{"Entity":{"atom":89}},{"Named":{"name":"amd_sep_plus","atom":138}},{"Entity":{"atom":21}},{"Named":{"name":"amd_sep_slash","atom":140}},{"Alternative":{"atoms":[139,141]}},{"Str":{"pattern":"AC"}},{"Entity":{"atom":42}},{"Entity":{"atom":42}},{"Repetition":{"atom":145,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[144,146]}},{"Named":{"name":"cor_number","atom":147}},{"Repetition":{"atom":148,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":171}},{"Entity":{"atom":82}},{"Entity":{"atom":42}},{"Repetition":{"atom":152,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":153}},{"Entity":{"atom":54}},{"Entity":{"atom":170}},{"Str":{"pattern":"01"}},{"Str":{"pattern":"02"}},{"Str":{"pattern":"03"}},{"Str":{"pattern":"04"}},{"Str":{"pattern":"05"}},{"Str":{"pattern":"06"}},{"Str":{"pattern":"07"}},{"Str":{"pattern":"08"}},{"Str":{"pattern":"09"}},{"Str":{"pattern":"10"}},{"Str":{"pattern":"11"}},{"Str":{"pattern":"12"}},{"Alternative":{"atoms":[157,158,159,160,161,162,163,164,165,166,167,168]}},{"Named":{"name":"month","atom":169}},{"Sequence":{"atoms":[151,154,155,156]}},{"Entity":{"atom":82}},{"Entity":{"atom":42}},{"Repetition":{"atom":173,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":174}},{"Sequence":{"atoms":[172,175]}},{"Alternative":{"atoms":[150,176]}},{"Repetition":{"atom":177,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[142,143,149,178]}},{"Alternative":{"atoms":[120,137]}},{"Named":{"name":"supplement","atom":180}},{"Lookahead":{"atom":119,"positive":false}},{"Entity":{"atom":189}},{"Entity":{"atom":39}},{"Str":{"pattern":"ED"}},{"Entity":{"atom":42}},{"Repetition":{"atom":186,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"edition","atom":187}},{"Sequence":{"atoms":[184,185,188]}},{"Lookahead":{"atom":183,"positive":false}},{"Entity":{"atom":194}},{"Re":{"pattern":"[\\x01-\\x09]"}},{"Re":{"pattern":"[\\x0b-\\u{10ffff}]"}},{"Alternative":{"atoms":[192,193]}},{"Sequence":{"atoms":[182,190,191]}},{"Repetition":{"atom":195,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[114,196]}},{"Named":{"name":"adopted_string","atom":197}},{"Sequence":{"atoms":[112,113]}},{"Repetition":{"atom":199,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":39}},{"Entity":{"atom":208}},{"Str":{"pattern":"Guide"}},{"Str":{"pattern":"GUIDE"}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"TS"}},{"Alternative":{"atoms":[203,204,205,206]}},{"Named":{"name":"type","atom":207}},{"Sequence":{"atoms":[201,202]}},{"Entity":{"atom":21}},{"Entity":{"atom":208}},{"Sequence":{"atoms":[210,211]}},{"Alternative":{"atoms":[209,212]}},{"Repetition":{"atom":213,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":39}},{"Entity":{"atom":50}},{"Entity":{"atom":62}},{"Entity":{"atom":230}},{"Entity":{"atom":39}},{"Str":{"pattern":"V"}},{"Entity":{"atom":42}},{"Repetition":{"atom":221,"min":1,"max":null,"tag":"Repetition"}},{"Str":{"pattern":"."}},{"Entity":{"atom":42}},{"Repetition":{"atom":224,"min":1,"max":null,"tag":"Repetition"}},{"Str":{"pattern":"."}},{"Entity":{"atom":42}},{"Repetition":{"atom":227,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[219,220,222,223,225,226,228]}},{"Named":{"name":"version","atom":229}},{"Repetition":{"atom":218,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":86}},{"Repetition":{"atom":232,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[215,216,217,231,233]}},{"Repetition":{"atom":234,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":239}},{"Entity":{"atom":181}},{"Repetition":{"atom":237,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"supplements","atom":238}},{"Entity":{"atom":189}},{"Repetition":{"atom":240,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[111,200,214,235,236,241]}},{"Alternative":{"atoms":[0,242]}}],"root":243},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule cen_cenelec.publisher: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.publisher: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.publisher: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.date: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.adopted_org_prefix: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.any_noln_char: branches 1 and 2 are order-dependent (first set not statically known)","rule cen_cenelec.fragment_identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule cen_cenelec.identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"EVS-EN 18216:2026","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN ISO 9001:2015/A1:2024","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS EN 196-1:2016","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS 921:2019","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-TS 1:2019","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-TR 1:2019","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-ISO 9001:2015","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-IEC 62368-1:2020","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN 1993-1-1:2005+NA:2010","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN 1993-1-1:2005/NA","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN 50581:2012+COR:2015","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN 50581:2012+AC:2015","expect":{}},{"entry":"identifier","kind":"accept","input":"EVS-EN 71-1:2011 AMD1:2014","expect":{}},{"entry":"identifier","kind":"accept","input":"prEVS-EN 100:2026","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 18216:2026","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN ISO 9001:2015","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"CEN/CLC TR 17161:2019","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 196-1:2016+A1","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"CEN/CLC/ETSI/TR 101551:2026","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 302 326-2:2026","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 302 326-2 V2.2.1","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 302 326 V2.2.1:2026","expect":{}},{"entry":"cen_cenelec.identifier","kind":"accept","input":"EN 302:2026","expect":{}},{"entry":"cen_cenelec.identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# The EVS national identifier: the national prefix (\"EVS\" / \"prEVS\") over a\n# CEN/CENELEC adoption, an ISO/IEC adoption, or a plain Estonian standard —\n# plus the EVS-list supplements (national annex, corrigendum, AMD amendment)\n# and the language code. The CEN spine is IMPORTED via `use` (TODO 11/C6\n# imports): rules are namespaced cen_cenelec.* while captures keep their\n# contract names.\n\nuse cen_cenelec\n\ngrammar PubidEvs version \"0.3.0\" mode \"v1\" {\n identifier = [draft_prefix] \"EVS\" evs_separator ((cen_cenelec.identifier) as adopted / (evs_intl) as intl / (evs_plain) as plain) [evs_amd] [evs_cor / evs_ac] [evs_na]\n\n draft_prefix = \"pr\" as draft_prefix\n evs_separator = (dash / space) as evs_separator\n\n # \"EVS-ISO 9001:2015\", \"EVS-IEC 62368-1:2020\" (+ their amendments)\n evs_intl = ((((\"ISO\" / \"IEC\") as intl_org) space (1*digit) as number) [(dash (1*digit) as part)] [(colon (4digit) as year)])\n # \"EVS 921:2019\", \"EVS-TS 1:2019\", \"EVS-TR 1:2019\"\n evs_plain = [((\"TS\" / \"TR\") as evs_type) space] (1*digit) as number [(colon (4digit) as year)]\n\n # \" AMD1:2014\" / \"+AMD1\" — the AMD amendment spelling; the separator is\n # semantic (list: \"+A full standard plus the amendment\", \"/A only amendment\")\n evs_amd = (((plus as supp_plus / slash as supp_slash / space as supp_space) (\"AMD\" as amd_kind)) (1*digit) as amd_number [(colon (4digit) as amd_year)]) as evs_amd\n # \"+COR:2015\" / \"/COR\" — the COR spelling (the CEN spine consumes +AC itself)\n evs_cor = (((plus as supp_plus / slash as supp_slash) (\"COR\" as cor_kind)) [(1*digit) as cor_number] [(colon (4digit) as cor_year)]) as evs_cor\n # \" AC:2015\" — the space-separated AC spelling\n evs_ac = ((space as supp_space) (\"AC\" as cor_kind) [(1*digit) as cor_number] [(colon (4digit) as cor_year)]) as evs_cor\n # \"+NA:2010\" / \"/NA\" — the national annex\n evs_na = (((plus as supp_plus / slash as supp_slash) \"NA\") [(colon (4digit) as na_year)]) as na\n # The trailing language code (\" et\" / \" en\" / \" et-en\") is extracted by\n # the parse wrapper (Pubid::Evs.parse) BEFORE the grammar runs — the\n # CEN adopted_string is greedy over plain text and would swallow it.\n\n digit = %x30-39\n dash = \"-\"\n space = \" \"\n plus = \"+\"\n slash = \"/\"\n colon = \":\"\n\n entry identifier: identifier\n\n test {\n accept \"EVS-EN 18216:2026\"\n accept \"EVS-EN ISO 9001:2015/A1:2024\"\n accept \"EVS EN 196-1:2016\"\n accept \"EVS 921:2019\"\n accept \"EVS-TS 1:2019\"\n accept \"EVS-TR 1:2019\"\n accept \"EVS-ISO 9001:2015\"\n accept \"EVS-IEC 62368-1:2020\"\n accept \"EVS-EN 1993-1-1:2005+NA:2010\"\n accept \"EVS-EN 1993-1-1:2005/NA\"\n accept \"EVS-EN 50581:2012+COR:2015\"\n accept \"EVS-EN 50581:2012+AC:2015\"\n accept \"EVS-EN 71-1:2011 AMD1:2014\"\n accept \"prEVS-EN 100:2026\"\n reject \"nonsense\"\n }\n}\n","source_hash":"ae887f335324589d1341176a774682af86e7c65f3291055b37dfbe3fa664f816","unicode_tables":"onigmo (Ruby 3.4.8)","compiler_version":"1.3.114","edition":1,"checksum":"sha256:ce3875cdfefbc851802f9d377788b8210a8540cc628e6cb4159c43985da6628c"}
|
data/data/parg/gb.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidGb","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":23}},{"Str":{"pattern":"T/"}},{"Entity":{"atom":5}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Alternative":{"atoms":[3,4]}},{"Repetition":{"atom":2,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[1,6]}},{"Str":{"pattern":"GBn"}},{"Str":{"pattern":"/T"}},{"Str":{"pattern":"/Z"}},{"Alternative":{"atoms":[9,10]}},{"Repetition":{"atom":11,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[8,12]}},{"Entity":{"atom":15}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Repetition":{"atom":14,"min":1,"max":3,"tag":"Repetition"}},{"Str":{"pattern":"/T"}},{"Str":{"pattern":"/Z"}},{"Alternative":{"atoms":[17,18]}},{"Repetition":{"atom":19,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[16,20]}},{"Alternative":{"atoms":[7,13,21]}},{"Named":{"name":"publisher_code","atom":22}},{"Entity":{"atom":25}},{"Str":{"pattern":" "}},{"Entity":{"atom":27}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":26,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":28}},{"Str":{"pattern":"."}},{"Entity":{"atom":27}},{"Repetition":{"atom":31,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":32}},{"Sequence":{"atoms":[30,33]}},{"Repetition":{"atom":34,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":39}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"—"}},{"Alternative":{"atoms":[37,38]}},{"Entity":{"atom":27}},{"Repetition":{"atom":
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidGb","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":23}},{"Str":{"pattern":"T/"}},{"Entity":{"atom":5}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Alternative":{"atoms":[3,4]}},{"Repetition":{"atom":2,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[1,6]}},{"Str":{"pattern":"GBn"}},{"Str":{"pattern":"/T"}},{"Str":{"pattern":"/Z"}},{"Alternative":{"atoms":[9,10]}},{"Repetition":{"atom":11,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[8,12]}},{"Entity":{"atom":15}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Repetition":{"atom":14,"min":1,"max":3,"tag":"Repetition"}},{"Str":{"pattern":"/T"}},{"Str":{"pattern":"/Z"}},{"Alternative":{"atoms":[17,18]}},{"Repetition":{"atom":19,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[16,20]}},{"Alternative":{"atoms":[7,13,21]}},{"Named":{"name":"publisher_code","atom":22}},{"Entity":{"atom":25}},{"Str":{"pattern":" "}},{"Entity":{"atom":27}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":26,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":28}},{"Str":{"pattern":"."}},{"Entity":{"atom":27}},{"Repetition":{"atom":31,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":32}},{"Sequence":{"atoms":[30,33]}},{"Repetition":{"atom":34,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":39}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"—"}},{"Alternative":{"atoms":[37,38]}},{"Named":{"name":"dash","atom":36}},{"Entity":{"atom":27}},{"Repetition":{"atom":41,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":42}},{"Sequence":{"atoms":[40,43]}},{"Repetition":{"atom":44,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":" ("}},{"Entity":{"atom":48}},{"Str":{"pattern":"all parts"}},{"Named":{"name":"all_parts_text","atom":47}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[46,49,50]}},{"Repetition":{"atom":51,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,24,29,35,45,52]}}],"root":53},"bindings":[{"capture":"publisher_code","path":"publisher_code","type":"string","card":null,"preprocess":null},{"capture":"number","path":"number","type":"string","card":null,"preprocess":null},{"capture":"part","path":"part","type":"string","card":null,"preprocess":null},{"capture":"year","path":"year","type":"string","card":null,"preprocess":null}]}},"preprocess":{},"tables":{},"lint":{"order_warnings":[]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"GB/T 19001-2016","expect":{}},{"entry":"identifier","kind":"accept","input":"GB 4943","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/gb/parser.rb — Chinese standard identifiers.\n# publisher_code order is load-bearing: the social-group form, then the\n# confidential GBn series (lowercase n is part of the code), then the\n# general 1-3-letter code. The year separator is ASCII dash or the\n# Chinese typographic em-dash.\n\ngrammar PubidGb version \"0.1.0\" edition 2 {\n publisher_code = ((\"T/\" 1*upper_digit) / (\"GBn\" [\"/T\" / \"/Z\"]) / (1*3upper [\"/T\" / \"/Z\"])) as publisher_code\n identifier = publisher_code space (1*digit) as number [(\".\" (1*digit) as part)] [(dash (4digit) as year)] [(\" (\" all_parts_text \")\")]\n all_parts_text = \"all parts\"\n upper = %x41-5A\n upper_digit = %x41-5A / %x30-39\n dash = \"-\" / \"—\"\n space = \" \"\n digit = %x30-39\n entry identifier: identifier\n\n # Typed model bindings: every bound capture lands on the\n # consumer model's field of the same name.\n bindings identifier {\n publisher_code -> publisher_code (string)\n number -> number (string)\n part -> part (string)\n year -> year (string)\n }\n\n\n test {\n accept \"GB/T 19001-2016\"\n accept \"GB 4943\"\n reject \"nonsense\"\n }\n}\n","source_hash":"00d08eb59a1c1f6c71209c61abd5d00b41b49ff73d387fcc5674068f679f9d1a","unicode_tables":"onigmo (Ruby 3.4.8)","compiler_version":"1.3.114","edition":2,"checksum":"sha256:9a3bde9473766cb0c47e7c2200d108b902b5cb80d504c566ba4e2f26440790ba"}
|
data/data/parg/gost.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidGost","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":7}},{"Str":{"pattern":"GOST"}},{"Str":{"pattern":"ГОСТ"}},{"Alternative":{"atoms":[1,2]}},{"Named":{"name":"gost_word","atom":3}},{"Entity":{"atom":6}},{"Str":{"pattern":" "}},{"Sequence":{"atoms":[4,5]}},{"Entity":{"atom":14}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"Р"}},{"Alternative":{"atoms":[9,10]}},{"Named":{"name":"scope_r","atom":11}},{"Entity":{"atom":6}},{"Sequence":{"atoms":[12,13]}},{"Repetition":{"atom":8,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":33}},{"Entity":{"atom":23}},{"Re":{"pattern":"[\\u0410-\\u042f]"}},{"Re":{"pattern":"[\\u0430-\\u044f]"}},{"Re":{"pattern":"[/]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[18,19,20,21,22]}},{"Repetition":{"atom":17,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":6}},{"Entity":{"atom":23}},{"Repetition":{"atom":26,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[25,27]}},{"Repetition":{"atom":28,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[24,29]}},{"Named":{"name":"prefix_text","atom":30}},{"Entity":{"atom":6}},{"Sequence":{"atoms":[31,32]}},{"Repetition":{"atom":16,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":55}},{"Entity":{"atom":37}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":36,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":40}},{"Str":{"pattern":"."}},{"Entity":{"atom":46}},{"Entity":{"atom":43}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"—"}},{"Str":{"pattern":"–"}},{"Alternative":{"atoms":[42,44,45]}},{"Alternative":{"atoms":[39,41]}},{"Entity":{"atom":6}},{"Repetition":{"atom":48,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":37}},{"Repetition":{"atom":50,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[47,49,51]}},{"Repetition":{"atom":52,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[38,53]}},{"Named":{"name":"raw","atom":54}},{"Entity":{"atom":68}},{"Entity":{"atom":6}},{"Repetition":{"atom":57,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":58,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":61}},{"Str":{"pattern":"/"}},{"Entity":{"atom":65}},{"Re":{"pattern":"[\\x01-\\x09]"}},{"Re":{"pattern":"[\\x0b-\\u{10ffff}]"}},{"Alternative":{"atoms":[63,64]}},{"Repetition":{"atom":62,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"adopted_raw","atom":66}},{"Sequence":{"atoms":[59,60,67]}},{"Repetition":{"atom":56,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":82}},{"Entity":{"atom":6}},{"Repetition":{"atom":71,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":72,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"("}},{"Entity":{"atom":78}},{"Re":{"pattern":"[\\x01-\\x28]"}},{"Re":{"pattern":"[\\x2a-\\u{10ffff}]"}},{"Alternative":{"atoms":[76,77]}},{"Repetition":{"atom":75,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"adopted_reference_raw","atom":79}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[73,74,80,81]}},{"Repetition":{"atom":70,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,15,34,35,69,83]}}],"root":84},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule year_sep_core: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule any_noln_char: branches 1 and 2 are order-dependent (first set not statically known)","rule no_rparen_char: branches 1 and 2 are order-dependent (first set not statically known)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"GOST 12.0.004","expect":{}},{"entry":"identifier","kind":"accept","input":"GOST R 8.568","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/gost/parser.rb — GOST identifiers in Latin and\n# Cyrillic: ГОСТ [Р|R] [copublisher/subtype] <raw>[/adopted|(reference)].\n# prefix_text and raw are captured verbatim; the builder splits them.\n# The Cyrillic character class uses codepoint ranges (%x0410-042F\n# = А-Я, %x0430-044F = а-я), faithful to the source class.\n\ngrammar PubidGost version \"0.1.0\" {\n gost_word = (\"GOST\" / \"ГОСТ\") as gost_word space\n scope_r = (\"R\" / \"Р\") as scope_r space\n prefix_char = %x0410-042F / %x0430-044F / %x2F / %x41-5A / %x61-7A\n prefix_text = (1*prefix_char *(space 1*prefix_char)) as prefix_text space\n raw_body = (1*digit *((dot / year_sep_core) [space] 1*digit)) as raw\n year_sep_core = dash / \"—\" / \"–\"\n adopted_part = [[space]] slash (1*any_noln_char) as adopted_raw\n adopted_reference_part = [[space]] \"(\" (1*no_rparen_char) as adopted_reference_raw \")\"\n identifier = gost_word [scope_r] [prefix_text] raw_body [adopted_part] [adopted_reference_part]\n any_noln_char = %x01-09 / %x0B-10FFFF\n no_rparen_char = %x01-28 / %x2A-10FFFF\n digit = %x30-39\n dot = \".\"\n dash = \"-\"\n slash = \"/\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"GOST 12.0.004\"\n accept \"GOST R 8.568\"\n reject \"nonsense\"\n }\n}\n","source_hash":"
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidGost","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":7}},{"Str":{"pattern":"GOST"}},{"Str":{"pattern":"ГОСТ"}},{"Alternative":{"atoms":[1,2]}},{"Named":{"name":"gost_word","atom":3}},{"Entity":{"atom":6}},{"Str":{"pattern":" "}},{"Sequence":{"atoms":[4,5]}},{"Entity":{"atom":14}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"Р"}},{"Alternative":{"atoms":[9,10]}},{"Named":{"name":"scope_r","atom":11}},{"Entity":{"atom":6}},{"Sequence":{"atoms":[12,13]}},{"Repetition":{"atom":8,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":33}},{"Entity":{"atom":23}},{"Re":{"pattern":"[\\u0410-\\u042f]"}},{"Re":{"pattern":"[\\u0430-\\u044f]"}},{"Re":{"pattern":"[/]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[18,19,20,21,22]}},{"Repetition":{"atom":17,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":6}},{"Entity":{"atom":23}},{"Repetition":{"atom":26,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[25,27]}},{"Repetition":{"atom":28,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[24,29]}},{"Named":{"name":"prefix_text","atom":30}},{"Entity":{"atom":6}},{"Sequence":{"atoms":[31,32]}},{"Repetition":{"atom":16,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":55}},{"Entity":{"atom":37}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":36,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":40}},{"Str":{"pattern":"."}},{"Entity":{"atom":46}},{"Entity":{"atom":43}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"—"}},{"Str":{"pattern":"–"}},{"Alternative":{"atoms":[42,44,45]}},{"Alternative":{"atoms":[39,41]}},{"Entity":{"atom":6}},{"Repetition":{"atom":48,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":37}},{"Repetition":{"atom":50,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[47,49,51]}},{"Repetition":{"atom":52,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[38,53]}},{"Named":{"name":"raw","atom":54}},{"Entity":{"atom":68}},{"Entity":{"atom":6}},{"Repetition":{"atom":57,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":58,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":61}},{"Str":{"pattern":"/"}},{"Entity":{"atom":65}},{"Re":{"pattern":"[\\x01-\\x09]"}},{"Re":{"pattern":"[\\x0b-\\u{10ffff}]"}},{"Alternative":{"atoms":[63,64]}},{"Repetition":{"atom":62,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"adopted_raw","atom":66}},{"Sequence":{"atoms":[59,60,67]}},{"Repetition":{"atom":56,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":82}},{"Entity":{"atom":6}},{"Repetition":{"atom":71,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":72,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"("}},{"Entity":{"atom":78}},{"Re":{"pattern":"[\\x01-\\x28]"}},{"Re":{"pattern":"[\\x2a-\\u{10ffff}]"}},{"Alternative":{"atoms":[76,77]}},{"Repetition":{"atom":75,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"adopted_reference_raw","atom":79}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[73,74,80,81]}},{"Repetition":{"atom":70,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,15,34,35,69,83]}}],"root":84},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule year_sep_core: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule any_noln_char: branches 1 and 2 are order-dependent (first set not statically known)","rule no_rparen_char: branches 1 and 2 are order-dependent (first set not statically known)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"GOST 12.0.004","expect":{}},{"entry":"identifier","kind":"accept","input":"GOST R 8.568","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/gost/parser.rb — GOST identifiers in Latin and\n# Cyrillic: ГОСТ [Р|R] [copublisher/subtype] <raw>[/adopted|(reference)].\n# prefix_text and raw are captured verbatim; the builder splits them.\n# The Cyrillic character class uses codepoint ranges (%x0410-042F\n# = А-Я, %x0430-044F = а-я), faithful to the source class.\n\ngrammar PubidGost version \"0.1.0\" mode \"v1\" {\n gost_word = (\"GOST\" / \"ГОСТ\") as gost_word space\n scope_r = (\"R\" / \"Р\") as scope_r space\n prefix_char = %x0410-042F / %x0430-044F / %x2F / %x41-5A / %x61-7A\n prefix_text = (1*prefix_char *(space 1*prefix_char)) as prefix_text space\n raw_body = (1*digit *((dot / year_sep_core) [space] 1*digit)) as raw\n year_sep_core = dash / \"—\" / \"–\"\n adopted_part = [[space]] slash (1*any_noln_char) as adopted_raw\n adopted_reference_part = [[space]] \"(\" (1*no_rparen_char) as adopted_reference_raw \")\"\n identifier = gost_word [scope_r] [prefix_text] raw_body [adopted_part] [adopted_reference_part]\n any_noln_char = %x01-09 / %x0B-10FFFF\n no_rparen_char = %x01-28 / %x2A-10FFFF\n digit = %x30-39\n dot = \".\"\n dash = \"-\"\n slash = \"/\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"GOST 12.0.004\"\n accept \"GOST R 8.568\"\n reject \"nonsense\"\n }\n}\n","source_hash":"0674be84f36f09324a5bc1e4f89b7ca8c443b235e80ab52132467c71329433fe","unicode_tables":"onigmo (Ruby 3.4.8)","compiler_version":"1.3.114","edition":1,"checksum":"sha256:08f0057dcb16a36632e7a3b0dc74646b0d3c3246f1bd9c059ad35b72a03376e7"}
|
data/data/parg/iala.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidIala","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":100}},{"Entity":{"atom":3}},{"Str":{"pattern":"IALA "}},{"Repetition":{"atom":2,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":16}},{"Str":{"pattern":"GA"}},{"Str":{"pattern":"S"}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"G"}},{"Str":{"pattern":"M"}},{"Str":{"pattern":"C"}},{"Str":{"pattern":"A"}},{"Str":{"pattern":"L"}},{"Str":{"pattern":"X"}},{"Str":{"pattern":"P"}},{"Alternative":{"atoms":[5,6,7,8,9,10,11,12,13,14]}},{"Named":{"name":"type_letter","atom":15}},{"Entity":{"atom":30}},{"Entity":{"atom":22}},{"Entity":{"atom":20}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":19,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"doc_number","atom":21}},{"Entity":{"atom":27}},{"Str":{"pattern":"."}},{"Entity":{"atom":20}},{"Repetition":{"atom":25,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[24,26]}},{"Repetition":{"atom":23,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"doc_number_dots","atom":28}},{"Sequence":{"atoms":[18,29]}},{"Entity":{"atom":39}},{"Entity":{"atom":33}},{"Str":{"pattern":"-"}},{"Entity":{"atom":20}},{"Repetition":{"atom":34,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"subpart_number","atom":35}},{"Sequence":{"atoms":[32,36]}},{"Repetition":{"atom":37,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"subpart","atom":38}},{"Repetition":{"atom":31,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[1,4,17,40]}},{"Named":{"name":"base","atom":41}},{"Entity":{"atom":44}},{"Str":{"pattern":" "}},{"Str":{"pattern":"Annex"}},{"Str":{"pattern":"ANNEX"}},{"Alternative":{"atoms":[45,46]}},{"Named":{"name":"annex_marker","atom":47}},{"Entity":{"atom":44}},{"Entity":{"atom":51}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Named":{"name":"annex_letter","atom":50}},{"Entity":{"atom":54}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Lookahead":{"atom":53,"positive":false}},{"Sequence":{"atoms":[49,52,55]}},{"Repetition":{"atom":56,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":74}},{"Entity":{"atom":44}},{"Str":{"pattern":"Ed"}},{"Entity":{"atom":44}},{"Entity":{"atom":72}},{"Entity":{"atom":20}},{"Repetition":{"atom":63,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":66}},{"Str":{"pattern":"."}},{"Entity":{"atom":20}},{"Repetition":{"atom":67,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[65,68]}},{"Repetition":{"atom":69,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[64,70]}},{"Named":{"name":"edition_value","atom":71}},{"Sequence":{"atoms":[59,60,61,62]}},{"Named":{"name":"edition","atom":73}},{"Entity":{"atom":81}},{"Entity":{"atom":77}},{"Str":{"pattern":":"}},{"Str":{"pattern":"ed"}},{"Entity":{"atom":72}},{"Sequence":{"atoms":[76,78,79]}},{"Named":{"name":"edition","atom":80}},{"Alternative":{"atoms":[58,75]}},{"Repetition":{"atom":82,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":98}},{"Entity":{"atom":44}},{"Repetition":{"atom":85,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"("}},{"Str":{"pattern":"E"}},{"Str":{"pattern":"F"}},{"Str":{"pattern":"S"}},{"Str":{"pattern":"C"}},{"Str":{"pattern":"A"}},{"Str":{"pattern":"R"}},{"Alternative":{"atoms":[88,89,90,91,92,93]}},{"Named":{"name":"language","atom":94}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[86,87,95,96]}},{"Named":{"name":"language_group","atom":97}},{"Repetition":{"atom":84,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[42,43,48,57,83,99]}},{"Entity":{"atom":3}},{"Entity":{"atom":107}},{"Entity":{"atom":16}},{"Entity":{"atom":30}},{"Entity":{"atom":39}},{"Repetition":{"atom":105,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[103,104,106]}},{"Entity":{"atom":74}},{"Entity":{"atom":81}},{"Alternative":{"atoms":[108,109]}},{"Repetition":{"atom":110,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":98}},{"Repetition":{"atom":112,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[101,102,111,113]}},{"Alternative":{"atoms":[0,114]}}],"root":115},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"G1040","expect":{}},{"entry":"identifier","kind":"accept","input":"GA1040","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/iala/parser.rb: [IALA ]<type><number>[.dots][-subs]\n# [ Ed X.Y | :edX.Y] [(L)], plus the Annex-to-base form. The annex\n# letter guard (!lower) keeps \"Ed 1\" from mis-capturing.\n\ngrammar PubidIala version \"0.1.0\" {\n type_letter = (\"GA\" / \"S\" / \"R\" / \"G\" / \"M\" / \"C\" / \"A\" / \"L\" / \"X\" / \"P\") as type_letter\n doc_number = (1*digit) as doc_number\n dotted_number = \".\" 1*digit\n number_with_dots = doc_number (*dotted_number) as doc_number_dots\n subpart = (1*(dash (1*digit) as subpart_number)) as subpart\n code = type_letter number_with_dots [subpart]\n edition_value = (1*digit *(dot 1*digit)) as edition_value\n edition_human = (space \"Ed\" space edition_value) as edition\n edition_compact = (colon \"ed\" edition_value) as edition\n language_group = ([space] \"(\" (\"E\" / \"F\" / \"S\" / \"C\" / \"A\" / \"R\") as language \")\") as language_group\n annex_identifier = ((publisher type_letter number_with_dots [subpart]) as base) space (\"Annex\" / \"ANNEX\") as annex_marker [(space upper as annex_letter !lower)] [edition_human / edition_compact] [language_group]\n identifier = annex_identifier / (publisher code [edition_human / edition_compact] [language_group])\n publisher = [\"IALA \"]\n upper = %x41-5A\n lower = %x61-7A\n digit = %x30-39\n dash = \"-\"\n colon = \":\"\n dot = \".\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"G1040\"\n accept \"GA1040\"\n reject \"nonsense\"\n }\n}\n","source_hash":"
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidIala","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":100}},{"Entity":{"atom":3}},{"Str":{"pattern":"IALA "}},{"Repetition":{"atom":2,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":16}},{"Str":{"pattern":"GA"}},{"Str":{"pattern":"S"}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"G"}},{"Str":{"pattern":"M"}},{"Str":{"pattern":"C"}},{"Str":{"pattern":"A"}},{"Str":{"pattern":"L"}},{"Str":{"pattern":"X"}},{"Str":{"pattern":"P"}},{"Alternative":{"atoms":[5,6,7,8,9,10,11,12,13,14]}},{"Named":{"name":"type_letter","atom":15}},{"Entity":{"atom":30}},{"Entity":{"atom":22}},{"Entity":{"atom":20}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":19,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"doc_number","atom":21}},{"Entity":{"atom":27}},{"Str":{"pattern":"."}},{"Entity":{"atom":20}},{"Repetition":{"atom":25,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[24,26]}},{"Repetition":{"atom":23,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"doc_number_dots","atom":28}},{"Sequence":{"atoms":[18,29]}},{"Entity":{"atom":39}},{"Entity":{"atom":33}},{"Str":{"pattern":"-"}},{"Entity":{"atom":20}},{"Repetition":{"atom":34,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"subpart_number","atom":35}},{"Sequence":{"atoms":[32,36]}},{"Repetition":{"atom":37,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"subpart","atom":38}},{"Repetition":{"atom":31,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[1,4,17,40]}},{"Named":{"name":"base","atom":41}},{"Entity":{"atom":44}},{"Str":{"pattern":" "}},{"Str":{"pattern":"Annex"}},{"Str":{"pattern":"ANNEX"}},{"Alternative":{"atoms":[45,46]}},{"Named":{"name":"annex_marker","atom":47}},{"Entity":{"atom":44}},{"Entity":{"atom":51}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Named":{"name":"annex_letter","atom":50}},{"Entity":{"atom":54}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Lookahead":{"atom":53,"positive":false}},{"Sequence":{"atoms":[49,52,55]}},{"Repetition":{"atom":56,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":74}},{"Entity":{"atom":44}},{"Str":{"pattern":"Ed"}},{"Entity":{"atom":44}},{"Entity":{"atom":72}},{"Entity":{"atom":20}},{"Repetition":{"atom":63,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":66}},{"Str":{"pattern":"."}},{"Entity":{"atom":20}},{"Repetition":{"atom":67,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[65,68]}},{"Repetition":{"atom":69,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[64,70]}},{"Named":{"name":"edition_value","atom":71}},{"Sequence":{"atoms":[59,60,61,62]}},{"Named":{"name":"edition","atom":73}},{"Entity":{"atom":81}},{"Entity":{"atom":77}},{"Str":{"pattern":":"}},{"Str":{"pattern":"ed"}},{"Entity":{"atom":72}},{"Sequence":{"atoms":[76,78,79]}},{"Named":{"name":"edition","atom":80}},{"Alternative":{"atoms":[58,75]}},{"Repetition":{"atom":82,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":98}},{"Entity":{"atom":44}},{"Repetition":{"atom":85,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"("}},{"Str":{"pattern":"E"}},{"Str":{"pattern":"F"}},{"Str":{"pattern":"S"}},{"Str":{"pattern":"C"}},{"Str":{"pattern":"A"}},{"Str":{"pattern":"R"}},{"Alternative":{"atoms":[88,89,90,91,92,93]}},{"Named":{"name":"language","atom":94}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[86,87,95,96]}},{"Named":{"name":"language_group","atom":97}},{"Repetition":{"atom":84,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[42,43,48,57,83,99]}},{"Entity":{"atom":3}},{"Entity":{"atom":107}},{"Entity":{"atom":16}},{"Entity":{"atom":30}},{"Entity":{"atom":39}},{"Repetition":{"atom":105,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[103,104,106]}},{"Entity":{"atom":74}},{"Entity":{"atom":81}},{"Alternative":{"atoms":[108,109]}},{"Repetition":{"atom":110,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":98}},{"Repetition":{"atom":112,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[101,102,111,113]}},{"Alternative":{"atoms":[0,114]}}],"root":115},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"G1040","expect":{}},{"entry":"identifier","kind":"accept","input":"GA1040","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/iala/parser.rb: [IALA ]<type><number>[.dots][-subs]\n# [ Ed X.Y | :edX.Y] [(L)], plus the Annex-to-base form. The annex\n# letter guard (!lower) keeps \"Ed 1\" from mis-capturing.\n\ngrammar PubidIala version \"0.1.0\" mode \"v1\" {\n type_letter = (\"GA\" / \"S\" / \"R\" / \"G\" / \"M\" / \"C\" / \"A\" / \"L\" / \"X\" / \"P\") as type_letter\n doc_number = (1*digit) as doc_number\n dotted_number = \".\" 1*digit\n number_with_dots = doc_number (*dotted_number) as doc_number_dots\n subpart = (1*(dash (1*digit) as subpart_number)) as subpart\n code = type_letter number_with_dots [subpart]\n edition_value = (1*digit *(dot 1*digit)) as edition_value\n edition_human = (space \"Ed\" space edition_value) as edition\n edition_compact = (colon \"ed\" edition_value) as edition\n language_group = ([space] \"(\" (\"E\" / \"F\" / \"S\" / \"C\" / \"A\" / \"R\") as language \")\") as language_group\n annex_identifier = ((publisher type_letter number_with_dots [subpart]) as base) space (\"Annex\" / \"ANNEX\") as annex_marker [(space upper as annex_letter !lower)] [edition_human / edition_compact] [language_group]\n identifier = annex_identifier / (publisher code [edition_human / edition_compact] [language_group])\n publisher = [\"IALA \"]\n upper = %x41-5A\n lower = %x61-7A\n digit = %x30-39\n dash = \"-\"\n colon = \":\"\n dot = \".\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"G1040\"\n accept \"GA1040\"\n reject \"nonsense\"\n }\n}\n","source_hash":"25acb18664a7331ec4ad98482f8c10eab6bb354789120a62fc5ea6a2fa4eda6f","unicode_tables":"onigmo (Ruby 3.4.8)","compiler_version":"1.3.114","edition":1,"checksum":"sha256:28e50082a43b523c794edec7f6266f797bbc48ce1440d753f9f02e33716a224a"}
|
data/data/parg/iana.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidIana","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Str":{"pattern":"IANA "}},{"Repetition":{"atom":0,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":11}},{"Entity":{"atom":10}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Re":{"pattern":"[.]"}},{"Re":{"pattern":"[_]"}},{"Re":{"pattern":"[\\-]"}},{"Alternative":{"atoms":[4,5,6,7,8,9]}},{"Repetition":{"atom":3,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"registry","atom":2}},{"Entity":{"atom":14}},{"Str":{"pattern":"/"}},{"Entity":{"atom":11}},{"Named":{"name":"sub_registry","atom":15}},{"Sequence":{"atoms":[13,16]}},{"Repetition":{"atom":17,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[1,12,18]}}],"root":19},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":[]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"IANA media-types","expect":{}},{"entry":"identifier","kind":"accept","input":"media-types/application","expect":{}},{"entry":"identifier","kind":"reject","input":"no sense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/iana/parser.rb: \"IANA <slug>[/<sub-slug>]\", the\n# optional prefix consumed and discarded.\n\ngrammar PubidIana version \"0.1.0\" {\n slug_char = %x30-39 / %x41-5A / %x61-7A / %x2E / %x5F / %x2D\n slug = 1*slug_char\n identifier = [\"IANA \"] slug as registry [slash slug as sub_registry]\n slash = \"/\"\n entry identifier: identifier\n\n test {\n accept \"IANA media-types\"\n accept \"media-types/application\"\n reject \"no sense\"\n }\n}\n","source_hash":"
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidIana","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Str":{"pattern":"IANA "}},{"Repetition":{"atom":0,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":11}},{"Entity":{"atom":10}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Re":{"pattern":"[.]"}},{"Re":{"pattern":"[_]"}},{"Re":{"pattern":"[\\-]"}},{"Alternative":{"atoms":[4,5,6,7,8,9]}},{"Repetition":{"atom":3,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"registry","atom":2}},{"Entity":{"atom":14}},{"Str":{"pattern":"/"}},{"Entity":{"atom":11}},{"Named":{"name":"sub_registry","atom":15}},{"Sequence":{"atoms":[13,16]}},{"Repetition":{"atom":17,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[1,12,18]}}],"root":19},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":[]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"IANA media-types","expect":{}},{"entry":"identifier","kind":"accept","input":"media-types/application","expect":{}},{"entry":"identifier","kind":"reject","input":"no sense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/iana/parser.rb: \"IANA <slug>[/<sub-slug>]\", the\n# optional prefix consumed and discarded.\n\ngrammar PubidIana version \"0.1.0\" mode \"v1\" {\n slug_char = %x30-39 / %x41-5A / %x61-7A / %x2E / %x5F / %x2D\n slug = 1*slug_char\n identifier = [\"IANA \"] slug as registry [slash slug as sub_registry]\n slash = \"/\"\n entry identifier: identifier\n\n test {\n accept \"IANA media-types\"\n accept \"media-types/application\"\n reject \"no sense\"\n }\n}\n","source_hash":"619f4f193b102765af81a143eb5aee3b1cff3ae6a0f9e5e07649f3ac4b73d1ab","unicode_tables":"onigmo (Ruby 3.4.8)","compiler_version":"1.3.114","edition":1,"checksum":"sha256:205c0460ddaead258a8d33d8e4cd81858a3fdc9d1b2552b11e55bc4fc9b99645"}
|
data/data/parg/idf.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidIdf","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"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]}},{"Repetition":{"atom":158,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"languages","atom":159}},{"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":{},"tables":{"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"}]}},"lint":{"order_warnings":["rule dash: branches 2 and 3 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)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[],"docs":{},"source":"# Port of lib/pubid/idf/parser.rb: IDF identifiers and their\n# supplements. The ISO joint form (ISO 5537|IDF 26) inlines these rules\n# as idf_* in iso.pg.\n\ngrammar PubidIdf version \"0.1.0\" {\n digit = %x30-39\n word_char = %x30-39 / %x41-5A / %x61-7A / %x5F\n dash = \"-\" / \"‑\" / \"‐\"\n dot = \".\"\n slash = \"/\"\n space = \" \"\n colon = \":\"\n letter = %x41-5A / %x61-7A\n lower = %x61-7A\n century = \"19\" / \"20\"\n year_digits = century 2*digit !digit\n month_digits = 2*digit\n day_digits = 2*digit\n publisher = \"IDF\" as publisher\n number = 1*5word_char\n part_and_subpart = dash [space] 1*word_char *1(dash 1*word_char)\n number_with_part = (number [part_and_subpart]) as number_with_part\n date = (year_digits [(dash month_digits)] [(dash day_digits)]) as date\n stage_iteration = dot digit as stage_iteration\n second_part = number_with_part [stage_iteration] [space] [(colon date)]\n all_parts = \"(all parts)\" as all_parts\n language = \"(\" *(1*lower [\",\"] / (one_of_efards [slash])) as languages \")\"\n one_of_efards = %x45 / %x46 / %x41 / %x52 / %x44 / %x53\n third_part = [space] [language] [all_parts]\n identifier_publisher_no_third = publisher [space] [slash] [type_with_stage] [space] second_part\n identifier_publisher = identifier_publisher_no_third third_part\n type_with_stage = alt from_table \"idf_typed_stages\" column \"abbr\" as type_with_stage [digit as stage_iteration space]\n supplement_type_with_stage = alt from_table \"idf_typed_stages_supplements\" column \"abbr\" as type_with_stage\n supplement_identifier_no_third = (identifier_publisher_no_third as base) [space] slash [space] supplement_type_with_stage [space] second_part\n supplement_identifier = supplement_identifier_no_third third_part\n identifier = supplement_identifier / identifier_publisher\n\n entry identifier: identifier\n}\n","source_hash":"
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidIdf","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"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]}},{"Repetition":{"atom":158,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"languages","atom":159}},{"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":{},"tables":{"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"}]}},"lint":{"order_warnings":["rule dash: branches 2 and 3 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)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[],"docs":{},"source":"# Port of lib/pubid/idf/parser.rb: IDF identifiers and their\n# supplements. The ISO joint form (ISO 5537|IDF 26) inlines these rules\n# as idf_* in iso.pg.\n\ngrammar PubidIdf version \"0.1.0\" mode \"v1\" {\n digit = %x30-39\n word_char = %x30-39 / %x41-5A / %x61-7A / %x5F\n dash = \"-\" / \"‑\" / \"‐\"\n dot = \".\"\n slash = \"/\"\n space = \" \"\n colon = \":\"\n letter = %x41-5A / %x61-7A\n lower = %x61-7A\n century = \"19\" / \"20\"\n year_digits = century 2*digit !digit\n month_digits = 2*digit\n day_digits = 2*digit\n publisher = \"IDF\" as publisher\n number = 1*5word_char\n part_and_subpart = dash [space] 1*word_char *1(dash 1*word_char)\n number_with_part = (number [part_and_subpart]) as number_with_part\n date = (year_digits [(dash month_digits)] [(dash day_digits)]) as date\n stage_iteration = dot digit as stage_iteration\n second_part = number_with_part [stage_iteration] [space] [(colon date)]\n all_parts = \"(all parts)\" as all_parts\n language = \"(\" *(1*lower [\",\"] / (one_of_efards [slash])) as languages \")\"\n one_of_efards = %x45 / %x46 / %x41 / %x52 / %x44 / %x53\n third_part = [space] [language] [all_parts]\n identifier_publisher_no_third = publisher [space] [slash] [type_with_stage] [space] second_part\n identifier_publisher = identifier_publisher_no_third third_part\n type_with_stage = alt from_table \"idf_typed_stages\" column \"abbr\" as type_with_stage [digit as stage_iteration space]\n supplement_type_with_stage = alt from_table \"idf_typed_stages_supplements\" column \"abbr\" as type_with_stage\n supplement_identifier_no_third = (identifier_publisher_no_third as base) [space] slash [space] supplement_type_with_stage [space] second_part\n supplement_identifier = supplement_identifier_no_third third_part\n identifier = supplement_identifier / identifier_publisher\n\n entry identifier: identifier\n}\n","source_hash":"61aadcf431410259d884897cc87e4930e8936794a3bd99f941c386753e29991d","unicode_tables":"onigmo (Ruby 3.4.8)","compiler_version":"1.3.114","edition":1,"checksum":"sha256:982485cb6a5d4aa4858005fff792e5c5da8bc9fe31591bb34a32ebcaef29001b"}
|