@pubid/pubid 0.1.8 → 0.1.9

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.
Files changed (76) hide show
  1. package/artifact/corpus.json.gz +0 -0
  2. package/dist/flavors/cen_cenelec/grammar.js +10 -4
  3. package/dist/flavors/cen_cenelec/index.js +20 -1
  4. package/dist/flavors/cen_cenelec/model.d.ts +1 -0
  5. package/dist/flavors/cen_cenelec/model.js +4 -1
  6. package/dist/flavors/evs/grammar.js +53 -7
  7. package/dist/flavors/evs/index.js +74 -7
  8. package/dist/flavors/evs/model.d.ts +37 -1
  9. package/dist/flavors/evs/model.js +173 -11
  10. package/dist/flavors/ieee/artifact_tree.d.ts +2 -0
  11. package/dist/flavors/ieee/artifact_tree.js +36 -0
  12. package/dist/flavors/ieee/grammar.js +99 -19
  13. package/dist/flavors/ieee/index.js +312 -18
  14. package/dist/flavors/ieee/model.d.ts +5 -0
  15. package/dist/flavors/ieee/model.js +130 -20
  16. package/dist/flavors/ieee/preprocessor.js +3 -6
  17. package/dist/flavors/nist/grammar.js +18 -9
  18. package/dist/flavors/nist/index.js +16 -7
  19. package/dist/flavors/nist/preprocessor.js +9 -1
  20. package/dist/parg/runtime.d.ts +25 -0
  21. package/dist/parg/runtime.js +76 -0
  22. package/dist/parg/suite.d.ts +4 -0
  23. package/dist/parg/suite.js +14 -0
  24. package/dist/urn/parsers.js +7 -0
  25. package/package.json +6 -4
  26. package/vendor/parg/adobe.json +1 -0
  27. package/vendor/parg/aiee.json +1 -0
  28. package/vendor/parg/amca.json +1 -0
  29. package/vendor/parg/ansi.json +1 -0
  30. package/vendor/parg/api.json +1 -0
  31. package/vendor/parg/ashrae.json +1 -0
  32. package/vendor/parg/asme.json +1 -0
  33. package/vendor/parg/astm.json +1 -0
  34. package/vendor/parg/bipm.json +1 -0
  35. package/vendor/parg/bsi.json +1 -0
  36. package/vendor/parg/calconnect.json +1 -0
  37. package/vendor/parg/ccsds.json +1 -0
  38. package/vendor/parg/cen_cenelec.json +1 -0
  39. package/vendor/parg/cie.json +1 -0
  40. package/vendor/parg/csa.json +1 -0
  41. package/vendor/parg/doi.json +1 -0
  42. package/vendor/parg/easc.json +1 -0
  43. package/vendor/parg/ecma.json +1 -0
  44. package/vendor/parg/etsi.json +1 -0
  45. package/vendor/parg/evs.json +1 -0
  46. package/vendor/parg/gb.json +1 -0
  47. package/vendor/parg/gost.json +1 -0
  48. package/vendor/parg/iala.json +1 -0
  49. package/vendor/parg/iana.json +1 -0
  50. package/vendor/parg/idf.json +1 -0
  51. package/vendor/parg/iec.json +1 -0
  52. package/vendor/parg/ieee.json +1 -0
  53. package/vendor/parg/ietf.json +1 -0
  54. package/vendor/parg/ire.json +1 -0
  55. package/vendor/parg/isbn.json +1 -0
  56. package/vendor/parg/iso.json +1 -0
  57. package/vendor/parg/itu.json +1 -0
  58. package/vendor/parg/jcgm.json +1 -0
  59. package/vendor/parg/jis.json +1 -0
  60. package/vendor/parg/nesc.json +1 -0
  61. package/vendor/parg/nist.json +1 -0
  62. package/vendor/parg/oasis.json +1 -0
  63. package/vendor/parg/ogc.json +1 -0
  64. package/vendor/parg/oiml.json +1 -0
  65. package/vendor/parg/omg.json +1 -0
  66. package/vendor/parg/parg.json +1 -0
  67. package/vendor/parg/plateau.json +1 -0
  68. package/vendor/parg/sae.json +1 -0
  69. package/vendor/parg/tgpp.json +1 -0
  70. package/vendor/parg/un.json +1 -0
  71. package/vendor/parg/w3c.json +1 -0
  72. package/vendor/parg/xsf.json +1 -0
  73. package/dist/pg/runtime.d.ts +0 -85
  74. package/dist/pg/runtime.js +0 -170
  75. package/dist/pg/suite.d.ts +0 -20
  76. package/dist/pg/suite.js +0 -90
