@pubid/pubid 0.1.10 → 0.1.12
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.
- package/dist/flavors/ieee/index.js +92 -10
- package/dist/flavors/ieee/model.js +93 -33
- package/dist/flavors/ieee/preprocessor.js +19 -3
- package/package.json +2 -2
- package/vendor/parg/adobe.json +1 -1
- package/vendor/parg/aiee.json +1 -1
- package/vendor/parg/amca.json +1 -1
- package/vendor/parg/ansi.json +1 -1
- package/vendor/parg/api.json +1 -1
- package/vendor/parg/ashrae.json +1 -1
- package/vendor/parg/asme.json +1 -1
- package/vendor/parg/astm.json +1 -1
- package/vendor/parg/bipm.json +1 -1
- package/vendor/parg/bsi.json +1 -1
- package/vendor/parg/calconnect.json +1 -1
- package/vendor/parg/ccsds.json +1 -1
- package/vendor/parg/cen_cenelec.json +1 -1
- package/vendor/parg/cie.json +1 -1
- package/vendor/parg/csa.json +1 -1
- package/vendor/parg/doi.json +1 -1
- package/vendor/parg/easc.json +1 -1
- package/vendor/parg/ecma.json +1 -1
- package/vendor/parg/etsi.json +1 -1
- package/vendor/parg/evs.json +1 -1
- package/vendor/parg/gb.json +1 -1
- package/vendor/parg/gost.json +1 -1
- package/vendor/parg/iala.json +1 -1
- package/vendor/parg/iana.json +1 -1
- package/vendor/parg/idf.json +1 -1
- package/vendor/parg/iec.json +1 -1
- package/vendor/parg/ieee.json +1 -1
- package/vendor/parg/ietf.json +1 -1
- package/vendor/parg/ire.json +1 -1
- package/vendor/parg/isbn.json +1 -1
- package/vendor/parg/iso.json +1 -1
- package/vendor/parg/itu.json +1 -1
- package/vendor/parg/jcgm.json +1 -1
- package/vendor/parg/jis.json +1 -1
- package/vendor/parg/nesc.json +1 -1
- package/vendor/parg/nist.json +1 -1
- package/vendor/parg/oasis.json +1 -1
- package/vendor/parg/ogc.json +1 -1
- package/vendor/parg/oiml.json +1 -1
- package/vendor/parg/omg.json +1 -1
- package/vendor/parg/parg.json +1 -1
- package/vendor/parg/plateau.json +1 -1
- package/vendor/parg/sae.json +1 -1
- package/vendor/parg/tgpp.json +1 -1
- package/vendor/parg/un.json +1 -1
- package/vendor/parg/w3c.json +1 -1
- package/vendor/parg/xsf.json +1 -1
package/vendor/parg/csa.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidCsa","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":1}},{"Entity":{"atom":84}},{"Str":{"pattern":"CSA"}},{"Named":{"name":"adoption_pub","atom":2}},{"Entity":{"atom":70}},{"Str":{"pattern":"ISO/IEC"}},{"Named":{"name":"adoption_org","atom":5}},{"Entity":{"atom":8}},{"Str":{"pattern":" "}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"TS"}},{"Alternative":{"atoms":[9,10]}},{"Named":{"name":"iso_type","atom":11}},{"Entity":{"atom":8}},{"Entity":{"atom":18}},{"Entity":{"atom":16}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Str":{"pattern":"-"}},{"Alternative":{"atoms":[15,17]}},{"Repetition":{"atom":14,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"adoption_number","atom":19}},{"Sequence":{"atoms":[6,7,12,13,20]}},{"Str":{"pattern":"ISO/IEC"}},{"Named":{"name":"adoption_org_with_type","atom":22}},{"Entity":{"atom":8}},{"Entity":{"atom":18}},{"Repetition":{"atom":25,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"adoption_number","atom":26}},{"Sequence":{"atoms":[23,24,27]}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Str":{"pattern":"CEI/IEC"}},{"Str":{"pattern":"CISPR"}},{"Alternative":{"atoms":[29,30,31,32]}},{"Named":{"name":"adoption_org","atom":33}},{"Entity":{"atom":8}},{"Entity":{"atom":18}},{"Repetition":{"atom":36,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"adoption_number","atom":37}},{"Sequence":{"atoms":[34,35,38]}},{"Alternative":{"atoms":[21,28,39]}},{"Entity":{"atom":42}},{"Str":{"pattern":":"}},{"Entity":{"atom":44}},{"Str":{"pattern":"-"}},{"Alternative":{"atoms":[41,43]}},{"Named":{"name":"adoption_year_sep","atom":45}},{"Entity":{"atom":49}},{"Entity":{"atom":16}},{"Repetition":{"atom":48,"min":4,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":16}},{"Repetition":{"atom":51,"min":2,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[47,50]}},{"Named":{"name":"adoption_year","atom":53}},{"Sequence":{"atoms":[46,54]}},{"Entity":{"atom":57}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"A"}},{"Entity":{"atom":16}},{"Named":{"name":"adoption_amendment","atom":59}},{"Entity":{"atom":42}},{"Entity":{"atom":44}},{"Alternative":{"atoms":[61,62]}},{"Entity":{"atom":49}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[64,65]}},{"Named":{"name":"adoption_amendment_year","atom":66}},{"Sequence":{"atoms":[56,58,60,63,67]}},{"Repetition":{"atom":68,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[40,55,69]}},{"Entity":{"atom":82}},{"Entity":{"atom":8}},{"Str":{"pattern":"(R"}},{"Entity":{"atom":16}},{"Repetition":{"atom":74,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"reaffirmation_4digit","atom":75}},{"Entity":{"atom":16}},{"Repetition":{"atom":77,"min":2,"max":2,"tag":"Repetition"}},{"Named":{"name":"reaffirmation_2digit","atom":78}},{"Alternative":{"atoms":[76,79]}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[72,73,80,81]}},{"Repetition":{"atom":71,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[3,4,83]}},{"Entity":{"atom":231}},{"Entity":{"atom":91}},{"Str":{"pattern":"CSA"}},{"Entity":{"atom":8}},{"Str":{"pattern":""}},{"Named":{"name":"has_publisher","atom":89}},{"Sequence":{"atoms":[87,88,90]}},{"Entity":{"atom":166}},{"Entity":{"atom":109}},{"Entity":{"atom":16}},{"Repetition":{"atom":94,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":97}},{"Str":{"pattern":"."}},{"Entity":{"atom":16}},{"Repetition":{"atom":98,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Entity":{"atom":16}},{"Repetition":{"atom":101,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[100,102]}},{"Repetition":{"atom":103,"min":0,"max":1,"tag":"Repetition"}},{"Entity":{"atom":106}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Repetition":{"atom":105,"min":2,"max":6,"tag":"Repetition"}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[95,96,99,104,108]}},{"Entity":{"atom":115}},{"Entity":{"atom":16}},{"Repetition":{"atom":111,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":106}},{"Repetition":{"atom":113,"min":2,"max":6,"tag":"Repetition"}},{"Sequence":{"atoms":[112,114]}},{"Entity":{"atom":149}},{"Entity":{"atom":106}},{"Entity":{"atom":16}},{"Repetition":{"atom":118,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":97}},{"Entity":{"atom":16}},{"Repetition":{"atom":121,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[120,122]}},{"Repetition":{"atom":123,"min":0,"max":null,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Entity":{"atom":143}},{"Entity":{"atom":131}},{"Entity":{"atom":16}},{"Entity":{"atom":16}},{"Lookahead":{"atom":129,"positive":false}},{"Sequence":{"atoms":[128,130]}},{"Entity":{"atom":16}},{"Repetition":{"atom":132,"min":3,"max":null,"tag":"Repetition"}},{"Entity":{"atom":16}},{"Repetition":{"atom":134,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":140}},{"Entity":{"atom":106}},{"Entity":{"atom":139}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[137,138]}},{"Repetition":{"atom":136,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[135,141]}},{"Alternative":{"atoms":[127,133,142]}},{"Sequence":{"atoms":[125,126]}},{"Repetition":{"atom":144,"min":0,"max":null,"tag":"Repetition"}},{"Entity":{"atom":106}},{"Repetition":{"atom":146,"min":2,"max":6,"tag":"Repetition"}},{"Repetition":{"atom":147,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[117,119,124,145,148]}},{"Entity":{"atom":159}},{"Entity":{"atom":106}},{"Entity":{"atom":16}},{"Repetition":{"atom":152,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":97}},{"Entity":{"atom":16}},{"Repetition":{"atom":155,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[154,156]}},{"Repetition":{"atom":157,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[151,153,158]}},{"Entity":{"atom":164}},{"Entity":{"atom":106}},{"Entity":{"atom":16}},{"Repetition":{"atom":162,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[161,163]}},{"Alternative":{"atoms":[93,110,116,150,160]}},{"Named":{"name":"code","atom":165}},{"Entity":{"atom":106}},{"Entity":{"atom":16}},{"Repetition":{"atom":168,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[167,169]}},{"Named":{"name":"code","atom":170}},{"Entity":{"atom":16}},{"Repetition":{"atom":172,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":97}},{"Entity":{"atom":16}},{"Repetition":{"atom":175,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[173,174,176]}},{"Named":{"name":"code","atom":177}},{"Alternative":{"atoms":[92,171,178]}},{"Entity":{"atom":8}},{"Entity":{"atom":184}},{"Entity":{"atom":106}},{"Repetition":{"atom":182,"min":2,"max":3,"tag":"Repetition"}},{"Named":{"name":"series_prefix","atom":183}},{"Entity":{"atom":8}},{"Sequence":{"atoms":[181,185]}},{"Repetition":{"atom":186,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"SERIES"}},{"Named":{"name":"series_type","atom":188}},{"Entity":{"atom":210}},{"Str":{"pattern":""}},{"Named":{"name":"colon_format","atom":191}},{"Entity":{"atom":42}},{"Entity":{"atom":199}},{"Str":{"pattern":"F"}},{"Str":{"pattern":"M"}},{"Alternative":{"atoms":[195,196]}},{"Repetition":{"atom":197,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"year_prefix","atom":198}},{"Entity":{"atom":49}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[200,201]}},{"Named":{"name":"year","atom":202}},{"Sequence":{"atoms":[194,203]}},{"Entity":{"atom":49}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[205,206]}},{"Named":{"name":"year","atom":207}},{"Alternative":{"atoms":[204,208]}},{"Sequence":{"atoms":[192,193,209]}},{"Entity":{"atom":226}},{"Str":{"pattern":""}},{"Named":{"name":"dash_format","atom":212}},{"Entity":{"atom":44}},{"Entity":{"atom":199}},{"Entity":{"atom":49}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[216,217]}},{"Named":{"name":"year","atom":218}},{"Sequence":{"atoms":[215,219]}},{"Entity":{"atom":49}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[221,222]}},{"Named":{"name":"year","atom":223}},{"Alternative":{"atoms":[220,224]}},{"Sequence":{"atoms":[213,214,225]}},{"Alternative":{"atoms":[190,211]}},{"Repetition":{"atom":227,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":82}},{"Repetition":{"atom":229,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[86,179,180,187,189,228,230]}},{"Entity":{"atom":290}},{"Entity":{"atom":91}},{"Entity":{"atom":239}},{"Str":{"pattern":"C22.2"}},{"Str":{"pattern":"C22.3"}},{"Str":{"pattern":"C22.4"}},{"Str":{"pattern":"C22.6"}},{"Alternative":{"atoms":[235,236,237,238]}},{"Named":{"name":"cec_part","atom":234}},{"Entity":{"atom":248}},{"Entity":{"atom":8}},{"Str":{"pattern":"NO."}},{"Str":{"pattern":"No."}},{"Alternative":{"atoms":[243,244]}},{"Named":{"name":"no_notation","atom":245}},{"Entity":{"atom":8}},{"Sequence":{"atoms":[242,246,247]}},{"Entity":{"atom":283}},{"Entity":{"atom":16}},{"Repetition":{"atom":250,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Entity":{"atom":16}},{"Repetition":{"atom":253,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[252,254]}},{"Repetition":{"atom":255,"min":2,"max":10,"tag":"Repetition"}},{"Sequence":{"atoms":[251,256]}},{"Entity":{"atom":16}},{"Repetition":{"atom":258,"min":5,"max":null,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Entity":{"atom":16}},{"Repetition":{"atom":261,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[259,260,262]}},{"Entity":{"atom":16}},{"Repetition":{"atom":264,"min":3,"max":4,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Entity":{"atom":131}},{"Entity":{"atom":16}},{"Repetition":{"atom":268,"min":3,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[267,269]}},{"Sequence":{"atoms":[265,266,270]}},{"Entity":{"atom":16}},{"Repetition":{"atom":272,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":97}},{"Entity":{"atom":16}},{"Repetition":{"atom":275,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[274,276]}},{"Repetition":{"atom":277,"min":1,"max":3,"tag":"Repetition"}},{"Sequence":{"atoms":[273,278]}},{"Entity":{"atom":16}},{"Repetition":{"atom":280,"min":1,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[257,263,271,279,281]}},{"Named":{"name":"no_number","atom":282}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[284,285]}},{"Repetition":{"atom":286,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":82}},{"Repetition":{"atom":288,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[233,240,241,249,287,289]}},{"Entity":{"atom":366}},{"Entity":{"atom":340}},{"Entity":{"atom":91}},{"Entity":{"atom":166}},{"Entity":{"atom":321}},{"Entity":{"atom":248}},{"Entity":{"atom":283}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[298,299]}},{"Sequence":{"atoms":[296,297,300]}},{"Entity":{"atom":8}},{"Entity":{"atom":184}},{"Entity":{"atom":8}},{"Str":{"pattern":"SERIES"}},{"Named":{"name":"series","atom":305}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[307,308]}},{"Sequence":{"atoms":[302,303,304,306,309]}},{"Entity":{"atom":8}},{"Str":{"pattern":"SERIES"}},{"Named":{"name":"series","atom":312}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[314,315]}},{"Sequence":{"atoms":[311,313,316]}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[318,319]}},{"Alternative":{"atoms":[301,310,317,320]}},{"Repetition":{"atom":295,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":338}},{"Entity":{"atom":57}},{"Str":{"pattern":"Amd "}},{"Repetition":{"atom":325,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"A"}},{"Repetition":{"atom":327,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":16}},{"Repetition":{"atom":329,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amendment_number","atom":330}},{"Entity":{"atom":42}},{"Entity":{"atom":16}},{"Repetition":{"atom":333,"min":2,"max":2,"tag":"Repetition"}},{"Named":{"name":"amendment_year","atom":334}},{"Sequence":{"atoms":[332,335]}},{"Repetition":{"atom":336,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[324,326,328,331,337]}},{"Repetition":{"atom":323,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[293,294,322,339]}},{"Named":{"name":"base","atom":292}},{"Str":{"pattern":" + "}},{"Entity":{"atom":357}},{"Entity":{"atom":166}},{"Entity":{"atom":248}},{"Entity":{"atom":283}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[347,348]}},{"Repetition":{"atom":349,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[345,346,350]}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[352,353]}},{"Repetition":{"atom":354,"min":0,"max":1,"tag":"Maybe"}},{"Alternative":{"atoms":[351,355]}},{"Sequence":{"atoms":[344,356]}},{"Named":{"name":"bundled_first","atom":343}},{"Str":{"pattern":" + "}},{"Entity":{"atom":357}},{"Sequence":{"atoms":[359,360]}},{"Repetition":{"atom":361,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"bundled_rest","atom":362}},{"Entity":{"atom":82}},{"Repetition":{"atom":364,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[341,342,358,363,365]}},{"Entity":{"atom":412}},{"Entity":{"atom":373}},{"Entity":{"atom":91}},{"Entity":{"atom":166}},{"Entity":{"atom":321}},{"Repetition":{"atom":371,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[369,370,372]}},{"Named":{"name":"first","atom":368}},{"Entity":{"atom":57}},{"Entity":{"atom":384}},{"Entity":{"atom":91}},{"Repetition":{"atom":377,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":166}},{"Entity":{"atom":321}},{"Repetition":{"atom":380,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":338}},{"Repetition":{"atom":382,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[378,379,381,383]}},{"Named":{"name":"second","atom":376}},{"Entity":{"atom":57}},{"Entity":{"atom":384}},{"Named":{"name":"third","atom":387}},{"Sequence":{"atoms":[386,388]}},{"Repetition":{"atom":389,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":82}},{"Repetition":{"atom":391,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":410}},{"Entity":{"atom":8}},{"Entity":{"atom":400}},{"Str":{"pattern":"Code"}},{"Str":{"pattern":"Handbook"}},{"Str":{"pattern":"Training Package"}},{"Str":{"pattern":"Package"}},{"Alternative":{"atoms":[396,397,398,399]}},{"Str":{"pattern":", "}},{"Entity":{"atom":400}},{"Sequence":{"atoms":[401,402]}},{"Entity":{"atom":8}},{"Str":{"pattern":"& "}},{"Entity":{"atom":400}},{"Sequence":{"atoms":[404,405,406]}},{"Alternative":{"atoms":[403,407]}},{"Repetition":{"atom":408,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[394,395,409]}},{"Repetition":{"atom":393,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[374,375,385,390,392,411]}},{"Entity":{"atom":433}},{"Entity":{"atom":340}},{"Named":{"name":"first","atom":414}},{"Entity":{"atom":417}},{"Str":{"pattern":","}},{"Str":{"pattern":""}},{"Named":{"name":"comma_separator","atom":418}},{"Entity":{"atom":8}},{"Entity":{"atom":340}},{"Named":{"name":"second","atom":421}},{"Entity":{"atom":82}},{"Repetition":{"atom":423,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":8}},{"Str":{"pattern":"& "}},{"Entity":{"atom":410}},{"Sequence":{"atoms":[425,426,427]}},{"Entity":{"atom":410}},{"Alternative":{"atoms":[428,429]}},{"Named":{"name":"package_portion","atom":430}},{"Repetition":{"atom":431,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[415,416,419,420,422,424,432]}},{"Entity":{"atom":441}},{"Entity":{"atom":340}},{"Entity":{"atom":82}},{"Repetition":{"atom":436,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":410}},{"Named":{"name":"package_portion","atom":438}},{"Repetition":{"atom":439,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[435,437,440]}},{"Entity":{"atom":469}},{"Entity":{"atom":166}},{"Entity":{"atom":8}},{"Entity":{"atom":184}},{"Entity":{"atom":8}},{"Str":{"pattern":"SERIES"}},{"Named":{"name":"series","atom":447}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[449,450]}},{"Sequence":{"atoms":[444,445,446,448,451]}},{"Entity":{"atom":8}},{"Str":{"pattern":"SERIES"}},{"Named":{"name":"series","atom":454}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[456,457]}},{"Sequence":{"atoms":[453,455,458]}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[460,461]}},{"Alternative":{"atoms":[452,459,462]}},{"Entity":{"atom":8}},{"Str":{"pattern":"PACKAGE"}},{"Sequence":{"atoms":[464,465]}},{"Named":{"name":"package_portion","atom":466}},{"Repetition":{"atom":467,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[443,463,468]}},{"Alternative":{"atoms":[0,85,232,291,367,413,434,442]}}],"root":470},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule code_c_tail: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule code_c_tail: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule code_c_tail: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule trailing_block: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule trailing_block: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule trailing_block: 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)","rule identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"CSA Z259.1-05","expect":{}},{"entry":"identifier","kind":"accept","input":"CSA C22.2 NO. 60601-1","expect":{}},{"entry":"identifier","kind":"accept","input":"CSA Z195-02","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/csa/parser.rb. Deviations:\n# - the parslet's empty-match markers (str(\"\").as(:has_publisher),\n# :colon_format, :dash_format) are unrepresentable in PG and were\n# dead captures in practice; the separator itself remains in the tree.\n# - the pre-parse normalization (CONSOLIDATED stripping, (Rnnn) spacing,\n# CEI→IEC, CAN/CSA prefix handling) stays binder-side.\n\ngrammar PubidCsa version \"0.1.0\" {\n upper = %x41-5A\n lower = %x61-7A\n digit = %x30-39\n letters = 1*upper\n space = \" \"\n\n publisher = \"CSA\" space (\"\" as has_publisher)\n\n # code_pattern: four alternatives, source order\n code_a = (1*digit dot 1*digit *1(dash 1*digit) [2*6upper])\n code_b = (1*digit 2*6upper)\n one_or_one_follow = (digit !digit)\n code_c_tail = ((one_or_one_follow / 3*digit / (1*digit 1*letter)))\n code_c = (upper 1*digit *(dot 1*digit) *(dash code_c_tail) [2*6upper])\n code_d = (upper 1*digit [dot 1*digit])\n code_e = (upper 2*digit)\n code_pattern = (code_a / code_b / code_c / code_d / code_e) as code\n\n no_notation = space (\"NO.\" / \"No.\") as no_notation space\n no_number = ((1*digit 2*10(dash 1*digit)) / (5*digit dash 1*digit) / (3*4digit dash (one_or_one_follow / 3*digit)) / (1*digit 1*3(dot 1*digit)) / 1*digit) as no_number\n year_prefix = [(\"F\" / \"M\")] as year_prefix\n year_2digit = 2*digit\n year_4digit = 4*digit\n colon_year = (\"\" as colon_format) colon ((year_prefix ((year_4digit / year_2digit) as year)) / ((year_4digit / year_2digit) as year))\n dash_year = (\"\" as dash_format) dash ((year_prefix ((year_4digit / year_2digit) as year)) / ((year_4digit / year_2digit) as year))\n reaffirmation = space \"(R\" ((4digit) as reaffirmation_4digit / (2digit) as reaffirmation_2digit) \")\"\n amendment_slash = slash [\"Amd \" ] [\"A\"] (1*digit) as amendment_number [(colon (2digit) as amendment_year)]\n package_keyword = \"Code\" / \"Handbook\" / \"Training Package\" / \"Package\"\n package_portion = space package_keyword *((\", \" package_keyword) / (space \"& \" package_keyword))\n series_prefix = (2*3upper) as series_prefix\n series_keyword = \"SERIES\"\n\n series_identifier = publisher (code_pattern / (upper 2*digit) as code / (1*digit dot 1*digit) as code) space [series_prefix space] \"SERIES\" as series_type [colon_year / dash_year] [reaffirmation]\n cec_part = \"C22.2\" / \"C22.3\" / \"C22.4\" / \"C22.6\"\n cec_identifier = publisher (cec_part as cec_part) no_notation no_number [colon_year / dash_year] [reaffirmation]\n adoption_identifier = (\"CSA\" as adoption_pub) adoption_body [reaffirmation]\n adoption_body = ((\"ISO/IEC\" as adoption_org space (\"TR\" / \"TS\") as iso_type space (1*numdash) as adoption_number) / (\"ISO/IEC\" as adoption_org_with_type space (1*numdash) as adoption_number) / ((\"ISO\" / \"IEC\" / \"CEI/IEC\" / \"CISPR\") as adoption_org space (1*numdash) as adoption_number)) ((colon / dash) as adoption_year_sep (year_4digit / year_2digit) as adoption_year) [(slash \"A\" digit as adoption_amendment (colon / dash) (year_4digit / year_2digit) as adoption_amendment_year)]\n numdash = digit / \"-\"\n iso_iec_adoption = adoption_identifier\n\n trailing_block = ((no_notation no_number (colon_year / dash_year)) / (space series_prefix space \"SERIES\" as series (colon_year / dash_year)) / (space \"SERIES\" as series (colon_year / dash_year)) / (colon_year / dash_year))\n csa_code = publisher code_pattern [trailing_block] [amendment_slash]\n base_csa_code = publisher code_pattern [trailing_block]\n continuation_code = [publisher] code_pattern [trailing_block] [amendment_slash]\n bundled_portion = code_pattern ((no_notation no_number [colon_year / dash_year]) / [colon_year / dash_year])\n bundled_identifier = (csa_code as base) \" + \" (bundled_portion as bundled_first) ((*(\" + \" bundled_portion)) as bundled_rest) [reaffirmation]\n combined_slash = ((base_csa_code as first) slash (continuation_code as second) [(slash continuation_code as third)] [reaffirmation] [package_portion])\n combined_comma = ((csa_code as first) comma (\"\" as comma_separator) space (csa_code as second) [reaffirmation] [(space \"& \" package_portion / package_portion) as package_portion])\n single_identifier = csa_code [reaffirmation] [package_portion as package_portion]\n code_only_identifier = code_pattern ((space series_prefix space \"SERIES\" as series (colon_year / dash_year)) / (space \"SERIES\" as series (colon_year / dash_year)) / (colon_year / dash_year)) [(space \"PACKAGE\") as package_portion]\n\n identifier = iso_iec_adoption / series_identifier / cec_identifier / bundled_identifier / combined_slash / combined_comma / single_identifier / code_only_identifier\n\n comma = \",\"\n dash = \"-\"\n slash = \"/\"\n colon = \":\"\n dot = \".\"\n ampersand = \"&\"\n letter = upper / lower\n entry identifier: identifier\n\n test {\n accept \"CSA Z259.1-05\"\n accept \"CSA C22.2 NO. 60601-1\"\n accept \"CSA Z195-02\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:6c25b3c4bff17473c59295a58c5605cecf957e5e28fcc1a8bee61b786be60140"}
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidCsa","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":1}},{"Entity":{"atom":84}},{"Str":{"pattern":"CSA"}},{"Named":{"name":"adoption_pub","atom":2}},{"Entity":{"atom":70}},{"Str":{"pattern":"ISO/IEC"}},{"Named":{"name":"adoption_org","atom":5}},{"Entity":{"atom":8}},{"Str":{"pattern":" "}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"TS"}},{"Alternative":{"atoms":[9,10]}},{"Named":{"name":"iso_type","atom":11}},{"Entity":{"atom":8}},{"Entity":{"atom":18}},{"Entity":{"atom":16}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Str":{"pattern":"-"}},{"Alternative":{"atoms":[15,17]}},{"Repetition":{"atom":14,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"adoption_number","atom":19}},{"Sequence":{"atoms":[6,7,12,13,20]}},{"Str":{"pattern":"ISO/IEC"}},{"Named":{"name":"adoption_org_with_type","atom":22}},{"Entity":{"atom":8}},{"Entity":{"atom":18}},{"Repetition":{"atom":25,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"adoption_number","atom":26}},{"Sequence":{"atoms":[23,24,27]}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Str":{"pattern":"CEI/IEC"}},{"Str":{"pattern":"CISPR"}},{"Alternative":{"atoms":[29,30,31,32]}},{"Named":{"name":"adoption_org","atom":33}},{"Entity":{"atom":8}},{"Entity":{"atom":18}},{"Repetition":{"atom":36,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"adoption_number","atom":37}},{"Sequence":{"atoms":[34,35,38]}},{"Alternative":{"atoms":[21,28,39]}},{"Entity":{"atom":42}},{"Str":{"pattern":":"}},{"Entity":{"atom":44}},{"Str":{"pattern":"-"}},{"Alternative":{"atoms":[41,43]}},{"Named":{"name":"adoption_year_sep","atom":45}},{"Entity":{"atom":49}},{"Entity":{"atom":16}},{"Repetition":{"atom":48,"min":4,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":16}},{"Repetition":{"atom":51,"min":2,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[47,50]}},{"Named":{"name":"adoption_year","atom":53}},{"Sequence":{"atoms":[46,54]}},{"Entity":{"atom":57}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"A"}},{"Entity":{"atom":16}},{"Named":{"name":"adoption_amendment","atom":59}},{"Entity":{"atom":42}},{"Entity":{"atom":44}},{"Alternative":{"atoms":[61,62]}},{"Entity":{"atom":49}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[64,65]}},{"Named":{"name":"adoption_amendment_year","atom":66}},{"Sequence":{"atoms":[56,58,60,63,67]}},{"Repetition":{"atom":68,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[40,55,69]}},{"Entity":{"atom":82}},{"Entity":{"atom":8}},{"Str":{"pattern":"(R"}},{"Entity":{"atom":16}},{"Repetition":{"atom":74,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"reaffirmation_4digit","atom":75}},{"Entity":{"atom":16}},{"Repetition":{"atom":77,"min":2,"max":2,"tag":"Repetition"}},{"Named":{"name":"reaffirmation_2digit","atom":78}},{"Alternative":{"atoms":[76,79]}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[72,73,80,81]}},{"Repetition":{"atom":71,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[3,4,83]}},{"Entity":{"atom":231}},{"Entity":{"atom":91}},{"Str":{"pattern":"CSA"}},{"Entity":{"atom":8}},{"Str":{"pattern":""}},{"Named":{"name":"has_publisher","atom":89}},{"Sequence":{"atoms":[87,88,90]}},{"Entity":{"atom":166}},{"Entity":{"atom":109}},{"Entity":{"atom":16}},{"Repetition":{"atom":94,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":97}},{"Str":{"pattern":"."}},{"Entity":{"atom":16}},{"Repetition":{"atom":98,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Entity":{"atom":16}},{"Repetition":{"atom":101,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[100,102]}},{"Repetition":{"atom":103,"min":0,"max":1,"tag":"Repetition"}},{"Entity":{"atom":106}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Repetition":{"atom":105,"min":2,"max":6,"tag":"Repetition"}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[95,96,99,104,108]}},{"Entity":{"atom":115}},{"Entity":{"atom":16}},{"Repetition":{"atom":111,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":106}},{"Repetition":{"atom":113,"min":2,"max":6,"tag":"Repetition"}},{"Sequence":{"atoms":[112,114]}},{"Entity":{"atom":149}},{"Entity":{"atom":106}},{"Entity":{"atom":16}},{"Repetition":{"atom":118,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":97}},{"Entity":{"atom":16}},{"Repetition":{"atom":121,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[120,122]}},{"Repetition":{"atom":123,"min":0,"max":null,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Entity":{"atom":143}},{"Entity":{"atom":131}},{"Entity":{"atom":16}},{"Entity":{"atom":16}},{"Lookahead":{"atom":129,"positive":false}},{"Sequence":{"atoms":[128,130]}},{"Entity":{"atom":16}},{"Repetition":{"atom":132,"min":3,"max":null,"tag":"Repetition"}},{"Entity":{"atom":16}},{"Repetition":{"atom":134,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":140}},{"Entity":{"atom":106}},{"Entity":{"atom":139}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[137,138]}},{"Repetition":{"atom":136,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[135,141]}},{"Alternative":{"atoms":[127,133,142]}},{"Sequence":{"atoms":[125,126]}},{"Repetition":{"atom":144,"min":0,"max":null,"tag":"Repetition"}},{"Entity":{"atom":106}},{"Repetition":{"atom":146,"min":2,"max":6,"tag":"Repetition"}},{"Repetition":{"atom":147,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[117,119,124,145,148]}},{"Entity":{"atom":159}},{"Entity":{"atom":106}},{"Entity":{"atom":16}},{"Repetition":{"atom":152,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":97}},{"Entity":{"atom":16}},{"Repetition":{"atom":155,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[154,156]}},{"Repetition":{"atom":157,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[151,153,158]}},{"Entity":{"atom":164}},{"Entity":{"atom":106}},{"Entity":{"atom":16}},{"Repetition":{"atom":162,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[161,163]}},{"Alternative":{"atoms":[93,110,116,150,160]}},{"Named":{"name":"code","atom":165}},{"Entity":{"atom":106}},{"Entity":{"atom":16}},{"Repetition":{"atom":168,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[167,169]}},{"Named":{"name":"code","atom":170}},{"Entity":{"atom":16}},{"Repetition":{"atom":172,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":97}},{"Entity":{"atom":16}},{"Repetition":{"atom":175,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[173,174,176]}},{"Named":{"name":"code","atom":177}},{"Alternative":{"atoms":[92,171,178]}},{"Entity":{"atom":8}},{"Entity":{"atom":184}},{"Entity":{"atom":106}},{"Repetition":{"atom":182,"min":2,"max":3,"tag":"Repetition"}},{"Named":{"name":"series_prefix","atom":183}},{"Entity":{"atom":8}},{"Sequence":{"atoms":[181,185]}},{"Repetition":{"atom":186,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"SERIES"}},{"Named":{"name":"series_type","atom":188}},{"Entity":{"atom":210}},{"Str":{"pattern":""}},{"Named":{"name":"colon_format","atom":191}},{"Entity":{"atom":42}},{"Entity":{"atom":199}},{"Str":{"pattern":"F"}},{"Str":{"pattern":"M"}},{"Alternative":{"atoms":[195,196]}},{"Repetition":{"atom":197,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"year_prefix","atom":198}},{"Entity":{"atom":49}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[200,201]}},{"Named":{"name":"year","atom":202}},{"Sequence":{"atoms":[194,203]}},{"Entity":{"atom":49}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[205,206]}},{"Named":{"name":"year","atom":207}},{"Alternative":{"atoms":[204,208]}},{"Sequence":{"atoms":[192,193,209]}},{"Entity":{"atom":226}},{"Str":{"pattern":""}},{"Named":{"name":"dash_format","atom":212}},{"Entity":{"atom":44}},{"Entity":{"atom":199}},{"Entity":{"atom":49}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[216,217]}},{"Named":{"name":"year","atom":218}},{"Sequence":{"atoms":[215,219]}},{"Entity":{"atom":49}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[221,222]}},{"Named":{"name":"year","atom":223}},{"Alternative":{"atoms":[220,224]}},{"Sequence":{"atoms":[213,214,225]}},{"Alternative":{"atoms":[190,211]}},{"Repetition":{"atom":227,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":82}},{"Repetition":{"atom":229,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[86,179,180,187,189,228,230]}},{"Entity":{"atom":290}},{"Entity":{"atom":91}},{"Entity":{"atom":239}},{"Str":{"pattern":"C22.2"}},{"Str":{"pattern":"C22.3"}},{"Str":{"pattern":"C22.4"}},{"Str":{"pattern":"C22.6"}},{"Alternative":{"atoms":[235,236,237,238]}},{"Named":{"name":"cec_part","atom":234}},{"Entity":{"atom":248}},{"Entity":{"atom":8}},{"Str":{"pattern":"NO."}},{"Str":{"pattern":"No."}},{"Alternative":{"atoms":[243,244]}},{"Named":{"name":"no_notation","atom":245}},{"Entity":{"atom":8}},{"Sequence":{"atoms":[242,246,247]}},{"Entity":{"atom":283}},{"Entity":{"atom":16}},{"Repetition":{"atom":250,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Entity":{"atom":16}},{"Repetition":{"atom":253,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[252,254]}},{"Repetition":{"atom":255,"min":2,"max":10,"tag":"Repetition"}},{"Sequence":{"atoms":[251,256]}},{"Entity":{"atom":16}},{"Repetition":{"atom":258,"min":5,"max":null,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Entity":{"atom":16}},{"Repetition":{"atom":261,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[259,260,262]}},{"Entity":{"atom":16}},{"Repetition":{"atom":264,"min":3,"max":4,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Entity":{"atom":131}},{"Entity":{"atom":16}},{"Repetition":{"atom":268,"min":3,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[267,269]}},{"Sequence":{"atoms":[265,266,270]}},{"Entity":{"atom":16}},{"Repetition":{"atom":272,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":97}},{"Entity":{"atom":16}},{"Repetition":{"atom":275,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[274,276]}},{"Repetition":{"atom":277,"min":1,"max":3,"tag":"Repetition"}},{"Sequence":{"atoms":[273,278]}},{"Entity":{"atom":16}},{"Repetition":{"atom":280,"min":1,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[257,263,271,279,281]}},{"Named":{"name":"no_number","atom":282}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[284,285]}},{"Repetition":{"atom":286,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":82}},{"Repetition":{"atom":288,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[233,240,241,249,287,289]}},{"Entity":{"atom":366}},{"Entity":{"atom":340}},{"Entity":{"atom":91}},{"Entity":{"atom":166}},{"Entity":{"atom":321}},{"Entity":{"atom":248}},{"Entity":{"atom":283}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[298,299]}},{"Sequence":{"atoms":[296,297,300]}},{"Entity":{"atom":8}},{"Entity":{"atom":184}},{"Entity":{"atom":8}},{"Str":{"pattern":"SERIES"}},{"Named":{"name":"series","atom":305}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[307,308]}},{"Sequence":{"atoms":[302,303,304,306,309]}},{"Entity":{"atom":8}},{"Str":{"pattern":"SERIES"}},{"Named":{"name":"series","atom":312}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[314,315]}},{"Sequence":{"atoms":[311,313,316]}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[318,319]}},{"Alternative":{"atoms":[301,310,317,320]}},{"Repetition":{"atom":295,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":338}},{"Entity":{"atom":57}},{"Str":{"pattern":"Amd "}},{"Repetition":{"atom":325,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"A"}},{"Repetition":{"atom":327,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":16}},{"Repetition":{"atom":329,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amendment_number","atom":330}},{"Entity":{"atom":42}},{"Entity":{"atom":16}},{"Repetition":{"atom":333,"min":2,"max":2,"tag":"Repetition"}},{"Named":{"name":"amendment_year","atom":334}},{"Sequence":{"atoms":[332,335]}},{"Repetition":{"atom":336,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[324,326,328,331,337]}},{"Repetition":{"atom":323,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[293,294,322,339]}},{"Named":{"name":"base","atom":292}},{"Str":{"pattern":" + "}},{"Entity":{"atom":357}},{"Entity":{"atom":166}},{"Entity":{"atom":248}},{"Entity":{"atom":283}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[347,348]}},{"Repetition":{"atom":349,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[345,346,350]}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[352,353]}},{"Repetition":{"atom":354,"min":0,"max":1,"tag":"Maybe"}},{"Alternative":{"atoms":[351,355]}},{"Sequence":{"atoms":[344,356]}},{"Named":{"name":"bundled_first","atom":343}},{"Str":{"pattern":" + "}},{"Entity":{"atom":357}},{"Sequence":{"atoms":[359,360]}},{"Repetition":{"atom":361,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"bundled_rest","atom":362}},{"Entity":{"atom":82}},{"Repetition":{"atom":364,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[341,342,358,363,365]}},{"Entity":{"atom":412}},{"Entity":{"atom":373}},{"Entity":{"atom":91}},{"Entity":{"atom":166}},{"Entity":{"atom":321}},{"Repetition":{"atom":371,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[369,370,372]}},{"Named":{"name":"first","atom":368}},{"Entity":{"atom":57}},{"Entity":{"atom":384}},{"Entity":{"atom":91}},{"Repetition":{"atom":377,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":166}},{"Entity":{"atom":321}},{"Repetition":{"atom":380,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":338}},{"Repetition":{"atom":382,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[378,379,381,383]}},{"Named":{"name":"second","atom":376}},{"Entity":{"atom":57}},{"Entity":{"atom":384}},{"Named":{"name":"third","atom":387}},{"Sequence":{"atoms":[386,388]}},{"Repetition":{"atom":389,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":82}},{"Repetition":{"atom":391,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":410}},{"Entity":{"atom":8}},{"Entity":{"atom":400}},{"Str":{"pattern":"Code"}},{"Str":{"pattern":"Handbook"}},{"Str":{"pattern":"Training Package"}},{"Str":{"pattern":"Package"}},{"Alternative":{"atoms":[396,397,398,399]}},{"Str":{"pattern":", "}},{"Entity":{"atom":400}},{"Sequence":{"atoms":[401,402]}},{"Entity":{"atom":8}},{"Str":{"pattern":"& "}},{"Entity":{"atom":400}},{"Sequence":{"atoms":[404,405,406]}},{"Alternative":{"atoms":[403,407]}},{"Repetition":{"atom":408,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[394,395,409]}},{"Repetition":{"atom":393,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[374,375,385,390,392,411]}},{"Entity":{"atom":433}},{"Entity":{"atom":340}},{"Named":{"name":"first","atom":414}},{"Entity":{"atom":417}},{"Str":{"pattern":","}},{"Str":{"pattern":""}},{"Named":{"name":"comma_separator","atom":418}},{"Entity":{"atom":8}},{"Entity":{"atom":340}},{"Named":{"name":"second","atom":421}},{"Entity":{"atom":82}},{"Repetition":{"atom":423,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":8}},{"Str":{"pattern":"& "}},{"Entity":{"atom":410}},{"Sequence":{"atoms":[425,426,427]}},{"Entity":{"atom":410}},{"Alternative":{"atoms":[428,429]}},{"Named":{"name":"package_portion","atom":430}},{"Repetition":{"atom":431,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[415,416,419,420,422,424,432]}},{"Entity":{"atom":441}},{"Entity":{"atom":340}},{"Entity":{"atom":82}},{"Repetition":{"atom":436,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":410}},{"Named":{"name":"package_portion","atom":438}},{"Repetition":{"atom":439,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[435,437,440]}},{"Entity":{"atom":469}},{"Entity":{"atom":166}},{"Entity":{"atom":8}},{"Entity":{"atom":184}},{"Entity":{"atom":8}},{"Str":{"pattern":"SERIES"}},{"Named":{"name":"series","atom":447}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[449,450]}},{"Sequence":{"atoms":[444,445,446,448,451]}},{"Entity":{"atom":8}},{"Str":{"pattern":"SERIES"}},{"Named":{"name":"series","atom":454}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[456,457]}},{"Sequence":{"atoms":[453,455,458]}},{"Entity":{"atom":210}},{"Entity":{"atom":226}},{"Alternative":{"atoms":[460,461]}},{"Alternative":{"atoms":[452,459,462]}},{"Entity":{"atom":8}},{"Str":{"pattern":"PACKAGE"}},{"Sequence":{"atoms":[464,465]}},{"Named":{"name":"package_portion","atom":466}},{"Repetition":{"atom":467,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[443,463,468]}},{"Alternative":{"atoms":[0,85,232,291,367,413,434,442]}}],"root":470},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule code_c_tail: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule code_c_tail: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule code_c_tail: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule cec_part: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule trailing_block: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule trailing_block: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule trailing_block: 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)","rule identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"CSA Z259.1-05","expect":{}},{"entry":"identifier","kind":"accept","input":"CSA C22.2 NO. 60601-1","expect":{}},{"entry":"identifier","kind":"accept","input":"CSA Z195-02","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/csa/parser.rb. Deviations:\n# - the parslet's empty-match markers (str(\"\").as(:has_publisher),\n# :colon_format, :dash_format) are unrepresentable in PG and were\n# dead captures in practice; the separator itself remains in the tree.\n# - the pre-parse normalization (CONSOLIDATED stripping, (Rnnn) spacing,\n# CEI→IEC, CAN/CSA prefix handling) stays binder-side.\n\ngrammar PubidCsa version \"0.1.0\" {\n upper = %x41-5A\n lower = %x61-7A\n digit = %x30-39\n letters = 1*upper\n space = \" \"\n\n publisher = \"CSA\" space (\"\" as has_publisher)\n\n # code_pattern: four alternatives, source order\n code_a = (1*digit dot 1*digit *1(dash 1*digit) [2*6upper])\n code_b = (1*digit 2*6upper)\n one_or_one_follow = (digit !digit)\n code_c_tail = ((one_or_one_follow / 3*digit / (1*digit 1*letter)))\n code_c = (upper 1*digit *(dot 1*digit) *(dash code_c_tail) [2*6upper])\n code_d = (upper 1*digit [dot 1*digit])\n code_e = (upper 2*digit)\n code_pattern = (code_a / code_b / code_c / code_d / code_e) as code\n\n no_notation = space (\"NO.\" / \"No.\") as no_notation space\n no_number = ((1*digit 2*10(dash 1*digit)) / (5*digit dash 1*digit) / (3*4digit dash (one_or_one_follow / 3*digit)) / (1*digit 1*3(dot 1*digit)) / 1*digit) as no_number\n year_prefix = [(\"F\" / \"M\")] as year_prefix\n year_2digit = 2*digit\n year_4digit = 4*digit\n colon_year = (\"\" as colon_format) colon ((year_prefix ((year_4digit / year_2digit) as year)) / ((year_4digit / year_2digit) as year))\n dash_year = (\"\" as dash_format) dash ((year_prefix ((year_4digit / year_2digit) as year)) / ((year_4digit / year_2digit) as year))\n reaffirmation = space \"(R\" ((4digit) as reaffirmation_4digit / (2digit) as reaffirmation_2digit) \")\"\n amendment_slash = slash [\"Amd \" ] [\"A\"] (1*digit) as amendment_number [(colon (2digit) as amendment_year)]\n package_keyword = \"Code\" / \"Handbook\" / \"Training Package\" / \"Package\"\n package_portion = space package_keyword *((\", \" package_keyword) / (space \"& \" package_keyword))\n series_prefix = (2*3upper) as series_prefix\n series_keyword = \"SERIES\"\n\n series_identifier = publisher (code_pattern / (upper 2*digit) as code / (1*digit dot 1*digit) as code) space [series_prefix space] \"SERIES\" as series_type [colon_year / dash_year] [reaffirmation]\n cec_part = \"C22.2\" / \"C22.3\" / \"C22.4\" / \"C22.6\"\n cec_identifier = publisher (cec_part as cec_part) no_notation no_number [colon_year / dash_year] [reaffirmation]\n adoption_identifier = (\"CSA\" as adoption_pub) adoption_body [reaffirmation]\n adoption_body = ((\"ISO/IEC\" as adoption_org space (\"TR\" / \"TS\") as iso_type space (1*numdash) as adoption_number) / (\"ISO/IEC\" as adoption_org_with_type space (1*numdash) as adoption_number) / ((\"ISO\" / \"IEC\" / \"CEI/IEC\" / \"CISPR\") as adoption_org space (1*numdash) as adoption_number)) ((colon / dash) as adoption_year_sep (year_4digit / year_2digit) as adoption_year) [(slash \"A\" digit as adoption_amendment (colon / dash) (year_4digit / year_2digit) as adoption_amendment_year)]\n numdash = digit / \"-\"\n iso_iec_adoption = adoption_identifier\n\n trailing_block = ((no_notation no_number (colon_year / dash_year)) / (space series_prefix space \"SERIES\" as series (colon_year / dash_year)) / (space \"SERIES\" as series (colon_year / dash_year)) / (colon_year / dash_year))\n csa_code = publisher code_pattern [trailing_block] [amendment_slash]\n base_csa_code = publisher code_pattern [trailing_block]\n continuation_code = [publisher] code_pattern [trailing_block] [amendment_slash]\n bundled_portion = code_pattern ((no_notation no_number [colon_year / dash_year]) / [colon_year / dash_year])\n bundled_identifier = (csa_code as base) \" + \" (bundled_portion as bundled_first) ((*(\" + \" bundled_portion)) as bundled_rest) [reaffirmation]\n combined_slash = ((base_csa_code as first) slash (continuation_code as second) [(slash continuation_code as third)] [reaffirmation] [package_portion])\n combined_comma = ((csa_code as first) comma (\"\" as comma_separator) space (csa_code as second) [reaffirmation] [(space \"& \" package_portion / package_portion) as package_portion])\n single_identifier = csa_code [reaffirmation] [package_portion as package_portion]\n code_only_identifier = code_pattern ((space series_prefix space \"SERIES\" as series (colon_year / dash_year)) / (space \"SERIES\" as series (colon_year / dash_year)) / (colon_year / dash_year)) [(space \"PACKAGE\") as package_portion]\n\n identifier = iso_iec_adoption / series_identifier / cec_identifier / bundled_identifier / combined_slash / combined_comma / single_identifier / code_only_identifier\n\n comma = \",\"\n dash = \"-\"\n slash = \"/\"\n colon = \":\"\n dot = \".\"\n ampersand = \"&\"\n letter = upper / lower\n entry identifier: identifier\n\n test {\n accept \"CSA Z259.1-05\"\n accept \"CSA C22.2 NO. 60601-1\"\n accept \"CSA Z195-02\"\n reject \"nonsense\"\n }\n}\n","source_hash":"2409827bab3bee9163f75b95e0b26444f70a1c9dfa65884aa33475bb9a72eab1","compiler_version":"1.3.93","checksum":"sha256:84bceb361d62ac6146bda139abe0c6406b2460f7d3cba40041881db7b4b62269"}
|
package/vendor/parg/doi.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidDoi","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":8}},{"Str":{"pattern":"https://"}},{"Str":{"pattern":"http://"}},{"Alternative":{"atoms":[1,2]}},{"Repetition":{"atom":3,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"doi.org"}},{"Repetition":{"atom":5,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[4,6]}},{"Repetition":{"atom":7,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":0,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":15}},{"Str":{"pattern":"doi:"}},{"Str":{"pattern":"DOI:"}},{"Str":{"pattern":"Doi:"}},{"Alternative":{"atoms":[11,12,13]}},{"Repetition":{"atom":14,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":10,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":18}},{"Str":{"pattern":"/"}},{"Repetition":{"atom":17,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":27}},{"Str":{"pattern":"10"}},{"Str":{"pattern":"."}},{"Entity":{"atom":24}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":23,"min":2,"max":null,"tag":"Repetition"}},{"Named":{"name":"prefix","atom":25}},{"Sequence":{"atoms":[21,22,26]}},{"Entity":{"atom":18}},{"Entity":{"atom":42}},{"Entity":{"atom":40}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Re":{"pattern":"[.]"}},{"Re":{"pattern":"[_]"}},{"Re":{"pattern":"[\\-]"}},{"Re":{"pattern":"[/]"}},{"Re":{"pattern":"[(]"}},{"Re":{"pattern":"[)]"}},{"Alternative":{"atoms":[31,32,33,34,35,36,37,38,39]}},{"Repetition":{"atom":30,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"suffix","atom":41}},{"Sequence":{"atoms":[9,16,19,20,28,29]}}],"root":43},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":[]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"10.1000/182","expect":{}},{"entry":"identifier","kind":"accept","input":"doi:10.1000/182","expect":{}},{"entry":"identifier","kind":"accept","input":"https://doi.org/10.1000/182","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/doi/parser.rb: [doi:|DOI:|URL]10.{registrar}/{suffix}\n# per ISO 26324. Suffix is printable non-whitespace minus the DOI-reserved\n# exclusions, per the parslet class.\n\ngrammar PubidDoi version \"0.1.0\" {\n digit = %x30-39\n suffix_char = %x30-39 / %x41-5A / %x61-7A / %x2E / %x5F / %x2D / %x2F / %x28 / %x29\n doi_prefix = \"10\" \".\" (2*digit) as prefix\n doi_suffix = (1*suffix_char) as suffix\n url_prefix = [[\"https://\" / \"http://\"] [\"doi.org\"]]\n scheme_prefix = [\"doi:\" / \"DOI:\" / \"Doi:\"]\n identifier = [url_prefix] [scheme_prefix] [slash] doi_prefix slash doi_suffix\n slash = \"/\"\n entry identifier: identifier\n\n test {\n accept \"10.1000/182\"\n accept \"doi:10.1000/182\"\n accept \"https://doi.org/10.1000/182\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidDoi","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":8}},{"Str":{"pattern":"https://"}},{"Str":{"pattern":"http://"}},{"Alternative":{"atoms":[1,2]}},{"Repetition":{"atom":3,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"doi.org"}},{"Repetition":{"atom":5,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[4,6]}},{"Repetition":{"atom":7,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":0,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":15}},{"Str":{"pattern":"doi:"}},{"Str":{"pattern":"DOI:"}},{"Str":{"pattern":"Doi:"}},{"Alternative":{"atoms":[11,12,13]}},{"Repetition":{"atom":14,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":10,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":18}},{"Str":{"pattern":"/"}},{"Repetition":{"atom":17,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":27}},{"Str":{"pattern":"10"}},{"Str":{"pattern":"."}},{"Entity":{"atom":24}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":23,"min":2,"max":null,"tag":"Repetition"}},{"Named":{"name":"prefix","atom":25}},{"Sequence":{"atoms":[21,22,26]}},{"Entity":{"atom":18}},{"Entity":{"atom":42}},{"Entity":{"atom":40}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Re":{"pattern":"[.]"}},{"Re":{"pattern":"[_]"}},{"Re":{"pattern":"[\\-]"}},{"Re":{"pattern":"[/]"}},{"Re":{"pattern":"[(]"}},{"Re":{"pattern":"[)]"}},{"Alternative":{"atoms":[31,32,33,34,35,36,37,38,39]}},{"Repetition":{"atom":30,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"suffix","atom":41}},{"Sequence":{"atoms":[9,16,19,20,28,29]}}],"root":43},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":[]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"10.1000/182","expect":{}},{"entry":"identifier","kind":"accept","input":"doi:10.1000/182","expect":{}},{"entry":"identifier","kind":"accept","input":"https://doi.org/10.1000/182","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/doi/parser.rb: [doi:|DOI:|URL]10.{registrar}/{suffix}\n# per ISO 26324. Suffix is printable non-whitespace minus the DOI-reserved\n# exclusions, per the parslet class.\n\ngrammar PubidDoi version \"0.1.0\" {\n digit = %x30-39\n suffix_char = %x30-39 / %x41-5A / %x61-7A / %x2E / %x5F / %x2D / %x2F / %x28 / %x29\n doi_prefix = \"10\" \".\" (2*digit) as prefix\n doi_suffix = (1*suffix_char) as suffix\n url_prefix = [[\"https://\" / \"http://\"] [\"doi.org\"]]\n scheme_prefix = [\"doi:\" / \"DOI:\" / \"Doi:\"]\n identifier = [url_prefix] [scheme_prefix] [slash] doi_prefix slash doi_suffix\n slash = \"/\"\n entry identifier: identifier\n\n test {\n accept \"10.1000/182\"\n accept \"doi:10.1000/182\"\n accept \"https://doi.org/10.1000/182\"\n reject \"nonsense\"\n }\n}\n","source_hash":"3da5e11fe135ee42ce8a134926ef269a6fc5d00e0dc661cf7f5c6c737041819b","compiler_version":"1.3.93","checksum":"sha256:be582c44eebdcaa179207f73f188f30f526164636ecae26170220afd8a3adcf1"}
|
package/vendor/parg/easc.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidEasc","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":9}},{"Str":{"pattern":"ПМГ"}},{"Str":{"pattern":"РМГ"}},{"Str":{"pattern":"PMG"}},{"Str":{"pattern":"RMG"}},{"Alternative":{"atoms":[1,2,3,4]}},{"Named":{"name":"series","atom":5}},{"Entity":{"atom":8}},{"Str":{"pattern":" "}},{"Sequence":{"atoms":[6,7]}},{"Entity":{"atom":16}},{"Str":{"pattern":"В"}},{"Str":{"pattern":"V"}},{"Alternative":{"atoms":[11,12]}},{"Named":{"name":"variant","atom":13}},{"Entity":{"atom":8}},{"Sequence":{"atoms":[14,15]}},{"Repetition":{"atom":10,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":29}},{"Entity":{"atom":20}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":19,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":23}},{"Str":{"pattern":"."}},{"Entity":{"atom":20}},{"Repetition":{"atom":24,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[22,25]}},{"Repetition":{"atom":26,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[21,27]}},{"Named":{"name":"number","atom":28}},{"Entity":{"atom":39}},{"Entity":{"atom":8}},{"Repetition":{"atom":31,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"—"}},{"Str":{"pattern":"–"}},{"Alternative":{"atoms":[33,34,35]}},{"Entity":{"atom":8}},{"Repetition":{"atom":37,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[32,36,38]}},{"Entity":{"atom":46}},{"Entity":{"atom":20}},{"Repetition":{"atom":41,"min":4,"max":4,"tag":"Repetition"}},{"Entity":{"atom":20}},{"Repetition":{"atom":43,"min":2,"max":2,"tag":"Repetition"}},{"Alternative":{"atoms":[42,44]}},{"Named":{"name":"year","atom":45}},{"Sequence":{"atoms":[30,40]}},{"Repetition":{"atom":47,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,17,18,48]}}],"root":49},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":[]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ПМГ 4-96","expect":{}},{"entry":"identifier","kind":"accept","input":"RMG 76","expect":{}},{"entry":"identifier","kind":"accept","input":"РМГ 29-2013","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/easc/parser.rb — EASC identifiers in Cyrillic and\n# Latin forms: ПМГ/РМГ (PMG/RMG) [В|V] NNN[.N]-YYYY with dash, em-dash\n# or en-dash year separators.\n\ngrammar PubidEasc version \"0.1.0\" {\n series_word = (\"ПМГ\" / \"РМГ\" / \"PMG\" / \"RMG\") as series space\n variant_word = (\"В\" / \"V\") as variant space\n number = (1*digit *(dot 1*digit)) as number\n year = (4digit / 2digit) as year\n year_sep = [space] (\"-\" / \"—\" / \"–\") [space]\n identifier = series_word [variant_word] number [(year_sep year)]\n digit = %x30-39\n dot = \".\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"ПМГ 4-96\"\n accept \"RMG 76\"\n accept \"РМГ 29-2013\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidEasc","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":9}},{"Str":{"pattern":"ПМГ"}},{"Str":{"pattern":"РМГ"}},{"Str":{"pattern":"PMG"}},{"Str":{"pattern":"RMG"}},{"Alternative":{"atoms":[1,2,3,4]}},{"Named":{"name":"series","atom":5}},{"Entity":{"atom":8}},{"Str":{"pattern":" "}},{"Sequence":{"atoms":[6,7]}},{"Entity":{"atom":16}},{"Str":{"pattern":"В"}},{"Str":{"pattern":"V"}},{"Alternative":{"atoms":[11,12]}},{"Named":{"name":"variant","atom":13}},{"Entity":{"atom":8}},{"Sequence":{"atoms":[14,15]}},{"Repetition":{"atom":10,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":29}},{"Entity":{"atom":20}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":19,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":23}},{"Str":{"pattern":"."}},{"Entity":{"atom":20}},{"Repetition":{"atom":24,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[22,25]}},{"Repetition":{"atom":26,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[21,27]}},{"Named":{"name":"number","atom":28}},{"Entity":{"atom":39}},{"Entity":{"atom":8}},{"Repetition":{"atom":31,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"—"}},{"Str":{"pattern":"–"}},{"Alternative":{"atoms":[33,34,35]}},{"Entity":{"atom":8}},{"Repetition":{"atom":37,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[32,36,38]}},{"Entity":{"atom":46}},{"Entity":{"atom":20}},{"Repetition":{"atom":41,"min":4,"max":4,"tag":"Repetition"}},{"Entity":{"atom":20}},{"Repetition":{"atom":43,"min":2,"max":2,"tag":"Repetition"}},{"Alternative":{"atoms":[42,44]}},{"Named":{"name":"year","atom":45}},{"Sequence":{"atoms":[30,40]}},{"Repetition":{"atom":47,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,17,18,48]}}],"root":49},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":[]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ПМГ 4-96","expect":{}},{"entry":"identifier","kind":"accept","input":"RMG 76","expect":{}},{"entry":"identifier","kind":"accept","input":"РМГ 29-2013","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/easc/parser.rb — EASC identifiers in Cyrillic and\n# Latin forms: ПМГ/РМГ (PMG/RMG) [В|V] NNN[.N]-YYYY with dash, em-dash\n# or en-dash year separators.\n\ngrammar PubidEasc version \"0.1.0\" {\n series_word = (\"ПМГ\" / \"РМГ\" / \"PMG\" / \"RMG\") as series space\n variant_word = (\"В\" / \"V\") as variant space\n number = (1*digit *(dot 1*digit)) as number\n year = (4digit / 2digit) as year\n year_sep = [space] (\"-\" / \"—\" / \"–\") [space]\n identifier = series_word [variant_word] number [(year_sep year)]\n digit = %x30-39\n dot = \".\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"ПМГ 4-96\"\n accept \"RMG 76\"\n accept \"РМГ 29-2013\"\n reject \"nonsense\"\n }\n}\n","source_hash":"d119619567312606ba9baf338cef7be531b6e1db3bc8671a0a779257715da953","compiler_version":"1.3.93","checksum":"sha256:197247b93d0af7b1cee9c1d812741138b11e787bfd89520294f35747165eb145"}
|
package/vendor/parg/ecma.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidEcma","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Str":{"pattern":"ECMA"}},{"Entity":{"atom":7}},{"Str":{"pattern":" TR/"}},{"Entity":{"atom":4}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":3,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"tr_number","atom":5}},{"Sequence":{"atoms":[2,6]}},{"Entity":{"atom":13}},{"Str":{"pattern":" MEM/"}},{"Entity":{"atom":4}},{"Repetition":{"atom":10,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"mem_number","atom":11}},{"Sequence":{"atoms":[9,12]}},{"Entity":{"atom":27}},{"Str":{"pattern":"-"}},{"Str":{"pattern":" "}},{"Alternative":{"atoms":[15,16]}},{"Entity":{"atom":4}},{"Repetition":{"atom":18,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":19}},{"Str":{"pattern":"-"}},{"Entity":{"atom":4}},{"Repetition":{"atom":22,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":23}},{"Sequence":{"atoms":[21,24]}},{"Repetition":{"atom":25,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[17,20,26]}},{"Alternative":{"atoms":[1,8,14]}},{"Entity":{"atom":42}},{"Str":{"pattern":" ed"}},{"Entity":{"atom":40}},{"Entity":{"atom":4}},{"Repetition":{"atom":32,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":35}},{"Str":{"pattern":"."}},{"Entity":{"atom":4}},{"Repetition":{"atom":36,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[34,37]}},{"Repetition":{"atom":38,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[33,39]}},{"Named":{"name":"edition","atom":31}},{"Sequence":{"atoms":[30,41]}},{"Repetition":{"atom":29,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":49}},{"Str":{"pattern":" vol"}},{"Entity":{"atom":4}},{"Repetition":{"atom":46,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"volume","atom":47}},{"Sequence":{"atoms":[45,48]}},{"Repetition":{"atom":44,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,28,43,50]}}],"root":51},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":[]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ECMA-262","expect":{}},{"entry":"identifier","kind":"accept","input":"ECMA TR/104","expect":{}},{"entry":"identifier","kind":"accept","input":"ECMA-262 ed3","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/ecma/parser.rb: ECMA-NNN[-part], ECMA TR/NNN,\n# ECMA MEM/NNN, each with optional \" edX[.Y]\" and \" volN\". The TR/MEM\n# vs standard alternation relies on the disjoint first character after\n# the prefix (T/M are not digits), as in the source.\n\ngrammar PubidEcma version \"0.1.0\" {\n tr = \" TR/\" (1*digit) as tr_number\n mem = \" MEM/\" (1*digit) as mem_number\n standard = (\"-\" / \" \") (1*digit) as number [(\"-\" (1*digit) as part)]\n edition_number = 1*digit *(dot 1*digit)\n edition = \" ed\" edition_number as edition\n volume = \" vol\" (1*digit) as volume\n identifier = \"ECMA\" (tr / mem / standard) [edition] [volume]\n digit = %x30-39\n dot = \".\"\n entry identifier: identifier\n\n test {\n accept \"ECMA-262\"\n accept \"ECMA TR/104\"\n accept \"ECMA-262 ed3\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidEcma","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Str":{"pattern":"ECMA"}},{"Entity":{"atom":7}},{"Str":{"pattern":" TR/"}},{"Entity":{"atom":4}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":3,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"tr_number","atom":5}},{"Sequence":{"atoms":[2,6]}},{"Entity":{"atom":13}},{"Str":{"pattern":" MEM/"}},{"Entity":{"atom":4}},{"Repetition":{"atom":10,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"mem_number","atom":11}},{"Sequence":{"atoms":[9,12]}},{"Entity":{"atom":27}},{"Str":{"pattern":"-"}},{"Str":{"pattern":" "}},{"Alternative":{"atoms":[15,16]}},{"Entity":{"atom":4}},{"Repetition":{"atom":18,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":19}},{"Str":{"pattern":"-"}},{"Entity":{"atom":4}},{"Repetition":{"atom":22,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":23}},{"Sequence":{"atoms":[21,24]}},{"Repetition":{"atom":25,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[17,20,26]}},{"Alternative":{"atoms":[1,8,14]}},{"Entity":{"atom":42}},{"Str":{"pattern":" ed"}},{"Entity":{"atom":40}},{"Entity":{"atom":4}},{"Repetition":{"atom":32,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":35}},{"Str":{"pattern":"."}},{"Entity":{"atom":4}},{"Repetition":{"atom":36,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[34,37]}},{"Repetition":{"atom":38,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[33,39]}},{"Named":{"name":"edition","atom":31}},{"Sequence":{"atoms":[30,41]}},{"Repetition":{"atom":29,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":49}},{"Str":{"pattern":" vol"}},{"Entity":{"atom":4}},{"Repetition":{"atom":46,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"volume","atom":47}},{"Sequence":{"atoms":[45,48]}},{"Repetition":{"atom":44,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,28,43,50]}}],"root":51},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":[]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ECMA-262","expect":{}},{"entry":"identifier","kind":"accept","input":"ECMA TR/104","expect":{}},{"entry":"identifier","kind":"accept","input":"ECMA-262 ed3","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/ecma/parser.rb: ECMA-NNN[-part], ECMA TR/NNN,\n# ECMA MEM/NNN, each with optional \" edX[.Y]\" and \" volN\". The TR/MEM\n# vs standard alternation relies on the disjoint first character after\n# the prefix (T/M are not digits), as in the source.\n\ngrammar PubidEcma version \"0.1.0\" {\n tr = \" TR/\" (1*digit) as tr_number\n mem = \" MEM/\" (1*digit) as mem_number\n standard = (\"-\" / \" \") (1*digit) as number [(\"-\" (1*digit) as part)]\n edition_number = 1*digit *(dot 1*digit)\n edition = \" ed\" edition_number as edition\n volume = \" vol\" (1*digit) as volume\n identifier = \"ECMA\" (tr / mem / standard) [edition] [volume]\n digit = %x30-39\n dot = \".\"\n entry identifier: identifier\n\n test {\n accept \"ECMA-262\"\n accept \"ECMA TR/104\"\n accept \"ECMA-262 ed3\"\n reject \"nonsense\"\n }\n}\n","source_hash":"20eaee3d8ad10c49ebc0a78c24e791d164fe892d6e325b8a500b83b50233a800","compiler_version":"1.3.93","checksum":"sha256:3e2f7b18e5e87e94b2fc1225504cd00d4ec6339c241f62c46b514c230bb9315c"}
|
package/vendor/parg/etsi.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidEtsi","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Str":{"pattern":"ETSI "}},{"Entity":{"atom":18}},{"Str":{"pattern":"I-ETS"}},{"Str":{"pattern":"TCRTR"}},{"Str":{"pattern":"GTS"}},{"Str":{"pattern":"ETR"}},{"Str":{"pattern":"ETS"}},{"Str":{"pattern":"TBR"}},{"Str":{"pattern":"NET"}},{"Str":{"pattern":"EN"}},{"Str":{"pattern":"ES"}},{"Str":{"pattern":"EG"}},{"Str":{"pattern":"TS"}},{"Str":{"pattern":"GR"}},{"Str":{"pattern":"GS"}},{"Str":{"pattern":"SR"}},{"Str":{"pattern":"TR"}},{"Alternative":{"atoms":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}},{"Named":{"name":"type","atom":17}},{"Entity":{"atom":20}},{"Str":{"pattern":" "}},{"Entity":{"atom":61}},{"Entity":{"atom":32}},{"Str":{"pattern":"GSM"}},{"Entity":{"atom":20}},{"Entity":{"atom":26}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":25,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":29}},{"Str":{"pattern":"."}},{"Entity":{"atom":26}},{"Repetition":{"atom":30,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[23,24,27,28,31]}},{"Entity":{"atom":39}},{"Entity":{"atom":26}},{"Repetition":{"atom":34,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":29}},{"Entity":{"atom":26}},{"Repetition":{"atom":37,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[35,36,38]}},{"Entity":{"atom":56}},{"Entity":{"atom":45}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Alternative":{"atoms":[42,43,44]}},{"Repetition":{"atom":41,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":48}},{"Str":{"pattern":"-"}},{"Entity":{"atom":45}},{"Repetition":{"atom":49,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[47,50]}},{"Repetition":{"atom":51,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":20}},{"Entity":{"atom":26}},{"Repetition":{"atom":54,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[46,52,53,55]}},{"Entity":{"atom":59}},{"Entity":{"atom":26}},{"Repetition":{"atom":58,"min":1,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[22,33,40,57]}},{"Named":{"name":"number","atom":60}},{"Entity":{"atom":67}},{"Entity":{"atom":20}},{"Entity":{"atom":26}},{"Repetition":{"atom":64,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"minor","atom":65}},{"Sequence":{"atoms":[63,66]}},{"Repetition":{"atom":62,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":77}},{"Entity":{"atom":75}},{"Entity":{"atom":48}},{"Entity":{"atom":45}},{"Repetition":{"atom":72,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":73}},{"Sequence":{"atoms":[71,74]}},{"Repetition":{"atom":70,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":76}},{"Repetition":{"atom":69,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":95}},{"Entity":{"atom":93}},{"Str":{"pattern":"/A"}},{"Entity":{"atom":26}},{"Repetition":{"atom":82,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":83}},{"Sequence":{"atoms":[81,84]}},{"Named":{"name":"amendment","atom":85}},{"Str":{"pattern":"/C"}},{"Entity":{"atom":26}},{"Repetition":{"atom":88,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":89}},{"Sequence":{"atoms":[87,90]}},{"Named":{"name":"corrigendum","atom":91}},{"Alternative":{"atoms":[86,92]}},{"Repetition":{"atom":80,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"supplements","atom":94}},{"Repetition":{"atom":79,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":20}},{"Entity":{"atom":114}},{"Entity":{"atom":107}},{"Str":{"pattern":"V"}},{"Entity":{"atom":104}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[.]"}},{"Alternative":{"atoms":[102,103]}},{"Repetition":{"atom":101,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"version","atom":105}},{"Sequence":{"atoms":[100,106]}},{"Entity":{"atom":113}},{"Str":{"pattern":"ed."}},{"Entity":{"atom":26}},{"Repetition":{"atom":110,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"edition","atom":111}},{"Sequence":{"atoms":[109,112]}},{"Alternative":{"atoms":[99,108]}},{"Sequence":{"atoms":[97,98]}},{"Repetition":{"atom":115,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":20}},{"Entity":{"atom":128}},{"Str":{"pattern":"("}},{"Entity":{"atom":26}},{"Repetition":{"atom":120,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":121}},{"Entity":{"atom":48}},{"Entity":{"atom":26}},{"Repetition":{"atom":124,"min":2,"max":2,"tag":"Repetition"}},{"Named":{"name":"month","atom":125}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[119,122,123,126,127]}},{"Sequence":{"atoms":[117,118]}},{"Repetition":{"atom":129,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,1,19,21,68,78,96,116,130]}}],"root":131},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule single_supplement: 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":"ETSI EN 300 175","expect":{}},{"entry":"identifier","kind":"accept","input":"ETSI TR 101 999","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/etsi/parser.rb: ETSI <one of 15 types> <number>\n# [minor][-parts][/A..|/C..][ V<version> | ed.N] [(YYYY-MM)].\n\ngrammar PubidEtsi version \"0.1.0\" {\n type = (\"I-ETS\" / \"TCRTR\" / \"GTS\" / \"ETR\" / \"ETS\" / \"TBR\" / \"NET\" / \"EN\" / \"ES\" / \"EG\" / \"TS\" / \"GR\" / \"GS\" / \"SR\" / \"TR\") as type\n # The monorepo's number is a single flat string (\"300 058\", \"298\") —\n # the inner pieces are structural only, never surfaced as captures.\n gsm_with_space_number = \"GSM\" space 1*digit dot 1*digit\n dotted_number = 1*digit dot 1*digit\n complex_number = 1*alnum_char [(dash 1*alnum_char)] space 1*digit\n simple_number = 1*digit\n number = (gsm_with_space_number / dotted_number / complex_number / simple_number) as number\n minor = space (1*digit) as minor\n part = dash (1*alnum_char) as part\n parts = (*part) as parts\n version = \"V\" (1*version_char) as version\n edition = \"ed.\" (1*digit) as edition\n version_or_edition = version / edition\n date_part = \"(\" (4digit) as year dash (2digit) as month \")\"\n single_supplement = ((\"/A\" (1*digit) as number) as amendment / (\"/C\" (1*digit) as number) as corrigendum)\n supplements = (1*single_supplement) as supplements\n identifier = \"ETSI \" type space number [minor] [parts] [supplements] [(space version_or_edition)] [(space date_part)]\n alnum_char = %x41-5A / %x61-7A / %x30-39\n version_char = %x30-39 / %x2E\n digit = %x30-39\n dash = \"-\"\n dot = \".\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"ETSI EN 300 175\"\n accept \"ETSI TR 101 999\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidEtsi","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Str":{"pattern":"ETSI "}},{"Entity":{"atom":18}},{"Str":{"pattern":"I-ETS"}},{"Str":{"pattern":"TCRTR"}},{"Str":{"pattern":"GTS"}},{"Str":{"pattern":"ETR"}},{"Str":{"pattern":"ETS"}},{"Str":{"pattern":"TBR"}},{"Str":{"pattern":"NET"}},{"Str":{"pattern":"EN"}},{"Str":{"pattern":"ES"}},{"Str":{"pattern":"EG"}},{"Str":{"pattern":"TS"}},{"Str":{"pattern":"GR"}},{"Str":{"pattern":"GS"}},{"Str":{"pattern":"SR"}},{"Str":{"pattern":"TR"}},{"Alternative":{"atoms":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}},{"Named":{"name":"type","atom":17}},{"Entity":{"atom":20}},{"Str":{"pattern":" "}},{"Entity":{"atom":61}},{"Entity":{"atom":32}},{"Str":{"pattern":"GSM"}},{"Entity":{"atom":20}},{"Entity":{"atom":26}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":25,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":29}},{"Str":{"pattern":"."}},{"Entity":{"atom":26}},{"Repetition":{"atom":30,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[23,24,27,28,31]}},{"Entity":{"atom":39}},{"Entity":{"atom":26}},{"Repetition":{"atom":34,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":29}},{"Entity":{"atom":26}},{"Repetition":{"atom":37,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[35,36,38]}},{"Entity":{"atom":56}},{"Entity":{"atom":45}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Alternative":{"atoms":[42,43,44]}},{"Repetition":{"atom":41,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":48}},{"Str":{"pattern":"-"}},{"Entity":{"atom":45}},{"Repetition":{"atom":49,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[47,50]}},{"Repetition":{"atom":51,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":20}},{"Entity":{"atom":26}},{"Repetition":{"atom":54,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[46,52,53,55]}},{"Entity":{"atom":59}},{"Entity":{"atom":26}},{"Repetition":{"atom":58,"min":1,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[22,33,40,57]}},{"Named":{"name":"number","atom":60}},{"Entity":{"atom":67}},{"Entity":{"atom":20}},{"Entity":{"atom":26}},{"Repetition":{"atom":64,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"minor","atom":65}},{"Sequence":{"atoms":[63,66]}},{"Repetition":{"atom":62,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":77}},{"Entity":{"atom":75}},{"Entity":{"atom":48}},{"Entity":{"atom":45}},{"Repetition":{"atom":72,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":73}},{"Sequence":{"atoms":[71,74]}},{"Repetition":{"atom":70,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":76}},{"Repetition":{"atom":69,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":95}},{"Entity":{"atom":93}},{"Str":{"pattern":"/A"}},{"Entity":{"atom":26}},{"Repetition":{"atom":82,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":83}},{"Sequence":{"atoms":[81,84]}},{"Named":{"name":"amendment","atom":85}},{"Str":{"pattern":"/C"}},{"Entity":{"atom":26}},{"Repetition":{"atom":88,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":89}},{"Sequence":{"atoms":[87,90]}},{"Named":{"name":"corrigendum","atom":91}},{"Alternative":{"atoms":[86,92]}},{"Repetition":{"atom":80,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"supplements","atom":94}},{"Repetition":{"atom":79,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":20}},{"Entity":{"atom":114}},{"Entity":{"atom":107}},{"Str":{"pattern":"V"}},{"Entity":{"atom":104}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[.]"}},{"Alternative":{"atoms":[102,103]}},{"Repetition":{"atom":101,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"version","atom":105}},{"Sequence":{"atoms":[100,106]}},{"Entity":{"atom":113}},{"Str":{"pattern":"ed."}},{"Entity":{"atom":26}},{"Repetition":{"atom":110,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"edition","atom":111}},{"Sequence":{"atoms":[109,112]}},{"Alternative":{"atoms":[99,108]}},{"Sequence":{"atoms":[97,98]}},{"Repetition":{"atom":115,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":20}},{"Entity":{"atom":128}},{"Str":{"pattern":"("}},{"Entity":{"atom":26}},{"Repetition":{"atom":120,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":121}},{"Entity":{"atom":48}},{"Entity":{"atom":26}},{"Repetition":{"atom":124,"min":2,"max":2,"tag":"Repetition"}},{"Named":{"name":"month","atom":125}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[119,122,123,126,127]}},{"Sequence":{"atoms":[117,118]}},{"Repetition":{"atom":129,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,1,19,21,68,78,96,116,130]}}],"root":131},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule single_supplement: 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":"ETSI EN 300 175","expect":{}},{"entry":"identifier","kind":"accept","input":"ETSI TR 101 999","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/etsi/parser.rb: ETSI <one of 15 types> <number>\n# [minor][-parts][/A..|/C..][ V<version> | ed.N] [(YYYY-MM)].\n\ngrammar PubidEtsi version \"0.1.0\" {\n type = (\"I-ETS\" / \"TCRTR\" / \"GTS\" / \"ETR\" / \"ETS\" / \"TBR\" / \"NET\" / \"EN\" / \"ES\" / \"EG\" / \"TS\" / \"GR\" / \"GS\" / \"SR\" / \"TR\") as type\n # The monorepo's number is a single flat string (\"300 058\", \"298\") —\n # the inner pieces are structural only, never surfaced as captures.\n gsm_with_space_number = \"GSM\" space 1*digit dot 1*digit\n dotted_number = 1*digit dot 1*digit\n complex_number = 1*alnum_char [(dash 1*alnum_char)] space 1*digit\n simple_number = 1*digit\n number = (gsm_with_space_number / dotted_number / complex_number / simple_number) as number\n minor = space (1*digit) as minor\n part = dash (1*alnum_char) as part\n parts = (*part) as parts\n version = \"V\" (1*version_char) as version\n edition = \"ed.\" (1*digit) as edition\n version_or_edition = version / edition\n date_part = \"(\" (4digit) as year dash (2digit) as month \")\"\n single_supplement = ((\"/A\" (1*digit) as number) as amendment / (\"/C\" (1*digit) as number) as corrigendum)\n supplements = (1*single_supplement) as supplements\n identifier = \"ETSI \" type space number [minor] [parts] [supplements] [(space version_or_edition)] [(space date_part)]\n alnum_char = %x41-5A / %x61-7A / %x30-39\n version_char = %x30-39 / %x2E\n digit = %x30-39\n dash = \"-\"\n dot = \".\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"ETSI EN 300 175\"\n accept \"ETSI TR 101 999\"\n reject \"nonsense\"\n }\n}\n","source_hash":"ec499dcff68778e22d0ac6ad29c010bf278a5bde599da0b8e2c1aa28ee59efed","compiler_version":"1.3.93","checksum":"sha256:d57557c42cbbcff863fa709a2b6c043ed752ceb474f5cd8efd6f287c369c812f"}
|
package/vendor/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","checksum":"sha256:ce15308f43d1d9dfcd5f5245ce92c1d03cd2c8d0c88a0942f82be9f78f7a3e9b"}
|
|
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"}
|