@pubid/pubid 0.1.30 → 0.1.32
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/artifact/corpus.json.gz +0 -0
- package/dist/flavors/iec/index.js +12 -5
- package/dist/flavors/ieee/index.js +321 -113
- package/dist/flavors/ieee/model.d.ts +18 -0
- package/dist/flavors/ieee/model.js +62 -8
- package/dist/flavors/ieee/preprocessor.js +3 -0
- package/dist/flavors/ieee/update_codes.js +1 -1
- package/dist/flavors/iho/index.js +198 -35
- package/dist/flavors/jis/index.js +74 -2
- package/dist/flavors/nist/grammar.js +44 -16
- package/dist/flavors/nist/index.js +17 -2
- package/dist/model/identifier.d.ts +9 -0
- package/dist/model/identifier.js +50 -0
- package/dist/urn/parsers.js +57 -20
- 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 -29571
- package/vendor/parg/ietf.json +1 -1
- package/vendor/parg/iho.json +1 -0
- package/vendor/parg/ire.json +1 -1
- package/vendor/parg/isbn.json +1 -1
- package/vendor/parg/iso.json +1 -8510
- 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 -9588
- 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","source_hash":"886da902f834ef691988eebfa183af6d7079356646c36d9729467aac5549068c","compiler_version":"1.3.93","checksum":"sha256:a475a6d6602a1ec29911bdbe0d9be739c8b5186d76113404d90d637f91e593b0"}
|
|
1
|
+
{"bindings":null,"version":"0.1.0","grammar":"PubidAsme","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":273}},{"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":"/"}},{"Named":{"name":"slash","atom":14}},{"Str":{"pattern":"ASME"}},{"Named":{"name":"second_publisher","atom":17}},{"Entity":{"atom":4}},{"Entity":{"atom":176}},{"Entity":{"atom":130}},{"Str":{"pattern":"BPVC"}},{"Entity":{"atom":128}},{"Entity":{"atom":4}},{"Str":{"pattern":"COMPLETE CODE BIND"}},{"Sequence":{"atoms":[24,25]}},{"Named":{"name":"special","atom":26}},{"Entity":{"atom":32}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"–"}},{"Str":{"pattern":"—"}},{"Alternative":{"atoms":[29,30,31]}},{"Str":{"pattern":"CC"}},{"Entity":{"atom":32}},{"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"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Alternative":{"atoms":[36,37,38,39,40,41,42,43,44,45,46,47]}},{"Named":{"name":"case_code","atom":35}},{"Sequence":{"atoms":[28,33,34,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":124}},{"Entity":{"atom":71}},{"Named":{"name":"section","atom":100}},{"Str":{"pattern":"."}},{"Entity":{"atom":104}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":103,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":48}},{"Alternative":{"atoms":[105,106]}},{"Named":{"name":"subsection","atom":107}},{"Sequence":{"atoms":[102,108]}},{"Repetition":{"atom":109,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"."}},{"Entity":{"atom":48}},{"Named":{"name":"sub_subsection","atom":112}},{"Sequence":{"atoms":[111,113]}},{"Repetition":{"atom":114,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":117}},{"Str":{"pattern":"_"}},{"Entity":{"atom":119}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Repetition":{"atom":118,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"lang_suffix","atom":120}},{"Sequence":{"atoms":[116,121]}},{"Repetition":{"atom":122,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[101,110,115,123]}},{"Alternative":{"atoms":[53,84,99]}},{"Named":{"name":"subdivision","atom":125}},{"Sequence":{"atoms":[51,126]}},{"Alternative":{"atoms":[27,50,127]}},{"Named":{"name":"bpvc_code","atom":23}},{"Sequence":{"atoms":[22,129]}},{"Named":{"name":"designator_code","atom":21}},{"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"}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"CSA"}},{"Str":{"pattern":"API"}},{"Str":{"pattern":"ANS"}},{"Entity":{"atom":119}},{"Repetition":{"atom":172,"min":1,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[132,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,169,170,171,173]}},{"Named":{"name":"designator","atom":174}},{"Alternative":{"atoms":[131,175]}},{"Entity":{"atom":237}},{"Entity":{"atom":52}},{"Entity":{"atom":104}},{"Entity":{"atom":119}},{"Alternative":{"atoms":[179,180]}},{"Repetition":{"atom":181,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":104}},{"Entity":{"atom":119}},{"Alternative":{"atoms":[184,185]}},{"Repetition":{"atom":186,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[183,187]}},{"Repetition":{"atom":188,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[178,182,189]}},{"Entity":{"atom":208}},{"Entity":{"atom":32}},{"Str":{"pattern":"20XX"}},{"Str":{"pattern":"202X"}},{"Str":{"pattern":"20"}},{"Entity":{"atom":104}},{"Str":{"pattern":"X"}},{"Sequence":{"atoms":[195,196,197]}},{"Entity":{"atom":104}},{"Repetition":{"atom":199,"min":4,"max":4,"tag":"Repetition"}},{"Alternative":{"atoms":[193,194,198,200]}},{"Entity":{"atom":206}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[.]"}},{"Alternative":{"atoms":[203,204,205]}},{"Lookahead":{"atom":202,"positive":false}},{"Sequence":{"atoms":[192,201,207]}},{"Lookahead":{"atom":191,"positive":false}},{"Entity":{"atom":32}},{"Entity":{"atom":104}},{"Entity":{"atom":119}},{"Alternative":{"atoms":[211,212]}},{"Repetition":{"atom":213,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":104}},{"Entity":{"atom":119}},{"Alternative":{"atoms":[216,217]}},{"Repetition":{"atom":218,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[215,219]}},{"Repetition":{"atom":220,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[209,210,214,221]}},{"Entity":{"atom":104}},{"Entity":{"atom":119}},{"Alternative":{"atoms":[223,224]}},{"Repetition":{"atom":225,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":104}},{"Entity":{"atom":119}},{"Alternative":{"atoms":[228,229]}},{"Repetition":{"atom":230,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[227,231]}},{"Repetition":{"atom":232,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[226,233]}},{"Alternative":{"atoms":[222,234]}},{"Alternative":{"atoms":[190,235]}},{"Named":{"name":"number","atom":236}},{"Repetition":{"atom":177,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":32}},{"Entity":{"atom":248}},{"Str":{"pattern":"20XX"}},{"Str":{"pattern":"202X"}},{"Str":{"pattern":"20"}},{"Entity":{"atom":104}},{"Str":{"pattern":"X"}},{"Sequence":{"atoms":[243,244,245]}},{"Alternative":{"atoms":[241,242,246]}},{"Named":{"name":"draft_year","atom":247}},{"Entity":{"atom":252}},{"Entity":{"atom":104}},{"Repetition":{"atom":250,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":251}},{"Alternative":{"atoms":[240,249]}},{"Sequence":{"atoms":[239,253]}},{"Repetition":{"atom":254,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":263}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Entity":{"atom":119}},{"Repetition":{"atom":259,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"language","atom":260}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[257,258,261,262]}},{"Repetition":{"atom":256,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":271}},{"Entity":{"atom":4}},{"Str":{"pattern":"(R"}},{"Entity":{"atom":252}},{"Named":{"name":"reaffirmation","atom":268}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[266,267,269,270]}},{"Repetition":{"atom":265,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[2,3,11,13,16,18,19,20,238,255,264,272]}},{"Entity":{"atom":303}},{"Str":{"pattern":"API"}},{"Named":{"name":"first_publisher","atom":275}},{"Entity":{"atom":4}},{"Entity":{"atom":104}},{"Str":{"pattern":"-"}},{"Alternative":{"atoms":[278,279]}},{"Repetition":{"atom":280,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"first_code","atom":281}},{"Entity":{"atom":4}},{"Repetition":{"atom":283,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":15}},{"Named":{"name":"slash","atom":285}},{"Str":{"pattern":"ASME"}},{"Named":{"name":"second_publisher","atom":287}},{"Entity":{"atom":4}},{"Entity":{"atom":176}},{"Entity":{"atom":237}},{"Repetition":{"atom":291,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":32}},{"Entity":{"atom":248}},{"Entity":{"atom":252}},{"Alternative":{"atoms":[294,295]}},{"Sequence":{"atoms":[293,296]}},{"Repetition":{"atom":297,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":263}},{"Repetition":{"atom":299,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":271}},{"Repetition":{"atom":301,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[276,277,282,284,286,288,289,290,292,298,300,302]}},{"Entity":{"atom":323}},{"Entity":{"atom":310}},{"Str":{"pattern":"ISO/ASME"}},{"Named":{"name":"joint_publisher","atom":306}},{"Entity":{"atom":4}},{"Repetition":{"atom":308,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[307,309]}},{"Entity":{"atom":237}},{"Repetition":{"atom":311,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":32}},{"Entity":{"atom":248}},{"Entity":{"atom":252}},{"Alternative":{"atoms":[314,315]}},{"Sequence":{"atoms":[313,316]}},{"Repetition":{"atom":317,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":263}},{"Repetition":{"atom":319,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":271}},{"Repetition":{"atom":321,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[305,312,318,320,322]}},{"Entity":{"atom":343}},{"Entity":{"atom":329}},{"Str":{"pattern":"ASME/ANS"}},{"Named":{"name":"joint_publisher","atom":326}},{"Entity":{"atom":4}},{"Sequence":{"atoms":[327,328]}},{"Entity":{"atom":176}},{"Entity":{"atom":237}},{"Repetition":{"atom":331,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":32}},{"Entity":{"atom":248}},{"Entity":{"atom":252}},{"Alternative":{"atoms":[334,335]}},{"Sequence":{"atoms":[333,336]}},{"Repetition":{"atom":337,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":263}},{"Repetition":{"atom":339,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":271}},{"Repetition":{"atom":341,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[325,330,332,338,340,342]}},{"Entity":{"atom":493}},{"Entity":{"atom":348}},{"Str":{"pattern":"ASME"}},{"Entity":{"atom":4}},{"Sequence":{"atoms":[346,347]}},{"Named":{"name":"publisher","atom":345}},{"Entity":{"atom":378}},{"Str":{"pattern":"PTC"}},{"Named":{"name":"designator","atom":351}},{"Entity":{"atom":371}},{"Entity":{"atom":4}},{"Repetition":{"atom":354,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":104}},{"Repetition":{"atom":356,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":104}},{"Repetition":{"atom":359,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[358,360]}},{"Repetition":{"atom":361,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[357,362]}},{"Named":{"name":"number","atom":363}},{"Entity":{"atom":4}},{"Entity":{"atom":119}},{"Repetition":{"atom":366,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"ptc_suffix","atom":367}},{"Sequence":{"atoms":[365,368]}},{"Repetition":{"atom":369,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[355,364,370]}},{"Entity":{"atom":32}},{"Entity":{"atom":248}},{"Entity":{"atom":252}},{"Alternative":{"atoms":[373,374]}},{"Sequence":{"atoms":[372,375]}},{"Repetition":{"atom":376,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[352,353,377]}},{"Entity":{"atom":416}},{"Str":{"pattern":"TR"}},{"Named":{"name":"designator","atom":380}},{"Entity":{"atom":409}},{"Entity":{"atom":4}},{"Repetition":{"atom":383,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":104}},{"Entity":{"atom":119}},{"Alternative":{"atoms":[385,386]}},{"Repetition":{"atom":387,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":104}},{"Entity":{"atom":119}},{"Alternative":{"atoms":[390,391]}},{"Repetition":{"atom":392,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[389,393]}},{"Repetition":{"atom":394,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[388,395]}},{"Entity":{"atom":32}},{"Entity":{"atom":104}},{"Repetition":{"atom":398,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":104}},{"Repetition":{"atom":401,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[400,402]}},{"Repetition":{"atom":403,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[397,399,404]}},{"Repetition":{"atom":405,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[396,406]}},{"Named":{"name":"number","atom":407}},{"Sequence":{"atoms":[384,408]}},{"Entity":{"atom":32}},{"Entity":{"atom":248}},{"Entity":{"atom":252}},{"Alternative":{"atoms":[411,412]}},{"Sequence":{"atoms":[410,413]}},{"Repetition":{"atom":414,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[381,382,415]}},{"Entity":{"atom":461}},{"Entity":{"atom":176}},{"Entity":{"atom":423}},{"Entity":{"atom":4}},{"Repetition":{"atom":420,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":237}},{"Sequence":{"atoms":[421,422]}},{"Repetition":{"atom":419,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":437}},{"Entity":{"atom":15}},{"Named":{"name":"slash","atom":426}},{"Str":{"pattern":"CSA"}},{"Entity":{"atom":4}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Entity":{"atom":104}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[431,432]}},{"Repetition":{"atom":433,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[430,434]}},{"Named":{"name":"csa_number","atom":435}},{"Sequence":{"atoms":[427,428,429,436]}},{"Entity":{"atom":442}},{"Entity":{"atom":4}},{"Str":{"pattern":"Handbook"}},{"Sequence":{"atoms":[439,440]}},{"Named":{"name":"handbook","atom":441}},{"Repetition":{"atom":438,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[425,443]}},{"Entity":{"atom":442}},{"Alternative":{"atoms":[444,445]}},{"Repetition":{"atom":446,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":263}},{"Repetition":{"atom":448,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":32}},{"Entity":{"atom":248}},{"Entity":{"atom":252}},{"Alternative":{"atoms":[451,452]}},{"Sequence":{"atoms":[450,453]}},{"Repetition":{"atom":454,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":263}},{"Repetition":{"atom":456,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[418,424,447,449,455,457]}},{"Entity":{"atom":378}},{"Entity":{"atom":416}},{"Alternative":{"atoms":[458,459,460]}},{"Alternative":{"atoms":[350,379,417]}},{"Entity":{"atom":477}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Str":{"pattern":"Proposed revision of"}},{"Str":{"pattern":"Revision of"}},{"Alternative":{"atoms":[466,467]}},{"Entity":{"atom":4}},{"Entity":{"atom":473}},{"Re":{"pattern":"[\\x01-\\x28]"}},{"Re":{"pattern":"[\\x2a-\\u{10ffff}]"}},{"Alternative":{"atoms":[471,472]}},{"Repetition":{"atom":470,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"ref_standard","atom":474}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[464,465,468,469,475,476]}},{"Repetition":{"atom":463,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":271}},{"Repetition":{"atom":479,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":491}},{"Entity":{"atom":4}},{"Str":{"pattern":"["}},{"Entity":{"atom":487}},{"Re":{"pattern":"[\\x01-\\x5c]"}},{"Re":{"pattern":"[\\x5e-\\u{10ffff}]"}},{"Alternative":{"atoms":[485,486]}},{"Repetition":{"atom":484,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"revision_note","atom":488}},{"Str":{"pattern":"]"}},{"Sequence":{"atoms":[482,483,489,490]}},{"Repetition":{"atom":481,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[349,462,478,480,492]}},{"Alternative":{"atoms":[0,274,304,324,344]}}],"root":494},"bindings":[{"capture":"designator","path":"designator","type":"string","card":null,"preprocess":null},{"capture":"designator_code","path":"designator_code","type":"raw","card":null,"preprocess":null},{"capture":"reaffirmation","path":"reaffirmation","type":"raw","card":null,"preprocess":null},{"capture":"number","path":"number","type":"string","card":null,"preprocess":null},{"capture":"ptc_suffix","path":"ptc_suffix","type":"string","card":null,"preprocess":null},{"capture":"year","path":"year","type":"string","card":null,"preprocess":null},{"capture":"draft_year","path":"draft_year","type":"string","card":null,"preprocess":null},{"capture":"csa_number","path":"csa_number","type":"string","card":null,"preprocess":null},{"capture":"ref_standard","path":"ref_standard","type":"string","card":null,"preprocess":null},{"capture":"revision_note","path":"revision_note","type":"string","card":null,"preprocess":null},{"capture":"language","path":"language","type":"string","card":null,"preprocess":null},{"capture":"handbook","path":"handbook","type":"string","card":null,"preprocess":null},{"capture":"first_publisher","path":"first_publisher","type":"string","card":null,"preprocess":null},{"capture":"first_code","path":"first_code","type":"string","card":null,"preprocess":null},{"capture":"second_publisher","path":"second_publisher","type":"string","card":null,"preprocess":null},{"capture":"joint_publisher","path":"joint_publisher","type":"string","card":null,"preprocess":null}]}},"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: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 1 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 1 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 1 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 1 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 1 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 1 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 2 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 2 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 2 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 3 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 4 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 5 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 5 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 5 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 5 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 6 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 6 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 6 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 6 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 7 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 7 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 8 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 9 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 9 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: branches 10 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter: 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 designator: branches 1 and 2 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 BPVC-CC-BPV","expect":{}},{"entry":"identifier","kind":"accept","input":"ASME BPVC.CC.NC.XI","expect":{}},{"entry":"identifier","kind":"accept","input":"ASME BPVC.SSC.XI.II","expect":{}},{"entry":"identifier","kind":"accept","input":"ASME BPVC COMPLETE CODE BIND","expect":{}},{"entry":"identifier","kind":"accept","input":"ASME PTC 19.3","expect":{}},{"entry":"identifier","kind":"accept","input":"ASME Y14.5-2018","expect":{}},{"entry":"identifier","kind":"accept","input":"ISO/ASME 14414-2015","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#\n# Edition-2 conversion. The builder probes the designator composite\n# with is_a?(Hash) and reads designator.bpvc_code.{special,\n# subdivision.{ssc_code.ssc_sections, case_code, case_sub, section,\n# subsection, sub_subsection, lang_suffix}, case_code}, so the v1\n# wrapper nesting (designator / bpvc_code / subdivision / ssc_code) is\n# kept exactly: the designator capture binds uncast with (raw) — a hash\n# for the BPVC branches, the plain scalar span for simple codes.\n# reaffirmation keeps the v1 composite shape ({reaffirmation: {year}})\n# and also binds (raw), so the build is bit-identical to v1's.\n# Pure-raw rule bodies are inlined at capture sites (num_letter,\n# letters, digits, csa_first_char stay usable; numdash is inlined as\n# (digit / \"-\"); bpvc_letter is bpvc_letter_code with the letter rule\n# spelled as its class) so every capture binds one span.\n\ngrammar PubidAsme version \"0.1.0\" edition 2 {\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 publisher = \"ASME\" space\n\n roman_numeral = {\n \"XIII\"\n / \"XII\"\n / \"XI\"\n / \"VIII\"\n / \"VII\"\n / \"VI\"\n / \"IV\"\n / \"IX\"\n / \"X\"\n / \"III\"\n / \"II\"\n / \"V\"\n / \"I\"\n }\n bpvc_letter = {\n \"NCA\"\n / \"NCD\"\n / \"SSC\"\n / \"BPV\"\n / \"NUC\"\n / \"NB\"\n / \"NC\"\n / \"ND\"\n / \"NE\"\n / \"NF\"\n / \"NG\"\n / %x41-5A\n }\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 = {\n (\n \"CC\" dot bpvc_letter as case_code\n [(\".\" [dot] (roman_numeral / bpvc_letter) as case_sub)]\n )\n }\n subdivision_code = {\n (\n roman_numeral as section\n [(\".\" ((1*digit) / bpvc_letter) as subsection)]\n [(\".\" bpvc_letter as sub_subsection)]\n [(underscore (1*upper) as lang_suffix)]\n )\n }\n bpvc_tail = {\n (space \"COMPLETE CODE BIND\") as special\n / (dash \"CC\" dash bpvc_letter as case_code)\n / (dot (ssc_code / cc_case / subdivision_code) as subdivision)\n }\n bpvc_subdivision = \"BPVC\" ((bpvc_tail)) as bpvc_code\n multi_char_code = {\n \"PVHO\"\n / \"PASE\"\n / \"PTC\"\n / \"PTB\"\n / \"PDS\"\n / \"PCC\"\n / \"V&V\"\n / \"V V\"\n / \"VVUQ\"\n / \"TDP\"\n / \"RTP\"\n / \"RT\"\n / \"RA-S\"\n / \"RA\"\n / \"QME\"\n / \"QAI\"\n / \"QEI\"\n / \"NUM\"\n / \"NQA\"\n / \"NML\"\n / \"OM\"\n / \"HST\"\n / \"HRT\"\n / \"FFS\"\n / \"TES\"\n / \"TR\"\n / \"STS\"\n / \"CSD\"\n / \"CA\"\n / \"BTH\"\n / \"BPE\"\n / \"ANDE\"\n / \"AED\"\n / \"AG\"\n / \"NM\"\n / \"EA\"\n }\n designator = {\n (\n # The BPVC composite forms keep the v1 nested shape (the builder\n # walks bpvc_code/special/subdivision inside it), so this branch\n # binds (raw) under its own capture name. The plain branch binds\n # (string) over an inlined pure-literal alternation: a (raw) bare\n # span serializes as a span object on native but a plain string on\n # wasm (parsanol-ruby#383/#394 family) — only typed-scalar\n # bindings agree across engines.\n ( ((bpvc_subdivision)) ) as designator_code\n / (\n \"PVHO\" / \"PASE\" / \"PTC\" / \"PTB\" / \"PDS\" / \"PCC\" / \"V&V\" / \"V V\"\n / \"VVUQ\" / \"TDP\" / \"RTP\" / \"RT\" / \"RA-S\" / \"RA\" / \"QME\" / \"QAI\"\n / \"QEI\" / \"NUM\" / \"NQA\" / \"NML\" / \"OM\" / \"HST\" / \"HRT\" / \"FFS\"\n / \"TES\" / \"TR\" / \"STS\" / \"CSD\" / \"CA\" / \"BTH\" / \"BPE\" / \"ANDE\"\n / \"AED\" / \"AG\" / \"NM\" / \"EA\"\n / \"ISO\" / \"CSA\" / \"API\" / \"ANS\"\n / (1*upper)\n ) as designator\n )\n }\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 = {\n (\n (dot (1*(digit / upper)) *((dot 1*(digit / upper))))\n / (\n ((!trailing_year) dash (1*(digit / upper)) *((dot 1*(digit / upper))))\n / ((1*(digit / upper)) *((dot 1*(digit / upper))))\n )\n ) as number\n }\n ptc_number = [space] ((1*digit) *((dot 1*digit))) as number [(space (1*upper) as ptc_suffix)]\n tr_number = {\n [space]\n (\n ((1*(digit / upper)) *((dot 1*(digit / upper))))\n [(dash (1*digit) *((dot 1*digit)))]\n ) as number\n }\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 (((%x41-5A) 1*((digit / dot))) as csa_number)\n parenthetical_revision = {\n space \"(\" (\"Proposed revision of\" / \"Revision of\")\n space ((1*non_rparen)) as ref_standard\n \")\"\n }\n revision_note = space \"[\" ((1*non_rbracket)) as revision_note \"]\"\n language = space \"(\" ((1*upper)) 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 = {\n publisher\n designator\n [number_part]\n [((csa_portion / handbook_keyword))]\n [language]\n [((dash (draft_year / year_4digit)))]\n [language]\n [parenthetical_revision]\n [reaffirmation]\n [revision_note]\n }\n csa_first_char = %x41-5A / %x30-39 / %x2E\n csa_asme_identifier = {\n (\n \"CSA\" as first_publisher\n space\n ((1*csa_first_char)) as first_code\n [space]\n slash\n \"ASME\" as second_publisher\n space\n designator\n [number_part]\n [((dash (draft_year / year_4digit)))]\n [language]\n [reaffirmation]\n )\n }\n api_asme_identifier = {\n (\n \"API\" as first_publisher\n space\n ((1*(digit / \"-\"))) as first_code\n [space]\n slash\n \"ASME\" as second_publisher\n space\n designator\n [number_part]\n [((dash (draft_year / year_4digit)))]\n [language]\n [reaffirmation]\n )\n }\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 = {\n (\n iso_asme_publisher\n [number_part]\n [((dash (draft_year / year_4digit)))]\n [language]\n [reaffirmation]\n )\n }\n asme_ans_identifier = {\n (\n asme_ans_publisher\n designator\n [number_part]\n [((dash (draft_year / year_4digit)))]\n [language]\n [reaffirmation]\n )\n }\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 = {\n (\n designator [spaced_number_part]\n [((csa_portion [handbook_keyword]) / handbook_keyword)]\n [language] [((dash (draft_year / year_4digit)))] [language]\n )\n / ptc_form\n / tr_form\n }\n standard = {\n publisher\n ((ptc_form / tr_form / standard_body))\n [parenthetical_revision]\n [reaffirmation]\n [revision_note]\n }\n\n identifier = {\n csa_asme_identifier\n / api_asme_identifier\n / iso_asme_identifier\n / asme_ans_identifier\n / standard\n }\n\n entry identifier: identifier\n\n bindings identifier {\n designator -> designator (string)\n designator_code -> designator_code (raw)\n reaffirmation -> reaffirmation (raw)\n number -> number (string)\n ptc_suffix -> ptc_suffix (string)\n year -> year (string)\n draft_year -> draft_year (string)\n csa_number -> csa_number (string)\n ref_standard -> ref_standard (string)\n revision_note -> revision_note (string)\n language -> language (string)\n handbook -> handbook (string)\n first_publisher -> first_publisher (string)\n first_code -> first_code (string)\n second_publisher -> second_publisher (string)\n joint_publisher -> joint_publisher (string)\n }\n\n test {\n accept \"ASME BPVC.VIII\"\n accept \"ASME BPVC-CC-BPV\"\n accept \"ASME BPVC.CC.NC.XI\"\n accept \"ASME BPVC.SSC.XI.II\"\n accept \"ASME BPVC COMPLETE CODE BIND\"\n accept \"ASME PTC 19.3\"\n accept \"ASME Y14.5-2018\"\n accept \"ISO/ASME 14414-2015\"\n reject \"nonsense\"\n }\n}\n","source_hash":"1216743cda8b0e28a6f9911ab4aa9d47f5acf2434ccfcb2ab12f80ab1d84066b","unicode_tables":"onigmo (Ruby 3.4.8)","compiler_version":"1.3.121","edition":2,"semantics_hash":"sha256:ae16cb0a217cc973e08db8e164eed42bb76f8b67b1806a33b1ce12711af411d1","checksum":"sha256:4e39abcb0ebd365d933963857eaeaf43ac241549c0bb7ec1d3ec37b130d80a90"}
|
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","source_hash":"763a1fc4a626b8a6493e1729e579d89e9f3a5eebc5820a07cd03b28ded022bfc","compiler_version":"1.3.93","checksum":"sha256:f0c1ac3e420856fa560260dc9ac565a6db73164569b81470308886350b72b3de"}
|
|
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":":"}},{"Named":{"name":"colon","atom":12}},{"Entity":{"atom":16}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Entity":{"atom":18}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":17,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[15,19]}},{"Named":{"name":"committee","atom":20}},{"Entity":{"atom":23}},{"Str":{"pattern":"-"}},{"Entity":{"atom":18}},{"Repetition":{"atom":24,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":25}},{"Sequence":{"atoms":[9,11,14,21,22,26]}},{"Entity":{"atom":68}},{"Entity":{"atom":54}},{"Str":{"pattern":"ISO/ASTMTR"}},{"Named":{"name":"type","atom":30}},{"Entity":{"atom":18}},{"Repetition":{"atom":32,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":33}},{"Entity":{"atom":39}},{"Entity":{"atom":23}},{"Str":{"pattern":"EB"}},{"Named":{"name":"format_suffix","atom":37}},{"Sequence":{"atoms":[36,38]}},{"Repetition":{"atom":35,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Entity":{"atom":5}},{"Repetition":{"atom":42,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"#"}},{"Entity":{"atom":48}},{"Re":{"pattern":"[\\x01-\\x22]"}},{"Re":{"pattern":"[\\x24-\\u{10ffff}]"}},{"Alternative":{"atoms":[46,47]}},{"Named":{"name":"non_hash","atom":45}},{"Repetition":{"atom":49,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[43,44,50]}},{"Repetition":{"atom":51,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":41,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[31,34,40,53]}},{"Entity":{"atom":67}},{"Entity":{"atom":8}},{"Repetition":{"atom":56,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"TR"}},{"Named":{"name":"type","atom":58}},{"Entity":{"atom":18}},{"Repetition":{"atom":60,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":61}},{"Entity":{"atom":39}},{"Repetition":{"atom":63,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Repetition":{"atom":65,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[57,59,62,64,66]}},{"Alternative":{"atoms":[29,55]}},{"Entity":{"atom":116}},{"Entity":{"atom":8}},{"Repetition":{"atom":70,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"MNL"}},{"Named":{"name":"type","atom":72}},{"Str":{"pattern":"TP"}},{"Named":{"name":"tp_designation","atom":74}},{"Repetition":{"atom":75,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":18}},{"Repetition":{"atom":77,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":78}},{"Entity":{"atom":23}},{"Entity":{"atom":98}},{"Str":{"pattern":"e"}},{"Entity":{"atom":18}},{"Repetition":{"atom":83,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"edition_number","atom":84}},{"Sequence":{"atoms":[82,85]}},{"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":[87,88,89,90,91,92,93,94,95]}},{"Named":{"name":"edition_ordinal","atom":96}},{"Alternative":{"atoms":[86,97]}},{"Sequence":{"atoms":[80,81]}},{"Repetition":{"atom":99,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Entity":{"atom":23}},{"Str":{"pattern":"SUP"}},{"Named":{"name":"supplement","atom":103}},{"Entity":{"atom":23}},{"Sequence":{"atoms":[102,104,105]}},{"Entity":{"atom":109}},{"Str":{"pattern":"EB"}},{"Named":{"name":"format_suffix","atom":108}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[101,110]}},{"Entity":{"atom":39}},{"Repetition":{"atom":112,"min":0,"max":1,"tag":"Maybe"}},{"Alternative":{"atoms":[111,113]}},{"Repetition":{"atom":114,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[71,73,76,79,100,115]}},{"Entity":{"atom":131}},{"Entity":{"atom":8}},{"Repetition":{"atom":118,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"MONO"}},{"Named":{"name":"type","atom":120}},{"Entity":{"atom":18}},{"Repetition":{"atom":122,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":123}},{"Entity":{"atom":23}},{"Entity":{"atom":98}},{"Sequence":{"atoms":[125,126]}},{"Repetition":{"atom":127,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":39}},{"Repetition":{"atom":129,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[119,121,124,128,130]}},{"Entity":{"atom":166}},{"Entity":{"atom":8}},{"Repetition":{"atom":133,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"DS"}},{"Named":{"name":"type","atom":135}},{"Entity":{"atom":163}},{"Entity":{"atom":18}},{"Repetition":{"atom":138,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":139}},{"Str":{"pattern":"HOL"}},{"Named":{"name":"hol_suffix","atom":141}},{"Entity":{"atom":145}},{"Entity":{"atom":16}},{"Named":{"name":"suffix","atom":144}},{"Entity":{"atom":149}},{"Entity":{"atom":18}},{"Repetition":{"atom":147,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"subseries","atom":148}},{"Entity":{"atom":156}},{"Entity":{"atom":23}},{"Str":{"pattern":"S"}},{"Entity":{"atom":18}},{"Repetition":{"atom":153,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"subseries","atom":154}},{"Sequence":{"atoms":[151,152,155]}},{"Alternative":{"atoms":[146,150]}},{"Repetition":{"atom":157,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[143,158]}},{"Entity":{"atom":156}},{"Alternative":{"atoms":[142,159,160]}},{"Repetition":{"atom":161,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[140,162]}},{"Entity":{"atom":39}},{"Repetition":{"atom":164,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[134,136,137,165]}},{"Entity":{"atom":175}},{"Entity":{"atom":8}},{"Repetition":{"atom":168,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"WK"}},{"Named":{"name":"type","atom":170}},{"Entity":{"atom":18}},{"Repetition":{"atom":172,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":173}},{"Sequence":{"atoms":[169,171,174]}},{"Entity":{"atom":202}},{"Entity":{"atom":8}},{"Repetition":{"atom":177,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"ADJ"}},{"Named":{"name":"type","atom":179}},{"Entity":{"atom":16}},{"Entity":{"atom":183}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[181,182]}},{"Entity":{"atom":18}},{"Repetition":{"atom":185,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[184,186]}},{"Entity":{"atom":16}},{"Repetition":{"atom":188,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":18}},{"Repetition":{"atom":190,"min":1,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[187,189,191]}},{"Named":{"name":"designation","atom":192}},{"Entity":{"atom":23}},{"Str":{"pattern":"EA"}},{"Sequence":{"atoms":[194,195]}},{"Repetition":{"atom":196,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"ea_suffix","atom":197}},{"Str":{"pattern":"DVD"}},{"Named":{"name":"dvd_suffix","atom":199}},{"Repetition":{"atom":200,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[178,180,193,198,201]}},{"Entity":{"atom":255}},{"Entity":{"atom":8}},{"Repetition":{"atom":204,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":226}},{"Entity":{"atom":209}},{"Re":{"pattern":"[\\x41-\\x47]"}},{"Named":{"name":"letter","atom":208}},{"Entity":{"atom":18}},{"Repetition":{"atom":210,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":211}},{"Entity":{"atom":224}},{"Entity":{"atom":215}},{"Str":{"pattern":"/"}},{"Named":{"name":"slash","atom":214}},{"Entity":{"atom":209}},{"Entity":{"atom":220}},{"Entity":{"atom":18}},{"Repetition":{"atom":219,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"digits","atom":218}},{"Str":{"pattern":"M"}},{"Named":{"name":"dual_m","atom":222}},{"Sequence":{"atoms":[216,217,221,223]}},{"Repetition":{"atom":213,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[207,212,225]}},{"Entity":{"atom":230}},{"Entity":{"atom":18}},{"Repetition":{"atom":228,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":229}},{"Alternative":{"atoms":[206,227]}},{"Entity":{"atom":23}},{"Entity":{"atom":236}},{"Entity":{"atom":18}},{"Repetition":{"atom":234,"min":2,"max":null,"tag":"Repetition"}},{"Named":{"name":"year","atom":235}},{"Entity":{"atom":239}},{"Re":{"pattern":"[\\x61-\\x63]"}},{"Named":{"name":"sub_year","atom":238}},{"Repetition":{"atom":237,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":247}},{"Str":{"pattern":"("}},{"Entity":{"atom":18}},{"Repetition":{"atom":243,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"reapproval","atom":244}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[242,245,246]}},{"Repetition":{"atom":241,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":98}},{"Repetition":{"atom":249,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[232,233,240,248,250]}},{"Repetition":{"atom":251,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Repetition":{"atom":253,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[205,231,252,254]}},{"Alternative":{"atoms":[0,28,69,117,132,167,176,203]}}],"root":256},"bindings":[{"capture":"publisher","path":"publisher","type":"string","card":null,"preprocess":null},{"capture":"letter","path":"letter","type":"string","card":null,"preprocess":null},{"capture":"year","path":"year","type":"string","card":null,"preprocess":null},{"capture":"reapproval","path":"reapproval","type":"string","card":null,"preprocess":null},{"capture":"edition_number","path":"edition_number","type":"string","card":null,"preprocess":null},{"capture":"edition_ordinal","path":"edition_ordinal","type":"string","card":null,"preprocess":null},{"capture":"sub_year","path":"sub_year","type":"string","card":null,"preprocess":null},{"capture":"format_suffix","path":"format_suffix","type":"string","card":null,"preprocess":null},{"capture":"supplement","path":"supplement","type":"string","card":null,"preprocess":null},{"capture":"type","path":"type","type":"string","card":null,"preprocess":null},{"capture":"committee","path":"committee","type":"string","card":null,"preprocess":null},{"capture":"number","path":"number","type":"string","card":null,"preprocess":null},{"capture":"tp_designation","path":"tp_designation","type":"string","card":null,"preprocess":null},{"capture":"suffix","path":"suffix","type":"string","card":null,"preprocess":null},{"capture":"subseries","path":"subseries","type":"string","card":null,"preprocess":null},{"capture":"hol_suffix","path":"hol_suffix","type":"string","card":null,"preprocess":null},{"capture":"designation","path":"designation","type":"string","card":null,"preprocess":null},{"capture":"ea_suffix","path":"ea_suffix","type":"string","card":null,"preprocess":null},{"capture":"dvd_suffix","path":"dvd_suffix","type":"string","card":null,"preprocess":null},{"capture":"dual_m","path":"dual_m","type":"string","card":null,"preprocess":null}]}},"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\" edition 2 {\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 = {\n (\n (\"e\" (1*digit) as edition_number)\n / (\"9TH\" / \"8TH\" / \"7TH\" / \"6TH\" / \"5TH\" / \"4TH\" / \"3RD\" / \"2ND\" / \"1ST\") as edition_ordinal\n )\n }\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 1*digit as number\n manual = {\n [publisher]\n \"MNL\" as type\n [\"TP\" as tp_designation]\n 1*digit as number\n [(dash edition)]\n [\n (supplement [format_suffix_no_dash])\n / [format_suffix]\n ]\n }\n monograph = [publisher] \"MONO\" as type 1*digit as number [(dash edition)] [format_suffix]\n data_series_suffix = upper as suffix\n data_series_subseries_with_dash = dash \"S\" 1*digit as subseries\n data_series_subseries_no_dash = 1*digit as subseries\n data_series_code = {\n 1*digit as number\n [\n (\"HOL\" as hol_suffix)\n / (data_series_suffix [(data_series_subseries_no_dash / data_series_subseries_with_dash)])\n / data_series_subseries_with_dash\n ]\n }\n data_series = [publisher] \"DS\" as type data_series_code [format_suffix]\n work_in_progress = [publisher] \"WK\" as type 1*digit as number\n adjunct = {\n [publisher]\n \"ADJ\" as type\n (\n (upper / lower) (1*digit)\n / 1*upper\n / 1*digit\n ) as designation\n ([dash \"EA\"]) as ea_suffix\n [\"DVD\" as dvd_suffix]\n }\n technical_report_iso_astm = \"ISO/ASTMTR\" as type 1*digit as number [format_suffix] [comment]\n technical_report_simple = [publisher] \"TR\" as type 1*digit 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 1*digit as number [dual_unit]\n standard_code_digit_only = 1*digit as number\n standard = {\n [publisher]\n (standard_code_with_letter / standard_code_digit_only)\n [(dash year_2digit [sub_year] [reapproval] [edition])]\n [comment]\n }\n identifier = {\n research_report\n / technical_report\n / manual\n / monograph\n / data_series\n / work_in_progress\n / adjunct\n / standard\n }\n\n entry identifier: identifier\n\n bindings identifier {\n publisher -> publisher (string)\n letter -> letter (string)\n year -> year (string)\n reapproval -> reapproval (string)\n edition_number -> edition_number (string)\n edition_ordinal -> edition_ordinal (string)\n sub_year -> sub_year (string)\n format_suffix -> format_suffix (string)\n supplement -> supplement (string)\n type -> type (string)\n committee -> committee (string)\n number -> number (string)\n tp_designation -> tp_designation (string)\n suffix -> suffix (string)\n subseries -> subseries (string)\n hol_suffix -> hol_suffix (string)\n designation -> designation (string)\n ea_suffix -> ea_suffix (string)\n dvd_suffix -> dvd_suffix (string)\n dual_m -> dual_m (string)\n }\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":"57fc39c71609a4d36d2c65e85c30e52815acd950af8f1bac65e018ce1dc555e7","unicode_tables":"onigmo (Ruby 3.4.8)","compiler_version":"1.3.121","edition":2,"semantics_hash":"sha256:2f8caf8b19811271c3266f8b46b7366194147c9b2fd526b2c258c1f35c330d03","checksum":"sha256:0a49cc030b56750cf06813508b836f9ff94a9a1e30db37854b2dda6835c3c28c"}
|