@@ -0,0 +1 @@
1
+ {"bindings":null,"version":"0.1.0","grammar":"PubidAiee","shape":"parsanol-tree/v2","binding_version":1,"entries":{"aiee_identifier":{"root":"aiee_identifier","grammar":{"atoms":[{"Entity":{"atom":6}},{"Str":{"pattern":"IEEE-AIEE"}},{"Str":{"pattern":"A.I.E.E."}},{"Str":{"pattern":"A. I. E. E."}},{"Str":{"pattern":"AIEE"}},{"Alternative":{"atoms":[1,2,3,4]}},{"Named":{"name":"publisher","atom":5}},{"Entity":{"atom":8}},{"Str":{"pattern":" "}},{"Entity":{"atom":22}},{"Str":{"pattern":"Standard No."}},{"Str":{"pattern":"Standard No"}},{"Str":{"pattern":"Std No."}},{"Str":{"pattern":"Std No"}},{"Str":{"pattern":"Std"}},{"Str":{"pattern":"Nos"}},{"Str":{"pattern":"No."}},{"Str":{"pattern":"No"}},{"Str":{"pattern":"no"}},{"Str":{"pattern":"Standard"}},{"Str":{"pattern":"Trans."}},{"Alternative":{"atoms":[10,11,12,13,14,15,16,17,18,19,20]}},{"Named":{"name":"type","atom":21}},{"Entity":{"atom":8}},{"Sequence":{"atoms":[9,23]}},{"Repetition":{"atom":24,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":68}},{"Entity":{"atom":28}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Repetition":{"atom":27,"min":2,"max":3,"tag":"Repetition"}},{"Entity":{"atom":31}},{"Str":{"pattern":"-"}},{"Entity":{"atom":35}},{"Entity":{"atom":34}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":33,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[29,30,32]}},{"Entity":{"atom":35}},{"Entity":{"atom":28}},{"Entity":{"atom":8}},{"Str":{"pattern":"and"}},{"Sequence":{"atoms":[39,40]}},{"Lookahead":{"atom":41,"positive":false}},{"Sequence":{"atoms":[37,38,42]}},{"Entity":{"atom":35}},{"Entity":{"atom":46}},{"Str":{"pattern":"."}},{"Entity":{"atom":35}},{"Sequence":{"atoms":[44,45,47]}},{"Entity":{"atom":35}},{"Named":{"name":"main_number","atom":49}},{"Entity":{"atom":8}},{"Str":{"pattern":"("}},{"Entity":{"atom":35}},{"Named":{"name":"alt_number","atom":53}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[52,54,55]}},{"Named":{"name":"parenthetical","atom":56}},{"Sequence":{"atoms":[50,51,57]}},{"Entity":{"atom":35}},{"Entity":{"atom":8}},{"Str":{"pattern":"and"}},{"Entity":{"atom":8}},{"Entity":{"atom":35}},{"Sequence":{"atoms":[60,61,62,63]}},{"Lookahead":{"atom":64,"positive":false}},{"Sequence":{"atoms":[59,65]}},{"Alternative":{"atoms":[36,43,48,58,66]}},{"Named":{"name":"number","atom":67}},{"Entity":{"atom":155}},{"Entity":{"atom":94}},{"Entity":{"atom":8}},{"Repetition":{"atom":71,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":31}},{"Entity":{"atom":92}},{"Str":{"pattern":"18"}},{"Entity":{"atom":34}},{"Repetition":{"atom":76,"min":2,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[75,77]}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"0"}},{"Str":{"pattern":"1"}},{"Str":{"pattern":"2"}},{"Str":{"pattern":"3"}},{"Str":{"pattern":"4"}},{"Str":{"pattern":"5"}},{"Alternative":{"atoms":[80,81,82,83,84,85]}},{"Entity":{"atom":34}},{"Sequence":{"atoms":[79,86,87]}},{"Str":{"pattern":"196"}},{"Re":{"pattern":"[\\x30-\\x33]"}},{"Sequence":{"atoms":[89,90]}},{"Alternative":{"atoms":[78,88,91]}},{"Named":{"name":"year","atom":74}},{"Sequence":{"atoms":[72,73,93]}},{"Entity":{"atom":153}},{"Entity":{"atom":8}},{"Repetition":{"atom":96,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":","}},{"Entity":{"atom":46}},{"Alternative":{"atoms":[98,99]}},{"Named":{"name":"separator","atom":100}},{"Entity":{"atom":8}},{"Repetition":{"atom":102,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":129}},{"Str":{"pattern":"September"}},{"Str":{"pattern":"November"}},{"Str":{"pattern":"December"}},{"Str":{"pattern":"February"}},{"Str":{"pattern":"August"}},{"Str":{"pattern":"June"}},{"Str":{"pattern":"January"}},{"Str":{"pattern":"March"}},{"Str":{"pattern":"April"}},{"Str":{"pattern":"October"}},{"Str":{"pattern":"July"}},{"Str":{"pattern":"May"}},{"Str":{"pattern":"Sept"}},{"Str":{"pattern":"Jan"}},{"Str":{"pattern":"Feb"}},{"Str":{"pattern":"Mar"}},{"Str":{"pattern":"Apr"}},{"Str":{"pattern":"Jun"}},{"Str":{"pattern":"Jul"}},{"Str":{"pattern":"Aug"}},{"Str":{"pattern":"Sep"}},{"Str":{"pattern":"Oct"}},{"Str":{"pattern":"Nov"}},{"Str":{"pattern":"Dec"}},{"Alternative":{"atoms":[105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128]}},{"Named":{"name":"month","atom":104}},{"Entity":{"atom":8}},{"Sequence":{"atoms":[130,131]}},{"Repetition":{"atom":132,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":92}},{"Named":{"name":"year","atom":134}},{"Sequence":{"atoms":[101,103,133,135]}},{"Sequence":{"atoms":[97,136]}},{"Entity":{"atom":8}},{"Entity":{"atom":31}},{"Sequence":{"atoms":[138,139]}},{"Named":{"name":"separator","atom":140}},{"Entity":{"atom":8}},{"Repetition":{"atom":142,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":92}},{"Named":{"name":"year","atom":144}},{"Sequence":{"atoms":[141,143,145]}},{"Entity":{"atom":129}},{"Named":{"name":"month","atom":147}},{"Entity":{"atom":31}},{"Entity":{"atom":92}},{"Named":{"name":"year","atom":150}},{"Sequence":{"atoms":[148,149,151]}},{"Alternative":{"atoms":[137,146,152]}},{"Alternative":{"atoms":[70,95]}},{"Repetition":{"atom":154,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,7,25,26,69]}}],"root":156},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule year: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule year: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule year: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 1 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 1 and 21 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 2 and 23 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 3 and 24 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 4 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 5 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 5 and 17 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 5 and 20 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 6 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 6 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 6 and 18 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 6 and 19 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 7 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 7 and 18 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 7 and 19 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 8 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 8 and 16 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 9 and 17 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 9 and 20 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 10 and 22 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 11 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 11 and 18 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 11 and 19 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 12 and 16 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 13 and 21 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 14 and 18 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 14 and 19 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 17 and 20 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 18 and 19 are order-dependent (shared first bytes; ordered choice is decisive)","rule date_long: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"aiee_identifier","render":{},"derive":{},"tests":[{"entry":"aiee_identifier","kind":"accept","input":"AIEE No. 56","expect":{}},{"entry":"aiee_identifier","kind":"accept","input":"AIEE Std 800","expect":{}},{"entry":"aiee_identifier","kind":"accept","input":"IEEE-AIEE No 18-1938","expect":{}},{"entry":"aiee_identifier","kind":"accept","input":"AIEE Standard 19","expect":{}},{"entry":"aiee_identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/ieee/aiee/parser.rb — AIEE (pre-IEEE) designations:\n# prefixes (IEEE-AIEE transitional, A.I.E.E. variants, AIEE), types\n# (Standard No./Std No./Nos/No/Trans.), numbers (letters-dash, dotted,\n# parenthetical alternates) and long/short dates. Consumed by the ieee\n# grammar via `use aiee`. Deviation: source \"Sep\"/\"Sept\" order is\n# lint-forced to longest-first.\n\ngrammar PubidAiee version \"0.1.0\" {\n digit = %x30-39\n upper = %x41-5A\n lower = %x61-7A\n digits = 1*digit\n space = \" \"\n dash = \"-\"\n dot = \".\"\n\n year = ((\"18\" 2digit)) / ((\"19\" (\"0\" / \"1\" / \"2\" / \"3\" / \"4\" / \"5\") digit)) / ((\"196\" %x30-33))\n month_name = \"September\" / \"November\" / \"December\" / \"February\" / \"August\" / \"June\" / \"January\" / \"March\" / \"April\" / \"October\" / \"July\" / \"May\" / \"Sept\" / \"Jan\" / \"Feb\" / \"Mar\" / \"Apr\" / \"Jun\" / \"Jul\" / \"Aug\" / \"Sep\" / \"Oct\" / \"Nov\" / \"Dec\"\n aiee_prefix = (\"IEEE-AIEE\" / \"A.I.E.E.\" / \"A. I. E. E.\" / \"AIEE\") as publisher\n aiee_type = (\"Standard No.\" / \"Standard No\" / \"Std No.\" / \"Std No\" / \"Std\" / \"Nos\" / \"No.\" / \"No\" / \"no\" / \"Standard\" / \"Trans.\") as type\n number = (((2*3upper dash digits)) / ((digits upper !((space \"and\")))) / ((digits dot digits)) / (((digits) as main_number space ((( \"(\" (digits) as alt_number \")\"))) as parenthetical)) / ((digits !((space \"and\" space digits))))) as number\n date_long = ([space] ((((\",\" / dot) as separator) [space] [((month_name) as month space)] (year) as year)) / (((space dash) as separator) [space] (year) as year) / (((month_name) as month dash (year) as year)))\n date_short = ([space] dash (year) as year)\n date = [(date_short / date_long)]\n\n aiee_identifier = aiee_prefix space [(aiee_type space)] number date\n\n entry aiee_identifier: aiee_identifier\n\n test {\n accept \"AIEE No. 56\"\n accept \"AIEE Std 800\"\n accept \"IEEE-AIEE No 18-1938\"\n accept \"AIEE Standard 19\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:205a248e8cee5eba3c4ff6b7c5ee99f7af268e157b68f2c649300f7651636d19"}
@@ -0,0 +1 @@
1
+ {"bindings":null,"version":"0.1.0","grammar":"PubidAmca","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":65}},{"Entity":{"atom":9}},{"Str":{"pattern":"ANSI"}},{"Entity":{"atom":4}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"AMCA"}},{"Sequence":{"atoms":[2,3,5]}},{"Str":{"pattern":"AMCA"}},{"Alternative":{"atoms":[6,7]}},{"Named":{"name":"copublisher","atom":8}},{"Repetition":{"atom":1,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Str":{"pattern":" "}},{"Entity":{"atom":32}},{"Entity":{"atom":15}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":14,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":18}},{"Str":{"pattern":"-"}},{"Entity":{"atom":22}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[20,21]}},{"Sequence":{"atoms":[17,19]}},{"Repetition":{"atom":23,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":26}},{"Str":{"pattern":"."}},{"Entity":{"atom":15}},{"Repetition":{"atom":27,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[25,28]}},{"Repetition":{"atom":29,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[16,24,30]}},{"Named":{"name":"code","atom":31}},{"Entity":{"atom":12}},{"Entity":{"atom":40}},{"Entity":{"atom":22}},{"Repetition":{"atom":35,"min":2,"max":null,"tag":"Repetition"}},{"Entity":{"atom":15}},{"Repetition":{"atom":37,"min":1,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[36,38]}},{"Named":{"name":"interpretation_code","atom":39}},{"Entity":{"atom":44}},{"Entity":{"atom":12}},{"Str":{"pattern":"Interp"}},{"Sequence":{"atoms":[42,43]}},{"Sequence":{"atoms":[34,41]}},{"Str":{"pattern":"–"}},{"Entity":{"atom":18}},{"Alternative":{"atoms":[46,47]}},{"Entity":{"atom":15}},{"Named":{"name":"interpretation_year","atom":49}},{"Repetition":{"atom":50,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Repetition":{"atom":52,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[48,51,53]}},{"Alternative":{"atoms":[45,54]}},{"Sequence":{"atoms":[10,11,13,33,55]}},{"Named":{"name":"interpretation","atom":56}},{"Entity":{"atom":9}},{"Repetition":{"atom":58,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Entity":{"atom":32}},{"Entity":{"atom":44}},{"Sequence":{"atoms":[59,60,61,62]}},{"Named":{"name":"interpretation","atom":63}},{"Alternative":{"atoms":[57,64]}},{"Entity":{"atom":118}},{"Entity":{"atom":9}},{"Repetition":{"atom":67,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Str":{"pattern":"Publication"}},{"Named":{"name":"publication_keyword","atom":70}},{"Entity":{"atom":12}},{"Entity":{"atom":32}},{"Entity":{"atom":18}},{"Entity":{"atom":84}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[76,77]}},{"Entity":{"atom":15}},{"Repetition":{"atom":79,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[78,80]}},{"Entity":{"atom":15}},{"Repetition":{"atom":82,"min":2,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[81,83]}},{"Named":{"name":"year","atom":75}},{"Sequence":{"atoms":[74,85]}},{"Repetition":{"atom":86,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Entity":{"atom":103}},{"Str":{"pattern":"("}},{"Str":{"pattern":"Rev"}},{"Entity":{"atom":26}},{"Repetition":{"atom":92,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Entity":{"atom":15}},{"Repetition":{"atom":95,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":18}},{"Entity":{"atom":15}},{"Repetition":{"atom":98,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[96,97,99]}},{"Named":{"name":"revision","atom":100}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[90,91,93,94,101,102]}},{"Sequence":{"atoms":[88,89]}},{"Repetition":{"atom":104,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Entity":{"atom":114}},{"Str":{"pattern":"("}},{"Str":{"pattern":"R"}},{"Entity":{"atom":15}},{"Repetition":{"atom":110,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"reaffirmed","atom":111}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[108,109,112,113]}},{"Sequence":{"atoms":[106,107]}},{"Repetition":{"atom":115,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[68,69,71,72,73,87,105,116]}},{"Named":{"name":"publication","atom":117}},{"Entity":{"atom":163}},{"Entity":{"atom":9}},{"Repetition":{"atom":120,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Entity":{"atom":126}},{"Str":{"pattern":"Standard"}},{"Str":{"pattern":"Publication"}},{"Alternative":{"atoms":[124,125]}},{"Named":{"name":"type","atom":123}},{"Repetition":{"atom":127,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Repetition":{"atom":129,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":32}},{"Entity":{"atom":18}},{"Entity":{"atom":84}},{"Named":{"name":"year","atom":133}},{"Sequence":{"atoms":[132,134]}},{"Repetition":{"atom":135,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Entity":{"atom":150}},{"Entity":{"atom":4}},{"Entity":{"atom":22}},{"Repetition":{"atom":140,"min":2,"max":10,"tag":"Repetition"}},{"Entity":{"atom":12}},{"Entity":{"atom":15}},{"Repetition":{"atom":143,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":18}},{"Entity":{"atom":15}},{"Repetition":{"atom":146,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[145,147]}},{"Repetition":{"atom":148,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[139,141,142,144,149]}},{"Sequence":{"atoms":[137,138]}},{"Repetition":{"atom":151,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":156}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"P"}},{"Alternative":{"atoms":[154,155]}},{"Repetition":{"atom":153,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Entity":{"atom":114}},{"Sequence":{"atoms":[158,159]}},{"Repetition":{"atom":160,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[121,122,128,130,131,136,152,157,161]}},{"Named":{"name":"standard","atom":162}},{"Alternative":{"atoms":[0,66,119]}}],"root":164},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule interpretation_identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 3 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 year_digits: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"AMCA 500-D","expect":{}},{"entry":"identifier","kind":"accept","input":"AMCA Standard 210","expect":{}},{"entry":"identifier","kind":"accept","input":"ANSI/AMCA 210","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/amca/parser.rb. Pre-parse whitespace collapsing,\n# en-dash normalization and trailing punctuation stripping stay\n# binder-side.\n\ngrammar PubidAmca version \"0.1.0\" {\n copublisher = ((\"ANSI\" slash \"AMCA\") / \"AMCA\") as copublisher\n additional_copublisher = slash 2*10letter space 1*digit [(dash 1*digit)]\n code = (1*digit [(dash letter)] [(dot 1*digit)]) as code\n type = \"Standard\" / \"Publication\"\n reaffirmation = \"(\" \"R\" (1*digit) as reaffirmed \")\"\n suffix = \"R\" / \"P\"\n revision = \"(\" \"Rev\" [dot] space (1*digit dash 1*digit) as revision \")\"\n interpretation_code = (2*letter / 1*digit) as interpretation_code\n interp_keyword = space \"Interp\"\n interpretation_identifier = (([copublisher] space code space ((interpretation_code interp_keyword) / ((\"–\" / dash) 1*digit as interpretation_year [interp_keyword]))) as interpretation) / (([copublisher] space code interp_keyword) as interpretation)\n publication_identifier = (([copublisher] space \"Publication\" as publication_keyword space code [(dash year_digits as year)] [(space revision)] [(space reaffirmation)]) as publication)\n standard_identifier = (([copublisher] space [type as type] [space] code [(dash year_digits as year)] [(space additional_copublisher)] [suffix] [(space reaffirmation)]) as standard)\n identifier = interpretation_identifier / publication_identifier / standard_identifier\n year_digits = ((\"19\" / \"20\") 2*digit / 2*digit)\n letter = %x41-5A / %x61-7A\n digit = %x30-39\n dash = \"-\"\n dot = \".\"\n slash = \"/\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"AMCA 500-D\"\n accept \"AMCA Standard 210\"\n accept \"ANSI/AMCA 210\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:51cb873e841e5ff4f2d68ca95a2ab9abdee165f2916aafa8004f257b9667467d"}
@@ -0,0 +1 @@
1
+ {"bindings":null,"version":"0.1.0","grammar":"PubidAnsi","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":98}},{"Str":{"pattern":"ANSI"}},{"Named":{"name":"publisher","atom":1}},{"Entity":{"atom":21}},{"Entity":{"atom":19}},{"Entity":{"atom":6}},{"Str":{"pattern":"/"}},{"Entity":{"atom":8}},{"Str":{"pattern":" "}},{"Repetition":{"atom":7,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":17}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"IEC"}},{"Str":{"pattern":"IEEE"}},{"Str":{"pattern":"SAE"}},{"Str":{"pattern":"ASME"}},{"Str":{"pattern":"ASTM"}},{"Alternative":{"atoms":[11,12,13,14,15,16]}},{"Named":{"name":"copublisher","atom":10}},{"Sequence":{"atoms":[5,9,18]}},{"Repetition":{"atom":4,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"copublishers","atom":20}},{"Entity":{"atom":8}},{"Entity":{"atom":25}},{"Str":{"pattern":"Std "}},{"Repetition":{"atom":24,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":69}},{"Entity":{"atom":49}},{"Entity":{"atom":29}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Repetition":{"atom":28,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":32}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":31,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":35}},{"Str":{"pattern":"."}},{"Entity":{"atom":32}},{"Repetition":{"atom":36,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[34,37]}},{"Repetition":{"atom":38,"min":0,"max":3,"tag":"Repetition"}},{"Entity":{"atom":29}},{"Repetition":{"atom":40,"min":0,"max":1,"tag":"Repetition"}},{"Repetition":{"atom":41,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":44}},{"Str":{"pattern":"-"}},{"Entity":{"atom":32}},{"Repetition":{"atom":45,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[43,46]}},{"Repetition":{"atom":47,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[30,33,39,42,48]}},{"Entity":{"atom":67}},{"Entity":{"atom":32}},{"Repetition":{"atom":51,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":35}},{"Entity":{"atom":32}},{"Repetition":{"atom":54,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":57}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Repetition":{"atom":56,"min":0,"max":1,"tag":"Repetition"}},{"Repetition":{"atom":58,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[53,55,59]}},{"Repetition":{"atom":60,"min":0,"max":2,"tag":"Repetition"}},{"Entity":{"atom":44}},{"Entity":{"atom":32}},{"Repetition":{"atom":63,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[62,64]}},{"Repetition":{"atom":65,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[52,61,66]}},{"Alternative":{"atoms":[27,50]}},{"Named":{"name":"number_with_part","atom":68}},{"Entity":{"atom":83}},{"Entity":{"atom":72}},{"Str":{"pattern":":"}},{"Entity":{"atom":81}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[74,75]}},{"Entity":{"atom":32}},{"Repetition":{"atom":77,"min":2,"max":null,"tag":"Repetition"}},{"Entity":{"atom":32}},{"Lookahead":{"atom":79,"positive":false}},{"Sequence":{"atoms":[76,78,80]}},{"Named":{"name":"date","atom":73}},{"Sequence":{"atoms":[71,82]}},{"Repetition":{"atom":70,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":96}},{"Str":{"pattern":"("}},{"Entity":{"atom":94}},{"Entity":{"atom":57}},{"Repetition":{"atom":88,"min":2,"max":null,"tag":"Repetition"}},{"Str":{"pattern":","}},{"Repetition":{"atom":90,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[89,91]}},{"Repetition":{"atom":92,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"languages","atom":93}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[86,87,95]}},{"Repetition":{"atom":85,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[2,3,22,23,26,84,97]}},{"Entity":{"atom":109}},{"Str":{"pattern":"ANSI"}},{"Named":{"name":"publisher","atom":100}},{"Entity":{"atom":8}},{"Entity":{"atom":25}},{"Entity":{"atom":69}},{"Entity":{"atom":83}},{"Repetition":{"atom":105,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":96}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[101,102,103,104,106,108]}},{"Alternative":{"atoms":[0,99]}}],"root":110},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule organization: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule organization: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule organization: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule organization: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ANSI C63.4","expect":{}},{"entry":"identifier","kind":"accept","input":"ANSI/IEEE C63.4","expect":{}},{"entry":"identifier","kind":"accept","input":"ANSI Std A119.1","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/ansi/parser.rb: ANSI [copublishers] [Std] number\n# [:year][(languages)]. The number alternatives cover letter-prefixed\n# forms (C37.06.1, N323A) and plain dotted forms (802.1b-1995).\n\ngrammar PubidAnsi version \"0.1.0\" {\n organization = \"ISO\" / \"IEC\" / \"IEEE\" / \"SAE\" / \"ASME\" / \"ASTM\"\n copublisher_item = slash [space] organization as copublisher\n copublishers = (1*copublisher_item) as copublishers\n std_keyword = [\"Std \"]\n letter_head_part = 1*upper 1*digit *3(dot 1*digit) [*1upper] [(dash 1*digit)]\n plain_part = 1*digit *2(dot 1*digit [*1lower]) [(dash 1*digit)]\n number_with_part = (letter_head_part / plain_part) as number_with_part\n date = colon year_digits as date\n year_digits = (\"19\" / \"20\") 2*digit !digit\n languages = (*(2*lower [\",\"])) as languages\n language = \"(\" languages \")\"\n identifier_with_copublishers = \"ANSI\" as publisher copublishers space std_keyword number_with_part [date] [language]\n identifier_sole = \"ANSI\" as publisher space std_keyword number_with_part [date] [language]\n identifier = identifier_with_copublishers / identifier_sole\n upper = %x41-5A\n lower = %x61-7A\n digit = %x30-39\n dot = \".\"\n dash = \"-\"\n colon = \":\"\n slash = \"/\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"ANSI C63.4\"\n accept \"ANSI/IEEE C63.4\"\n accept \"ANSI Std A119.1\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:4f7bf4d9b6279fe4310d82bc0c862e818f6ee016bfae55f578a2018a01ec56a2"}
@@ -0,0 +1 @@
1
+ {"bindings":null,"version":"0.1.0","grammar":"PubidApi","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":137}},{"Entity":{"atom":48}},{"Str":{"pattern":"API "}},{"Str":{"pattern":"MPMS"}},{"Named":{"name":"type","atom":3}},{"Entity":{"atom":14}},{"Entity":{"atom":7}},{"Str":{"pattern":" "}},{"Str":{"pattern":"CH"}},{"Entity":{"atom":7}},{"Entity":{"atom":11}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":10,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"chapter","atom":12}},{"Sequence":{"atoms":[6,8,9,13]}},{"Entity":{"atom":16}},{"Str":{"pattern":"."}},{"Entity":{"atom":24}},{"Entity":{"atom":11}},{"Repetition":{"atom":18,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":21}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Repetition":{"atom":20,"min":0,"max":null,"tag":"Repetition"}},{"Repetition":{"atom":22,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[19,23]}},{"Named":{"name":"section","atom":17}},{"Sequence":{"atoms":[15,25]}},{"Repetition":{"atom":26,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":16}},{"Entity":{"atom":24}},{"Named":{"name":"subsection","atom":29}},{"Sequence":{"atoms":[28,30]}},{"Repetition":{"atom":31,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":40}},{"Entity":{"atom":35}},{"Str":{"pattern":"-"}},{"Entity":{"atom":39}},{"Entity":{"atom":11}},{"Repetition":{"atom":37,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":38}},{"Sequence":{"atoms":[34,36]}},{"Entity":{"atom":45}},{"Entity":{"atom":43}},{"Str":{"pattern":":"}},{"Entity":{"atom":39}},{"Sequence":{"atoms":[42,44]}},{"Alternative":{"atoms":[33,41]}},{"Repetition":{"atom":46,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[2,4,5,27,32,47]}},{"Entity":{"atom":95}},{"Str":{"pattern":"API "}},{"Entity":{"atom":61}},{"Str":{"pattern":"MPMS"}},{"Str":{"pattern":"BULL"}},{"Str":{"pattern":"SPEC"}},{"Str":{"pattern":"STD"}},{"Str":{"pattern":"RP"}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"COS"}},{"Str":{"pattern":"PUBL"}},{"Alternative":{"atoms":[52,53,54,55,56,57,58,59]}},{"Named":{"name":"type","atom":60}},{"Entity":{"atom":7}},{"Entity":{"atom":76}},{"Entity":{"atom":67}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Alternative":{"atoms":[65,66]}},{"Repetition":{"atom":64,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":68}},{"Entity":{"atom":35}},{"Entity":{"atom":67}},{"Repetition":{"atom":71,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":72}},{"Sequence":{"atoms":[70,73]}},{"Repetition":{"atom":74,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[69,75]}},{"Entity":{"atom":82}},{"Str":{"pattern":", Part "}},{"Entity":{"atom":11}},{"Repetition":{"atom":79,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part_number","atom":80}},{"Sequence":{"atoms":[78,81]}},{"Repetition":{"atom":77,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":40}},{"Entity":{"atom":45}},{"Alternative":{"atoms":[84,85]}},{"Repetition":{"atom":86,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":93}},{"Entity":{"atom":7}},{"Str":{"pattern":"(R"}},{"Entity":{"atom":39}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[89,90,91,92]}},{"Repetition":{"atom":88,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[50,51,62,63,83,87,94]}},{"Entity":{"atom":107}},{"Str":{"pattern":"API "}},{"Entity":{"atom":76}},{"Entity":{"atom":82}},{"Repetition":{"atom":99,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":40}},{"Entity":{"atom":45}},{"Alternative":{"atoms":[101,102]}},{"Repetition":{"atom":103,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":93}},{"Repetition":{"atom":105,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[97,98,100,104,106]}},{"Alternative":{"atoms":[1,49,96]}},{"Named":{"name":"first","atom":108}},{"Entity":{"atom":111}},{"Str":{"pattern":"/"}},{"Entity":{"atom":122}},{"Entity":{"atom":61}},{"Entity":{"atom":7}},{"Entity":{"atom":76}},{"Entity":{"atom":82}},{"Repetition":{"atom":116,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":40}},{"Entity":{"atom":45}},{"Alternative":{"atoms":[118,119]}},{"Repetition":{"atom":120,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[113,114,115,117,121]}},{"Named":{"name":"second","atom":112}},{"Entity":{"atom":135}},{"Str":{"pattern":", "}},{"Entity":{"atom":11}},{"Repetition":{"atom":126,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"edition_number","atom":127}},{"Str":{"pattern":"st"}},{"Str":{"pattern":"nd"}},{"Str":{"pattern":"rd"}},{"Str":{"pattern":"th"}},{"Alternative":{"atoms":[129,130,131,132]}},{"Str":{"pattern":" edition"}},{"Sequence":{"atoms":[125,128,133,134]}},{"Repetition":{"atom":124,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[109,110,123,136]}},{"Entity":{"atom":48}},{"Entity":{"atom":95}},{"Entity":{"atom":107}},{"Alternative":{"atoms":[0,138,139,140]}}],"root":141},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 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 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"API RP 1632-1987","expect":{}},{"entry":"identifier","kind":"accept","input":"API MPMS CH 11.1","expect":{}},{"entry":"identifier","kind":"accept","input":"API SPEC 5DP/STD 5DP, 1st edition","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/api/parser.rb: API MPMS/typed/typeless identifiers\n# with slash-combined second identifiers. The API MPMP normalization\n# stays binder-side.\n\ngrammar PubidApi version \"0.1.0\" {\n number_with_part = (1*num_letter_char) as number [(dash (1*num_letter_char) as part)]\n num_letter_char = %x30-39 / %x41-5A\n doc_type = (\"MPMS\" / \"BULL\" / \"SPEC\" / \"STD\" / \"RP\" / \"TR\" / \"COS\" / \"PUBL\") as type\n chapter_notation = space \"CH\" space (1*digit) as chapter\n digits_with_letter = (1*digit [*upper])\n year = (4digit) as year\n date_dash = dash year\n date_colon = colon year\n reaffirmation = space \"(R\" year \")\"\n part_notation = \", Part \" (1*digit) as part_number\n mpms_identifier = \"API \" \"MPMS\" as type chapter_notation [(dot digits_with_letter as section)] [(dot digits_with_letter as subsection)] [(date_dash / date_colon)]\n typed_identifier = \"API \" doc_type space number_with_part [part_notation] [(date_dash / date_colon)] [reaffirmation]\n typeless_identifier = \"API \" number_with_part [part_notation] [(date_dash / date_colon)] [reaffirmation]\n second_identifier = doc_type space number_with_part [part_notation] [(date_dash / date_colon)]\n combined_identifier = ((mpms_identifier / typed_identifier / typeless_identifier) as first) slash (second_identifier as second) [edition_notation]\n edition_notation = \", \" (1*digit) as edition_number (\"st\" / \"nd\" / \"rd\" / \"th\") \" edition\"\n identifier = combined_identifier / mpms_identifier / typed_identifier / typeless_identifier\n upper = %x41-5A\n digit = %x30-39\n dash = \"-\"\n slash = \"/\"\n colon = \":\"\n dot = \".\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"API RP 1632-1987\"\n accept \"API MPMS CH 11.1\"\n accept \"API SPEC 5DP/STD 5DP, 1st edition\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:812f3e3856f32bd23d851fbc0d60589cd3644ad8de93ba60ed4863ed1d9a9358"}
@@ -0,0 +1 @@
1
+ {"bindings":null,"version":"0.1.0","grammar":"PubidAshrae","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":347}},{"Entity":{"atom":21}},{"Str":{"pattern":"ANSI"}},{"Entity":{"atom":4}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"ASHRAE"}},{"Sequence":{"atoms":[2,3,5]}},{"Str":{"pattern":"ANSI"}},{"Entity":{"atom":9}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"ASHRAE"}},{"Entity":{"atom":9}},{"Entity":{"atom":15}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[13,14]}},{"Repetition":{"atom":12,"min":3,"max":10,"tag":"Repetition"}},{"Sequence":{"atoms":[11,16]}},{"Repetition":{"atom":17,"min":0,"max":10,"tag":"Repetition"}},{"Sequence":{"atoms":[7,8,10,18]}},{"Alternative":{"atoms":[6,19]}},{"Named":{"name":"copublisher","atom":20}},{"Entity":{"atom":23}},{"Str":{"pattern":" "}},{"Entity":{"atom":27}},{"Str":{"pattern":"Guideline"}},{"Str":{"pattern":"Standard"}},{"Alternative":{"atoms":[25,26]}},{"Named":{"name":"type","atom":24}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":34}},{"Entity":{"atom":33}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":32,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":36}},{"Str":{"pattern":"."}},{"Entity":{"atom":34}},{"Sequence":{"atoms":[35,37]}},{"Repetition":{"atom":38,"min":0,"max":2,"tag":"Repetition"}},{"Entity":{"atom":15}},{"Entity":{"atom":42}},{"Str":{"pattern":","}},{"Entity":{"atom":15}},{"Sequence":{"atoms":[41,43]}},{"Repetition":{"atom":44,"min":0,"max":10,"tag":"Repetition"}},{"Sequence":{"atoms":[40,45]}},{"Repetition":{"atom":46,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[31,39,47]}},{"Named":{"name":"code","atom":48}},{"Entity":{"atom":23}},{"Repetition":{"atom":50,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[54,55]}},{"Entity":{"atom":33}},{"Repetition":{"atom":57,"min":2,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[56,58]}},{"Named":{"name":"year","atom":53}},{"Sequence":{"atoms":[51,52,60]}},{"Repetition":{"atom":61,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Entity":{"atom":104}},{"Entity":{"atom":9}},{"Entity":{"atom":15}},{"Repetition":{"atom":66,"min":4,"max":10,"tag":"Repetition"}},{"Entity":{"atom":23}},{"Entity":{"atom":34}},{"Entity":{"atom":4}},{"Entity":{"atom":34}},{"Sequence":{"atoms":[70,71]}},{"Repetition":{"atom":72,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[69,73]}},{"Repetition":{"atom":74,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[67,68,75]}},{"Named":{"name":"additional_copublisher","atom":76}},{"Sequence":{"atoms":[65,77]}},{"Entity":{"atom":80}},{"Str":{"pattern":"("}},{"Str":{"pattern":"ANSI"}},{"Entity":{"atom":9}},{"Entity":{"atom":15}},{"Repetition":{"atom":83,"min":2,"max":10,"tag":"Repetition"}},{"Entity":{"atom":9}},{"Entity":{"atom":15}},{"Repetition":{"atom":86,"min":2,"max":10,"tag":"Repetition"}},{"Sequence":{"atoms":[85,87]}},{"Repetition":{"atom":88,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[84,89]}},{"Sequence":{"atoms":[81,82,90]}},{"Named":{"name":"additional_copublisher","atom":91}},{"Entity":{"atom":23}},{"Entity":{"atom":34}},{"Entity":{"atom":4}},{"Entity":{"atom":34}},{"Sequence":{"atoms":[95,96]}},{"Repetition":{"atom":97,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[94,98]}},{"Repetition":{"atom":99,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":102}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[79,92,93,100,101]}},{"Alternative":{"atoms":[78,103]}},{"Sequence":{"atoms":[63,64]}},{"Repetition":{"atom":105,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":111}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"P"}},{"Alternative":{"atoms":[108,109]}},{"Named":{"name":"suffix","atom":110}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":149}},{"Entity":{"atom":23}},{"Repetition":{"atom":114,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":80}},{"Str":{"pattern":"RA"}},{"Entity":{"atom":23}},{"Repetition":{"atom":118,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":124}},{"Entity":{"atom":59}},{"Entity":{"atom":33}},{"Repetition":{"atom":122,"min":2,"max":2,"tag":"Repetition"}},{"Alternative":{"atoms":[121,123]}},{"Named":{"name":"reaffirmed","atom":120}},{"Entity":{"atom":102}},{"Sequence":{"atoms":[115,116,117,119,125,126]}},{"Entity":{"atom":23}},{"Repetition":{"atom":128,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":80}},{"Str":{"pattern":"RA"}},{"Entity":{"atom":4}},{"Entity":{"atom":124}},{"Named":{"name":"reaffirmed","atom":133}},{"Entity":{"atom":102}},{"Sequence":{"atoms":[129,130,131,132,134,135]}},{"Entity":{"atom":23}},{"Str":{"pattern":"RA"}},{"Entity":{"atom":23}},{"Entity":{"atom":124}},{"Named":{"name":"reaffirmed","atom":140}},{"Sequence":{"atoms":[137,138,139,141]}},{"Entity":{"atom":23}},{"Str":{"pattern":"RA"}},{"Entity":{"atom":4}},{"Entity":{"atom":124}},{"Named":{"name":"reaffirmed","atom":146}},{"Sequence":{"atoms":[143,144,145,147]}},{"Alternative":{"atoms":[127,136,142,148]}},{"Repetition":{"atom":113,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[1,22,28,29,30,62,106,112,150]}},{"Named":{"name":"base","atom":151}},{"Entity":{"atom":23}},{"Str":{"pattern":"Errata"}},{"Named":{"name":"errata_keyword","atom":154}},{"Entity":{"atom":243}},{"Entity":{"atom":172}},{"Entity":{"atom":23}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"–"}},{"Alternative":{"atoms":[159,160]}},{"Entity":{"atom":23}},{"Entity":{"atom":15}},{"Entity":{"atom":23}},{"Entity":{"atom":15}},{"Entity":{"atom":33}},{"Entity":{"atom":42}},{"Alternative":{"atoms":[164,165,166,167]}},{"Repetition":{"atom":168,"min":0,"max":50,"tag":"Repetition"}},{"Sequence":{"atoms":[163,169]}},{"Sequence":{"atoms":[158,161,162,170]}},{"Repetition":{"atom":171,"min":0,"max":3,"tag":"Repetition"}},{"Entity":{"atom":236}},{"Entity":{"atom":23}},{"Repetition":{"atom":174,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":80}},{"Entity":{"atom":190}},{"Str":{"pattern":"January"}},{"Str":{"pattern":"February"}},{"Str":{"pattern":"March"}},{"Str":{"pattern":"April"}},{"Str":{"pattern":"May"}},{"Str":{"pattern":"June"}},{"Str":{"pattern":"July"}},{"Str":{"pattern":"August"}},{"Str":{"pattern":"September"}},{"Str":{"pattern":"October"}},{"Str":{"pattern":"November"}},{"Str":{"pattern":"December"}},{"Alternative":{"atoms":[178,179,180,181,182,183,184,185,186,187,188,189]}},{"Named":{"name":"month","atom":177}},{"Entity":{"atom":23}},{"Entity":{"atom":33}},{"Repetition":{"atom":193,"min":1,"max":2,"tag":"Repetition"}},{"Named":{"name":"day","atom":194}},{"Entity":{"atom":42}},{"Repetition":{"atom":196,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Entity":{"atom":42}},{"Repetition":{"atom":199,"min":0,"max":1,"tag":"Maybe"}},{"Alternative":{"atoms":[198,200]}},{"Entity":{"atom":59}},{"Named":{"name":"errata_year","atom":202}},{"Entity":{"atom":102}},{"Sequence":{"atoms":[175,176,191,192,195,197,201,203,204]}},{"Named":{"name":"errata_date","atom":205}},{"Entity":{"atom":23}},{"Repetition":{"atom":207,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":80}},{"Entity":{"atom":190}},{"Named":{"name":"month","atom":210}},{"Entity":{"atom":23}},{"Entity":{"atom":33}},{"Repetition":{"atom":213,"min":1,"max":2,"tag":"Repetition"}},{"Named":{"name":"day","atom":214}},{"Entity":{"atom":102}},{"Sequence":{"atoms":[208,209,211,212,215,216]}},{"Named":{"name":"errata_date","atom":217}},{"Entity":{"atom":23}},{"Repetition":{"atom":219,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":80}},{"Entity":{"atom":33}},{"Repetition":{"atom":222,"min":1,"max":2,"tag":"Repetition"}},{"Entity":{"atom":4}},{"Entity":{"atom":33}},{"Repetition":{"atom":225,"min":1,"max":2,"tag":"Repetition"}},{"Entity":{"atom":4}},{"Entity":{"atom":23}},{"Repetition":{"atom":228,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":59}},{"Sequence":{"atoms":[223,224,226,227,229,230]}},{"Named":{"name":"numeric_date","atom":231}},{"Entity":{"atom":102}},{"Sequence":{"atoms":[220,221,232,233]}},{"Named":{"name":"errata_date","atom":234}},{"Alternative":{"atoms":[206,218,235]}},{"Sequence":{"atoms":[157,173]}},{"Entity":{"atom":236}},{"Entity":{"atom":172}},{"Sequence":{"atoms":[238,239]}},{"Entity":{"atom":236}},{"Entity":{"atom":172}},{"Alternative":{"atoms":[237,240,241,242]}},{"Repetition":{"atom":156,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Entity":{"atom":23}},{"Repetition":{"atom":246,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":80}},{"Str":{"pattern":"PDF"}},{"Entity":{"atom":15}},{"Repetition":{"atom":250,"min":1,"max":20,"tag":"Repetition"}},{"Entity":{"atom":23}},{"Entity":{"atom":33}},{"Entity":{"atom":42}},{"Entity":{"atom":4}},{"Entity":{"atom":36}},{"Entity":{"atom":15}},{"Str":{"pattern":"–"}},{"Alternative":{"atoms":[252,253,254,255,256,257,258]}},{"Repetition":{"atom":259,"min":0,"max":500,"tag":"Repetition"}},{"Sequence":{"atoms":[251,260]}},{"Alternative":{"atoms":[249,261]}},{"Entity":{"atom":102}},{"Sequence":{"atoms":[247,248,262,263]}},{"Repetition":{"atom":245,"min":0,"max":2,"tag":"Repetition"}},{"Named":{"name":"optional_suffixes","atom":265}},{"Sequence":{"atoms":[152,153,155,244,266]}},{"Entity":{"atom":21}},{"Entity":{"atom":23}},{"Entity":{"atom":293}},{"Entity":{"atom":34}},{"Entity":{"atom":36}},{"Entity":{"atom":34}},{"Sequence":{"atoms":[272,273]}},{"Repetition":{"atom":274,"min":0,"max":2,"tag":"Repetition"}},{"Entity":{"atom":15}},{"Entity":{"atom":42}},{"Entity":{"atom":15}},{"Sequence":{"atoms":[277,278]}},{"Repetition":{"atom":279,"min":0,"max":10,"tag":"Repetition"}},{"Sequence":{"atoms":[276,280]}},{"Repetition":{"atom":281,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[271,275,282]}},{"Named":{"name":"code","atom":283}},{"Entity":{"atom":23}},{"Repetition":{"atom":285,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":288}},{"Sequence":{"atoms":[286,287,289]}},{"Repetition":{"atom":290,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[284,291]}},{"Named":{"name":"code_with_year","atom":292}},{"Entity":{"atom":23}},{"Entity":{"atom":104}},{"Sequence":{"atoms":[294,295]}},{"Repetition":{"atom":296,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":111}},{"Repetition":{"atom":298,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":149}},{"Repetition":{"atom":300,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[268,269,270,297,299,301]}},{"Named":{"name":"base","atom":302}},{"Entity":{"atom":23}},{"Str":{"pattern":"Errata"}},{"Named":{"name":"errata_keyword","atom":305}},{"Entity":{"atom":243}},{"Repetition":{"atom":307,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":309,"min":0,"max":2,"tag":"Repetition"}},{"Named":{"name":"optional_suffixes","atom":310}},{"Sequence":{"atoms":[303,304,306,308,311]}},{"Entity":{"atom":314}},{"Str":{"pattern":"ASHRAE"}},{"Named":{"name":"publisher","atom":313}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":317}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":23}},{"Repetition":{"atom":321,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":324}},{"Sequence":{"atoms":[322,323,325]}},{"Repetition":{"atom":326,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Entity":{"atom":104}},{"Sequence":{"atoms":[328,329]}},{"Repetition":{"atom":330,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":111}},{"Repetition":{"atom":332,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":149}},{"Repetition":{"atom":334,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[315,316,318,319,320,327,331,333,335]}},{"Named":{"name":"base","atom":336}},{"Entity":{"atom":23}},{"Str":{"pattern":"Errata"}},{"Named":{"name":"errata_keyword","atom":339}},{"Entity":{"atom":243}},{"Repetition":{"atom":341,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":343,"min":0,"max":2,"tag":"Repetition"}},{"Named":{"name":"optional_suffixes","atom":344}},{"Sequence":{"atoms":[337,338,340,342,345]}},{"Alternative":{"atoms":[267,312,346]}},{"Entity":{"atom":365}},{"Str":{"pattern":"Interpretations"}},{"Entity":{"atom":23}},{"Str":{"pattern":"for"}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":353}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":358}},{"Sequence":{"atoms":[357,359]}},{"Repetition":{"atom":360,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[354,355,356,361]}},{"Named":{"name":"base","atom":362}},{"Sequence":{"atoms":[349,350,351,352,363]}},{"Named":{"name":"interpretation_identifier","atom":364}},{"Entity":{"atom":528}},{"Entity":{"atom":59}},{"Named":{"name":"package_year","atom":367}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Supplement"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Package"}},{"Sequence":{"atoms":[373,374]}},{"Repetition":{"atom":375,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Entity":{"atom":23}},{"Entity":{"atom":392}},{"Str":{"pattern":"ANSI"}},{"Entity":{"atom":9}},{"Str":{"pattern":"ASHRAE"}},{"Entity":{"atom":9}},{"Entity":{"atom":15}},{"Repetition":{"atom":385,"min":3,"max":10,"tag":"Repetition"}},{"Sequence":{"atoms":[384,386]}},{"Repetition":{"atom":387,"min":0,"max":10,"tag":"Repetition"}},{"Sequence":{"atoms":[381,382,383,388]}},{"Named":{"name":"copublisher","atom":389}},{"Entity":{"atom":23}},{"Sequence":{"atoms":[390,391]}},{"Repetition":{"atom":380,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":394}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":399}},{"Sequence":{"atoms":[398,400]}},{"Repetition":{"atom":401,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[370,371,372,376,377,378,379,393,395,396,397,402]}},{"Str":{"pattern":"Supplement"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":34}},{"Repetition":{"atom":409,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":15}},{"Repetition":{"atom":411,"min":1,"max":3,"tag":"Repetition"}},{"Sequence":{"atoms":[410,412]}},{"Named":{"name":"addendum_code","atom":413}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[415,416,417]}},{"Repetition":{"atom":418,"min":1,"max":50,"tag":"Repetition"}},{"Entity":{"atom":42}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[420,421]}},{"Repetition":{"atom":422,"min":1,"max":50,"tag":"Repetition"}},{"Alternative":{"atoms":[419,423]}},{"Named":{"name":"additional_codes","atom":424}},{"Repetition":{"atom":425,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Entity":{"atom":23}},{"Entity":{"atom":392}},{"Repetition":{"atom":430,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":432}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":437}},{"Sequence":{"atoms":[436,438]}},{"Repetition":{"atom":439,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[404,405,406,407,408,426,427,428,429,431,433,434,435,440]}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Supplement"}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Entity":{"atom":23}},{"Entity":{"atom":392}},{"Repetition":{"atom":448,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":450}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":455}},{"Sequence":{"atoms":[454,456]}},{"Repetition":{"atom":457,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[442,443,444,445,446,447,449,451,452,453,458]}},{"Str":{"pattern":"Supplement"}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Entity":{"atom":23}},{"Entity":{"atom":392}},{"Repetition":{"atom":464,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":466}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":471}},{"Sequence":{"atoms":[470,472]}},{"Repetition":{"atom":473,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":521}},{"Entity":{"atom":23}},{"Str":{"pattern":"Errata"}},{"Named":{"name":"errata_keyword","atom":477}},{"Entity":{"atom":519}},{"Entity":{"atom":23}},{"Repetition":{"atom":480,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":80}},{"Entity":{"atom":190}},{"Entity":{"atom":23}},{"Entity":{"atom":33}},{"Repetition":{"atom":485,"min":1,"max":2,"tag":"Repetition"}},{"Entity":{"atom":42}},{"Repetition":{"atom":487,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Entity":{"atom":42}},{"Repetition":{"atom":490,"min":0,"max":1,"tag":"Maybe"}},{"Alternative":{"atoms":[489,491]}},{"Entity":{"atom":59}},{"Entity":{"atom":102}},{"Sequence":{"atoms":[481,482,483,484,486,488,492,493,494]}},{"Entity":{"atom":23}},{"Repetition":{"atom":496,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":80}},{"Entity":{"atom":190}},{"Entity":{"atom":23}},{"Entity":{"atom":33}},{"Repetition":{"atom":501,"min":1,"max":2,"tag":"Repetition"}},{"Entity":{"atom":102}},{"Sequence":{"atoms":[497,498,499,500,502,503]}},{"Entity":{"atom":23}},{"Repetition":{"atom":505,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":80}},{"Entity":{"atom":33}},{"Repetition":{"atom":508,"min":1,"max":2,"tag":"Repetition"}},{"Entity":{"atom":4}},{"Entity":{"atom":33}},{"Repetition":{"atom":511,"min":1,"max":2,"tag":"Repetition"}},{"Entity":{"atom":4}},{"Entity":{"atom":23}},{"Repetition":{"atom":514,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":59}},{"Entity":{"atom":102}},{"Sequence":{"atoms":[506,507,509,510,512,513,515,516,517]}},{"Alternative":{"atoms":[495,504,518]}},{"Repetition":{"atom":479,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[476,478,520]}},{"Repetition":{"atom":475,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[460,461,462,463,465,467,468,469,474,522]}},{"Alternative":{"atoms":[403,441,459,523]}},{"Entity":{"atom":264}},{"Repetition":{"atom":525,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[368,369,524,526]}},{"Named":{"name":"addenda_package","atom":527}},{"Entity":{"atom":655}},{"Entity":{"atom":392}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":531}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":536}},{"Sequence":{"atoms":[535,537]}},{"Repetition":{"atom":538,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":":"}},{"Entity":{"atom":23}},{"Sequence":{"atoms":[540,541]}},{"Entity":{"atom":23}},{"Alternative":{"atoms":[542,543]}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Supplement"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Package"}},{"Sequence":{"atoms":[548,549]}},{"Repetition":{"atom":550,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[547,551]}},{"Str":{"pattern":"Package"}},{"Alternative":{"atoms":[552,553]}},{"Named":{"name":"package_description","atom":554}},{"Entity":{"atom":23}},{"Str":{"pattern":"for"}},{"Entity":{"atom":23}},{"Entity":{"atom":59}},{"Named":{"name":"target_year","atom":559}},{"Sequence":{"atoms":[556,557,558,560]}},{"Repetition":{"atom":561,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":563,"min":0,"max":3,"tag":"Repetition"}},{"Sequence":{"atoms":[530,532,533,534,539,544,545,546,555,562,564]}},{"Named":{"name":"addenda_package","atom":565}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":567}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":570}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":575}},{"Sequence":{"atoms":[574,576]}},{"Repetition":{"atom":577,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Entity":{"atom":59}},{"Named":{"name":"package_year","atom":583}},{"Entity":{"atom":23}},{"Str":{"pattern":"Supplement"}},{"Entity":{"atom":588}},{"Str":{"pattern":":"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Supplement"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Package"}},{"Sequence":{"atoms":[593,594]}},{"Repetition":{"atom":595,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[592,596]}},{"Str":{"pattern":"Package"}},{"Alternative":{"atoms":[597,598]}},{"Named":{"name":"package_description","atom":599}},{"Entity":{"atom":264}},{"Repetition":{"atom":601,"min":0,"max":3,"tag":"Repetition"}},{"Sequence":{"atoms":[568,569,571,572,573,578,579,580,581,582,584,585,586,587,589,590,591,600,602]}},{"Named":{"name":"addenda_package","atom":603}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":605}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":608}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":613}},{"Sequence":{"atoms":[612,614]}},{"Repetition":{"atom":615,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Entity":{"atom":59}},{"Named":{"name":"package_year","atom":618}},{"Sequence":{"atoms":[617,619]}},{"Repetition":{"atom":620,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":104}},{"Repetition":{"atom":622,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":111}},{"Repetition":{"atom":624,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":149}},{"Repetition":{"atom":626,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":":"}},{"Entity":{"atom":23}},{"Sequence":{"atoms":[628,629]}},{"Entity":{"atom":23}},{"Alternative":{"atoms":[630,631]}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Supplement"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Package"}},{"Sequence":{"atoms":[636,637]}},{"Repetition":{"atom":638,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[635,639]}},{"Str":{"pattern":"Package"}},{"Alternative":{"atoms":[640,641]}},{"Named":{"name":"package_description","atom":642}},{"Entity":{"atom":23}},{"Str":{"pattern":"for"}},{"Entity":{"atom":23}},{"Entity":{"atom":59}},{"Named":{"name":"target_year","atom":647}},{"Sequence":{"atoms":[644,645,646,648]}},{"Repetition":{"atom":649,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":651,"min":0,"max":3,"tag":"Repetition"}},{"Sequence":{"atoms":[606,607,609,610,611,616,621,623,625,627,632,633,634,643,650,652]}},{"Named":{"name":"addenda_package","atom":653}},{"Alternative":{"atoms":[566,604,654]}},{"Entity":{"atom":944}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":657}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addendum"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[664,665]}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":668}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":673}},{"Sequence":{"atoms":[672,674]}},{"Repetition":{"atom":675,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":104}},{"Repetition":{"atom":677,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":694}},{"Entity":{"atom":23}},{"Entity":{"atom":80}},{"Entity":{"atom":190}},{"Entity":{"atom":23}},{"Entity":{"atom":33}},{"Repetition":{"atom":684,"min":1,"max":2,"tag":"Repetition"}},{"Entity":{"atom":42}},{"Repetition":{"atom":686,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Entity":{"atom":42}},{"Repetition":{"atom":689,"min":0,"max":1,"tag":"Maybe"}},{"Alternative":{"atoms":[688,690]}},{"Entity":{"atom":59}},{"Entity":{"atom":102}},{"Sequence":{"atoms":[680,681,682,683,685,687,691,692,693]}},{"Repetition":{"atom":679,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":521}},{"Repetition":{"atom":696,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":698,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[658,659,660,661,662,663,666,667,669,670,671,676,678,695,697,699]}},{"Named":{"name":"publisher_addendum","atom":700}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":702}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addendum"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[709,710]}},{"Entity":{"atom":23}},{"Entity":{"atom":314}},{"Named":{"name":"base_publisher","atom":713}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":716}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":721}},{"Sequence":{"atoms":[720,722]}},{"Repetition":{"atom":723,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":104}},{"Repetition":{"atom":725,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":694}},{"Repetition":{"atom":727,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":521}},{"Repetition":{"atom":729,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":731,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[703,704,705,706,707,708,711,712,714,715,717,718,719,724,726,728,730,732]}},{"Named":{"name":"publisher_base_addendum","atom":733}},{"Entity":{"atom":392}},{"Repetition":{"atom":735,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":736,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"Addendum"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[742,743]}},{"Entity":{"atom":23}},{"Entity":{"atom":314}},{"Named":{"name":"base_publisher","atom":746}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":749}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":754}},{"Sequence":{"atoms":[753,755]}},{"Repetition":{"atom":756,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":104}},{"Repetition":{"atom":758,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":694}},{"Repetition":{"atom":760,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":521}},{"Repetition":{"atom":762,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":764,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[737,738,739,740,741,744,745,747,748,750,751,752,757,759,761,763,765]}},{"Named":{"name":"publisher_base_addendum","atom":766}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":768}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addendum"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[775,776]}},{"Entity":{"atom":23}},{"Entity":{"atom":392}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":780}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":785}},{"Sequence":{"atoms":[784,786]}},{"Repetition":{"atom":787,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":694}},{"Repetition":{"atom":789,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":521}},{"Repetition":{"atom":791,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":793,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[769,770,771,772,773,774,777,778,779,781,782,783,788,790,792,794]}},{"Named":{"name":"publisher_addendum_copublisher","atom":795}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":797}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addendum"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[804,805]}},{"Entity":{"atom":23}},{"Entity":{"atom":392}},{"Entity":{"atom":293}},{"Entity":{"atom":104}},{"Repetition":{"atom":810,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":694}},{"Repetition":{"atom":812,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":521}},{"Repetition":{"atom":814,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":816,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[798,799,800,801,802,803,806,807,808,809,811,813,815,817]}},{"Named":{"name":"publisher_addendum_copublisher_no_type","atom":818}},{"Entity":{"atom":392}},{"Repetition":{"atom":820,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":821,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"Addendum"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[827,828]}},{"Entity":{"atom":23}},{"Entity":{"atom":392}},{"Repetition":{"atom":831,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":293}},{"Entity":{"atom":104}},{"Repetition":{"atom":834,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":694}},{"Repetition":{"atom":836,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":521}},{"Repetition":{"atom":838,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":840,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[822,823,824,825,826,829,830,832,833,835,837,839,841]}},{"Named":{"name":"addendum_no_type","atom":842}},{"Entity":{"atom":392}},{"Repetition":{"atom":844,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":845,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"Addendum"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[851,852]}},{"Entity":{"atom":23}},{"Entity":{"atom":392}},{"Repetition":{"atom":855,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":857}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":862}},{"Sequence":{"atoms":[861,863]}},{"Repetition":{"atom":864,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":104}},{"Repetition":{"atom":866,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":694}},{"Repetition":{"atom":868,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":521}},{"Repetition":{"atom":870,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":872,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[846,847,848,849,850,853,854,856,858,859,860,865,867,869,871,873]}},{"Named":{"name":"addendum","atom":874}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":876}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":879}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":884}},{"Sequence":{"atoms":[883,885]}},{"Repetition":{"atom":886,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":104}},{"Repetition":{"atom":888,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":111}},{"Repetition":{"atom":890,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":149}},{"Repetition":{"atom":892,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":":"}},{"Entity":{"atom":23}},{"Sequence":{"atoms":[894,895]}},{"Entity":{"atom":23}},{"Alternative":{"atoms":[896,897]}},{"Str":{"pattern":"Addendum"}},{"Str":{"pattern":"addendum"}},{"Alternative":{"atoms":[899,900]}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":694}},{"Repetition":{"atom":904,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":521}},{"Repetition":{"atom":906,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":908,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[877,878,880,881,882,887,889,891,893,898,901,902,903,905,907,909]}},{"Named":{"name":"standard_addendum","atom":910}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":912}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":915}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":920}},{"Sequence":{"atoms":[919,921]}},{"Repetition":{"atom":922,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":104}},{"Repetition":{"atom":924,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":111}},{"Repetition":{"atom":926,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":149}},{"Repetition":{"atom":928,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addendum"}},{"Str":{"pattern":"addendum"}},{"Alternative":{"atoms":[931,932]}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":694}},{"Repetition":{"atom":936,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":521}},{"Repetition":{"atom":938,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":940,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[913,914,916,917,918,923,925,927,929,930,933,934,935,937,939,941]}},{"Named":{"name":"standard_addendum","atom":942}},{"Alternative":{"atoms":[701,734,767,796,819,843,875,911,943]}},{"Entity":{"atom":1234}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":946}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Str":{"pattern":"and"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[952,953,954,955,956]}},{"Entity":{"atom":23}},{"Str":{"pattern":"and"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[958,959,960,961]}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[963,964,965]}},{"Repetition":{"atom":966,"min":1,"max":50,"tag":"Repetition"}},{"Entity":{"atom":42}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[968,969]}},{"Repetition":{"atom":970,"min":1,"max":50,"tag":"Repetition"}},{"Alternative":{"atoms":[957,962,967,971]}},{"Repetition":{"atom":972,"min":0,"max":20,"tag":"Repetition"}},{"Named":{"name":"additional_codes","atom":973}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[976,977]}},{"Entity":{"atom":23}},{"Entity":{"atom":392}},{"Repetition":{"atom":980,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":982}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":987}},{"Sequence":{"atoms":[986,988]}},{"Repetition":{"atom":989,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Entity":{"atom":104}},{"Sequence":{"atoms":[991,992]}},{"Repetition":{"atom":993,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":694}},{"Repetition":{"atom":995,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":997,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[947,948,949,950,951,974,975,978,979,981,983,984,985,990,994,996,998]}},{"Named":{"name":"combined_addenda","atom":999}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":1001}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":1004}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":1009}},{"Sequence":{"atoms":[1008,1010]}},{"Str":{"pattern":":"}},{"Entity":{"atom":23}},{"Sequence":{"atoms":[1012,1013]}},{"Entity":{"atom":23}},{"Alternative":{"atoms":[1014,1015]}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1020,1021,1022]}},{"Repetition":{"atom":1023,"min":1,"max":50,"tag":"Repetition"}},{"Entity":{"atom":42}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1025,1026]}},{"Repetition":{"atom":1027,"min":1,"max":50,"tag":"Repetition"}},{"Alternative":{"atoms":[1024,1028]}},{"Named":{"name":"additional_codes","atom":1029}},{"Repetition":{"atom":1030,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":1032,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[1002,1003,1005,1006,1007,1011,1016,1017,1018,1019,1031,1033]}},{"Named":{"name":"combined_addenda","atom":1034}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Str":{"pattern":"and"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1039,1040,1041,1042,1043]}},{"Entity":{"atom":23}},{"Str":{"pattern":"and"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1045,1046,1047,1048]}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1050,1051,1052]}},{"Repetition":{"atom":1053,"min":1,"max":20,"tag":"Repetition"}},{"Entity":{"atom":42}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1055,1056]}},{"Repetition":{"atom":1057,"min":1,"max":20,"tag":"Repetition"}},{"Alternative":{"atoms":[1044,1049,1054,1058]}},{"Repetition":{"atom":1059,"min":0,"max":20,"tag":"Repetition"}},{"Named":{"name":"additional_codes","atom":1060}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[1063,1064]}},{"Entity":{"atom":23}},{"Entity":{"atom":392}},{"Repetition":{"atom":1067,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":1069}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":1074}},{"Sequence":{"atoms":[1073,1075]}},{"Repetition":{"atom":1076,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":1078,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[1036,1037,1038,1061,1062,1065,1066,1068,1070,1071,1072,1077,1079]}},{"Named":{"name":"combined_addenda","atom":1080}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":1082}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[1087,1088]}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":1091}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":1096}},{"Sequence":{"atoms":[1095,1097]}},{"Repetition":{"atom":1098,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":1100,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[1083,1084,1085,1086,1089,1090,1092,1093,1094,1099,1101]}},{"Named":{"name":"combined_addenda","atom":1102}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":1104}},{"Entity":{"atom":23}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Str":{"pattern":"and"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1110,1111,1112,1113,1114]}},{"Entity":{"atom":23}},{"Str":{"pattern":"and"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1116,1117,1118,1119]}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1121,1122,1123]}},{"Repetition":{"atom":1124,"min":1,"max":20,"tag":"Repetition"}},{"Entity":{"atom":42}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1126,1127]}},{"Repetition":{"atom":1128,"min":1,"max":20,"tag":"Repetition"}},{"Alternative":{"atoms":[1115,1120,1125,1129]}},{"Repetition":{"atom":1130,"min":0,"max":20,"tag":"Repetition"}},{"Named":{"name":"additional_codes","atom":1131}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[1134,1135]}},{"Entity":{"atom":23}},{"Entity":{"atom":293}},{"Entity":{"atom":264}},{"Repetition":{"atom":1139,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[1105,1106,1107,1108,1109,1132,1133,1136,1137,1138,1140]}},{"Named":{"name":"combined_addenda","atom":1141}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Str":{"pattern":"and"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1146,1147,1148,1149,1150]}},{"Entity":{"atom":23}},{"Str":{"pattern":"and"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1152,1153,1154,1155]}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1157,1158,1159]}},{"Repetition":{"atom":1160,"min":1,"max":20,"tag":"Repetition"}},{"Entity":{"atom":42}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1162,1163]}},{"Repetition":{"atom":1164,"min":1,"max":20,"tag":"Repetition"}},{"Alternative":{"atoms":[1151,1156,1161,1165]}},{"Repetition":{"atom":1166,"min":0,"max":20,"tag":"Repetition"}},{"Named":{"name":"additional_codes","atom":1167}},{"Entity":{"atom":23}},{"Str":{"pattern":"to"}},{"Str":{"pattern":"for"}},{"Alternative":{"atoms":[1170,1171]}},{"Entity":{"atom":23}},{"Entity":{"atom":293}},{"Entity":{"atom":264}},{"Repetition":{"atom":1175,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[1143,1144,1145,1168,1169,1172,1173,1174,1176]}},{"Named":{"name":"combined_addenda","atom":1177}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":1179}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":1182}},{"Entity":{"atom":23}},{"Entity":{"atom":49}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":1187}},{"Sequence":{"atoms":[1186,1188]}},{"Repetition":{"atom":1189,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":":"}},{"Entity":{"atom":23}},{"Sequence":{"atoms":[1191,1192]}},{"Entity":{"atom":23}},{"Alternative":{"atoms":[1193,1194]}},{"Str":{"pattern":"Addenda"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Entity":{"atom":23}},{"Str":{"pattern":"through"}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1199,1200,1201,1202]}},{"Entity":{"atom":23}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Sequence":{"atoms":[1205,1206]}},{"Alternative":{"atoms":[1204,1207]}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1208,1209]}},{"Repetition":{"atom":1210,"min":1,"max":200,"tag":"Repetition"}},{"Entity":{"atom":42}},{"Entity":{"atom":23}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1212,1213,1214]}},{"Repetition":{"atom":1215,"min":1,"max":200,"tag":"Repetition"}},{"Entity":{"atom":42}},{"Entity":{"atom":414}},{"Sequence":{"atoms":[1217,1218]}},{"Repetition":{"atom":1219,"min":1,"max":200,"tag":"Repetition"}},{"Alternative":{"atoms":[1203,1211,1216,1220]}},{"Named":{"name":"additional_codes","atom":1221}},{"Repetition":{"atom":1222,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Entity":{"atom":104}},{"Sequence":{"atoms":[1224,1225]}},{"Repetition":{"atom":1226,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":694}},{"Repetition":{"atom":1228,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":1230,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[1180,1181,1183,1184,1185,1190,1195,1196,1197,1198,1223,1227,1229,1231]}},{"Named":{"name":"combined_addenda","atom":1232}},{"Alternative":{"atoms":[1000,1035,1081,1103,1142,1178,1233]}},{"Str":{"pattern":"ANSI"}},{"Entity":{"atom":9}},{"Sequence":{"atoms":[1235,1236]}},{"Repetition":{"atom":1237,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"ASHRAE"}},{"Lookahead":{"atom":1239,"positive":false}},{"Entity":{"atom":15}},{"Sequence":{"atoms":[1240,1241]}},{"Repetition":{"atom":1242,"min":2,"max":10,"tag":"Repetition"}},{"Sequence":{"atoms":[1238,1243]}},{"Named":{"name":"copublisher","atom":1244}},{"Entity":{"atom":23}},{"Entity":{"atom":293}},{"Entity":{"atom":264}},{"Repetition":{"atom":1248,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[1245,1246,1247,1249]}},{"Entity":{"atom":21}},{"Entity":{"atom":23}},{"Entity":{"atom":293}},{"Entity":{"atom":23}},{"Entity":{"atom":104}},{"Sequence":{"atoms":[1254,1255]}},{"Repetition":{"atom":1256,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":111}},{"Repetition":{"atom":1258,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":149}},{"Repetition":{"atom":1260,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":1262,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[1251,1252,1253,1257,1259,1261,1263]}},{"Entity":{"atom":21}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":1267}},{"Repetition":{"atom":1268,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Repetition":{"atom":1270,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":49}},{"Entity":{"atom":23}},{"Repetition":{"atom":1273,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":1276}},{"Sequence":{"atoms":[1274,1275,1277]}},{"Repetition":{"atom":1278,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Entity":{"atom":104}},{"Sequence":{"atoms":[1280,1281]}},{"Repetition":{"atom":1282,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":111}},{"Repetition":{"atom":1284,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":149}},{"Repetition":{"atom":1286,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":1288,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[1265,1266,1269,1271,1272,1279,1283,1285,1287,1289]}},{"Entity":{"atom":314}},{"Named":{"name":"publisher","atom":1291}},{"Entity":{"atom":23}},{"Entity":{"atom":27}},{"Named":{"name":"type","atom":1294}},{"Entity":{"atom":23}},{"Sequence":{"atoms":[1295,1296]}},{"Repetition":{"atom":1297,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":49}},{"Entity":{"atom":23}},{"Repetition":{"atom":1300,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Entity":{"atom":59}},{"Named":{"name":"year","atom":1303}},{"Sequence":{"atoms":[1301,1302,1304]}},{"Repetition":{"atom":1305,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":23}},{"Entity":{"atom":104}},{"Sequence":{"atoms":[1307,1308]}},{"Repetition":{"atom":1309,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":111}},{"Repetition":{"atom":1311,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":149}},{"Repetition":{"atom":1313,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":264}},{"Repetition":{"atom":1315,"min":0,"max":2,"tag":"Repetition"}},{"Sequence":{"atoms":[1292,1293,1298,1299,1306,1310,1312,1314,1316]}},{"Named":{"name":"base","atom":1317}},{"Alternative":{"atoms":[0,348,366,529,656,945,1250,1264,1290,1318]}}],"root":1319},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule reaffirmation_year: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule reaffirmed: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule reaffirmed: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule reaffirmed: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule reaffirmed: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule reaffirmed: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule reaffirmed: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 1 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 4 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule month_name: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_date: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_date: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_date: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_date_and_suffix: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_date_and_suffix: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_date_and_suffix: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_date_and_suffix: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_date_and_suffix: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_date_and_suffix: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_paren_date: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_paren_date: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_paren_date: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule errata_identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 1 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 3 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 4 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule combined_addenda_identifier: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule addenda_package_identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule addenda_package_identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule addenda_package_identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 1 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 1 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 1 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 3 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 3 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 3 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 4 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 4 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 4 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 5 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 6 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule addendum_identifier: branches 8 and 9 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 (first set not statically known)","rule identifier: branches 1 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 7 are order-dependent (first set not statically known)","rule identifier: branches 3 and 7 are order-dependent (first set not statically known)","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 (first set not statically known)","rule identifier: branches 4 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 10 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 (first set not statically known)","rule identifier: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 7 are order-dependent (first set not statically known)","rule identifier: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 7 and 8 are order-dependent (first set not statically known)","rule identifier: branches 7 and 9 are order-dependent (first set not statically known)","rule identifier: branches 7 and 10 are order-dependent (first set not statically known)","rule identifier: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ASHRAE 62.1","expect":{}},{"entry":"identifier","kind":"accept","input":"ASHRAE Standard 55-2020","expect":{}},{"entry":"identifier","kind":"accept","input":"ANSI/ASHRAE Standard 135-2020","expect":{}},{"entry":"identifier","kind":"accept","input":"ASHRAE 55-2020 (RA 2019)","expect":{}},{"entry":"identifier","kind":"accept","input":"ASHRAE Addendum a to Standard 135-2020","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/ashrae/parser.rb — ASHRAE identifiers: standards\n# (Guideline/Standard, dotted codes, comma-letter codes), ANSI/ASHRAE\n# copublications, reaffirmations, errata (month/numeric dates plus\n# suffixes), Interpretations, combined Addenda listings, Addendum and\n# Addenda Supplement/Package forms. The gem's parse() normalization\n# (whitespace collapsing, RA spacing, \", and\" folding, paren balancing)\n# is Tier-3 preprocessing outside the grammar. Source deviations:\n# `str(\"\")` alternatives expressed as bracketed optionals; `space?`\n# inlined as [space].\n\ngrammar PubidAshrae version \"0.1.0\" {\n digit = %x30-39\n letter = %x41-5A / %x61-7A\n digits = 1*digit\n space = \" \"\n dash = \"-\"\n dot = \".\"\n slash = \"/\"\n lparen = \"(\"\n rparen = \")\"\n comma = \",\"\n colon = \":\"\n\n year_digits = ((\"19\" / \"20\") 2digit)\n reaffirmation_year = (year_digits / 2digit)\n publisher = \"ASHRAE\"\n type = \"Guideline\" / \"Standard\"\n code = ((digits 0*2(dot digits) [(letter 0*10(comma letter))])) as code\n code_with_year = ((((digits 0*2(dot digits) [(letter 0*10(comma letter))])) as code [[space] dash (year_digits) as year])) as code_with_year\n suffix = (\"R\" / \"P\") as suffix\n additional_copublisher = ((slash ((4*10letter space [(digits [dash digits])])) as additional_copublisher)) / ((lparen (((\"ANSI\" slash (2*10letter 0*2(slash 2*10letter)))) as additional_copublisher) space [(digits [dash digits])] rparen))\n optional_suffix = [space] lparen (\"PDF\" / ((1*20letter 0*500(space / digit / comma / dash / dot / letter / \"–\")))) rparen\n reaffirmed = (([space] lparen \"RA\" [space] (reaffirmation_year) as reaffirmed rparen)) / (([space] lparen \"RA\" dash (reaffirmation_year) as reaffirmed rparen)) / ((space \"RA\" space (reaffirmation_year) as reaffirmed)) / ((space \"RA\" dash (reaffirmation_year) as reaffirmed))\n addendum_code = (([digits] 1*3letter)) as addendum_code\n month_name = \"January\" / \"February\" / \"March\" / \"April\" / \"May\" / \"June\" / \"July\" / \"August\" / \"September\" / \"October\" / \"November\" / \"December\"\n\n errata_date = (([space] lparen (month_name) as month space (1*2digit) as day [comma] (space / [comma]) (year_digits) as errata_year rparen) as errata_date) / (([space] lparen (month_name) as month space (1*2digit) as day rparen) as errata_date) / (([space] lparen ((1*2digit dash 1*2digit dash [space] year_digits) as numeric_date) rparen) as errata_date)\n errata_suffix = 0*3(space (\"-\" / \"–\") space (letter 0*50(space / letter / digit / comma)))\n errata_date_and_suffix = (errata_suffix errata_date) / (errata_date errata_suffix) / errata_date / errata_suffix\n errata_paren_date = ([space] lparen month_name space 1*2digit [comma] (space / [comma]) year_digits rparen) / ([space] lparen month_name space 1*2digit rparen) / ([space] lparen 1*2digit dash 1*2digit dash [space] year_digits rparen)\n errata_suffix_on_addendum = space \"Errata\" as errata_keyword [errata_paren_date]\n\n ansi_copub = ((\"ANSI\" dash \"ASHRAE\") / (\"ANSI\" slash \"ASHRAE\" 0*10(slash 3*10letter))) as copublisher\n ansi_copub_space = (((\"ANSI\" slash \"ASHRAE\" 0*10(slash 3*10letter))) as copublisher space)\n\n errata_identifier = ((((ansi_copub space (type) as type space code [([space] dash (year_digits) as year)] [(space additional_copublisher)] [suffix] [reaffirmed])) as base) space \"Errata\" as errata_keyword [errata_date_and_suffix] ((0*2 optional_suffix) as optional_suffixes)) / ((((ansi_copub space code_with_year [(space additional_copublisher)] [suffix] [reaffirmed])) as base) space \"Errata\" as errata_keyword [errata_date_and_suffix] ((0*2 optional_suffix) as optional_suffixes)) / ((((publisher) as publisher space (type) as type space code [([space] dash (year_digits) as year)] [(space additional_copublisher)] [suffix] [reaffirmed])) as base) space \"Errata\" as errata_keyword [errata_date_and_suffix] ((0*2 optional_suffix) as optional_suffixes)\n\n interpretation_identifier = (((\"Interpretations\" space \"for\" space (((type) as type space code [(dash (year_digits) as year)])) as base)) as interpretation_identifier)\n\n combined_addenda_identifier = (((publisher) as publisher space \"Addenda\" space addendum_code ((0*20((comma space \"and\" space addendum_code) / (space \"and\" space addendum_code) / 1*50(comma space addendum_code) / 1*50(comma addendum_code))) as additional_codes) space (\"to\" / \"for\") space [ansi_copub_space] (type) as type space code [(dash (year_digits) as year)] [(space additional_copublisher)] [addendum_date_suffix] 0*2optional_suffix) as combined_addenda) / (((publisher) as publisher space (type) as type space code (dash (year_digits) as year) ((\":\" space) / space) \"Addenda\" space addendum_code [((1*50(comma space addendum_code) / 1*50(comma addendum_code))) as additional_codes] 0*2optional_suffix) as combined_addenda) / ((\"Addenda\" space addendum_code ((0*20((comma space \"and\" space addendum_code) / (space \"and\" space addendum_code) / 1*20(comma space addendum_code) / 1*20(comma addendum_code))) as additional_codes) space (\"to\" / \"for\") space [ansi_copub_space] (type) as type space code [(dash (year_digits) as year)] 0*2optional_suffix) as combined_addenda) / (((publisher) as publisher space \"Addenda\" space (\"to\" / \"for\") space (type) as type space code [(dash (year_digits) as year)] 0*2optional_suffix) as combined_addenda) / (((publisher) as publisher space \"Addenda\" space addendum_code ((0*20((comma space \"and\" space addendum_code) / (space \"and\" space addendum_code) / 1*20(comma space addendum_code) / 1*20(comma addendum_code))) as additional_codes) space (\"to\" / \"for\") space code_with_year 0*2optional_suffix) as combined_addenda) / ((\"Addenda\" space addendum_code ((0*20((comma space \"and\" space addendum_code) / (space \"and\" space addendum_code) / 1*20(comma space addendum_code) / 1*20(comma addendum_code))) as additional_codes) space (\"to\" / \"for\") space code_with_year 0*2optional_suffix) as combined_addenda) / (((publisher) as publisher space (type) as type space code [(dash (year_digits) as year)] ((\":\" space) / space) \"Addenda\" space addendum_code [((space \"through\" space addendum_code) / 1*200((space / (comma space)) addendum_code) / 1*200(comma space addendum_code) / 1*200(comma addendum_code)) as additional_codes] [(space additional_copublisher)] [addendum_date_suffix] 0*2optional_suffix) as combined_addenda)\n\n year_first_addenda_package_identifier = ((((year_digits) as package_year space ((\"Addenda\" space \"Supplement\" [(space \"Package\")] space \"to\" space [ansi_copub_space] (type) as type space code [(dash (year_digits) as year)]) / (\"Supplement\" space \"Addenda\" space addendum_code [((1*50(comma space addendum_code) / 1*50(comma addendum_code)) as additional_codes)] space \"to\" space [ansi_copub_space] (type) as type space code [(dash (year_digits) as year)]) / (\"Addenda\" space \"Supplement\" space \"to\" space [ansi_copub_space] (type) as type space code [(dash (year_digits) as year)]) / (\"Supplement\" space \"to\" space [ansi_copub_space] (type) as type space code [(dash (year_digits) as year)] [errata_suffix_on_addendum])) 0*2optional_suffix)) as addenda_package)\n\n addenda_package_identifier = ((ansi_copub_space (type) as type space code [(dash (year_digits) as year)] ((\":\" space) / space) \"Addenda\" space (((\"Supplement\" [(space \"Package\")]) / \"Package\") as package_description) [(space \"for\" space (year_digits) as target_year)] 0*3optional_suffix) as addenda_package) / (((publisher) as publisher space (type) as type space code [(dash (year_digits) as year)] comma space \"Addenda\" space (year_digits) as package_year space \"Supplement\" colon space \"Addenda\" space (((\"Supplement\" [(space \"Package\")]) / \"Package\") as package_description) 0*3optional_suffix) as addenda_package) / (((publisher) as publisher space (type) as type space code [(dash (year_digits) as year)] [(space (year_digits) as package_year)] [additional_copublisher] [suffix] [reaffirmed] ((\":\" space) / space) \"Addenda\" space (((\"Supplement\" [(space \"Package\")]) / \"Package\") as package_description) [(space \"for\" space (year_digits) as target_year)] 0*3optional_suffix) as addenda_package)\n\n addendum_date_suffix = space lparen month_name space 1*2digit [comma] (space / [comma]) year_digits rparen\n\n addendum_identifier = ((((publisher) as publisher space \"Addendum\" space addendum_code space (\"to\" / \"for\") space (type) as type space code [(dash (year_digits) as year)] [additional_copublisher] [addendum_date_suffix] [errata_suffix_on_addendum] 0*2optional_suffix)) as publisher_addendum) / ((((publisher) as publisher space \"Addendum\" space addendum_code space (\"to\" / \"for\") space (publisher) as base_publisher space (type) as type space code [(dash (year_digits) as year)] [additional_copublisher] [addendum_date_suffix] [errata_suffix_on_addendum] 0*2optional_suffix)) as publisher_base_addendum) / ((([[ansi_copub_space]] \"Addendum\" space addendum_code space (\"to\" / \"for\") space (publisher) as base_publisher space (type) as type space code [(dash (year_digits) as year)] [additional_copublisher] [addendum_date_suffix] [errata_suffix_on_addendum] 0*2optional_suffix)) as publisher_base_addendum) / ((((publisher) as publisher space \"Addendum\" space addendum_code space (\"to\" / \"for\") space (ansi_copub_space) (type) as type space code [(dash (year_digits) as year)] [addendum_date_suffix] [errata_suffix_on_addendum] 0*2optional_suffix)) as publisher_addendum_copublisher) / ((((publisher) as publisher space \"Addendum\" space addendum_code space (\"to\" / \"for\") space (ansi_copub_space) code_with_year [additional_copublisher] [addendum_date_suffix] [errata_suffix_on_addendum] 0*2optional_suffix)) as publisher_addendum_copublisher_no_type) / ((([[ansi_copub_space]] \"Addendum\" space addendum_code space (\"to\" / \"for\") space [ansi_copub_space] code_with_year [additional_copublisher] [addendum_date_suffix] [errata_suffix_on_addendum] 0*2optional_suffix)) as addendum_no_type) / ((([[ansi_copub_space]] \"Addendum\" space addendum_code space (\"to\" / \"for\") space [ansi_copub_space] (type) as type space code [(dash (year_digits) as year)] [additional_copublisher] [addendum_date_suffix] [errata_suffix_on_addendum] 0*2optional_suffix)) as addendum) / ((((publisher) as publisher space (type) as type space code [(dash (year_digits) as year)] [additional_copublisher] [suffix] [reaffirmed] ((\":\" space) / space) (\"Addendum\" / \"addendum\") space addendum_code [addendum_date_suffix] [errata_suffix_on_addendum] 0*2optional_suffix)) as standard_addendum) / ((((publisher) as publisher space (type) as type space code [(dash (year_digits) as year)] [additional_copublisher] [suffix] [reaffirmed] space (\"Addendum\" / \"addendum\") space addendum_code [addendum_date_suffix] [errata_suffix_on_addendum] 0*2optional_suffix)) as standard_addendum)\n\n identifier = errata_identifier / interpretation_identifier / year_first_addenda_package_identifier / addenda_package_identifier / addendum_identifier / combined_addenda_identifier / ((([(\"ANSI\" slash)] 2*10(!(\"ASHRAE\") letter)) as copublisher) space code_with_year 0*2optional_suffix) / ((ansi_copub) space code_with_year [(space additional_copublisher)] [suffix] [reaffirmed] 0*2optional_suffix) / ((ansi_copub) space [(type) as type] [space] code [([space] dash (year_digits) as year)] [(space additional_copublisher)] [suffix] [reaffirmed] 0*2optional_suffix) / (((publisher) as publisher space [((type) as type space)] code [([space] dash (year_digits) as year)] [(space additional_copublisher)] [suffix] [reaffirmed] 0*2optional_suffix)) as base\n\n entry identifier: identifier\n\n test {\n accept \"ASHRAE 62.1\"\n accept \"ASHRAE Standard 55-2020\"\n accept \"ANSI/ASHRAE Standard 135-2020\"\n accept \"ASHRAE 55-2020 (RA 2019)\"\n accept \"ASHRAE Addendum a to Standard 135-2020\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:c1c64cd5565b812cd17e067e8cc2f0633400f2e674db0d8b563974593d739d4d"}
@@ -0,0 +1 @@
1
+ {"bindings":null,"version":"0.1.0","grammar":"PubidAsme","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":263}},{"Str":{"pattern":"CSA"}},{"Named":{"name":"first_publisher","atom":1}},{"Entity":{"atom":4}},{"Str":{"pattern":" "}},{"Entity":{"atom":9}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[.]"}},{"Alternative":{"atoms":[6,7,8]}},{"Repetition":{"atom":5,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"first_code","atom":10}},{"Entity":{"atom":4}},{"Repetition":{"atom":12,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":15}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"ASME"}},{"Named":{"name":"second_publisher","atom":16}},{"Entity":{"atom":4}},{"Entity":{"atom":176}},{"Entity":{"atom":131}},{"Str":{"pattern":"BPVC"}},{"Entity":{"atom":4}},{"Str":{"pattern":"COMPLETE CODE BIND"}},{"Sequence":{"atoms":[22,23]}},{"Named":{"name":"special","atom":24}},{"Entity":{"atom":30}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"–"}},{"Str":{"pattern":"—"}},{"Alternative":{"atoms":[27,28,29]}},{"Str":{"pattern":"CC"}},{"Entity":{"atom":30}},{"Entity":{"atom":48}},{"Str":{"pattern":"NCA"}},{"Str":{"pattern":"NCD"}},{"Str":{"pattern":"SSC"}},{"Str":{"pattern":"BPV"}},{"Str":{"pattern":"NUC"}},{"Str":{"pattern":"NB"}},{"Str":{"pattern":"NC"}},{"Str":{"pattern":"ND"}},{"Str":{"pattern":"NE"}},{"Str":{"pattern":"NF"}},{"Str":{"pattern":"NG"}},{"Entity":{"atom":46}},{"Entity":{"atom":47}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Alternative":{"atoms":[34,35,36,37,38,39,40,41,42,43,44,45]}},{"Named":{"name":"case_code","atom":33}},{"Sequence":{"atoms":[26,31,32,49]}},{"Entity":{"atom":52}},{"Str":{"pattern":"."}},{"Entity":{"atom":83}},{"Str":{"pattern":"SSC"}},{"Entity":{"atom":52}},{"Entity":{"atom":77}},{"Entity":{"atom":71}},{"Str":{"pattern":"XIII"}},{"Str":{"pattern":"XII"}},{"Str":{"pattern":"XI"}},{"Str":{"pattern":"VIII"}},{"Str":{"pattern":"VII"}},{"Str":{"pattern":"VI"}},{"Str":{"pattern":"IV"}},{"Str":{"pattern":"IX"}},{"Str":{"pattern":"X"}},{"Str":{"pattern":"III"}},{"Str":{"pattern":"II"}},{"Str":{"pattern":"V"}},{"Str":{"pattern":"I"}},{"Alternative":{"atoms":[58,59,60,61,62,63,64,65,66,67,68,69,70]}},{"Entity":{"atom":52}},{"Entity":{"atom":71}},{"Sequence":{"atoms":[72,73]}},{"Repetition":{"atom":74,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[57,75]}},{"Named":{"name":"ssc_sections","atom":76}},{"Sequence":{"atoms":[55,56]}},{"Repetition":{"atom":78,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":52}},{"Repetition":{"atom":80,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[54,79,81]}},{"Named":{"name":"ssc_code","atom":82}},{"Entity":{"atom":98}},{"Str":{"pattern":"CC"}},{"Entity":{"atom":52}},{"Entity":{"atom":48}},{"Named":{"name":"case_code","atom":87}},{"Str":{"pattern":"."}},{"Entity":{"atom":52}},{"Repetition":{"atom":90,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":71}},{"Entity":{"atom":48}},{"Alternative":{"atoms":[92,93]}},{"Named":{"name":"case_sub","atom":94}},{"Sequence":{"atoms":[89,91,95]}},{"Repetition":{"atom":96,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[85,86,88,97]}},{"Entity":{"atom":125}},{"Entity":{"atom":71}},{"Named":{"name":"section","atom":100}},{"Str":{"pattern":"."}},{"Entity":{"atom":106}},{"Entity":{"atom":105}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":104,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":48}},{"Alternative":{"atoms":[103,107]}},{"Named":{"name":"subsection","atom":108}},{"Sequence":{"atoms":[102,109]}},{"Repetition":{"atom":110,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"."}},{"Entity":{"atom":48}},{"Named":{"name":"sub_subsection","atom":113}},{"Sequence":{"atoms":[112,114]}},{"Repetition":{"atom":115,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":118}},{"Str":{"pattern":"_"}},{"Entity":{"atom":121}},{"Entity":{"atom":46}},{"Repetition":{"atom":120,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"lang_suffix","atom":119}},{"Sequence":{"atoms":[117,122]}},{"Repetition":{"atom":123,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[101,111,116,124]}},{"Alternative":{"atoms":[53,84,99]}},{"Named":{"name":"subdivision","atom":126}},{"Sequence":{"atoms":[51,127]}},{"Alternative":{"atoms":[25,50,128]}},{"Named":{"name":"bpvc_code","atom":129}},{"Sequence":{"atoms":[21,130]}},{"Entity":{"atom":169}},{"Str":{"pattern":"PVHO"}},{"Str":{"pattern":"PASE"}},{"Str":{"pattern":"PTC"}},{"Str":{"pattern":"PTB"}},{"Str":{"pattern":"PDS"}},{"Str":{"pattern":"PCC"}},{"Str":{"pattern":"V&V"}},{"Str":{"pattern":"V V"}},{"Str":{"pattern":"VVUQ"}},{"Str":{"pattern":"TDP"}},{"Str":{"pattern":"RTP"}},{"Str":{"pattern":"RT"}},{"Str":{"pattern":"RA-S"}},{"Str":{"pattern":"RA"}},{"Str":{"pattern":"QME"}},{"Str":{"pattern":"QAI"}},{"Str":{"pattern":"QEI"}},{"Str":{"pattern":"NUM"}},{"Str":{"pattern":"NQA"}},{"Str":{"pattern":"NML"}},{"Str":{"pattern":"OM"}},{"Str":{"pattern":"HST"}},{"Str":{"pattern":"HRT"}},{"Str":{"pattern":"FFS"}},{"Str":{"pattern":"TES"}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"STS"}},{"Str":{"pattern":"CSD"}},{"Str":{"pattern":"CA"}},{"Str":{"pattern":"BTH"}},{"Str":{"pattern":"BPE"}},{"Str":{"pattern":"ANDE"}},{"Str":{"pattern":"AED"}},{"Str":{"pattern":"AG"}},{"Str":{"pattern":"NM"}},{"Str":{"pattern":"EA"}},{"Alternative":{"atoms":[133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168]}},{"Str":{"pattern":"ISO"}},{"Str":{"pattern":"CSA"}},{"Str":{"pattern":"API"}},{"Str":{"pattern":"ANS"}},{"Entity":{"atom":121}},{"Alternative":{"atoms":[20,132,170,171,172,173,174]}},{"Named":{"name":"designator","atom":175}},{"Entity":{"atom":228}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Entity":{"atom":105}},{"Entity":{"atom":47}},{"Alternative":{"atoms":[180,181]}},{"Repetition":{"atom":179,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":185,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[184,186]}},{"Repetition":{"atom":187,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[178,183,188]}},{"Entity":{"atom":207}},{"Entity":{"atom":30}},{"Str":{"pattern":"20XX"}},{"Str":{"pattern":"202X"}},{"Str":{"pattern":"20"}},{"Entity":{"atom":105}},{"Str":{"pattern":"X"}},{"Sequence":{"atoms":[194,195,196]}},{"Entity":{"atom":105}},{"Repetition":{"atom":198,"min":4,"max":4,"tag":"Repetition"}},{"Alternative":{"atoms":[192,193,197,199]}},{"Entity":{"atom":205}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Re":{"pattern":"[.]"}},{"Alternative":{"atoms":[202,203,204]}},{"Lookahead":{"atom":201,"positive":false}},{"Sequence":{"atoms":[191,200,206]}},{"Lookahead":{"atom":190,"positive":false}},{"Entity":{"atom":30}},{"Entity":{"atom":182}},{"Repetition":{"atom":210,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":213,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[212,214]}},{"Repetition":{"atom":215,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[208,209,211,216]}},{"Entity":{"atom":182}},{"Repetition":{"atom":218,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":221,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[220,222]}},{"Repetition":{"atom":223,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[219,224]}},{"Alternative":{"atoms":[217,225]}},{"Alternative":{"atoms":[189,226]}},{"Named":{"name":"number","atom":227}},{"Repetition":{"atom":177,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Str":{"pattern":"20XX"}},{"Str":{"pattern":"202X"}},{"Str":{"pattern":"20"}},{"Entity":{"atom":105}},{"Str":{"pattern":"X"}},{"Sequence":{"atoms":[234,235,236]}},{"Alternative":{"atoms":[232,233,237]}},{"Named":{"name":"draft_year","atom":238}},{"Entity":{"atom":243}},{"Entity":{"atom":105}},{"Repetition":{"atom":241,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":242}},{"Alternative":{"atoms":[231,240]}},{"Sequence":{"atoms":[230,244]}},{"Repetition":{"atom":245,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Entity":{"atom":121}},{"Named":{"name":"language","atom":250}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[248,249,251,252]}},{"Repetition":{"atom":247,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Entity":{"atom":4}},{"Str":{"pattern":"(R"}},{"Entity":{"atom":243}},{"Named":{"name":"reaffirmation","atom":258}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[256,257,259,260]}},{"Repetition":{"atom":255,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[2,3,11,13,14,17,18,19,229,246,254,262]}},{"Entity":{"atom":293}},{"Str":{"pattern":"API"}},{"Named":{"name":"first_publisher","atom":265}},{"Entity":{"atom":4}},{"Entity":{"atom":271}},{"Entity":{"atom":105}},{"Str":{"pattern":"-"}},{"Alternative":{"atoms":[269,270]}},{"Repetition":{"atom":268,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"first_code","atom":272}},{"Entity":{"atom":4}},{"Repetition":{"atom":274,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":15}},{"Str":{"pattern":"ASME"}},{"Named":{"name":"second_publisher","atom":277}},{"Entity":{"atom":4}},{"Entity":{"atom":176}},{"Entity":{"atom":228}},{"Repetition":{"atom":281,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[284,285]}},{"Sequence":{"atoms":[283,286]}},{"Repetition":{"atom":287,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":289,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":291,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[266,267,273,275,276,278,279,280,282,288,290,292]}},{"Entity":{"atom":313}},{"Entity":{"atom":300}},{"Str":{"pattern":"ISO/ASME"}},{"Named":{"name":"joint_publisher","atom":296}},{"Entity":{"atom":4}},{"Repetition":{"atom":298,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[297,299]}},{"Entity":{"atom":228}},{"Repetition":{"atom":301,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[304,305]}},{"Sequence":{"atoms":[303,306]}},{"Repetition":{"atom":307,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":309,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":311,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[295,302,308,310,312]}},{"Entity":{"atom":333}},{"Entity":{"atom":319}},{"Str":{"pattern":"ASME/ANS"}},{"Named":{"name":"joint_publisher","atom":316}},{"Entity":{"atom":4}},{"Sequence":{"atoms":[317,318]}},{"Entity":{"atom":176}},{"Entity":{"atom":228}},{"Repetition":{"atom":321,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[324,325]}},{"Sequence":{"atoms":[323,326]}},{"Repetition":{"atom":327,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":329,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":331,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[315,320,322,328,330,332]}},{"Entity":{"atom":476}},{"Entity":{"atom":339}},{"Entity":{"atom":337}},{"Str":{"pattern":"ASME"}},{"Entity":{"atom":4}},{"Sequence":{"atoms":[336,338]}},{"Entity":{"atom":367}},{"Str":{"pattern":"PTC"}},{"Named":{"name":"designator","atom":341}},{"Entity":{"atom":360}},{"Entity":{"atom":4}},{"Repetition":{"atom":344,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":105}},{"Repetition":{"atom":346,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":105}},{"Repetition":{"atom":349,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[348,350]}},{"Repetition":{"atom":351,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[347,352]}},{"Named":{"name":"number","atom":353}},{"Entity":{"atom":4}},{"Entity":{"atom":121}},{"Named":{"name":"ptc_suffix","atom":356}},{"Sequence":{"atoms":[355,357]}},{"Repetition":{"atom":358,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[345,354,359]}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[362,363]}},{"Sequence":{"atoms":[361,364]}},{"Repetition":{"atom":365,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[342,343,366]}},{"Entity":{"atom":400}},{"Str":{"pattern":"TR"}},{"Named":{"name":"designator","atom":369}},{"Entity":{"atom":393}},{"Entity":{"atom":4}},{"Repetition":{"atom":372,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":182}},{"Repetition":{"atom":374,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":182}},{"Repetition":{"atom":377,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[376,378]}},{"Repetition":{"atom":379,"min":0,"max":null,"tag":"Repetition"}},{"Entity":{"atom":30}},{"Entity":{"atom":105}},{"Repetition":{"atom":382,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":52}},{"Entity":{"atom":105}},{"Repetition":{"atom":385,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[384,386]}},{"Repetition":{"atom":387,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[381,383,388]}},{"Repetition":{"atom":389,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[375,380,390]}},{"Named":{"name":"number","atom":391}},{"Sequence":{"atoms":[373,392]}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[395,396]}},{"Sequence":{"atoms":[394,397]}},{"Repetition":{"atom":398,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[370,371,399]}},{"Entity":{"atom":444}},{"Entity":{"atom":176}},{"Entity":{"atom":407}},{"Entity":{"atom":4}},{"Repetition":{"atom":404,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":228}},{"Sequence":{"atoms":[405,406]}},{"Repetition":{"atom":403,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":420}},{"Entity":{"atom":15}},{"Str":{"pattern":"CSA"}},{"Entity":{"atom":4}},{"Entity":{"atom":46}},{"Entity":{"atom":105}},{"Entity":{"atom":52}},{"Alternative":{"atoms":[414,415]}},{"Repetition":{"atom":416,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[413,417]}},{"Named":{"name":"csa_number","atom":418}},{"Sequence":{"atoms":[410,411,412,419]}},{"Entity":{"atom":425}},{"Entity":{"atom":4}},{"Str":{"pattern":"Handbook"}},{"Sequence":{"atoms":[422,423]}},{"Named":{"name":"handbook","atom":424}},{"Repetition":{"atom":421,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[409,426]}},{"Entity":{"atom":425}},{"Alternative":{"atoms":[427,428]}},{"Repetition":{"atom":429,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":431,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":30}},{"Entity":{"atom":239}},{"Entity":{"atom":243}},{"Alternative":{"atoms":[434,435]}},{"Sequence":{"atoms":[433,436]}},{"Repetition":{"atom":437,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":253}},{"Repetition":{"atom":439,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[402,408,430,432,438,440]}},{"Entity":{"atom":367}},{"Entity":{"atom":400}},{"Alternative":{"atoms":[441,442,443]}},{"Alternative":{"atoms":[340,368,401]}},{"Entity":{"atom":460}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Str":{"pattern":"Proposed revision of"}},{"Str":{"pattern":"Revision of"}},{"Alternative":{"atoms":[449,450]}},{"Entity":{"atom":4}},{"Entity":{"atom":456}},{"Re":{"pattern":"[\\x01-\\x28]"}},{"Re":{"pattern":"[\\x2a-\\u{10ffff}]"}},{"Alternative":{"atoms":[454,455]}},{"Repetition":{"atom":453,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"ref_standard","atom":457}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[447,448,451,452,458,459]}},{"Repetition":{"atom":446,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":261}},{"Repetition":{"atom":462,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":474}},{"Entity":{"atom":4}},{"Str":{"pattern":"["}},{"Entity":{"atom":470}},{"Re":{"pattern":"[\\x01-\\x5c]"}},{"Re":{"pattern":"[\\x5e-\\u{10ffff}]"}},{"Alternative":{"atoms":[468,469]}},{"Repetition":{"atom":467,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"revision_note","atom":471}},{"Str":{"pattern":"]"}},{"Sequence":{"atoms":[465,466,472,473]}},{"Repetition":{"atom":464,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[335,445,461,463,475]}},{"Alternative":{"atoms":[0,264,294,314,334]}}],"root":477},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule dash: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 1 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 3 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 4 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 5 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 6 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 7 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 8 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 10 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_numeral: branches 11 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 1 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 2 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 3 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 4 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 5 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 6 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 7 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 8 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 9 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 9 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 10 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule bpvc_letter_code: branches 11 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 10 and 25 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 10 and 26 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 11 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 11 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 11 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 12 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 12 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 13 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 15 and 16 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 15 and 17 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 16 and 17 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 18 and 19 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 18 and 20 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 18 and 35 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 19 and 20 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 19 and 35 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 20 and 35 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 22 and 23 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 25 and 26 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 28 and 29 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 30 and 31 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 32 and 33 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 32 and 34 are order-dependent (shared first bytes; ordered choice is decisive)","rule multi_char_code: branches 33 and 34 are order-dependent (shared first bytes; ordered choice is decisive)","rule non_rparen: branches 1 and 2 are order-dependent (first set not statically known)","rule non_rbracket: branches 1 and 2 are order-dependent (first set not statically known)","rule standard_body: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule standard_body: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ASME BPVC.VIII","expect":{}},{"entry":"identifier","kind":"accept","input":"ASME PTC 19.3","expect":{}},{"entry":"identifier","kind":"accept","input":"ASME Y14.5-2018","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/asme/parser.rb — ASME identifiers: the BPVC\n# subdivision family, multi-char codes, PTC/TR space-separated numbers,\n# CSA/API/ISO/ASME-ANS joint publishers, draft years (20XX/202X/2ddX),\n# reaffirmations, parenthetical revisions, and bracketed notes.\n\ngrammar PubidAsme version \"0.1.0\" {\n upper = %x41-5A\n lower = %x61-7A\n digit = %x30-39\n letter = upper\n letters = 1*letter\n digits = 1*digit\n num_letter = digit / upper\n space = \" \"\n dash = \"-\" / \"–\" / \"—\"\n dot = \".\"\n slash = \"/\"\n underscore = \"_\"\n\n asme_publisher = \"ASME\"\n publisher = asme_publisher space\n\n roman_numeral = \"XIII\" / \"XII\" / \"XI\" / \"VIII\" / \"VII\" / \"VI\" / \"IV\" / \"IX\" / \"X\" / \"III\" / \"II\" / \"V\" / \"I\"\n bpvc_letter_code = \"NCA\" / \"NCD\" / \"SSC\" / \"BPV\" / \"NUC\" / \"NB\" / \"NC\" / \"ND\" / \"NE\" / \"NF\" / \"NG\" / letter\n ssc_sections = (roman_numeral *(dot roman_numeral)) as ssc_sections\n ssc_code = (\"SSC\" [dot ssc_sections] [dot]) as ssc_code\n cc_case = (\"CC\" dot bpvc_letter_code as case_code [(\".\" [dot] (roman_numeral / bpvc_letter_code) as case_sub)])\n subdivision_code = (roman_numeral as section [(\".\" (digits / bpvc_letter_code) as subsection)] [(\".\" bpvc_letter_code as sub_subsection)] [(underscore letters as lang_suffix)])\n bpvc_subdivision = (\"BPVC\" (((space \"COMPLETE CODE BIND\") as special / (dash \"CC\" dash bpvc_letter_code as case_code) / (dot (ssc_code / cc_case / subdivision_code) as subdivision))) as bpvc_code)\n multi_char_code = \"PVHO\" / \"PASE\" / \"PTC\" / \"PTB\" / \"PDS\" / \"PCC\" / \"V&V\" / \"V V\" / \"VVUQ\" / \"TDP\" / \"RTP\" / \"RT\" / \"RA-S\" / \"RA\" / \"QME\" / \"QAI\" / \"QEI\" / \"NUM\" / \"NQA\" / \"NML\" / \"OM\" / \"HST\" / \"HRT\" / \"FFS\" / \"TES\" / \"TR\" / \"STS\" / \"CSD\" / \"CA\" / \"BTH\" / \"BPE\" / \"ANDE\" / \"AED\" / \"AG\" / \"NM\" / \"EA\"\n designator = (bpvc_subdivision / multi_char_code / \"ISO\" / \"CSA\" / \"API\" / \"ANS\" / letters) as designator\n\n trailing_year = dash (\"20XX\" / \"202X\" / (\"20\" digit \"X\") / 4digit) !num_letter_dot\n num_letter_dot = %x30-39 / %x41-5A / %x2E\n number_part = ((dot 1*num_letter *(dot 1*num_letter)) / ((!trailing_year dash 1*num_letter *(dot 1*num_letter)) / (1*num_letter *(dot 1*num_letter)))) as number\n ptc_number = [space] (1*digit *(dot 1*digit)) as number [(space letters as ptc_suffix)]\n tr_number = [space] (1*num_letter *(dot 1*num_letter) [(dash 1*digit *(dot 1*digit))]) as number\n spaced_number_part = [space] number_part\n year_4digit = (4digit) as year\n draft_year = (\"20XX\" / \"202X\" / (\"20\" digit \"X\")) as draft_year\n reaffirmation = space \"(R\" year_4digit as reaffirmation \")\"\n csa_portion = slash \"CSA\" space (letter 1*(digit / dot)) as csa_number\n parenthetical_revision = space \"(\" (\"Proposed revision of\" / \"Revision of\") space (1*non_rparen) as ref_standard \")\"\n revision_note = space \"[\" (1*non_rbracket) as revision_note \"]\"\n language = space \"(\" letters as language \")\"\n handbook_keyword = (space \"Handbook\") as handbook\n non_rparen = %x01-28 / %x2A-10FFFF\n non_rbracket = %x01-5C / %x5E-10FFFF\n\n standard_components = publisher designator [number_part] [(csa_portion / handbook_keyword)] [language] [(dash (draft_year / year_4digit))] [language] [parenthetical_revision] [reaffirmation] [revision_note]\n csa_asme_identifier = (\"CSA\" as first_publisher space (1*csa_first_char) as first_code [space] slash \"ASME\" as second_publisher space designator [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n csa_first_char = %x41-5A / %x30-39 / %x2E\n api_asme_identifier = (\"API\" as first_publisher space (1*numdash) as first_code [space] slash \"ASME\" as second_publisher space designator [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n numdash = digit / \"-\"\n iso_asme_publisher = (\"ISO/ASME\" as joint_publisher [space])\n asme_ans_publisher = (\"ASME/ANS\" as joint_publisher space)\n iso_asme_identifier = (iso_asme_publisher [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n asme_ans_identifier = (asme_ans_publisher designator [number_part] [(dash (draft_year / year_4digit))] [language] [reaffirmation])\n ptc_form = (\"PTC\" as designator ptc_number [(dash (draft_year / year_4digit))])\n tr_form = (\"TR\" as designator tr_number [(dash (draft_year / year_4digit))])\n standard_body = ((designator [spaced_number_part] [((csa_portion [handbook_keyword]) / handbook_keyword)] [language] [(dash (draft_year / year_4digit))] [language])) / ptc_form / tr_form\n standard = publisher (ptc_form / tr_form / standard_body) [parenthetical_revision] [reaffirmation] [revision_note]\n\n identifier = csa_asme_identifier / api_asme_identifier / iso_asme_identifier / asme_ans_identifier / standard\n\n entry identifier: identifier\n\n test {\n accept \"ASME BPVC.VIII\"\n accept \"ASME PTC 19.3\"\n accept \"ASME Y14.5-2018\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:da0941c21a7e12dfb319f0efe7a76dabebb2adc40ffeb0ced6250b0228b9084f"}
@@ -0,0 +1 @@
1
+ {"bindings":null,"version":"0.1.0","grammar":"PubidAstm","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":27}},{"Entity":{"atom":8}},{"Str":{"pattern":"ASTM"}},{"Named":{"name":"publisher","atom":2}},{"Entity":{"atom":5}},{"Str":{"pattern":" "}},{"Repetition":{"atom":4,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[3,6]}},{"Repetition":{"atom":7,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":1,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"RR"}},{"Named":{"name":"type","atom":10}},{"Entity":{"atom":13}},{"Str":{"pattern":":"}},{"Entity":{"atom":15}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Entity":{"atom":17}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":16,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[14,18]}},{"Named":{"name":"committee","atom":19}},{"Entity":{"atom":22}},{"Str":{"pattern":"-"}},{"Entity":{"atom":25}},{"Entity":{"atom":17}},{"Repetition":{"atom":24,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":23}},{"Sequence":{"atoms":[9,11,12,20,21,26]}},{"Entity":{"atom":65}},{"Entity":{"atom":52}},{"Str":{"pattern":"ISO/ASTMTR"}},{"Named":{"name":"type","atom":30}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":32}},{"Entity":{"atom":38}},{"Entity":{"atom":22}},{"Str":{"pattern":"EB"}},{"Named":{"name":"format_suffix","atom":36}},{"Sequence":{"atoms":[35,37]}},{"Repetition":{"atom":34,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":50}},{"Entity":{"atom":5}},{"Repetition":{"atom":41,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"#"}},{"Entity":{"atom":47}},{"Re":{"pattern":"[\\x01-\\x22]"}},{"Re":{"pattern":"[\\x24-\\u{10ffff}]"}},{"Alternative":{"atoms":[45,46]}},{"Repetition":{"atom":44,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[42,43,48]}},{"Repetition":{"atom":49,"min":0,"max":1,"tag":"Maybe"}},{"Repetition":{"atom":40,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[31,33,39,51]}},{"Entity":{"atom":64}},{"Entity":{"atom":8}},{"Repetition":{"atom":54,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"TR"}},{"Named":{"name":"type","atom":56}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":58}},{"Entity":{"atom":38}},{"Repetition":{"atom":60,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":50}},{"Repetition":{"atom":62,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[55,57,59,61,63]}},{"Alternative":{"atoms":[29,53]}},{"Entity":{"atom":111}},{"Entity":{"atom":8}},{"Repetition":{"atom":67,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"MNL"}},{"Named":{"name":"type","atom":69}},{"Str":{"pattern":"TP"}},{"Named":{"name":"tp_designation","atom":71}},{"Repetition":{"atom":72,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":74}},{"Entity":{"atom":22}},{"Entity":{"atom":93}},{"Str":{"pattern":"e"}},{"Entity":{"atom":17}},{"Repetition":{"atom":79,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"edition_number","atom":80}},{"Sequence":{"atoms":[78,81]}},{"Str":{"pattern":"9TH"}},{"Str":{"pattern":"8TH"}},{"Str":{"pattern":"7TH"}},{"Str":{"pattern":"6TH"}},{"Str":{"pattern":"5TH"}},{"Str":{"pattern":"4TH"}},{"Str":{"pattern":"3RD"}},{"Str":{"pattern":"2ND"}},{"Str":{"pattern":"1ST"}},{"Alternative":{"atoms":[82,83,84,85,86,87,88,89,90,91]}},{"Named":{"name":"edition","atom":92}},{"Sequence":{"atoms":[76,77]}},{"Repetition":{"atom":94,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":101}},{"Entity":{"atom":22}},{"Str":{"pattern":"SUP"}},{"Named":{"name":"supplement","atom":98}},{"Entity":{"atom":22}},{"Sequence":{"atoms":[97,99,100]}},{"Entity":{"atom":104}},{"Str":{"pattern":"EB"}},{"Named":{"name":"format_suffix","atom":103}},{"Repetition":{"atom":102,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[96,105]}},{"Entity":{"atom":38}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Alternative":{"atoms":[106,108]}},{"Repetition":{"atom":109,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[68,70,73,75,95,110]}},{"Entity":{"atom":125}},{"Entity":{"atom":8}},{"Repetition":{"atom":113,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"MONO"}},{"Named":{"name":"type","atom":115}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":117}},{"Entity":{"atom":22}},{"Entity":{"atom":93}},{"Sequence":{"atoms":[119,120]}},{"Repetition":{"atom":121,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":38}},{"Repetition":{"atom":123,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[114,116,118,122,124]}},{"Entity":{"atom":157}},{"Entity":{"atom":8}},{"Repetition":{"atom":127,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"DS"}},{"Named":{"name":"type","atom":129}},{"Entity":{"atom":154}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":132}},{"Str":{"pattern":"HOL"}},{"Named":{"name":"hol_suffix","atom":134}},{"Entity":{"atom":138}},{"Entity":{"atom":15}},{"Named":{"name":"suffix","atom":137}},{"Entity":{"atom":141}},{"Entity":{"atom":25}},{"Named":{"name":"subseries","atom":140}},{"Entity":{"atom":147}},{"Entity":{"atom":22}},{"Str":{"pattern":"S"}},{"Entity":{"atom":25}},{"Named":{"name":"subseries","atom":145}},{"Sequence":{"atoms":[143,144,146]}},{"Alternative":{"atoms":[139,142]}},{"Repetition":{"atom":148,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[136,149]}},{"Entity":{"atom":147}},{"Alternative":{"atoms":[135,150,151]}},{"Repetition":{"atom":152,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[133,153]}},{"Entity":{"atom":38}},{"Repetition":{"atom":155,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[128,130,131,156]}},{"Entity":{"atom":165}},{"Entity":{"atom":8}},{"Repetition":{"atom":159,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"WK"}},{"Named":{"name":"type","atom":161}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":163}},{"Sequence":{"atoms":[160,162,164]}},{"Entity":{"atom":193}},{"Entity":{"atom":8}},{"Repetition":{"atom":167,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"ADJ"}},{"Named":{"name":"type","atom":169}},{"Entity":{"atom":175}},{"Entity":{"atom":15}},{"Entity":{"atom":174}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Alternative":{"atoms":[172,173]}},{"Entity":{"atom":17}},{"Repetition":{"atom":176,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[171,177]}},{"Entity":{"atom":181}},{"Entity":{"atom":15}},{"Repetition":{"atom":180,"min":1,"max":null,"tag":"Repetition"}},{"Entity":{"atom":25}},{"Alternative":{"atoms":[178,179,182]}},{"Named":{"name":"designation","atom":183}},{"Entity":{"atom":22}},{"Str":{"pattern":"EA"}},{"Sequence":{"atoms":[185,186]}},{"Repetition":{"atom":187,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"ea_suffix","atom":188}},{"Str":{"pattern":"DVD"}},{"Named":{"name":"dvd_suffix","atom":190}},{"Repetition":{"atom":191,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[168,170,184,189,192]}},{"Entity":{"atom":240}},{"Entity":{"atom":8}},{"Repetition":{"atom":195,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":212}},{"Entity":{"atom":200}},{"Re":{"pattern":"[\\x41-\\x47]"}},{"Named":{"name":"letter","atom":199}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":201}},{"Entity":{"atom":210}},{"Entity":{"atom":205}},{"Str":{"pattern":"/"}},{"Entity":{"atom":200}},{"Entity":{"atom":25}},{"Str":{"pattern":"M"}},{"Named":{"name":"dual_m","atom":208}},{"Sequence":{"atoms":[204,206,207,209]}},{"Repetition":{"atom":203,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[198,202,211]}},{"Entity":{"atom":215}},{"Entity":{"atom":25}},{"Named":{"name":"number","atom":214}},{"Alternative":{"atoms":[197,213]}},{"Entity":{"atom":22}},{"Entity":{"atom":221}},{"Entity":{"atom":17}},{"Repetition":{"atom":219,"min":2,"max":null,"tag":"Repetition"}},{"Named":{"name":"year","atom":220}},{"Entity":{"atom":224}},{"Re":{"pattern":"[\\x61-\\x63]"}},{"Named":{"name":"sub_year","atom":223}},{"Repetition":{"atom":222,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":232}},{"Str":{"pattern":"("}},{"Entity":{"atom":17}},{"Repetition":{"atom":228,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"reapproval","atom":229}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[227,230,231]}},{"Repetition":{"atom":226,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":93}},{"Repetition":{"atom":234,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[217,218,225,233,235]}},{"Repetition":{"atom":236,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":50}},{"Repetition":{"atom":238,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[196,216,237,239]}},{"Alternative":{"atoms":[0,28,66,112,126,158,166,194]}}],"root":241},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule non_hash: branches 1 and 2 are order-dependent (first set not statically known)","rule identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 1 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 3 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 4 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule identifier: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ASTM A370-03","expect":{}},{"entry":"identifier","kind":"accept","input":"ASTM E11-87(1996)","expect":{}},{"entry":"identifier","kind":"accept","input":"ASTM RR:D04-1001","expect":{}},{"entry":"identifier","kind":"accept","input":"ASTM DS63","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/astm/parser.rb — ASTM designations: standards\n# (A-G letter codes, dual-unit, 2-digit years with sub-year letters and\n# reapprovals), research reports, TRs, MNL/MONO/DS/WK/ADJ series.\n\ngrammar PubidAstm version \"0.1.0\" {\n upper = %x41-5A\n letter = upper / lower\n lower = %x61-7A\n digit = %x30-39\n letters = 1*upper\n digits = 1*digit\n space = \" \"\n dash = \"-\"\n slash = \"/\"\n colon = \":\"\n dot = \".\"\n publisher = [\"ASTM\" as publisher [space]]\n standard_letter = %x41-47 as letter\n year_2digit = (2*digit) as year\n reapproval = \"(\" (4digit) as reapproval \")\"\n comment = [[space] \"#\" *non_hash]\n non_hash = %x01-22 / %x24-10FFFF\n edition = ((\"e\" (1*digit) as edition_number) / \"9TH\" / \"8TH\" / \"7TH\" / \"6TH\" / \"5TH\" / \"4TH\" / \"3RD\" / \"2ND\" / \"1ST\") as edition\n sub_year = %x61-63 as sub_year\n format_suffix = dash \"EB\" as format_suffix\n format_suffix_no_dash = \"EB\" as format_suffix\n supplement = dash \"SUP\" as supplement dash\n research_report = [publisher] \"RR\" as type colon (upper 2*digit) as committee dash digits as number\n manual = [publisher] \"MNL\" as type [\"TP\" as tp_designation] digits as number [(dash edition)] [(supplement [format_suffix_no_dash]) / [format_suffix]]\n monograph = [publisher] \"MONO\" as type digits as number [(dash edition)] [format_suffix]\n data_series_suffix = upper as suffix\n data_series_subseries_with_dash = dash \"S\" digits as subseries\n data_series_subseries_no_dash = digits as subseries\n data_series_code = digits as number [(\"HOL\" as hol_suffix) / (data_series_suffix [(data_series_subseries_no_dash / data_series_subseries_with_dash)]) / data_series_subseries_with_dash]\n data_series = [publisher] \"DS\" as type data_series_code [format_suffix]\n work_in_progress = [publisher] \"WK\" as type digits as number\n adjunct = [publisher] \"ADJ\" as type ((letter (1*digit)) / letters / digits) as designation ([dash \"EA\"]) as ea_suffix [\"DVD\" as dvd_suffix]\n technical_report_iso_astm = \"ISO/ASTMTR\" as type digits as number [format_suffix] [comment]\n technical_report_simple = [publisher] \"TR\" as type digits as number [format_suffix] [comment]\n technical_report = technical_report_iso_astm / technical_report_simple\n dual_unit = slash standard_letter digits \"M\" as dual_m\n standard_code_with_letter = standard_letter digits as number [dual_unit]\n standard_code_digit_only = digits as number\n standard = [publisher] (standard_code_with_letter / standard_code_digit_only) [(dash year_2digit [sub_year] [reapproval] [edition])] [comment]\n identifier = research_report / technical_report / manual / monograph / data_series / work_in_progress / adjunct / standard\n\n entry identifier: identifier\n\n test {\n accept \"ASTM A370-03\"\n accept \"ASTM E11-87(1996)\"\n accept \"ASTM RR:D04-1001\"\n accept \"ASTM DS63\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:9fd17202ddf522d66e09be19baf26ce6b18cc78a3f42bc4a4ce21ca6e25164f7"}