@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/asme.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidAsme","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":263}},{"Str":{"pattern":"CSA"}},{"Named":{"name":"first_publisher","atom":1}},{"Entity":{"atom":4}},{"Str":{"pattern":" "}},{"Entity":{"atom":9}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[.]"}},{"Alternative":{"atoms":[6,7,8]}},{"Repetition":{"atom":5,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"first_code","atom":10}},{"Entity":{"atom":4}},{"Repetition":{"atom":12,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":15}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"ASME"}},{"Named":{"name":"second_publisher","atom":16}},{"Entity":{"atom":4}},{"Entity":{"atom":176}},{"Entity":{"atom":131}},{"Str":{"pattern":"BPVC"}},{"Entity":{"atom":4}},{"Str":{"pattern":"COMPLETE CODE BIND"}},{"Sequence":{"atoms":[22,23]}},{"Named":{"name":"special","atom":24}},{"Entity":{"atom":30}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"–"}},{"Str":{"pattern":"—"}},{"Alternative":{"atoms":[27,28,29]}},{"Str":{"pattern":"CC"}},{"Entity":{"atom":30}},{"Entity":{"atom":48}},{"Str":{"pattern":"NCA"}},{"Str":{"pattern":"NCD"}},{"Str":{"pattern":"SSC"}},{"Str":{"pattern":"BPV"}},{"Str":{"pattern":"NUC"}},{"Str":{"pattern":"NB"}},{"Str":{"pattern":"NC"}},{"Str":{"pattern":"ND"}},{"Str":{"pattern":"NE"}},{"Str":{"pattern":"NF"}},{"Str":{"pattern":"NG"}},{"Entity":{"atom":46}},{"Entity":{"atom":47}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Alternative":{"atoms":[34,35,36,37,38,39,40,41,42,43,44,45]}},{"Named":{"name":"case_code","atom":33}},{"Sequence":{"atoms":[26,31,32,49]}},{"Entity":{"atom":52}},{"Str":{"pattern":"."}},{"Entity":{"atom":83}},{"Str":{"pattern":"SSC"}},{"Entity":{"atom":52}},{"Entity":{"atom":77}},{"Entity":{"atom":71}},{"Str":{"pattern":"XIII"}},{"Str":{"pattern":"XII"}},{"Str":{"pattern":"XI"}},{"Str":{"pattern":"VIII"}},{"Str":{"pattern":"VII"}},{"Str":{"pattern":"VI"}},{"Str":{"pattern":"IV"}},{"Str":{"pattern":"IX"}},{"Str":{"pattern":"X"}},{"Str":{"pattern":"III"}},{"Str":{"pattern":"II"}},{"Str":{"pattern":"V"}},{"Str":{"pattern":"I"}},{"Alternative":{"atoms":[58,59,60,61,62,63,64,65,66,67,68,69,70]}},{"Entity":{"atom":52}},{"Entity":{"atom":71}},{"Sequence":{"atoms":[72,73]}},{"Repetition":{"atom":74,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[57,75]}},{"Named":{"name":"ssc_sections","atom":76}},{"Sequence":{"atoms":[55,56]}},{"Repetition":{"atom":78,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Repetition":{"atom":80,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[54,79,81]}},{"Named":{"name":"ssc_code","atom":82}},{"Entity":{"atom":98}},{"Str":{"pattern":"CC"}},{"Entity":{"atom":52}},{"Entity":{"atom":48}},{"Named":{"name":"case_code","atom":87}},{"Str":{"pattern":"."}},{"Entity":{"atom":52}},{"Repetition":{"atom":90,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":71}},{"Entity":{"atom":48}},{"Alternative":{"atoms":[92,93]}},{"Named":{"name":"case_sub","atom":94}},{"Sequence":{"atoms":[89,91,95]}},{"Repetition":{"atom":96,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[85,86,88,97]}},{"Entity":{"atom":125}},{"Entity":{"atom":71}},{"Named":{"name":"section","atom":100}},{"Str":{"pattern":"."}},{"Entity":{"atom":106}},{"Entity":{"atom":105}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":104,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":48}},{"Alternative":{"atoms":[103,107]}},{"Named":{"name":"subsection","atom":108}},{"Sequence":{"atoms":[102,109]}},{"Repetition":{"atom":110,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"."}},{"Entity":{"atom":48}},{"Named":{"name":"sub_subsection","atom":113}},{"Sequence":{"atoms":[112,114]}},{"Repetition":{"atom":115,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":118}},{"Str":{"pattern":"_"}},{"Entity":{"atom":121}},{"Entity":{"atom":46}},{"Repetition":{"atom":120,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"lang_suffix","atom":119}},{"Sequence":{"atoms":[117,122]}},{"Repetition":{"atom":123,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[101,111,116,124]}},{"Alternative":{"atoms":[53,84,99]}},{"Named":{"name":"subdivision","atom":126}},{"Sequence":{"atoms":[51,127]}},{"Alternative":{"atoms":[25,50,128]}},{"Named":{"name":"bpvc_code","atom":129}},{"Sequence":{"atoms":[21,130]}},{"Entity":{"atom":169}},{"Str":{"pattern":"PVHO"}},{"Str":{"pattern":"PASE"}},{"Str":{"pattern":"PTC"}},{"Str":{"pattern":"PTB"}},{"Str":{"pattern":"PDS"}},{"Str":{"pattern":"PCC"}},{"Str":{"pattern":"V&V"}},{"Str":{"pattern":"V V"}},{"Str":{"pattern":"VVUQ"}},{"Str":{"pattern":"TDP"}},{"Str":{"pattern":"RTP"}},{"Str":{"pattern":"RT"}},{"Str":{"pattern":"RA-S"}},{"Str":{"pattern":"RA"}},{"Str":{"pattern":"QME"}},{"Str":{"pattern":"QAI"}},{"Str":{"pattern":"QEI"}},{"Str":{"pattern":"NUM"}},{"Str":{"pattern":"NQA"}},{"Str":{"pattern":"NML"}},{"Str":{"pattern":"OM"}},{"Str":{"pattern":"HST"}},{"Str":{"pattern":"HRT"}},{"Str":{"pattern":"FFS"}},{"Str":{"pattern":"TES"}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"STS"}},{"Str":{"pattern":"CSD"}},{"Str":{"pattern":"CA"}},{"Str":{"pattern":"BTH"}},{"Str":{"pattern":"BPE"}},{"Str":{"pattern":"ANDE"}},{"Str":{"pattern":"AED"}},{"Str":{"pattern":"AG"}},{"Str":{"pattern":"NM"}},{"Str":{"pattern":"EA"}},{"Alternative":{"atoms":[133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168]}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"CSA"}},{"Str":{"pattern":"API"}},{"Str":{"pattern":"ANS"}},{"Entity":{"atom":121}},{"Alternative":{"atoms":[20,132,170,171,172,173,174]}},{"Named":{"name":"designator","atom":175}},{"Entity":{"atom":228}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Entity":{"atom":105}},{"Entity":{"atom":47}},{"Alternative":{"atoms":[180,181]}},{"Repetition":{"atom":179,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":185,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[184,186]}},{"Repetition":{"atom":187,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[178,183,188]}},{"Entity":{"atom":207}},{"Entity":{"atom":30}},{"Str":{"pattern":"20XX"}},{"Str":{"pattern":"202X"}},{"Str":{"pattern":"20"}},{"Entity":{"atom":105}},{"Str":{"pattern":"X"}},{"Sequence":{"atoms":[194,195,196]}},{"Entity":{"atom":105}},{"Repetition":{"atom":198,"min":4,"max":4,"tag":"Repetition"}},{"Alternative":{"atoms":[192,193,197,199]}},{"Entity":{"atom":205}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[.]"}},{"Alternative":{"atoms":[202,203,204]}},{"Lookahead":{"atom":201,"positive":false}},{"Sequence":{"atoms":[191,200,206]}},{"Lookahead":{"atom":190,"positive":false}},{"Entity":{"atom":30}},{"Entity":{"atom":182}},{"Repetition":{"atom":210,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":213,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[212,214]}},{"Repetition":{"atom":215,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[208,209,211,216]}},{"Entity":{"atom":182}},{"Repetition":{"atom":218,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":221,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[220,222]}},{"Repetition":{"atom":223,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[219,224]}},{"Alternative":{"atoms":[217,225]}},{"Alternative":{"atoms":[189,226]}},{"Named":{"name":"number","atom":227}},{"Repetition":{"atom":177,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Str":{"pattern":"20XX"}},{"Str":{"pattern":"202X"}},{"Str":{"pattern":"20"}},{"Entity":{"atom":105}},{"Str":{"pattern":"X"}},{"Sequence":{"atoms":[234,235,236]}},{"Alternative":{"atoms":[232,233,237]}},{"Named":{"name":"draft_year","atom":238}},{"Entity":{"atom":243}},{"Entity":{"atom":105}},{"Repetition":{"atom":241,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":242}},{"Alternative":{"atoms":[231,240]}},{"Sequence":{"atoms":[230,244]}},{"Repetition":{"atom":245,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Entity":{"atom":121}},{"Named":{"name":"language","atom":250}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[248,249,251,252]}},{"Repetition":{"atom":247,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Entity":{"atom":4}},{"Str":{"pattern":"(R"}},{"Entity":{"atom":243}},{"Named":{"name":"reaffirmation","atom":258}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[256,257,259,260]}},{"Repetition":{"atom":255,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[2,3,11,13,14,17,18,19,229,246,254,262]}},{"Entity":{"atom":293}},{"Str":{"pattern":"API"}},{"Named":{"name":"first_publisher","atom":265}},{"Entity":{"atom":4}},{"Entity":{"atom":271}},{"Entity":{"atom":105}},{"Str":{"pattern":"-"}},{"Alternative":{"atoms":[269,270]}},{"Repetition":{"atom":268,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"first_code","atom":272}},{"Entity":{"atom":4}},{"Repetition":{"atom":274,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":15}},{"Str":{"pattern":"ASME"}},{"Named":{"name":"second_publisher","atom":277}},{"Entity":{"atom":4}},{"Entity":{"atom":176}},{"Entity":{"atom":228}},{"Repetition":{"atom":281,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[284,285]}},{"Sequence":{"atoms":[283,286]}},{"Repetition":{"atom":287,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":289,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":291,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[266,267,273,275,276,278,279,280,282,288,290,292]}},{"Entity":{"atom":313}},{"Entity":{"atom":300}},{"Str":{"pattern":"ISO/ASME"}},{"Named":{"name":"joint_publisher","atom":296}},{"Entity":{"atom":4}},{"Repetition":{"atom":298,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[297,299]}},{"Entity":{"atom":228}},{"Repetition":{"atom":301,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[304,305]}},{"Sequence":{"atoms":[303,306]}},{"Repetition":{"atom":307,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":309,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":311,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[295,302,308,310,312]}},{"Entity":{"atom":333}},{"Entity":{"atom":319}},{"Str":{"pattern":"ASME/ANS"}},{"Named":{"name":"joint_publisher","atom":316}},{"Entity":{"atom":4}},{"Sequence":{"atoms":[317,318]}},{"Entity":{"atom":176}},{"Entity":{"atom":228}},{"Repetition":{"atom":321,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[324,325]}},{"Sequence":{"atoms":[323,326]}},{"Repetition":{"atom":327,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":329,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":331,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[315,320,322,328,330,332]}},{"Entity":{"atom":476}},{"Entity":{"atom":339}},{"Entity":{"atom":337}},{"Str":{"pattern":"ASME"}},{"Entity":{"atom":4}},{"Sequence":{"atoms":[336,338]}},{"Entity":{"atom":367}},{"Str":{"pattern":"PTC"}},{"Named":{"name":"designator","atom":341}},{"Entity":{"atom":360}},{"Entity":{"atom":4}},{"Repetition":{"atom":344,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":105}},{"Repetition":{"atom":346,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":105}},{"Repetition":{"atom":349,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[348,350]}},{"Repetition":{"atom":351,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[347,352]}},{"Named":{"name":"number","atom":353}},{"Entity":{"atom":4}},{"Entity":{"atom":121}},{"Named":{"name":"ptc_suffix","atom":356}},{"Sequence":{"atoms":[355,357]}},{"Repetition":{"atom":358,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[345,354,359]}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[362,363]}},{"Sequence":{"atoms":[361,364]}},{"Repetition":{"atom":365,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[342,343,366]}},{"Entity":{"atom":400}},{"Str":{"pattern":"TR"}},{"Named":{"name":"designator","atom":369}},{"Entity":{"atom":393}},{"Entity":{"atom":4}},{"Repetition":{"atom":372,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":182}},{"Repetition":{"atom":374,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":377,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[376,378]}},{"Repetition":{"atom":379,"min":0,"max":null,"tag":"Repetition"}},{"Entity":{"atom":30}},{"Entity":{"atom":105}},{"Repetition":{"atom":382,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":105}},{"Repetition":{"atom":385,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[384,386]}},{"Repetition":{"atom":387,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[381,383,388]}},{"Repetition":{"atom":389,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[375,380,390]}},{"Named":{"name":"number","atom":391}},{"Sequence":{"atoms":[373,392]}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[395,396]}},{"Sequence":{"atoms":[394,397]}},{"Repetition":{"atom":398,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[370,371,399]}},{"Entity":{"atom":444}},{"Entity":{"atom":176}},{"Entity":{"atom":407}},{"Entity":{"atom":4}},{"Repetition":{"atom":404,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":228}},{"Sequence":{"atoms":[405,406]}},{"Repetition":{"atom":403,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":420}},{"Entity":{"atom":15}},{"Str":{"pattern":"CSA"}},{"Entity":{"atom":4}},{"Entity":{"atom":46}},{"Entity":{"atom":105}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[414,415]}},{"Repetition":{"atom":416,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[413,417]}},{"Named":{"name":"csa_number","atom":418}},{"Sequence":{"atoms":[410,411,412,419]}},{"Entity":{"atom":425}},{"Entity":{"atom":4}},{"Str":{"pattern":"Handbook"}},{"Sequence":{"atoms":[422,423]}},{"Named":{"name":"handbook","atom":424}},{"Repetition":{"atom":421,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[409,426]}},{"Entity":{"atom":425}},{"Alternative":{"atoms":[427,428]}},{"Repetition":{"atom":429,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":431,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[434,435]}},{"Sequence":{"atoms":[433,436]}},{"Repetition":{"atom":437,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":439,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[402,408,430,432,438,440]}},{"Entity":{"atom":367}},{"Entity":{"atom":400}},{"Alternative":{"atoms":[441,442,443]}},{"Alternative":{"atoms":[340,368,401]}},{"Entity":{"atom":460}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Str":{"pattern":"Proposed revision of"}},{"Str":{"pattern":"Revision of"}},{"Alternative":{"atoms":[449,450]}},{"Entity":{"atom":4}},{"Entity":{"atom":456}},{"Re":{"pattern":"[\\x01-\\x28]"}},{"Re":{"pattern":"[\\x2a-\\u{10ffff}]"}},{"Alternative":{"atoms":[454,455]}},{"Repetition":{"atom":453,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"ref_standard","atom":457}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[447,448,451,452,458,459]}},{"Repetition":{"atom":446,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":462,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":474}},{"Entity":{"atom":4}},{"Str":{"pattern":"["}},{"Entity":{"atom":470}},{"Re":{"pattern":"[\\x01-\\x5c]"}},{"Re":{"pattern":"[\\x5e-\\u{10ffff}]"}},{"Alternative":{"atoms":[468,469]}},{"Repetition":{"atom":467,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"revision_note","atom":471}},{"Str":{"pattern":"]"}},{"Sequence":{"atoms":[465,466,472,473]}},{"Repetition":{"atom":464,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[335,445,461,463,475]}},{"Alternative":{"atoms":[0,264,294,314,334]}}],"root":477},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule dash: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 1 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 3 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 4 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 5 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 6 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 8 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 10 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 11 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 3 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 4 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 9 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 9 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 10 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 11 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 10 and 25 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 10 and 26 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 11 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 11 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 11 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 12 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 12 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 13 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 15 and 16 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 15 and 17 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 16 and 17 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 18 and 19 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 18 and 20 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 18 and 35 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 19 and 20 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 19 and 35 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 20 and 35 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 22 and 23 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 25 and 26 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 28 and 29 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 30 and 31 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 32 and 33 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 32 and 34 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 33 and 34 are order-dependent (shared first bytes; ordered choice is decisive)","rule non_rparen: branches 1 and 2 are order-dependent (first set not statically known)","rule non_rbracket: branches 1 and 2 are order-dependent (first set not statically known)","rule standard_body: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule standard_body: branches 1 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 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ASME BPVC.VIII","expect":{}},{"entry":"identifier","kind":"accept","input":"ASME PTC 19.3","expect":{}},{"entry":"identifier","kind":"accept","input":"ASME Y14.5-2018","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/asme/parser.rb — ASME identifiers: the BPVC\n# subdivision family, multi-char codes, PTC/TR space-separated numbers,\n# CSA/API/ISO/ASME-ANS joint publishers, draft years (20XX/202X/2ddX),\n# reaffirmations, parenthetical revisions, and bracketed notes.\n\ngrammar PubidAsme version \"0.1.0\" {\n upper = %x41-5A\n lower = %x61-7A\n digit = %x30-39\n letter = upper\n letters = 1*letter\n digits = 1*digit\n num_letter = digit / upper\n space = \" \"\n dash = \"-\" / \"–\" / \"—\"\n dot = \".\"\n slash = \"/\"\n underscore = \"_\"\n\n asme_publisher = \"ASME\"\n publisher = asme_publisher space\n\n roman_numeral = \"XIII\" / \"XII\" / \"XI\" / \"VIII\" / \"VII\" / \"VI\" / \"IV\" / \"IX\" / \"X\" / \"III\" / \"II\" / \"V\" / \"I\"\n bpvc_letter_code = \"NCA\" / \"NCD\" / \"SSC\" / \"BPV\" / \"NUC\" / \"NB\" / \"NC\" / \"ND\" / \"NE\" / \"NF\" / \"NG\" / letter\n ssc_sections = (roman_numeral *(dot roman_numeral)) as ssc_sections\n ssc_code = (\"SSC\" [dot ssc_sections] [dot]) as ssc_code\n cc_case = (\"CC\" dot bpvc_letter_code as case_code [(\".\" [dot] (roman_numeral / bpvc_letter_code) as case_sub)])\n subdivision_code = (roman_numeral as section [(\".\" (digits / bpvc_letter_code) as subsection)] [(\".\" bpvc_letter_code as sub_subsection)] [(underscore letters as lang_suffix)])\n bpvc_subdivision = (\"BPVC\" (((space \"COMPLETE CODE BIND\") as special / (dash \"CC\" dash bpvc_letter_code as case_code) / (dot (ssc_code / cc_case / subdivision_code) as subdivision))) as bpvc_code)\n multi_char_code = \"PVHO\" / \"PASE\" / \"PTC\" / \"PTB\" / \"PDS\" / \"PCC\" / \"V&V\" / \"V V\" / \"VVUQ\" / \"TDP\" / \"RTP\" / \"RT\" / \"RA-S\" / \"RA\" / \"QME\" / \"QAI\" / \"QEI\" / \"NUM\" / \"NQA\" / \"NML\" / \"OM\" / \"HST\" / \"HRT\" / \"FFS\" / \"TES\" / \"TR\" / \"STS\" / \"CSD\" / \"CA\" / \"BTH\" / \"BPE\" / \"ANDE\" / \"AED\" / \"AG\" / \"NM\" / \"EA\"\n designator = (bpvc_subdivision / multi_char_code / \"ISO\" / \"CSA\" / \"API\" / \"ANS\" / letters) as designator\n\n trailing_year = dash (\"20XX\" / \"202X\" / (\"20\" digit \"X\") / 4digit) !num_letter_dot\n num_letter_dot = %x30-39 / %x41-5A / %x2E\n number_part = ((dot 1*num_letter *(dot 1*num_letter)) / ((!trailing_year dash 1*num_letter *(dot 1*num_letter)) / (1*num_letter *(dot 1*num_letter)))) as number\n ptc_number = [space] (1*digit *(dot 1*digit)) as number [(space letters as ptc_suffix)]\n tr_number = [space] (1*num_letter *(dot 1*num_letter) [(dash 1*digit *(dot 1*digit))]) as number\n spaced_number_part = [space] number_part\n year_4digit = (4digit) as year\n draft_year = (\"20XX\" / \"202X\" / (\"20\" digit \"X\")) as draft_year\n reaffirmation = space \"(R\" year_4digit as reaffirmation \")\"\n csa_portion = slash \"CSA\" space (letter 1*(digit / dot)) as csa_number\n parenthetical_revision = space \"(\" (\"Proposed revision of\" / \"Revision of\") space (1*non_rparen) as ref_standard \")\"\n revision_note = space \"[\" (1*non_rbracket) as revision_note \"]\"\n language = space \"(\" letters as language \")\"\n handbook_keyword = (space \"Handbook\") as handbook\n non_rparen = %x01-28 / %x2A-10FFFF\n non_rbracket = %x01-5C / %x5E-10FFFF\n\n standard_components = publisher designator [number_part] [(csa_portion / handbook_keyword)] [language] [(dash (draft_year / year_4digit))] [language] [parenthetical_revision] [reaffirmation] [revision_note]\n csa_asme_identifier = (\"CSA\" as first_publisher space (1*csa_first_char) as first_code [space] slash \"ASME\" as second_publisher space designator [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n csa_first_char = %x41-5A / %x30-39 / %x2E\n api_asme_identifier = (\"API\" as first_publisher space (1*numdash) as first_code [space] slash \"ASME\" as second_publisher space designator [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n numdash = digit / \"-\"\n iso_asme_publisher = (\"ISO/ASME\" as joint_publisher [space])\n asme_ans_publisher = (\"ASME/ANS\" as joint_publisher space)\n iso_asme_identifier = (iso_asme_publisher [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n asme_ans_identifier = (asme_ans_publisher designator [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n ptc_form = (\"PTC\" as designator ptc_number [(dash (draft_year / year_4digit))])\n tr_form = (\"TR\" as designator tr_number [(dash (draft_year / year_4digit))])\n standard_body = ((designator [spaced_number_part] [((csa_portion [handbook_keyword]) / handbook_keyword)] [language] [(dash (draft_year / year_4digit))] [language])) / ptc_form / tr_form\n standard = publisher (ptc_form / tr_form / standard_body) [parenthetical_revision] [reaffirmation] [revision_note]\n\n identifier = csa_asme_identifier / api_asme_identifier / iso_asme_identifier / asme_ans_identifier / standard\n\n entry identifier: identifier\n\n test {\n accept \"ASME BPVC.VIII\"\n accept \"ASME PTC 19.3\"\n accept \"ASME Y14.5-2018\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:da0941c21a7e12dfb319f0efe7a76dabebb2adc40ffeb0ced6250b0228b9084f"}
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidAsme","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":263}},{"Str":{"pattern":"CSA"}},{"Named":{"name":"first_publisher","atom":1}},{"Entity":{"atom":4}},{"Str":{"pattern":" "}},{"Entity":{"atom":9}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[.]"}},{"Alternative":{"atoms":[6,7,8]}},{"Repetition":{"atom":5,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"first_code","atom":10}},{"Entity":{"atom":4}},{"Repetition":{"atom":12,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":15}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"ASME"}},{"Named":{"name":"second_publisher","atom":16}},{"Entity":{"atom":4}},{"Entity":{"atom":176}},{"Entity":{"atom":131}},{"Str":{"pattern":"BPVC"}},{"Entity":{"atom":4}},{"Str":{"pattern":"COMPLETE CODE BIND"}},{"Sequence":{"atoms":[22,23]}},{"Named":{"name":"special","atom":24}},{"Entity":{"atom":30}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"–"}},{"Str":{"pattern":"—"}},{"Alternative":{"atoms":[27,28,29]}},{"Str":{"pattern":"CC"}},{"Entity":{"atom":30}},{"Entity":{"atom":48}},{"Str":{"pattern":"NCA"}},{"Str":{"pattern":"NCD"}},{"Str":{"pattern":"SSC"}},{"Str":{"pattern":"BPV"}},{"Str":{"pattern":"NUC"}},{"Str":{"pattern":"NB"}},{"Str":{"pattern":"NC"}},{"Str":{"pattern":"ND"}},{"Str":{"pattern":"NE"}},{"Str":{"pattern":"NF"}},{"Str":{"pattern":"NG"}},{"Entity":{"atom":46}},{"Entity":{"atom":47}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Alternative":{"atoms":[34,35,36,37,38,39,40,41,42,43,44,45]}},{"Named":{"name":"case_code","atom":33}},{"Sequence":{"atoms":[26,31,32,49]}},{"Entity":{"atom":52}},{"Str":{"pattern":"."}},{"Entity":{"atom":83}},{"Str":{"pattern":"SSC"}},{"Entity":{"atom":52}},{"Entity":{"atom":77}},{"Entity":{"atom":71}},{"Str":{"pattern":"XIII"}},{"Str":{"pattern":"XII"}},{"Str":{"pattern":"XI"}},{"Str":{"pattern":"VIII"}},{"Str":{"pattern":"VII"}},{"Str":{"pattern":"VI"}},{"Str":{"pattern":"IV"}},{"Str":{"pattern":"IX"}},{"Str":{"pattern":"X"}},{"Str":{"pattern":"III"}},{"Str":{"pattern":"II"}},{"Str":{"pattern":"V"}},{"Str":{"pattern":"I"}},{"Alternative":{"atoms":[58,59,60,61,62,63,64,65,66,67,68,69,70]}},{"Entity":{"atom":52}},{"Entity":{"atom":71}},{"Sequence":{"atoms":[72,73]}},{"Repetition":{"atom":74,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[57,75]}},{"Named":{"name":"ssc_sections","atom":76}},{"Sequence":{"atoms":[55,56]}},{"Repetition":{"atom":78,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Repetition":{"atom":80,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[54,79,81]}},{"Named":{"name":"ssc_code","atom":82}},{"Entity":{"atom":98}},{"Str":{"pattern":"CC"}},{"Entity":{"atom":52}},{"Entity":{"atom":48}},{"Named":{"name":"case_code","atom":87}},{"Str":{"pattern":"."}},{"Entity":{"atom":52}},{"Repetition":{"atom":90,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":71}},{"Entity":{"atom":48}},{"Alternative":{"atoms":[92,93]}},{"Named":{"name":"case_sub","atom":94}},{"Sequence":{"atoms":[89,91,95]}},{"Repetition":{"atom":96,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[85,86,88,97]}},{"Entity":{"atom":125}},{"Entity":{"atom":71}},{"Named":{"name":"section","atom":100}},{"Str":{"pattern":"."}},{"Entity":{"atom":106}},{"Entity":{"atom":105}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":104,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":48}},{"Alternative":{"atoms":[103,107]}},{"Named":{"name":"subsection","atom":108}},{"Sequence":{"atoms":[102,109]}},{"Repetition":{"atom":110,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"."}},{"Entity":{"atom":48}},{"Named":{"name":"sub_subsection","atom":113}},{"Sequence":{"atoms":[112,114]}},{"Repetition":{"atom":115,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":118}},{"Str":{"pattern":"_"}},{"Entity":{"atom":121}},{"Entity":{"atom":46}},{"Repetition":{"atom":120,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"lang_suffix","atom":119}},{"Sequence":{"atoms":[117,122]}},{"Repetition":{"atom":123,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[101,111,116,124]}},{"Alternative":{"atoms":[53,84,99]}},{"Named":{"name":"subdivision","atom":126}},{"Sequence":{"atoms":[51,127]}},{"Alternative":{"atoms":[25,50,128]}},{"Named":{"name":"bpvc_code","atom":129}},{"Sequence":{"atoms":[21,130]}},{"Entity":{"atom":169}},{"Str":{"pattern":"PVHO"}},{"Str":{"pattern":"PASE"}},{"Str":{"pattern":"PTC"}},{"Str":{"pattern":"PTB"}},{"Str":{"pattern":"PDS"}},{"Str":{"pattern":"PCC"}},{"Str":{"pattern":"V&V"}},{"Str":{"pattern":"V V"}},{"Str":{"pattern":"VVUQ"}},{"Str":{"pattern":"TDP"}},{"Str":{"pattern":"RTP"}},{"Str":{"pattern":"RT"}},{"Str":{"pattern":"RA-S"}},{"Str":{"pattern":"RA"}},{"Str":{"pattern":"QME"}},{"Str":{"pattern":"QAI"}},{"Str":{"pattern":"QEI"}},{"Str":{"pattern":"NUM"}},{"Str":{"pattern":"NQA"}},{"Str":{"pattern":"NML"}},{"Str":{"pattern":"OM"}},{"Str":{"pattern":"HST"}},{"Str":{"pattern":"HRT"}},{"Str":{"pattern":"FFS"}},{"Str":{"pattern":"TES"}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"STS"}},{"Str":{"pattern":"CSD"}},{"Str":{"pattern":"CA"}},{"Str":{"pattern":"BTH"}},{"Str":{"pattern":"BPE"}},{"Str":{"pattern":"ANDE"}},{"Str":{"pattern":"AED"}},{"Str":{"pattern":"AG"}},{"Str":{"pattern":"NM"}},{"Str":{"pattern":"EA"}},{"Alternative":{"atoms":[133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168]}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"CSA"}},{"Str":{"pattern":"API"}},{"Str":{"pattern":"ANS"}},{"Entity":{"atom":121}},{"Alternative":{"atoms":[20,132,170,171,172,173,174]}},{"Named":{"name":"designator","atom":175}},{"Entity":{"atom":228}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Entity":{"atom":105}},{"Entity":{"atom":47}},{"Alternative":{"atoms":[180,181]}},{"Repetition":{"atom":179,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":185,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[184,186]}},{"Repetition":{"atom":187,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[178,183,188]}},{"Entity":{"atom":207}},{"Entity":{"atom":30}},{"Str":{"pattern":"20XX"}},{"Str":{"pattern":"202X"}},{"Str":{"pattern":"20"}},{"Entity":{"atom":105}},{"Str":{"pattern":"X"}},{"Sequence":{"atoms":[194,195,196]}},{"Entity":{"atom":105}},{"Repetition":{"atom":198,"min":4,"max":4,"tag":"Repetition"}},{"Alternative":{"atoms":[192,193,197,199]}},{"Entity":{"atom":205}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[.]"}},{"Alternative":{"atoms":[202,203,204]}},{"Lookahead":{"atom":201,"positive":false}},{"Sequence":{"atoms":[191,200,206]}},{"Lookahead":{"atom":190,"positive":false}},{"Entity":{"atom":30}},{"Entity":{"atom":182}},{"Repetition":{"atom":210,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":213,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[212,214]}},{"Repetition":{"atom":215,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[208,209,211,216]}},{"Entity":{"atom":182}},{"Repetition":{"atom":218,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":221,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[220,222]}},{"Repetition":{"atom":223,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[219,224]}},{"Alternative":{"atoms":[217,225]}},{"Alternative":{"atoms":[189,226]}},{"Named":{"name":"number","atom":227}},{"Repetition":{"atom":177,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Str":{"pattern":"20XX"}},{"Str":{"pattern":"202X"}},{"Str":{"pattern":"20"}},{"Entity":{"atom":105}},{"Str":{"pattern":"X"}},{"Sequence":{"atoms":[234,235,236]}},{"Alternative":{"atoms":[232,233,237]}},{"Named":{"name":"draft_year","atom":238}},{"Entity":{"atom":243}},{"Entity":{"atom":105}},{"Repetition":{"atom":241,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":242}},{"Alternative":{"atoms":[231,240]}},{"Sequence":{"atoms":[230,244]}},{"Repetition":{"atom":245,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Entity":{"atom":121}},{"Named":{"name":"language","atom":250}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[248,249,251,252]}},{"Repetition":{"atom":247,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Entity":{"atom":4}},{"Str":{"pattern":"(R"}},{"Entity":{"atom":243}},{"Named":{"name":"reaffirmation","atom":258}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[256,257,259,260]}},{"Repetition":{"atom":255,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[2,3,11,13,14,17,18,19,229,246,254,262]}},{"Entity":{"atom":293}},{"Str":{"pattern":"API"}},{"Named":{"name":"first_publisher","atom":265}},{"Entity":{"atom":4}},{"Entity":{"atom":271}},{"Entity":{"atom":105}},{"Str":{"pattern":"-"}},{"Alternative":{"atoms":[269,270]}},{"Repetition":{"atom":268,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"first_code","atom":272}},{"Entity":{"atom":4}},{"Repetition":{"atom":274,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":15}},{"Str":{"pattern":"ASME"}},{"Named":{"name":"second_publisher","atom":277}},{"Entity":{"atom":4}},{"Entity":{"atom":176}},{"Entity":{"atom":228}},{"Repetition":{"atom":281,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[284,285]}},{"Sequence":{"atoms":[283,286]}},{"Repetition":{"atom":287,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":289,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":291,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[266,267,273,275,276,278,279,280,282,288,290,292]}},{"Entity":{"atom":313}},{"Entity":{"atom":300}},{"Str":{"pattern":"ISO/ASME"}},{"Named":{"name":"joint_publisher","atom":296}},{"Entity":{"atom":4}},{"Repetition":{"atom":298,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[297,299]}},{"Entity":{"atom":228}},{"Repetition":{"atom":301,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[304,305]}},{"Sequence":{"atoms":[303,306]}},{"Repetition":{"atom":307,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":309,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":311,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[295,302,308,310,312]}},{"Entity":{"atom":333}},{"Entity":{"atom":319}},{"Str":{"pattern":"ASME/ANS"}},{"Named":{"name":"joint_publisher","atom":316}},{"Entity":{"atom":4}},{"Sequence":{"atoms":[317,318]}},{"Entity":{"atom":176}},{"Entity":{"atom":228}},{"Repetition":{"atom":321,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[324,325]}},{"Sequence":{"atoms":[323,326]}},{"Repetition":{"atom":327,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":329,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":331,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[315,320,322,328,330,332]}},{"Entity":{"atom":476}},{"Entity":{"atom":339}},{"Entity":{"atom":337}},{"Str":{"pattern":"ASME"}},{"Entity":{"atom":4}},{"Sequence":{"atoms":[336,338]}},{"Entity":{"atom":367}},{"Str":{"pattern":"PTC"}},{"Named":{"name":"designator","atom":341}},{"Entity":{"atom":360}},{"Entity":{"atom":4}},{"Repetition":{"atom":344,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":105}},{"Repetition":{"atom":346,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":105}},{"Repetition":{"atom":349,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[348,350]}},{"Repetition":{"atom":351,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[347,352]}},{"Named":{"name":"number","atom":353}},{"Entity":{"atom":4}},{"Entity":{"atom":121}},{"Named":{"name":"ptc_suffix","atom":356}},{"Sequence":{"atoms":[355,357]}},{"Repetition":{"atom":358,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[345,354,359]}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[362,363]}},{"Sequence":{"atoms":[361,364]}},{"Repetition":{"atom":365,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[342,343,366]}},{"Entity":{"atom":400}},{"Str":{"pattern":"TR"}},{"Named":{"name":"designator","atom":369}},{"Entity":{"atom":393}},{"Entity":{"atom":4}},{"Repetition":{"atom":372,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":182}},{"Repetition":{"atom":374,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":377,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[376,378]}},{"Repetition":{"atom":379,"min":0,"max":null,"tag":"Repetition"}},{"Entity":{"atom":30}},{"Entity":{"atom":105}},{"Repetition":{"atom":382,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":105}},{"Repetition":{"atom":385,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[384,386]}},{"Repetition":{"atom":387,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[381,383,388]}},{"Repetition":{"atom":389,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[375,380,390]}},{"Named":{"name":"number","atom":391}},{"Sequence":{"atoms":[373,392]}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[395,396]}},{"Sequence":{"atoms":[394,397]}},{"Repetition":{"atom":398,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[370,371,399]}},{"Entity":{"atom":444}},{"Entity":{"atom":176}},{"Entity":{"atom":407}},{"Entity":{"atom":4}},{"Repetition":{"atom":404,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":228}},{"Sequence":{"atoms":[405,406]}},{"Repetition":{"atom":403,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":420}},{"Entity":{"atom":15}},{"Str":{"pattern":"CSA"}},{"Entity":{"atom":4}},{"Entity":{"atom":46}},{"Entity":{"atom":105}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[414,415]}},{"Repetition":{"atom":416,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[413,417]}},{"Named":{"name":"csa_number","atom":418}},{"Sequence":{"atoms":[410,411,412,419]}},{"Entity":{"atom":425}},{"Entity":{"atom":4}},{"Str":{"pattern":"Handbook"}},{"Sequence":{"atoms":[422,423]}},{"Named":{"name":"handbook","atom":424}},{"Repetition":{"atom":421,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[409,426]}},{"Entity":{"atom":425}},{"Alternative":{"atoms":[427,428]}},{"Repetition":{"atom":429,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":431,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[434,435]}},{"Sequence":{"atoms":[433,436]}},{"Repetition":{"atom":437,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":439,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[402,408,430,432,438,440]}},{"Entity":{"atom":367}},{"Entity":{"atom":400}},{"Alternative":{"atoms":[441,442,443]}},{"Alternative":{"atoms":[340,368,401]}},{"Entity":{"atom":460}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Str":{"pattern":"Proposed revision of"}},{"Str":{"pattern":"Revision of"}},{"Alternative":{"atoms":[449,450]}},{"Entity":{"atom":4}},{"Entity":{"atom":456}},{"Re":{"pattern":"[\\x01-\\x28]"}},{"Re":{"pattern":"[\\x2a-\\u{10ffff}]"}},{"Alternative":{"atoms":[454,455]}},{"Repetition":{"atom":453,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"ref_standard","atom":457}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[447,448,451,452,458,459]}},{"Repetition":{"atom":446,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":462,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":474}},{"Entity":{"atom":4}},{"Str":{"pattern":"["}},{"Entity":{"atom":470}},{"Re":{"pattern":"[\\x01-\\x5c]"}},{"Re":{"pattern":"[\\x5e-\\u{10ffff}]"}},{"Alternative":{"atoms":[468,469]}},{"Repetition":{"atom":467,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"revision_note","atom":471}},{"Str":{"pattern":"]"}},{"Sequence":{"atoms":[465,466,472,473]}},{"Repetition":{"atom":464,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[335,445,461,463,475]}},{"Alternative":{"atoms":[0,264,294,314,334]}}],"root":477},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule dash: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 1 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 3 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 4 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 5 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 6 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 8 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 10 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 11 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 3 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 4 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 9 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 9 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 10 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 11 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 10 and 25 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 10 and 26 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 11 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 11 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 11 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 12 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 12 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 13 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 15 and 16 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 15 and 17 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 16 and 17 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 18 and 19 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 18 and 20 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 18 and 35 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 19 and 20 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 19 and 35 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 20 and 35 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 22 and 23 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 25 and 26 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 28 and 29 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 30 and 31 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 32 and 33 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 32 and 34 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 33 and 34 are order-dependent (shared first bytes; ordered choice is decisive)","rule non_rparen: branches 1 and 2 are order-dependent (first set not statically known)","rule non_rbracket: branches 1 and 2 are order-dependent (first set not statically known)","rule standard_body: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule standard_body: branches 1 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 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ASME BPVC.VIII","expect":{}},{"entry":"identifier","kind":"accept","input":"ASME PTC 19.3","expect":{}},{"entry":"identifier","kind":"accept","input":"ASME Y14.5-2018","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/asme/parser.rb — ASME identifiers: the BPVC\n# subdivision family, multi-char codes, PTC/TR space-separated numbers,\n# CSA/API/ISO/ASME-ANS joint publishers, draft years (20XX/202X/2ddX),\n# reaffirmations, parenthetical revisions, and bracketed notes.\n\ngrammar PubidAsme version \"0.1.0\" {\n upper = %x41-5A\n lower = %x61-7A\n digit = %x30-39\n letter = upper\n letters = 1*letter\n digits = 1*digit\n num_letter = digit / upper\n space = \" \"\n dash = \"-\" / \"–\" / \"—\"\n dot = \".\"\n slash = \"/\"\n underscore = \"_\"\n\n asme_publisher = \"ASME\"\n publisher = asme_publisher space\n\n roman_numeral = \"XIII\" / \"XII\" / \"XI\" / \"VIII\" / \"VII\" / \"VI\" / \"IV\" / \"IX\" / \"X\" / \"III\" / \"II\" / \"V\" / \"I\"\n bpvc_letter_code = \"NCA\" / \"NCD\" / \"SSC\" / \"BPV\" / \"NUC\" / \"NB\" / \"NC\" / \"ND\" / \"NE\" / \"NF\" / \"NG\" / letter\n ssc_sections = (roman_numeral *(dot roman_numeral)) as ssc_sections\n ssc_code = (\"SSC\" [dot ssc_sections] [dot]) as ssc_code\n cc_case = (\"CC\" dot bpvc_letter_code as case_code [(\".\" [dot] (roman_numeral / bpvc_letter_code) as case_sub)])\n subdivision_code = (roman_numeral as section [(\".\" (digits / bpvc_letter_code) as subsection)] [(\".\" bpvc_letter_code as sub_subsection)] [(underscore letters as lang_suffix)])\n bpvc_subdivision = (\"BPVC\" (((space \"COMPLETE CODE BIND\") as special / (dash \"CC\" dash bpvc_letter_code as case_code) / (dot (ssc_code / cc_case / subdivision_code) as subdivision))) as bpvc_code)\n multi_char_code = \"PVHO\" / \"PASE\" / \"PTC\" / \"PTB\" / \"PDS\" / \"PCC\" / \"V&V\" / \"V V\" / \"VVUQ\" / \"TDP\" / \"RTP\" / \"RT\" / \"RA-S\" / \"RA\" / \"QME\" / \"QAI\" / \"QEI\" / \"NUM\" / \"NQA\" / \"NML\" / \"OM\" / \"HST\" / \"HRT\" / \"FFS\" / \"TES\" / \"TR\" / \"STS\" / \"CSD\" / \"CA\" / \"BTH\" / \"BPE\" / \"ANDE\" / \"AED\" / \"AG\" / \"NM\" / \"EA\"\n designator = (bpvc_subdivision / multi_char_code / \"ISO\" / \"CSA\" / \"API\" / \"ANS\" / letters) as designator\n\n trailing_year = dash (\"20XX\" / \"202X\" / (\"20\" digit \"X\") / 4digit) !num_letter_dot\n num_letter_dot = %x30-39 / %x41-5A / %x2E\n number_part = ((dot 1*num_letter *(dot 1*num_letter)) / ((!trailing_year dash 1*num_letter *(dot 1*num_letter)) / (1*num_letter *(dot 1*num_letter)))) as number\n ptc_number = [space] (1*digit *(dot 1*digit)) as number [(space letters as ptc_suffix)]\n tr_number = [space] (1*num_letter *(dot 1*num_letter) [(dash 1*digit *(dot 1*digit))]) as number\n spaced_number_part = [space] number_part\n year_4digit = (4digit) as year\n draft_year = (\"20XX\" / \"202X\" / (\"20\" digit \"X\")) as draft_year\n reaffirmation = space \"(R\" year_4digit as reaffirmation \")\"\n csa_portion = slash \"CSA\" space (letter 1*(digit / dot)) as csa_number\n parenthetical_revision = space \"(\" (\"Proposed revision of\" / \"Revision of\") space (1*non_rparen) as ref_standard \")\"\n revision_note = space \"[\" (1*non_rbracket) as revision_note \"]\"\n language = space \"(\" letters as language \")\"\n handbook_keyword = (space \"Handbook\") as handbook\n non_rparen = %x01-28 / %x2A-10FFFF\n non_rbracket = %x01-5C / %x5E-10FFFF\n\n standard_components = publisher designator [number_part] [(csa_portion / handbook_keyword)] [language] [(dash (draft_year / year_4digit))] [language] [parenthetical_revision] [reaffirmation] [revision_note]\n csa_asme_identifier = (\"CSA\" as first_publisher space (1*csa_first_char) as first_code [space] slash \"ASME\" as second_publisher space designator [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n csa_first_char = %x41-5A / %x30-39 / %x2E\n api_asme_identifier = (\"API\" as first_publisher space (1*numdash) as first_code [space] slash \"ASME\" as second_publisher space designator [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n numdash = digit / \"-\"\n iso_asme_publisher = (\"ISO/ASME\" as joint_publisher [space])\n asme_ans_publisher = (\"ASME/ANS\" as joint_publisher space)\n iso_asme_identifier = (iso_asme_publisher [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n asme_ans_identifier = (asme_ans_publisher designator [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n ptc_form = (\"PTC\" as designator ptc_number [(dash (draft_year / year_4digit))])\n tr_form = (\"TR\" as designator tr_number [(dash (draft_year / year_4digit))])\n standard_body = ((designator [spaced_number_part] [((csa_portion [handbook_keyword]) / handbook_keyword)] [language] [(dash (draft_year / year_4digit))] [language])) / ptc_form / tr_form\n standard = publisher (ptc_form / tr_form / standard_body) [parenthetical_revision] [reaffirmation] [revision_note]\n\n identifier = csa_asme_identifier / api_asme_identifier / iso_asme_identifier / asme_ans_identifier / standard\n\n entry identifier: identifier\n\n test {\n accept \"ASME BPVC.VIII\"\n accept \"ASME PTC 19.3\"\n accept \"ASME Y14.5-2018\"\n reject \"nonsense\"\n }\n}\n","source_hash":"886da902f834ef691988eebfa183af6d7079356646c36d9729467aac5549068c","compiler_version":"1.3.93","checksum":"sha256:a475a6d6602a1ec29911bdbe0d9be739c8b5186d76113404d90d637f91e593b0"}
|
package/vendor/parg/astm.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidAstm","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":27}},{"Entity":{"atom":8}},{"Str":{"pattern":"ASTM"}},{"Named":{"name":"publisher","atom":2}},{"Entity":{"atom":5}},{"Str":{"pattern":" "}},{"Repetition":{"atom":4,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[3,6]}},{"Repetition":{"atom":7,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":1,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"RR"}},{"Named":{"name":"type","atom":10}},{"Entity":{"atom":13}},{"Str":{"pattern":":"}},{"Entity":{"atom":15}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Entity":{"atom":17}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":16,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[14,18]}},{"Named":{"name":"committee","atom":19}},{"Entity":{"atom":22}},{"Str":{"pattern":"-"}},{"Entity":{"atom":25}},{"Entity":{"atom":17}},{"Repetition":{"atom":24,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":23}},{"Sequence":{"atoms":[9,11,12,20,21,26]}},{"Entity":{"atom":65}},{"Entity":{"atom":52}},{"Str":{"pattern":"ISO/ASTMTR"}},{"Named":{"name":"type","atom":30}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":32}},{"Entity":{"atom":38}},{"Entity":{"atom":22}},{"Str":{"pattern":"EB"}},{"Named":{"name":"format_suffix","atom":36}},{"Sequence":{"atoms":[35,37]}},{"Repetition":{"atom":34,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":50}},{"Entity":{"atom":5}},{"Repetition":{"atom":41,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"#"}},{"Entity":{"atom":47}},{"Re":{"pattern":"[\\x01-\\x22]"}},{"Re":{"pattern":"[\\x24-\\u{10ffff}]"}},{"Alternative":{"atoms":[45,46]}},{"Repetition":{"atom":44,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[42,43,48]}},{"Repetition":{"atom":49,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":40,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[31,33,39,51]}},{"Entity":{"atom":64}},{"Entity":{"atom":8}},{"Repetition":{"atom":54,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"TR"}},{"Named":{"name":"type","atom":56}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":58}},{"Entity":{"atom":38}},{"Repetition":{"atom":60,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":50}},{"Repetition":{"atom":62,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[55,57,59,61,63]}},{"Alternative":{"atoms":[29,53]}},{"Entity":{"atom":111}},{"Entity":{"atom":8}},{"Repetition":{"atom":67,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"MNL"}},{"Named":{"name":"type","atom":69}},{"Str":{"pattern":"TP"}},{"Named":{"name":"tp_designation","atom":71}},{"Repetition":{"atom":72,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":74}},{"Entity":{"atom":22}},{"Entity":{"atom":93}},{"Str":{"pattern":"e"}},{"Entity":{"atom":17}},{"Repetition":{"atom":79,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"edition_number","atom":80}},{"Sequence":{"atoms":[78,81]}},{"Str":{"pattern":"9TH"}},{"Str":{"pattern":"8TH"}},{"Str":{"pattern":"7TH"}},{"Str":{"pattern":"6TH"}},{"Str":{"pattern":"5TH"}},{"Str":{"pattern":"4TH"}},{"Str":{"pattern":"3RD"}},{"Str":{"pattern":"2ND"}},{"Str":{"pattern":"1ST"}},{"Alternative":{"atoms":[82,83,84,85,86,87,88,89,90,91]}},{"Named":{"name":"edition","atom":92}},{"Sequence":{"atoms":[76,77]}},{"Repetition":{"atom":94,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":101}},{"Entity":{"atom":22}},{"Str":{"pattern":"SUP"}},{"Named":{"name":"supplement","atom":98}},{"Entity":{"atom":22}},{"Sequence":{"atoms":[97,99,100]}},{"Entity":{"atom":104}},{"Str":{"pattern":"EB"}},{"Named":{"name":"format_suffix","atom":103}},{"Repetition":{"atom":102,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[96,105]}},{"Entity":{"atom":38}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Alternative":{"atoms":[106,108]}},{"Repetition":{"atom":109,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[68,70,73,75,95,110]}},{"Entity":{"atom":125}},{"Entity":{"atom":8}},{"Repetition":{"atom":113,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"MONO"}},{"Named":{"name":"type","atom":115}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":117}},{"Entity":{"atom":22}},{"Entity":{"atom":93}},{"Sequence":{"atoms":[119,120]}},{"Repetition":{"atom":121,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":38}},{"Repetition":{"atom":123,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[114,116,118,122,124]}},{"Entity":{"atom":157}},{"Entity":{"atom":8}},{"Repetition":{"atom":127,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"DS"}},{"Named":{"name":"type","atom":129}},{"Entity":{"atom":154}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":132}},{"Str":{"pattern":"HOL"}},{"Named":{"name":"hol_suffix","atom":134}},{"Entity":{"atom":138}},{"Entity":{"atom":15}},{"Named":{"name":"suffix","atom":137}},{"Entity":{"atom":141}},{"Entity":{"atom":25}},{"Named":{"name":"subseries","atom":140}},{"Entity":{"atom":147}},{"Entity":{"atom":22}},{"Str":{"pattern":"S"}},{"Entity":{"atom":25}},{"Named":{"name":"subseries","atom":145}},{"Sequence":{"atoms":[143,144,146]}},{"Alternative":{"atoms":[139,142]}},{"Repetition":{"atom":148,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[136,149]}},{"Entity":{"atom":147}},{"Alternative":{"atoms":[135,150,151]}},{"Repetition":{"atom":152,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[133,153]}},{"Entity":{"atom":38}},{"Repetition":{"atom":155,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[128,130,131,156]}},{"Entity":{"atom":165}},{"Entity":{"atom":8}},{"Repetition":{"atom":159,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"WK"}},{"Named":{"name":"type","atom":161}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":163}},{"Sequence":{"atoms":[160,162,164]}},{"Entity":{"atom":193}},{"Entity":{"atom":8}},{"Repetition":{"atom":167,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"ADJ"}},{"Named":{"name":"type","atom":169}},{"Entity":{"atom":175}},{"Entity":{"atom":15}},{"Entity":{"atom":174}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[172,173]}},{"Entity":{"atom":17}},{"Repetition":{"atom":176,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[171,177]}},{"Entity":{"atom":181}},{"Entity":{"atom":15}},{"Repetition":{"atom":180,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":25}},{"Alternative":{"atoms":[178,179,182]}},{"Named":{"name":"designation","atom":183}},{"Entity":{"atom":22}},{"Str":{"pattern":"EA"}},{"Sequence":{"atoms":[185,186]}},{"Repetition":{"atom":187,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"ea_suffix","atom":188}},{"Str":{"pattern":"DVD"}},{"Named":{"name":"dvd_suffix","atom":190}},{"Repetition":{"atom":191,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[168,170,184,189,192]}},{"Entity":{"atom":240}},{"Entity":{"atom":8}},{"Repetition":{"atom":195,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":212}},{"Entity":{"atom":200}},{"Re":{"pattern":"[\\x41-\\x47]"}},{"Named":{"name":"letter","atom":199}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":201}},{"Entity":{"atom":210}},{"Entity":{"atom":205}},{"Str":{"pattern":"/"}},{"Entity":{"atom":200}},{"Entity":{"atom":25}},{"Str":{"pattern":"M"}},{"Named":{"name":"dual_m","atom":208}},{"Sequence":{"atoms":[204,206,207,209]}},{"Repetition":{"atom":203,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[198,202,211]}},{"Entity":{"atom":215}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":214}},{"Alternative":{"atoms":[197,213]}},{"Entity":{"atom":22}},{"Entity":{"atom":221}},{"Entity":{"atom":17}},{"Repetition":{"atom":219,"min":2,"max":null,"tag":"Repetition"}},{"Named":{"name":"year","atom":220}},{"Entity":{"atom":224}},{"Re":{"pattern":"[\\x61-\\x63]"}},{"Named":{"name":"sub_year","atom":223}},{"Repetition":{"atom":222,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":232}},{"Str":{"pattern":"("}},{"Entity":{"atom":17}},{"Repetition":{"atom":228,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"reapproval","atom":229}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[227,230,231]}},{"Repetition":{"atom":226,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":93}},{"Repetition":{"atom":234,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[217,218,225,233,235]}},{"Repetition":{"atom":236,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":50}},{"Repetition":{"atom":238,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[196,216,237,239]}},{"Alternative":{"atoms":[0,28,66,112,126,158,166,194]}}],"root":241},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule non_hash: branches 1 and 2 are order-dependent (first set not statically known)","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":"ASTM A370-03","expect":{}},{"entry":"identifier","kind":"accept","input":"ASTM E11-87(1996)","expect":{}},{"entry":"identifier","kind":"accept","input":"ASTM RR:D04-1001","expect":{}},{"entry":"identifier","kind":"accept","input":"ASTM DS63","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/astm/parser.rb — ASTM designations: standards\n# (A-G letter codes, dual-unit, 2-digit years with sub-year letters and\n# reapprovals), research reports, TRs, MNL/MONO/DS/WK/ADJ series.\n\ngrammar PubidAstm version \"0.1.0\" {\n upper = %x41-5A\n letter = upper / lower\n lower = %x61-7A\n digit = %x30-39\n letters = 1*upper\n digits = 1*digit\n space = \" \"\n dash = \"-\"\n slash = \"/\"\n colon = \":\"\n dot = \".\"\n publisher = [\"ASTM\" as publisher [space]]\n standard_letter = %x41-47 as letter\n year_2digit = (2*digit) as year\n reapproval = \"(\" (4digit) as reapproval \")\"\n comment = [[space] \"#\" *non_hash]\n non_hash = %x01-22 / %x24-10FFFF\n edition = ((\"e\" (1*digit) as edition_number) / \"9TH\" / \"8TH\" / \"7TH\" / \"6TH\" / \"5TH\" / \"4TH\" / \"3RD\" / \"2ND\" / \"1ST\") as edition\n sub_year = %x61-63 as sub_year\n format_suffix = dash \"EB\" as format_suffix\n format_suffix_no_dash = \"EB\" as format_suffix\n supplement = dash \"SUP\" as supplement dash\n research_report = [publisher] \"RR\" as type colon (upper 2*digit) as committee dash digits as number\n manual = [publisher] \"MNL\" as type [\"TP\" as tp_designation] digits as number [(dash edition)] [(supplement [format_suffix_no_dash]) / [format_suffix]]\n monograph = [publisher] \"MONO\" as type digits as number [(dash edition)] [format_suffix]\n data_series_suffix = upper as suffix\n data_series_subseries_with_dash = dash \"S\" digits as subseries\n data_series_subseries_no_dash = digits as subseries\n data_series_code = digits as number [(\"HOL\" as hol_suffix) / (data_series_suffix [(data_series_subseries_no_dash / data_series_subseries_with_dash)]) / data_series_subseries_with_dash]\n data_series = [publisher] \"DS\" as type data_series_code [format_suffix]\n work_in_progress = [publisher] \"WK\" as type digits as number\n adjunct = [publisher] \"ADJ\" as type ((letter (1*digit)) / letters / digits) as designation ([dash \"EA\"]) as ea_suffix [\"DVD\" as dvd_suffix]\n technical_report_iso_astm = \"ISO/ASTMTR\" as type digits as number [format_suffix] [comment]\n technical_report_simple = [publisher] \"TR\" as type digits as number [format_suffix] [comment]\n technical_report = technical_report_iso_astm / technical_report_simple\n dual_unit = slash standard_letter digits \"M\" as dual_m\n standard_code_with_letter = standard_letter digits as number [dual_unit]\n standard_code_digit_only = digits as number\n standard = [publisher] (standard_code_with_letter / standard_code_digit_only) [(dash year_2digit [sub_year] [reapproval] [edition])] [comment]\n identifier = research_report / technical_report / manual / monograph / data_series / work_in_progress / adjunct / standard\n\n entry identifier: identifier\n\n test {\n accept \"ASTM A370-03\"\n accept \"ASTM E11-87(1996)\"\n accept \"ASTM RR:D04-1001\"\n accept \"ASTM DS63\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:9fd17202ddf522d66e09be19baf26ce6b18cc78a3f42bc4a4ce21ca6e25164f7"}
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidAstm","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":27}},{"Entity":{"atom":8}},{"Str":{"pattern":"ASTM"}},{"Named":{"name":"publisher","atom":2}},{"Entity":{"atom":5}},{"Str":{"pattern":" "}},{"Repetition":{"atom":4,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[3,6]}},{"Repetition":{"atom":7,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":1,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"RR"}},{"Named":{"name":"type","atom":10}},{"Entity":{"atom":13}},{"Str":{"pattern":":"}},{"Entity":{"atom":15}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Entity":{"atom":17}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":16,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[14,18]}},{"Named":{"name":"committee","atom":19}},{"Entity":{"atom":22}},{"Str":{"pattern":"-"}},{"Entity":{"atom":25}},{"Entity":{"atom":17}},{"Repetition":{"atom":24,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":23}},{"Sequence":{"atoms":[9,11,12,20,21,26]}},{"Entity":{"atom":65}},{"Entity":{"atom":52}},{"Str":{"pattern":"ISO/ASTMTR"}},{"Named":{"name":"type","atom":30}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":32}},{"Entity":{"atom":38}},{"Entity":{"atom":22}},{"Str":{"pattern":"EB"}},{"Named":{"name":"format_suffix","atom":36}},{"Sequence":{"atoms":[35,37]}},{"Repetition":{"atom":34,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":50}},{"Entity":{"atom":5}},{"Repetition":{"atom":41,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"#"}},{"Entity":{"atom":47}},{"Re":{"pattern":"[\\x01-\\x22]"}},{"Re":{"pattern":"[\\x24-\\u{10ffff}]"}},{"Alternative":{"atoms":[45,46]}},{"Repetition":{"atom":44,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[42,43,48]}},{"Repetition":{"atom":49,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":40,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[31,33,39,51]}},{"Entity":{"atom":64}},{"Entity":{"atom":8}},{"Repetition":{"atom":54,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"TR"}},{"Named":{"name":"type","atom":56}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":58}},{"Entity":{"atom":38}},{"Repetition":{"atom":60,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":50}},{"Repetition":{"atom":62,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[55,57,59,61,63]}},{"Alternative":{"atoms":[29,53]}},{"Entity":{"atom":111}},{"Entity":{"atom":8}},{"Repetition":{"atom":67,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"MNL"}},{"Named":{"name":"type","atom":69}},{"Str":{"pattern":"TP"}},{"Named":{"name":"tp_designation","atom":71}},{"Repetition":{"atom":72,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":74}},{"Entity":{"atom":22}},{"Entity":{"atom":93}},{"Str":{"pattern":"e"}},{"Entity":{"atom":17}},{"Repetition":{"atom":79,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"edition_number","atom":80}},{"Sequence":{"atoms":[78,81]}},{"Str":{"pattern":"9TH"}},{"Str":{"pattern":"8TH"}},{"Str":{"pattern":"7TH"}},{"Str":{"pattern":"6TH"}},{"Str":{"pattern":"5TH"}},{"Str":{"pattern":"4TH"}},{"Str":{"pattern":"3RD"}},{"Str":{"pattern":"2ND"}},{"Str":{"pattern":"1ST"}},{"Alternative":{"atoms":[82,83,84,85,86,87,88,89,90,91]}},{"Named":{"name":"edition","atom":92}},{"Sequence":{"atoms":[76,77]}},{"Repetition":{"atom":94,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":101}},{"Entity":{"atom":22}},{"Str":{"pattern":"SUP"}},{"Named":{"name":"supplement","atom":98}},{"Entity":{"atom":22}},{"Sequence":{"atoms":[97,99,100]}},{"Entity":{"atom":104}},{"Str":{"pattern":"EB"}},{"Named":{"name":"format_suffix","atom":103}},{"Repetition":{"atom":102,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[96,105]}},{"Entity":{"atom":38}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Alternative":{"atoms":[106,108]}},{"Repetition":{"atom":109,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[68,70,73,75,95,110]}},{"Entity":{"atom":125}},{"Entity":{"atom":8}},{"Repetition":{"atom":113,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"MONO"}},{"Named":{"name":"type","atom":115}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":117}},{"Entity":{"atom":22}},{"Entity":{"atom":93}},{"Sequence":{"atoms":[119,120]}},{"Repetition":{"atom":121,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":38}},{"Repetition":{"atom":123,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[114,116,118,122,124]}},{"Entity":{"atom":157}},{"Entity":{"atom":8}},{"Repetition":{"atom":127,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"DS"}},{"Named":{"name":"type","atom":129}},{"Entity":{"atom":154}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":132}},{"Str":{"pattern":"HOL"}},{"Named":{"name":"hol_suffix","atom":134}},{"Entity":{"atom":138}},{"Entity":{"atom":15}},{"Named":{"name":"suffix","atom":137}},{"Entity":{"atom":141}},{"Entity":{"atom":25}},{"Named":{"name":"subseries","atom":140}},{"Entity":{"atom":147}},{"Entity":{"atom":22}},{"Str":{"pattern":"S"}},{"Entity":{"atom":25}},{"Named":{"name":"subseries","atom":145}},{"Sequence":{"atoms":[143,144,146]}},{"Alternative":{"atoms":[139,142]}},{"Repetition":{"atom":148,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[136,149]}},{"Entity":{"atom":147}},{"Alternative":{"atoms":[135,150,151]}},{"Repetition":{"atom":152,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[133,153]}},{"Entity":{"atom":38}},{"Repetition":{"atom":155,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[128,130,131,156]}},{"Entity":{"atom":165}},{"Entity":{"atom":8}},{"Repetition":{"atom":159,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"WK"}},{"Named":{"name":"type","atom":161}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":163}},{"Sequence":{"atoms":[160,162,164]}},{"Entity":{"atom":193}},{"Entity":{"atom":8}},{"Repetition":{"atom":167,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"ADJ"}},{"Named":{"name":"type","atom":169}},{"Entity":{"atom":175}},{"Entity":{"atom":15}},{"Entity":{"atom":174}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[172,173]}},{"Entity":{"atom":17}},{"Repetition":{"atom":176,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[171,177]}},{"Entity":{"atom":181}},{"Entity":{"atom":15}},{"Repetition":{"atom":180,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":25}},{"Alternative":{"atoms":[178,179,182]}},{"Named":{"name":"designation","atom":183}},{"Entity":{"atom":22}},{"Str":{"pattern":"EA"}},{"Sequence":{"atoms":[185,186]}},{"Repetition":{"atom":187,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"ea_suffix","atom":188}},{"Str":{"pattern":"DVD"}},{"Named":{"name":"dvd_suffix","atom":190}},{"Repetition":{"atom":191,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[168,170,184,189,192]}},{"Entity":{"atom":240}},{"Entity":{"atom":8}},{"Repetition":{"atom":195,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":212}},{"Entity":{"atom":200}},{"Re":{"pattern":"[\\x41-\\x47]"}},{"Named":{"name":"letter","atom":199}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":201}},{"Entity":{"atom":210}},{"Entity":{"atom":205}},{"Str":{"pattern":"/"}},{"Entity":{"atom":200}},{"Entity":{"atom":25}},{"Str":{"pattern":"M"}},{"Named":{"name":"dual_m","atom":208}},{"Sequence":{"atoms":[204,206,207,209]}},{"Repetition":{"atom":203,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[198,202,211]}},{"Entity":{"atom":215}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":214}},{"Alternative":{"atoms":[197,213]}},{"Entity":{"atom":22}},{"Entity":{"atom":221}},{"Entity":{"atom":17}},{"Repetition":{"atom":219,"min":2,"max":null,"tag":"Repetition"}},{"Named":{"name":"year","atom":220}},{"Entity":{"atom":224}},{"Re":{"pattern":"[\\x61-\\x63]"}},{"Named":{"name":"sub_year","atom":223}},{"Repetition":{"atom":222,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":232}},{"Str":{"pattern":"("}},{"Entity":{"atom":17}},{"Repetition":{"atom":228,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"reapproval","atom":229}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[227,230,231]}},{"Repetition":{"atom":226,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":93}},{"Repetition":{"atom":234,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[217,218,225,233,235]}},{"Repetition":{"atom":236,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":50}},{"Repetition":{"atom":238,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[196,216,237,239]}},{"Alternative":{"atoms":[0,28,66,112,126,158,166,194]}}],"root":241},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule non_hash: branches 1 and 2 are order-dependent (first set not statically known)","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":"ASTM A370-03","expect":{}},{"entry":"identifier","kind":"accept","input":"ASTM E11-87(1996)","expect":{}},{"entry":"identifier","kind":"accept","input":"ASTM RR:D04-1001","expect":{}},{"entry":"identifier","kind":"accept","input":"ASTM DS63","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/astm/parser.rb — ASTM designations: standards\n# (A-G letter codes, dual-unit, 2-digit years with sub-year letters and\n# reapprovals), research reports, TRs, MNL/MONO/DS/WK/ADJ series.\n\ngrammar PubidAstm version \"0.1.0\" {\n upper = %x41-5A\n letter = upper / lower\n lower = %x61-7A\n digit = %x30-39\n letters = 1*upper\n digits = 1*digit\n space = \" \"\n dash = \"-\"\n slash = \"/\"\n colon = \":\"\n dot = \".\"\n publisher = [\"ASTM\" as publisher [space]]\n standard_letter = %x41-47 as letter\n year_2digit = (2*digit) as year\n reapproval = \"(\" (4digit) as reapproval \")\"\n comment = [[space] \"#\" *non_hash]\n non_hash = %x01-22 / %x24-10FFFF\n edition = ((\"e\" (1*digit) as edition_number) / \"9TH\" / \"8TH\" / \"7TH\" / \"6TH\" / \"5TH\" / \"4TH\" / \"3RD\" / \"2ND\" / \"1ST\") as edition\n sub_year = %x61-63 as sub_year\n format_suffix = dash \"EB\" as format_suffix\n format_suffix_no_dash = \"EB\" as format_suffix\n supplement = dash \"SUP\" as supplement dash\n research_report = [publisher] \"RR\" as type colon (upper 2*digit) as committee dash digits as number\n manual = [publisher] \"MNL\" as type [\"TP\" as tp_designation] digits as number [(dash edition)] [(supplement [format_suffix_no_dash]) / [format_suffix]]\n monograph = [publisher] \"MONO\" as type digits as number [(dash edition)] [format_suffix]\n data_series_suffix = upper as suffix\n data_series_subseries_with_dash = dash \"S\" digits as subseries\n data_series_subseries_no_dash = digits as subseries\n data_series_code = digits as number [(\"HOL\" as hol_suffix) / (data_series_suffix [(data_series_subseries_no_dash / data_series_subseries_with_dash)]) / data_series_subseries_with_dash]\n data_series = [publisher] \"DS\" as type data_series_code [format_suffix]\n work_in_progress = [publisher] \"WK\" as type digits as number\n adjunct = [publisher] \"ADJ\" as type ((letter (1*digit)) / letters / digits) as designation ([dash \"EA\"]) as ea_suffix [\"DVD\" as dvd_suffix]\n technical_report_iso_astm = \"ISO/ASTMTR\" as type digits as number [format_suffix] [comment]\n technical_report_simple = [publisher] \"TR\" as type digits as number [format_suffix] [comment]\n technical_report = technical_report_iso_astm / technical_report_simple\n dual_unit = slash standard_letter digits \"M\" as dual_m\n standard_code_with_letter = standard_letter digits as number [dual_unit]\n standard_code_digit_only = digits as number\n standard = [publisher] (standard_code_with_letter / standard_code_digit_only) [(dash year_2digit [sub_year] [reapproval] [edition])] [comment]\n identifier = research_report / technical_report / manual / monograph / data_series / work_in_progress / adjunct / standard\n\n entry identifier: identifier\n\n test {\n accept \"ASTM A370-03\"\n accept \"ASTM E11-87(1996)\"\n accept \"ASTM RR:D04-1001\"\n accept \"ASTM DS63\"\n reject \"nonsense\"\n }\n}\n","source_hash":"763a1fc4a626b8a6493e1729e579d89e9f3a5eebc5820a07cd03b28ded022bfc","compiler_version":"1.3.93","checksum":"sha256:f0c1ac3e420856fa560260dc9ac565a6db73164569b81470308886350b72b3de"}
|
package/vendor/parg/bipm.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bindings":null,"version":"0.1.0","grammar":"PubidBipm","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":29}},{"Str":{"pattern":"Metrologia"}},{"Entity":{"atom":3}},{"Str":{"pattern":" "}},{"Entity":{"atom":7}},{"Entity":{"atom":6}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":5,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"volume","atom":4}},{"Entity":{"atom":3}},{"Entity":{"atom":17}},{"Entity":{"atom":6}},{"Entity":{"atom":15}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[13,14]}},{"Alternative":{"atoms":[11,12]}},{"Repetition":{"atom":16,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"issue","atom":10}},{"Entity":{"atom":3}},{"Entity":{"atom":17}},{"Named":{"name":"article","atom":20}},{"Sequence":{"atoms":[19,21]}},{"Repetition":{"atom":22,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[9,18,23]}},{"Repetition":{"atom":24,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[2,8,25]}},{"Repetition":{"atom":26,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[1,27]}},{"Named":{"name":"metrologia","atom":28}},{"Entity":{"atom":75}},{"Str":{"pattern":"BIPM SI Brochure"}},{"Str":{"pattern":"SI Brochure"}},{"Alternative":{"atoms":[31,32]}},{"Entity":{"atom":3}},{"Str":{"pattern":"sur le SI"}},{"Entity":{"atom":3}},{"Sequence":{"atoms":[35,36]}},{"Repetition":{"atom":37,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":43}},{"Entity":{"atom":7}},{"Str":{"pattern":"e"}},{"Sequence":{"atoms":[40,41]}},{"Named":{"name":"edition","atom":42}},{"Entity":{"atom":3}},{"Entity":{"atom":53}},{"Str":{"pattern":"v"}},{"Entity":{"atom":6}},{"Entity":{"atom":49}},{"Str":{"pattern":"."}},{"Alternative":{"atoms":[47,48]}},{"Repetition":{"atom":50,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[46,51]}},{"Named":{"name":"version","atom":52}},{"Entity":{"atom":3}},{"Str":{"pattern":"("}},{"Entity":{"atom":64}},{"Entity":{"atom":7}},{"Entity":{"atom":59}},{"Str":{"pattern":"/"}},{"Entity":{"atom":7}},{"Sequence":{"atoms":[58,60]}},{"Repetition":{"atom":61,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[57,62]}},{"Named":{"name":"years","atom":63}},{"Str":{"pattern":", "}},{"Entity":{"atom":72}},{"Str":{"pattern":"EN"}},{"Str":{"pattern":"FR"}},{"Re":{"pattern":"[E]"}},{"Re":{"pattern":"[F]"}},{"Alternative":{"atoms":[67,68,69,70]}},{"Named":{"name":"language","atom":71}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[33,34,38,39,44,45,54,55,56,65,66,73]}},{"Named":{"name":"si_brochure","atom":74}},{"Entity":{"atom":91}},{"Str":{"pattern":"BIPM SI Brochure"}},{"Str":{"pattern":"SI Brochure"}},{"Alternative":{"atoms":[77,78]}},{"Entity":{"atom":3}},{"Entity":{"atom":89}},{"Str":{"pattern":"Appendix"}},{"Entity":{"atom":3}},{"Entity":{"atom":7}},{"Sequence":{"atoms":[82,83,84]}},{"Str":{"pattern":"Concise"}},{"Str":{"pattern":"FAQ"}},{"Alternative":{"atoms":[85,86,87]}},{"Named":{"name":"variant","atom":88}},{"Sequence":{"atoms":[79,80,81]}},{"Named":{"name":"si_brochure_variant","atom":90}},{"Entity":{"atom":104}},{"Str":{"pattern":"BIPM SI Brochure"}},{"Str":{"pattern":"SI Brochure"}},{"Alternative":{"atoms":[93,94]}},{"Entity":{"atom":3}},{"Str":{"pattern":"Part"}},{"Entity":{"atom":3}},{"Entity":{"atom":7}},{"Named":{"name":"part","atom":99}},{"Sequence":{"atoms":[96,97,98,100]}},{"Repetition":{"atom":101,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[95,102]}},{"Named":{"name":"si_brochure_section","atom":103}},{"Entity":{"atom":156}},{"Str":{"pattern":"BIPM"}},{"Entity":{"atom":3}},{"Entity":{"atom":128}},{"Str":{"pattern":"SI MEP"}},{"Entity":{"atom":3}},{"Entity":{"atom":116}},{"Entity":{"atom":6}},{"Entity":{"atom":15}},{"Alternative":{"atoms":[112,113]}},{"Repetition":{"atom":114,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"mep_code","atom":115}},{"Sequence":{"atoms":[109,110,111]}},{"Str":{"pattern":"Rapport"}},{"Entity":{"atom":3}},{"Entity":{"atom":126}},{"Str":{"pattern":"BIPM-"}},{"Entity":{"atom":7}},{"Entity":{"atom":59}},{"Entity":{"atom":7}},{"Sequence":{"atoms":[121,122,123,124]}},{"Named":{"name":"report_code","atom":125}},{"Sequence":{"atoms":[118,119,120]}},{"Alternative":{"atoms":[117,127]}},{"Entity":{"atom":3}},{"Entity":{"atom":152}},{"Str":{"pattern":"Appendix"}},{"Entity":{"atom":3}},{"Entity":{"atom":7}},{"Named":{"name":"appendix","atom":133}},{"Entity":{"atom":3}},{"Str":{"pattern":"Annex"}},{"Entity":{"atom":3}},{"Entity":{"atom":7}},{"Named":{"name":"annex","atom":138}},{"Sequence":{"atoms":[135,136,137,139]}},{"Repetition":{"atom":140,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":3}},{"Str":{"pattern":"Part"}},{"Entity":{"atom":3}},{"Entity":{"atom":7}},{"Entity":{"atom":49}},{"Entity":{"atom":7}},{"Sequence":{"atoms":[146,147]}},{"Repetition":{"atom":148,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[145,149]}},{"Named":{"name":"part","atom":150}},{"Sequence":{"atoms":[131,132,134,141,142,143,144,151]}},{"Sequence":{"atoms":[106,107,108,129,130]}},{"Entity":{"atom":128}},{"Alternative":{"atoms":[153,154]}},{"Named":{"name":"mep","atom":155}},{"Entity":{"atom":194}},{"Str":{"pattern":"BIPM"}},{"Entity":{"atom":3}},{"Entity":{"atom":188}},{"Entity":{"atom":177}},{"Str":{"pattern":"CCAUV"}},{"Str":{"pattern":"CCDS"}},{"Str":{"pattern":"CCEM"}},{"Str":{"pattern":"CCPR"}},{"Str":{"pattern":"CCQM"}},{"Str":{"pattern":"CCRI"}},{"Str":{"pattern":"CCTF"}},{"Str":{"pattern":"CGPM"}},{"Str":{"pattern":"CIPM"}},{"Str":{"pattern":"JCRB"}},{"Str":{"pattern":"CCL"}},{"Str":{"pattern":"CCM"}},{"Str":{"pattern":"CCT"}},{"Str":{"pattern":"CCU"}},{"Alternative":{"atoms":[162,163,164,165,166,167,168,169,170,171,172,173,174,175]}},{"Named":{"name":"group","atom":176}},{"Str":{"pattern":"-GD-"}},{"Entity":{"atom":183}},{"Str":{"pattern":"MeP"}},{"Str":{"pattern":"RSI"}},{"Alternative":{"atoms":[180,181]}},{"Named":{"name":"guide_kind","atom":182}},{"Entity":{"atom":185}},{"Str":{"pattern":"-"}},{"Entity":{"atom":7}},{"Named":{"name":"number","atom":186}},{"Sequence":{"atoms":[161,178,179,184,187]}},{"Entity":{"atom":3}},{"Entity":{"atom":152}},{"Sequence":{"atoms":[158,159,160,189,190]}},{"Entity":{"atom":188}},{"Alternative":{"atoms":[191,192]}},{"Named":{"name":"guide","atom":193}},{"Entity":{"atom":237}},{"Entity":{"atom":204}},{"Str":{"pattern":"Recommandation"}},{"Str":{"pattern":"Déclaration"}},{"Str":{"pattern":"Résolution"}},{"Str":{"pattern":"Statement"}},{"Str":{"pattern":"Décision"}},{"Str":{"pattern":"Action"}},{"Alternative":{"atoms":[197,198,199,200,201,202]}},{"Named":{"name":"type_word","atom":203}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Entity":{"atom":6}},{"Repetition":{"atom":207,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":185}},{"Entity":{"atom":6}},{"Repetition":{"atom":210,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[209,211]}},{"Repetition":{"atom":212,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[208,213]}},{"Named":{"name":"number","atom":214}},{"Sequence":{"atoms":[205,206]}},{"Repetition":{"atom":216,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":3}},{"Entity":{"atom":222}},{"Str":{"pattern":"de la"}},{"Str":{"pattern":"du"}},{"Alternative":{"atoms":[220,221]}},{"Entity":{"atom":3}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":233}},{"Str":{"pattern":"("}},{"Entity":{"atom":231}},{"Entity":{"atom":6}},{"Repetition":{"atom":229,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":230}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[227,228,232]}},{"Sequence":{"atoms":[225,226]}},{"Repetition":{"atom":234,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[196,217,218,219,223,224,235]}},{"Named":{"name":"committee_long_fr","atom":236}},{"Entity":{"atom":381}},{"Entity":{"atom":275}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Entity":{"atom":248}},{"Str":{"pattern":"st"}},{"Str":{"pattern":"nd"}},{"Str":{"pattern":"rd"}},{"Str":{"pattern":"th"}},{"Alternative":{"atoms":[244,245,246,247]}},{"Entity":{"atom":3}},{"Str":{"pattern":"Meeting"}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Str":{"pattern":"("}},{"Entity":{"atom":231}},{"Str":{"pattern":", "}},{"Entity":{"atom":72}},{"Sequence":{"atoms":[255,256]}},{"Repetition":{"atom":257,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[253,254,258,259]}},{"Sequence":{"atoms":[251,252]}},{"Repetition":{"atom":261,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[240,241,242,243,249,250,262]}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Str":{"pattern":"Meeting"}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[269,270]}},{"Repetition":{"atom":271,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[264,265,266,267,268,272]}},{"Alternative":{"atoms":[263,273]}},{"Named":{"name":"meeting_en","atom":274}},{"Entity":{"atom":313}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Str":{"pattern":"<sup>e</sup>"}},{"Entity":{"atom":3}},{"Str":{"pattern":"réunion"}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[283,284]}},{"Repetition":{"atom":285,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[277,278,279,280,281,282,286]}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Str":{"pattern":"e"}},{"Entity":{"atom":3}},{"Entity":{"atom":296}},{"Str":{"pattern":"Réunion"}},{"Str":{"pattern":"réunion"}},{"Alternative":{"atoms":[294,295]}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[297,298]}},{"Repetition":{"atom":299,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[288,289,290,291,292,293,300]}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":296}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[307,308]}},{"Repetition":{"atom":309,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[302,303,304,305,306,310]}},{"Alternative":{"atoms":[287,301,311]}},{"Named":{"name":"meeting_fr","atom":312}},{"Entity":{"atom":334}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":324}},{"Str":{"pattern":"DECL"}},{"Str":{"pattern":"DECN"}},{"Str":{"pattern":"ACT"}},{"Str":{"pattern":"REC"}},{"Str":{"pattern":"RES"}},{"Alternative":{"atoms":[318,319,320,321,322]}},{"Named":{"name":"type_word","atom":323}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Sequence":{"atoms":[325,326]}},{"Repetition":{"atom":327,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[329,330]}},{"Repetition":{"atom":331,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[315,316,317,328,332]}},{"Named":{"name":"committee_short","atom":333}},{"Entity":{"atom":356}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":346}},{"Str":{"pattern":"Recommendation"}},{"Str":{"pattern":"Declaration"}},{"Str":{"pattern":"Resolution"}},{"Str":{"pattern":"Statement"}},{"Str":{"pattern":"Decision"}},{"Str":{"pattern":"Action"}},{"Alternative":{"atoms":[339,340,341,342,343,344]}},{"Named":{"name":"type_word","atom":345}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Sequence":{"atoms":[347,348]}},{"Repetition":{"atom":349,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":3}},{"Entity":{"atom":233}},{"Sequence":{"atoms":[351,352]}},{"Repetition":{"atom":353,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[336,337,338,350,354]}},{"Named":{"name":"committee_long_en","atom":355}},{"Entity":{"atom":370}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":204}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Sequence":{"atoms":[361,362]}},{"Repetition":{"atom":363,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":3}},{"Entity":{"atom":233}},{"Sequence":{"atoms":[365,366]}},{"Repetition":{"atom":367,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[358,359,360,364,368]}},{"Named":{"name":"committee_long_fr","atom":369}},{"Entity":{"atom":380}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[375,376]}},{"Repetition":{"atom":377,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[372,373,374,378]}},{"Named":{"name":"committee_bare","atom":379}},{"Alternative":{"atoms":[239,276,314,335,357,371]}},{"Alternative":{"atoms":[0,30,76,92,105,157,195,238]}}],"root":382},"bindings":[]}},"preprocess":{},"tables":{"bipm_groups":{"file":"bipm_groups.yaml","rows":[{"name":"CCAUV"},{"name":"CCDS"},{"name":"CCRI"},{"name":"CCPR"},{"name":"CCEM"},{"name":"CCQM"},{"name":"CCTF"},{"name":"JCRB"},{"name":"CGPM"},{"name":"CIPM"},{"name":"CCM"},{"name":"CCU"},{"name":"CCL"},{"name":"CCT"}]},"bipm_type_codes":{"file":"bipm_type_codes.yaml","rows":[{"name":"DECL"},{"name":"DECN"},{"name":"ACT"},{"name":"RES"},{"name":"REC"}]},"bipm_type_names_en":{"file":"bipm_type_names_en.yaml","rows":[{"name":"Recommendation"},{"name":"Declaration"},{"name":"Resolution"},{"name":"Statement"},{"name":"Decision"},{"name":"Action"}]},"bipm_type_names_fr":{"file":"bipm_type_names_fr.yaml","rows":[{"name":"Recommandation"},{"name":"Déclaration"},{"name":"Résolution"},{"name":"Statement"},{"name":"Décision"},{"name":"Action"}]}},"lint":{"order_warnings":["rule connective: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 7 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 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 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 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"SI Brochure 9e v3.0 (2019, EN)","expect":{}},{"entry":"identifier","kind":"accept","input":"SI MEP 10","expect":{}},{"entry":"identifier","kind":"accept","input":"CGPM 26th Meeting (2018)","expect":{}},{"entry":"identifier","kind":"accept","input":"Metrologia 24 3","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/bipm/parser.rb — BIPM identifiers: committee forms\n# (short/long EN/FR, meetings incl. French <sup>e</sup>), Metrologia,\n# the SI Brochure family, MEP/Guide reports. Groups and type names come\n# from gem-extracted tables (bipm_*.yaml), longest-first.\n\ngrammar PubidBipm version \"0.1.0\" {\n digit = %x30-39\n dot = \".\"\n alnum = 1*(digit / letter)\n letter = %x41-5A / %x61-7A\n digits = 1*digit\n space = \" \"\n dash = \"-\"\n slash = \"/\"\n colon = \":\"\n lparen = \"(\"\n rparen = \")\"\n number = (1*digit *(dash 1*digit)) as number\n year = (4digit) as year\n lang = (\"EN\" / \"FR\" / %x45 / %x46) as language\n year_paren = \"(\" year [(\", \" lang)] \")\"\n year_paren_nolang = \"(\" year \")\"\n group = alt from_table \"bipm_groups\" column \"name\" as group\n type_abbrev = alt from_table \"bipm_type_codes\" column \"name\" as type_word\n type_name_en = alt from_table \"bipm_type_names_en\" column \"name\" as type_word\n type_name_fr = alt from_table \"bipm_type_names_fr\" column \"name\" as type_word\n connective = \"de la\" / \"du\"\n ordinal = \"st\" / \"nd\" / \"rd\" / \"th\"\n meeting_word_fr = \"Réunion\" / \"réunion\"\n committee_short = ((group space type_abbrev [(space number)] [(space year_paren)]) as committee_short)\n committee_long_en = ((group space type_name_en [(space number)] [(space year_paren_nolang)]) as committee_long_en)\n committee_long_fr = ((type_name_fr [(space number)] space connective space group [(space year_paren_nolang)]) as committee_long_fr)\n committee_group_fr = ((group space type_name_fr [(space number)] [(space year_paren_nolang)]) as committee_long_fr)\n committee_bare = ((group space number [(space year_paren)]) as committee_bare)\n meeting_en = (((group space number ordinal space \"Meeting\" [(space year_paren)]) / (group space \"Meeting\" space number [(space year_paren)])) as meeting_en)\n meeting_fr = (((group space number \"<sup>e</sup>\" space \"réunion\" [(space year_paren)]) / (group space number \"e\" space meeting_word_fr [(space year_paren)]) / (group space meeting_word_fr space number [(space year_paren)])) as meeting_fr)\n metrologia = (\"Metrologia\" [(space digits as volume [(space alnum as issue [(space alnum as article)])])]) as metrologia\n edition = (digits \"e\") as edition\n version = (\"v\" 1*(digit / dot)) as version\n years = (digits [(slash digits)]) as years\n si_brochure = ((\"BIPM SI Brochure\" / \"SI Brochure\") space [\"sur le SI\" space] edition space version space \"(\" years \", \" lang \")\") as si_brochure\n brochure_variant = ((\"Appendix\" space digits) / \"Concise\" / \"FAQ\") as variant\n si_brochure_variant = ((\"BIPM SI Brochure\" / \"SI Brochure\") space brochure_variant) as si_brochure_variant\n si_brochure_section = ((\"BIPM SI Brochure\" / \"SI Brochure\") [(space \"Part\" space digits as part)]) as si_brochure_section\n appendix_part = \"Appendix\" space digits as appendix [(space \"Annex\" space digits as annex)] space \"Part\" space (digits [(dot digits)]) as part\n mep_code = (1*(digit / letter)) as mep_code\n report_code = (\"BIPM-\" digits slash digits) as report_code\n mep_body = ((\"SI MEP\" space mep_code) / (\"Rapport\" space report_code))\n mep = ((\"BIPM\" space mep_body space appendix_part) / mep_body) as mep\n guide_kind = (\"MeP\" / \"RSI\") as guide_kind\n guide_body = group \"-GD-\" guide_kind dash digits as number\n guide = ((\"BIPM\" space guide_body space appendix_part) / guide_body) as guide\n group_leading = meeting_en / meeting_fr / committee_short / committee_long_en / committee_group_fr / committee_bare\n identifier = metrologia / si_brochure / si_brochure_variant / si_brochure_section / mep / guide / committee_long_fr / group_leading\n\n entry identifier: identifier\n\n test {\n accept \"SI Brochure 9e v3.0 (2019, EN)\"\n accept \"SI MEP 10\"\n accept \"CGPM 26th Meeting (2018)\"\n accept \"Metrologia 24 3\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:fcaf23588a633d2bac486449105a4d787392a01a58f32fd8060ea9df8d23c699"}
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidBipm","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":29}},{"Str":{"pattern":"Metrologia"}},{"Entity":{"atom":3}},{"Str":{"pattern":" "}},{"Entity":{"atom":7}},{"Entity":{"atom":6}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":5,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"volume","atom":4}},{"Entity":{"atom":3}},{"Entity":{"atom":17}},{"Entity":{"atom":6}},{"Entity":{"atom":15}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[13,14]}},{"Alternative":{"atoms":[11,12]}},{"Repetition":{"atom":16,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"issue","atom":10}},{"Entity":{"atom":3}},{"Entity":{"atom":17}},{"Named":{"name":"article","atom":20}},{"Sequence":{"atoms":[19,21]}},{"Repetition":{"atom":22,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[9,18,23]}},{"Repetition":{"atom":24,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[2,8,25]}},{"Repetition":{"atom":26,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[1,27]}},{"Named":{"name":"metrologia","atom":28}},{"Entity":{"atom":75}},{"Str":{"pattern":"BIPM SI Brochure"}},{"Str":{"pattern":"SI Brochure"}},{"Alternative":{"atoms":[31,32]}},{"Entity":{"atom":3}},{"Str":{"pattern":"sur le SI"}},{"Entity":{"atom":3}},{"Sequence":{"atoms":[35,36]}},{"Repetition":{"atom":37,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":43}},{"Entity":{"atom":7}},{"Str":{"pattern":"e"}},{"Sequence":{"atoms":[40,41]}},{"Named":{"name":"edition","atom":42}},{"Entity":{"atom":3}},{"Entity":{"atom":53}},{"Str":{"pattern":"v"}},{"Entity":{"atom":6}},{"Entity":{"atom":49}},{"Str":{"pattern":"."}},{"Alternative":{"atoms":[47,48]}},{"Repetition":{"atom":50,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[46,51]}},{"Named":{"name":"version","atom":52}},{"Entity":{"atom":3}},{"Str":{"pattern":"("}},{"Entity":{"atom":64}},{"Entity":{"atom":7}},{"Entity":{"atom":59}},{"Str":{"pattern":"/"}},{"Entity":{"atom":7}},{"Sequence":{"atoms":[58,60]}},{"Repetition":{"atom":61,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[57,62]}},{"Named":{"name":"years","atom":63}},{"Str":{"pattern":", "}},{"Entity":{"atom":72}},{"Str":{"pattern":"EN"}},{"Str":{"pattern":"FR"}},{"Re":{"pattern":"[E]"}},{"Re":{"pattern":"[F]"}},{"Alternative":{"atoms":[67,68,69,70]}},{"Named":{"name":"language","atom":71}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[33,34,38,39,44,45,54,55,56,65,66,73]}},{"Named":{"name":"si_brochure","atom":74}},{"Entity":{"atom":91}},{"Str":{"pattern":"BIPM SI Brochure"}},{"Str":{"pattern":"SI Brochure"}},{"Alternative":{"atoms":[77,78]}},{"Entity":{"atom":3}},{"Entity":{"atom":89}},{"Str":{"pattern":"Appendix"}},{"Entity":{"atom":3}},{"Entity":{"atom":7}},{"Sequence":{"atoms":[82,83,84]}},{"Str":{"pattern":"Concise"}},{"Str":{"pattern":"FAQ"}},{"Alternative":{"atoms":[85,86,87]}},{"Named":{"name":"variant","atom":88}},{"Sequence":{"atoms":[79,80,81]}},{"Named":{"name":"si_brochure_variant","atom":90}},{"Entity":{"atom":104}},{"Str":{"pattern":"BIPM SI Brochure"}},{"Str":{"pattern":"SI Brochure"}},{"Alternative":{"atoms":[93,94]}},{"Entity":{"atom":3}},{"Str":{"pattern":"Part"}},{"Entity":{"atom":3}},{"Entity":{"atom":7}},{"Named":{"name":"part","atom":99}},{"Sequence":{"atoms":[96,97,98,100]}},{"Repetition":{"atom":101,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[95,102]}},{"Named":{"name":"si_brochure_section","atom":103}},{"Entity":{"atom":156}},{"Str":{"pattern":"BIPM"}},{"Entity":{"atom":3}},{"Entity":{"atom":128}},{"Str":{"pattern":"SI MEP"}},{"Entity":{"atom":3}},{"Entity":{"atom":116}},{"Entity":{"atom":6}},{"Entity":{"atom":15}},{"Alternative":{"atoms":[112,113]}},{"Repetition":{"atom":114,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"mep_code","atom":115}},{"Sequence":{"atoms":[109,110,111]}},{"Str":{"pattern":"Rapport"}},{"Entity":{"atom":3}},{"Entity":{"atom":126}},{"Str":{"pattern":"BIPM-"}},{"Entity":{"atom":7}},{"Entity":{"atom":59}},{"Entity":{"atom":7}},{"Sequence":{"atoms":[121,122,123,124]}},{"Named":{"name":"report_code","atom":125}},{"Sequence":{"atoms":[118,119,120]}},{"Alternative":{"atoms":[117,127]}},{"Entity":{"atom":3}},{"Entity":{"atom":152}},{"Str":{"pattern":"Appendix"}},{"Entity":{"atom":3}},{"Entity":{"atom":7}},{"Named":{"name":"appendix","atom":133}},{"Entity":{"atom":3}},{"Str":{"pattern":"Annex"}},{"Entity":{"atom":3}},{"Entity":{"atom":7}},{"Named":{"name":"annex","atom":138}},{"Sequence":{"atoms":[135,136,137,139]}},{"Repetition":{"atom":140,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":3}},{"Str":{"pattern":"Part"}},{"Entity":{"atom":3}},{"Entity":{"atom":7}},{"Entity":{"atom":49}},{"Entity":{"atom":7}},{"Sequence":{"atoms":[146,147]}},{"Repetition":{"atom":148,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[145,149]}},{"Named":{"name":"part","atom":150}},{"Sequence":{"atoms":[131,132,134,141,142,143,144,151]}},{"Sequence":{"atoms":[106,107,108,129,130]}},{"Entity":{"atom":128}},{"Alternative":{"atoms":[153,154]}},{"Named":{"name":"mep","atom":155}},{"Entity":{"atom":194}},{"Str":{"pattern":"BIPM"}},{"Entity":{"atom":3}},{"Entity":{"atom":188}},{"Entity":{"atom":177}},{"Str":{"pattern":"CCAUV"}},{"Str":{"pattern":"CCDS"}},{"Str":{"pattern":"CCEM"}},{"Str":{"pattern":"CCPR"}},{"Str":{"pattern":"CCQM"}},{"Str":{"pattern":"CCRI"}},{"Str":{"pattern":"CCTF"}},{"Str":{"pattern":"CGPM"}},{"Str":{"pattern":"CIPM"}},{"Str":{"pattern":"JCRB"}},{"Str":{"pattern":"CCL"}},{"Str":{"pattern":"CCM"}},{"Str":{"pattern":"CCT"}},{"Str":{"pattern":"CCU"}},{"Alternative":{"atoms":[162,163,164,165,166,167,168,169,170,171,172,173,174,175]}},{"Named":{"name":"group","atom":176}},{"Str":{"pattern":"-GD-"}},{"Entity":{"atom":183}},{"Str":{"pattern":"MeP"}},{"Str":{"pattern":"RSI"}},{"Alternative":{"atoms":[180,181]}},{"Named":{"name":"guide_kind","atom":182}},{"Entity":{"atom":185}},{"Str":{"pattern":"-"}},{"Entity":{"atom":7}},{"Named":{"name":"number","atom":186}},{"Sequence":{"atoms":[161,178,179,184,187]}},{"Entity":{"atom":3}},{"Entity":{"atom":152}},{"Sequence":{"atoms":[158,159,160,189,190]}},{"Entity":{"atom":188}},{"Alternative":{"atoms":[191,192]}},{"Named":{"name":"guide","atom":193}},{"Entity":{"atom":237}},{"Entity":{"atom":204}},{"Str":{"pattern":"Recommandation"}},{"Str":{"pattern":"Déclaration"}},{"Str":{"pattern":"Résolution"}},{"Str":{"pattern":"Statement"}},{"Str":{"pattern":"Décision"}},{"Str":{"pattern":"Action"}},{"Alternative":{"atoms":[197,198,199,200,201,202]}},{"Named":{"name":"type_word","atom":203}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Entity":{"atom":6}},{"Repetition":{"atom":207,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":185}},{"Entity":{"atom":6}},{"Repetition":{"atom":210,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[209,211]}},{"Repetition":{"atom":212,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[208,213]}},{"Named":{"name":"number","atom":214}},{"Sequence":{"atoms":[205,206]}},{"Repetition":{"atom":216,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":3}},{"Entity":{"atom":222}},{"Str":{"pattern":"de la"}},{"Str":{"pattern":"du"}},{"Alternative":{"atoms":[220,221]}},{"Entity":{"atom":3}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":233}},{"Str":{"pattern":"("}},{"Entity":{"atom":231}},{"Entity":{"atom":6}},{"Repetition":{"atom":229,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":230}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[227,228,232]}},{"Sequence":{"atoms":[225,226]}},{"Repetition":{"atom":234,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[196,217,218,219,223,224,235]}},{"Named":{"name":"committee_long_fr","atom":236}},{"Entity":{"atom":381}},{"Entity":{"atom":275}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Entity":{"atom":248}},{"Str":{"pattern":"st"}},{"Str":{"pattern":"nd"}},{"Str":{"pattern":"rd"}},{"Str":{"pattern":"th"}},{"Alternative":{"atoms":[244,245,246,247]}},{"Entity":{"atom":3}},{"Str":{"pattern":"Meeting"}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Str":{"pattern":"("}},{"Entity":{"atom":231}},{"Str":{"pattern":", "}},{"Entity":{"atom":72}},{"Sequence":{"atoms":[255,256]}},{"Repetition":{"atom":257,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[253,254,258,259]}},{"Sequence":{"atoms":[251,252]}},{"Repetition":{"atom":261,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[240,241,242,243,249,250,262]}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Str":{"pattern":"Meeting"}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[269,270]}},{"Repetition":{"atom":271,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[264,265,266,267,268,272]}},{"Alternative":{"atoms":[263,273]}},{"Named":{"name":"meeting_en","atom":274}},{"Entity":{"atom":313}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Str":{"pattern":"<sup>e</sup>"}},{"Entity":{"atom":3}},{"Str":{"pattern":"réunion"}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[283,284]}},{"Repetition":{"atom":285,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[277,278,279,280,281,282,286]}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Str":{"pattern":"e"}},{"Entity":{"atom":3}},{"Entity":{"atom":296}},{"Str":{"pattern":"Réunion"}},{"Str":{"pattern":"réunion"}},{"Alternative":{"atoms":[294,295]}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[297,298]}},{"Repetition":{"atom":299,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[288,289,290,291,292,293,300]}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":296}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[307,308]}},{"Repetition":{"atom":309,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[302,303,304,305,306,310]}},{"Alternative":{"atoms":[287,301,311]}},{"Named":{"name":"meeting_fr","atom":312}},{"Entity":{"atom":334}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":324}},{"Str":{"pattern":"DECL"}},{"Str":{"pattern":"DECN"}},{"Str":{"pattern":"ACT"}},{"Str":{"pattern":"REC"}},{"Str":{"pattern":"RES"}},{"Alternative":{"atoms":[318,319,320,321,322]}},{"Named":{"name":"type_word","atom":323}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Sequence":{"atoms":[325,326]}},{"Repetition":{"atom":327,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[329,330]}},{"Repetition":{"atom":331,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[315,316,317,328,332]}},{"Named":{"name":"committee_short","atom":333}},{"Entity":{"atom":356}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":346}},{"Str":{"pattern":"Recommendation"}},{"Str":{"pattern":"Declaration"}},{"Str":{"pattern":"Resolution"}},{"Str":{"pattern":"Statement"}},{"Str":{"pattern":"Decision"}},{"Str":{"pattern":"Action"}},{"Alternative":{"atoms":[339,340,341,342,343,344]}},{"Named":{"name":"type_word","atom":345}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Sequence":{"atoms":[347,348]}},{"Repetition":{"atom":349,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":3}},{"Entity":{"atom":233}},{"Sequence":{"atoms":[351,352]}},{"Repetition":{"atom":353,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[336,337,338,350,354]}},{"Named":{"name":"committee_long_en","atom":355}},{"Entity":{"atom":370}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":204}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Sequence":{"atoms":[361,362]}},{"Repetition":{"atom":363,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":3}},{"Entity":{"atom":233}},{"Sequence":{"atoms":[365,366]}},{"Repetition":{"atom":367,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[358,359,360,364,368]}},{"Named":{"name":"committee_long_fr","atom":369}},{"Entity":{"atom":380}},{"Entity":{"atom":177}},{"Entity":{"atom":3}},{"Entity":{"atom":215}},{"Entity":{"atom":3}},{"Entity":{"atom":260}},{"Sequence":{"atoms":[375,376]}},{"Repetition":{"atom":377,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[372,373,374,378]}},{"Named":{"name":"committee_bare","atom":379}},{"Alternative":{"atoms":[239,276,314,335,357,371]}},{"Alternative":{"atoms":[0,30,76,92,105,157,195,238]}}],"root":382},"bindings":[]}},"preprocess":{},"tables":{"bipm_groups":{"file":"bipm_groups.yaml","rows":[{"name":"CCAUV"},{"name":"CCDS"},{"name":"CCRI"},{"name":"CCPR"},{"name":"CCEM"},{"name":"CCQM"},{"name":"CCTF"},{"name":"JCRB"},{"name":"CGPM"},{"name":"CIPM"},{"name":"CCM"},{"name":"CCU"},{"name":"CCL"},{"name":"CCT"}]},"bipm_type_codes":{"file":"bipm_type_codes.yaml","rows":[{"name":"DECL"},{"name":"DECN"},{"name":"ACT"},{"name":"RES"},{"name":"REC"}]},"bipm_type_names_en":{"file":"bipm_type_names_en.yaml","rows":[{"name":"Recommendation"},{"name":"Declaration"},{"name":"Resolution"},{"name":"Statement"},{"name":"Decision"},{"name":"Action"}]},"bipm_type_names_fr":{"file":"bipm_type_names_fr.yaml","rows":[{"name":"Recommandation"},{"name":"Déclaration"},{"name":"Résolution"},{"name":"Statement"},{"name":"Décision"},{"name":"Action"}]}},"lint":{"order_warnings":["rule connective: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule group_leading: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 7 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 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 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 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"SI Brochure 9e v3.0 (2019, EN)","expect":{}},{"entry":"identifier","kind":"accept","input":"SI MEP 10","expect":{}},{"entry":"identifier","kind":"accept","input":"CGPM 26th Meeting (2018)","expect":{}},{"entry":"identifier","kind":"accept","input":"Metrologia 24 3","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/bipm/parser.rb — BIPM identifiers: committee forms\n# (short/long EN/FR, meetings incl. French <sup>e</sup>), Metrologia,\n# the SI Brochure family, MEP/Guide reports. Groups and type names come\n# from gem-extracted tables (bipm_*.yaml), longest-first.\n\ngrammar PubidBipm version \"0.1.0\" {\n digit = %x30-39\n dot = \".\"\n alnum = 1*(digit / letter)\n letter = %x41-5A / %x61-7A\n digits = 1*digit\n space = \" \"\n dash = \"-\"\n slash = \"/\"\n colon = \":\"\n lparen = \"(\"\n rparen = \")\"\n number = (1*digit *(dash 1*digit)) as number\n year = (4digit) as year\n lang = (\"EN\" / \"FR\" / %x45 / %x46) as language\n year_paren = \"(\" year [(\", \" lang)] \")\"\n year_paren_nolang = \"(\" year \")\"\n group = alt from_table \"bipm_groups\" column \"name\" as group\n type_abbrev = alt from_table \"bipm_type_codes\" column \"name\" as type_word\n type_name_en = alt from_table \"bipm_type_names_en\" column \"name\" as type_word\n type_name_fr = alt from_table \"bipm_type_names_fr\" column \"name\" as type_word\n connective = \"de la\" / \"du\"\n ordinal = \"st\" / \"nd\" / \"rd\" / \"th\"\n meeting_word_fr = \"Réunion\" / \"réunion\"\n committee_short = ((group space type_abbrev [(space number)] [(space year_paren)]) as committee_short)\n committee_long_en = ((group space type_name_en [(space number)] [(space year_paren_nolang)]) as committee_long_en)\n committee_long_fr = ((type_name_fr [(space number)] space connective space group [(space year_paren_nolang)]) as committee_long_fr)\n committee_group_fr = ((group space type_name_fr [(space number)] [(space year_paren_nolang)]) as committee_long_fr)\n committee_bare = ((group space number [(space year_paren)]) as committee_bare)\n meeting_en = (((group space number ordinal space \"Meeting\" [(space year_paren)]) / (group space \"Meeting\" space number [(space year_paren)])) as meeting_en)\n meeting_fr = (((group space number \"<sup>e</sup>\" space \"réunion\" [(space year_paren)]) / (group space number \"e\" space meeting_word_fr [(space year_paren)]) / (group space meeting_word_fr space number [(space year_paren)])) as meeting_fr)\n metrologia = (\"Metrologia\" [(space digits as volume [(space alnum as issue [(space alnum as article)])])]) as metrologia\n edition = (digits \"e\") as edition\n version = (\"v\" 1*(digit / dot)) as version\n years = (digits [(slash digits)]) as years\n si_brochure = ((\"BIPM SI Brochure\" / \"SI Brochure\") space [\"sur le SI\" space] edition space version space \"(\" years \", \" lang \")\") as si_brochure\n brochure_variant = ((\"Appendix\" space digits) / \"Concise\" / \"FAQ\") as variant\n si_brochure_variant = ((\"BIPM SI Brochure\" / \"SI Brochure\") space brochure_variant) as si_brochure_variant\n si_brochure_section = ((\"BIPM SI Brochure\" / \"SI Brochure\") [(space \"Part\" space digits as part)]) as si_brochure_section\n appendix_part = \"Appendix\" space digits as appendix [(space \"Annex\" space digits as annex)] space \"Part\" space (digits [(dot digits)]) as part\n mep_code = (1*(digit / letter)) as mep_code\n report_code = (\"BIPM-\" digits slash digits) as report_code\n mep_body = ((\"SI MEP\" space mep_code) / (\"Rapport\" space report_code))\n mep = ((\"BIPM\" space mep_body space appendix_part) / mep_body) as mep\n guide_kind = (\"MeP\" / \"RSI\") as guide_kind\n guide_body = group \"-GD-\" guide_kind dash digits as number\n guide = ((\"BIPM\" space guide_body space appendix_part) / guide_body) as guide\n group_leading = meeting_en / meeting_fr / committee_short / committee_long_en / committee_group_fr / committee_bare\n identifier = metrologia / si_brochure / si_brochure_variant / si_brochure_section / mep / guide / committee_long_fr / group_leading\n\n entry identifier: identifier\n\n test {\n accept \"SI Brochure 9e v3.0 (2019, EN)\"\n accept \"SI MEP 10\"\n accept \"CGPM 26th Meeting (2018)\"\n accept \"Metrologia 24 3\"\n reject \"nonsense\"\n }\n}\n","source_hash":"a5947240ff7aac65c330ae091193da5a91a8bf1a78fafa9345a239262e2be95c","compiler_version":"1.3.93","checksum":"sha256:b8c1e81da0390889e86bb386f96533c1f66c38f3b6e9dabd5d0048761cdfc9d0"}
|