@pubid/pubid 0.1.10 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/flavors/ieee/index.js +92 -10
  2. package/dist/flavors/ieee/model.js +93 -33
  3. package/dist/flavors/ieee/preprocessor.js +19 -3
  4. package/package.json +2 -2
  5. package/vendor/parg/adobe.json +1 -1
  6. package/vendor/parg/aiee.json +1 -1
  7. package/vendor/parg/amca.json +1 -1
  8. package/vendor/parg/ansi.json +1 -1
  9. package/vendor/parg/api.json +1 -1
  10. package/vendor/parg/ashrae.json +1 -1
  11. package/vendor/parg/asme.json +1 -1
  12. package/vendor/parg/astm.json +1 -1
  13. package/vendor/parg/bipm.json +1 -1
  14. package/vendor/parg/bsi.json +1 -1
  15. package/vendor/parg/calconnect.json +1 -1
  16. package/vendor/parg/ccsds.json +1 -1
  17. package/vendor/parg/cen_cenelec.json +1 -1
  18. package/vendor/parg/cie.json +1 -1
  19. package/vendor/parg/csa.json +1 -1
  20. package/vendor/parg/doi.json +1 -1
  21. package/vendor/parg/easc.json +1 -1
  22. package/vendor/parg/ecma.json +1 -1
  23. package/vendor/parg/etsi.json +1 -1
  24. package/vendor/parg/evs.json +1 -1
  25. package/vendor/parg/gb.json +1 -1
  26. package/vendor/parg/gost.json +1 -1
  27. package/vendor/parg/iala.json +1 -1
  28. package/vendor/parg/iana.json +1 -1
  29. package/vendor/parg/idf.json +1 -1
  30. package/vendor/parg/iec.json +1 -1
  31. package/vendor/parg/ieee.json +1 -1
  32. package/vendor/parg/ietf.json +1 -1
  33. package/vendor/parg/ire.json +1 -1
  34. package/vendor/parg/isbn.json +1 -1
  35. package/vendor/parg/iso.json +1 -1
  36. package/vendor/parg/itu.json +1 -1
  37. package/vendor/parg/jcgm.json +1 -1
  38. package/vendor/parg/jis.json +1 -1
  39. package/vendor/parg/nesc.json +1 -1
  40. package/vendor/parg/nist.json +1 -1
  41. package/vendor/parg/oasis.json +1 -1
  42. package/vendor/parg/ogc.json +1 -1
  43. package/vendor/parg/oiml.json +1 -1
  44. package/vendor/parg/omg.json +1 -1
  45. package/vendor/parg/parg.json +1 -1
  46. package/vendor/parg/plateau.json +1 -1
  47. package/vendor/parg/sae.json +1 -1
  48. package/vendor/parg/tgpp.json +1 -1
  49. package/vendor/parg/un.json +1 -1
  50. package/vendor/parg/w3c.json +1 -1
  51. package/vendor/parg/xsf.json +1 -1
@@ -1 +1 @@
1
- {"bindings":null,"version":"0.1.0","grammar":"PubidItu","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":737}},{"Entity":{"atom":725}},{"Entity":{"atom":165}},{"Str":{"pattern":"Annex to"}},{"Entity":{"atom":5}},{"Str":{"pattern":" "}},{"Entity":{"atom":163}},{"Entity":{"atom":108}},{"Entity":{"atom":21}},{"Str":{"pattern":"Recommendation "}},{"Str":{"pattern":"ITU"}},{"Entity":{"atom":12}},{"Str":{"pattern":"-"}},{"Entity":{"atom":5}},{"Alternative":{"atoms":[11,13]}},{"Sequence":{"atoms":[9,10,14]}},{"Str":{"pattern":"ITU"}},{"Entity":{"atom":12}},{"Entity":{"atom":5}},{"Alternative":{"atoms":[17,18]}},{"Sequence":{"atoms":[16,19]}},{"Alternative":{"atoms":[15,20]}},{"Entity":{"atom":27}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"T"}},{"Str":{"pattern":"D"}},{"Alternative":{"atoms":[23,24,25]}},{"Named":{"name":"sector","atom":26}},{"Entity":{"atom":5}},{"Sequence":{"atoms":[22,28]}},{"Repetition":{"atom":29,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":33}},{"Str":{"pattern":"OB"}},{"Named":{"name":"series","atom":32}},{"Entity":{"atom":43}},{"Entity":{"atom":36}},{"Str":{"pattern":"."}},{"Entity":{"atom":42}},{"Entity":{"atom":41}},{"Entity":{"atom":40}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":39,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":38}},{"Sequence":{"atoms":[35,37]}},{"Entity":{"atom":49}},{"Entity":{"atom":5}},{"Str":{"pattern":"No."}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Sequence":{"atoms":[45,46,47,48]}},{"Entity":{"atom":53}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Sequence":{"atoms":[51,52]}},{"Alternative":{"atoms":[34,44,50]}},{"Entity":{"atom":94}},{"Entity":{"atom":68}},{"Entity":{"atom":5}},{"Str":{"pattern":"("}},{"Entity":{"atom":41}},{"Named":{"name":"month","atom":59}},{"Str":{"pattern":"/"}},{"Sequence":{"atoms":[60,61]}},{"Repetition":{"atom":62,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":40}},{"Repetition":{"atom":64,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":65}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[57,58,63,66,67]}},{"Entity":{"atom":93}},{"Str":{"pattern":" - "}},{"Entity":{"atom":40}},{"Repetition":{"atom":71,"min":2,"max":2,"tag":"Repetition"}},{"Named":{"name":"day","atom":72}},{"Entity":{"atom":36}},{"Entity":{"atom":87}},{"Str":{"pattern":"XII"}},{"Str":{"pattern":"XI"}},{"Str":{"pattern":"IX"}},{"Str":{"pattern":"VIII"}},{"Str":{"pattern":"VII"}},{"Str":{"pattern":"VI"}},{"Str":{"pattern":"V"}},{"Str":{"pattern":"IV"}},{"Str":{"pattern":"III"}},{"Str":{"pattern":"II"}},{"Str":{"pattern":"I"}},{"Alternative":{"atoms":[76,77,78,79,80,81,82,83,84,85,86]}},{"Named":{"name":"roman_month","atom":75}},{"Entity":{"atom":36}},{"Entity":{"atom":40}},{"Repetition":{"atom":90,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":91}},{"Sequence":{"atoms":[70,73,74,88,89,92]}},{"Alternative":{"atoms":[56,69]}},{"Repetition":{"atom":55,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Entity":{"atom":12}},{"Str":{"pattern":"E"}},{"Str":{"pattern":"F"}},{"Str":{"pattern":"A"}},{"Str":{"pattern":"S"}},{"Str":{"pattern":"C"}},{"Str":{"pattern":"R"}},{"Alternative":{"atoms":[98,99,100,101,102,103]}},{"Named":{"name":"language","atom":104}},{"Sequence":{"atoms":[97,105]}},{"Repetition":{"atom":96,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[8,30,31,54,95,107]}},{"Entity":{"atom":162}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Sequence":{"atoms":[111,112]}},{"Repetition":{"atom":113,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"Operational Bulletin"}},{"Named":{"name":"_op_bull","atom":115}},{"Entity":{"atom":5}},{"Str":{"pattern":"No."}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Entity":{"atom":158}},{"Entity":{"atom":68}},{"Entity":{"atom":157}},{"Entity":{"atom":145}},{"Entity":{"atom":12}},{"Entity":{"atom":132}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[127,128]}},{"Entity":{"atom":40}},{"Entity":{"atom":40}},{"Sequence":{"atoms":[129,130,131]}},{"Named":{"name":"year","atom":126}},{"Entity":{"atom":141}},{"Str":{"pattern":"0"}},{"Re":{"pattern":"[\\x31-\\x39]"}},{"Sequence":{"atoms":[135,136]}},{"Str":{"pattern":"1"}},{"Re":{"pattern":"[\\x30-\\x32]"}},{"Sequence":{"atoms":[138,139]}},{"Alternative":{"atoms":[137,140]}},{"Named":{"name":"month","atom":134}},{"Entity":{"atom":40}},{"Lookahead":{"atom":143,"positive":false}},{"Sequence":{"atoms":[125,133,142,144]}},{"Entity":{"atom":155}},{"Entity":{"atom":12}},{"Str":{"pattern":"I"}},{"Entity":{"atom":40}},{"Entity":{"atom":151}},{"Entity":{"atom":152}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Alternative":{"atoms":[149,150]}},{"Lookahead":{"atom":153,"positive":false}},{"Sequence":{"atoms":[147,148,154]}},{"Repetition":{"atom":146,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[124,156]}},{"Alternative":{"atoms":[122,123]}},{"Repetition":{"atom":121,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":160,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[110,114,116,117,118,119,120,159,161]}},{"Alternative":{"atoms":[7,109]}},{"Named":{"name":"annex_to","atom":6}},{"Sequence":{"atoms":[3,4,164]}},{"Entity":{"atom":163}},{"Entity":{"atom":558}},{"Entity":{"atom":543}},{"Entity":{"atom":509}},{"Entity":{"atom":426}},{"Entity":{"atom":411}},{"Entity":{"atom":323}},{"Entity":{"atom":175}},{"Str":{"pattern":"Report"}},{"Named":{"name":"report_marker","atom":174}},{"Entity":{"atom":5}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":314}},{"Str":{"pattern":"OB"}},{"Entity":{"atom":36}},{"Sequence":{"atoms":[181,182]}},{"Lookahead":{"atom":183,"positive":false}},{"Entity":{"atom":192}},{"Str":{"pattern":"SG"}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[186,187]}},{"Entity":{"atom":151}},{"Repetition":{"atom":189,"min":1,"max":3,"tag":"Repetition"}},{"Alternative":{"atoms":[188,190]}},{"Named":{"name":"series","atom":191}},{"Entity":{"atom":36}},{"Sequence":{"atoms":[185,193]}},{"Repetition":{"atom":194,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":256}},{"Entity":{"atom":226}},{"Str":{"pattern":"Imp"}},{"Named":{"name":"imp_marker","atom":198}},{"Entity":{"atom":41}},{"Entity":{"atom":151}},{"Repetition":{"atom":201,"min":1,"max":3,"tag":"Repetition"}},{"Alternative":{"atoms":[200,202]}},{"Named":{"name":"number","atom":203}},{"Entity":{"atom":209}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Named":{"name":"subseries","atom":207}},{"Sequence":{"atoms":[206,208]}},{"Repetition":{"atom":205,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":225}},{"Entity":{"atom":223}},{"Entity":{"atom":12}},{"Entity":{"atom":219}},{"Entity":{"atom":132}},{"Entity":{"atom":141}},{"Entity":{"atom":40}},{"Lookahead":{"atom":217,"positive":false}},{"Sequence":{"atoms":[215,216,218]}},{"Lookahead":{"atom":214,"positive":false}},{"Entity":{"atom":41}},{"Named":{"name":"part","atom":221}},{"Sequence":{"atoms":[213,220,222]}},{"Repetition":{"atom":212,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":224}},{"Sequence":{"atoms":[199,204,210,211]}},{"Entity":{"atom":255}},{"Entity":{"atom":42}},{"Entity":{"atom":236}},{"Entity":{"atom":235}},{"Str":{"pattern":"bis"}},{"Str":{"pattern":"ter"}},{"Str":{"pattern":"quater"}},{"Str":{"pattern":"quarter"}},{"Alternative":{"atoms":[231,232,233,234]}},{"Named":{"name":"series_suffix","atom":230}},{"Repetition":{"atom":229,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":209}},{"Repetition":{"atom":238,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":225}},{"Entity":{"atom":242}},{"Entity":{"atom":253}},{"Re":{"pattern":"[\\x41-\\x52]"}},{"Re":{"pattern":"[\\x61-\\x72]"}},{"Alternative":{"atoms":[243,244]}},{"Named":{"name":"qualifier","atom":245}},{"Entity":{"atom":152}},{"Entity":{"atom":249}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Entity":{"atom":40}},{"Alternative":{"atoms":[247,248,250]}},{"Lookahead":{"atom":251,"positive":false}},{"Sequence":{"atoms":[246,252]}},{"Repetition":{"atom":241,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[228,237,239,240,254]}},{"Alternative":{"atoms":[197,227]}},{"Entity":{"atom":265}},{"Entity":{"atom":12}},{"Entity":{"atom":151}},{"Repetition":{"atom":259,"min":1,"max":3,"tag":"Repetition"}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[260,261,262]}},{"Named":{"name":"range_end","atom":263}},{"Sequence":{"atoms":[258,264]}},{"Repetition":{"atom":257,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":281}},{"Entity":{"atom":273}},{"Entity":{"atom":5}},{"Named":{"name":"series_suffix_spaced","atom":269}},{"Entity":{"atom":235}},{"Named":{"name":"series_suffix","atom":271}},{"Sequence":{"atoms":[270,272]}},{"Repetition":{"atom":268,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":279}},{"Entity":{"atom":5}},{"Named":{"name":"qualifier_spaced","atom":276}},{"Entity":{"atom":253}},{"Sequence":{"atoms":[277,278]}},{"Repetition":{"atom":275,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[274,280]}},{"Entity":{"atom":286}},{"Entity":{"atom":5}},{"Str":{"pattern":"series"}},{"Named":{"name":"series_word","atom":284}},{"Sequence":{"atoms":[283,285]}},{"Repetition":{"atom":282,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":292}},{"Entity":{"atom":5}},{"Str":{"pattern":"attachment"}},{"Named":{"name":"attachment","atom":290}},{"Sequence":{"atoms":[289,291]}},{"Repetition":{"atom":288,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Entity":{"atom":5}},{"Str":{"pattern":"(V"}},{"Entity":{"atom":41}},{"Named":{"name":"version","atom":297}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[296,298,299]}},{"Str":{"pattern":"V"}},{"Str":{"pattern":"v"}},{"Alternative":{"atoms":[301,302]}},{"Entity":{"atom":36}},{"Repetition":{"atom":304,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":41}},{"Named":{"name":"version","atom":306}},{"Sequence":{"atoms":[303,305,307]}},{"Alternative":{"atoms":[300,308]}},{"Sequence":{"atoms":[295,309]}},{"Repetition":{"atom":294,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":312,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[184,195,196,266,267,287,293,311,313]}},{"Sequence":{"atoms":[173,176,177,178,179,180]}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":175}},{"Entity":{"atom":5}},{"Entity":{"atom":314}},{"Sequence":{"atoms":[316,317,318,319,320,321]}},{"Alternative":{"atoms":[315,322]}},{"Entity":{"atom":371}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":333}},{"Str":{"pattern":"REC"}},{"Entity":{"atom":5}},{"Entity":{"atom":12}},{"Alternative":{"atoms":[330,331]}},{"Sequence":{"atoms":[329,332]}},{"Repetition":{"atom":328,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":256}},{"Entity":{"atom":265}},{"Repetition":{"atom":338,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":281}},{"Entity":{"atom":361}},{"Entity":{"atom":359}},{"Str":{"pattern":"/"}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Named":{"name":"number","atom":346}},{"Entity":{"atom":209}},{"Repetition":{"atom":348,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":225}},{"Entity":{"atom":242}},{"Repetition":{"atom":351,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":273}},{"Repetition":{"atom":353,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":279}},{"Repetition":{"atom":355,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[344,345,347,349,350,352,354,356]}},{"Named":{"name":"designation","atom":357}},{"Sequence":{"atoms":[343,358]}},{"Repetition":{"atom":342,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"combined","atom":360}},{"Repetition":{"atom":341,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":286}},{"Repetition":{"atom":363,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":292}},{"Repetition":{"atom":365,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":367,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":369,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[325,326,327,334,335,336,337,339,340,362,364,366,368,370]}},{"Entity":{"atom":384}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":256}},{"Entity":{"atom":281}},{"Entity":{"atom":292}},{"Repetition":{"atom":378,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":380,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":382,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[373,374,375,376,377,379,381,383]}},{"Entity":{"atom":410}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":405}},{"Str":{"pattern":"OB"}},{"Entity":{"atom":12}},{"Sequence":{"atoms":[390,391]}},{"Lookahead":{"atom":392,"positive":false}},{"Entity":{"atom":151}},{"Repetition":{"atom":394,"min":2,"max":null,"tag":"Repetition"}},{"Named":{"name":"series","atom":395}},{"Entity":{"atom":12}},{"Named":{"name":"series_dash","atom":397}},{"Entity":{"atom":41}},{"Entity":{"atom":151}},{"Repetition":{"atom":400,"min":1,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[399,401]}},{"Named":{"name":"number","atom":402}},{"Entity":{"atom":225}},{"Sequence":{"atoms":[393,396,398,403,404]}},{"Entity":{"atom":310}},{"Repetition":{"atom":406,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":408,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[386,387,388,389,407,409]}},{"Alternative":{"atoms":[172,324,372,385]}},{"Named":{"name":"base","atom":171}},{"Entity":{"atom":5}},{"Str":{"pattern":"Annex"}},{"Entity":{"atom":5}},{"Entity":{"atom":422}},{"Entity":{"atom":151}},{"Entity":{"atom":41}},{"Repetition":{"atom":418,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"+"}},{"Repetition":{"atom":420,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[417,419,421]}},{"Named":{"name":"annex_number","atom":416}},{"Entity":{"atom":158}},{"Repetition":{"atom":424,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[412,413,414,415,423,425]}},{"Named":{"name":"base","atom":170}},{"Entity":{"atom":452}},{"Entity":{"atom":411}},{"Named":{"name":"base","atom":429}},{"Entity":{"atom":5}},{"Str":{"pattern":"App."}},{"Entity":{"atom":5}},{"Repetition":{"atom":433,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":440}},{"Re":{"pattern":"[I]"}},{"Re":{"pattern":"[V]"}},{"Re":{"pattern":"[X]"}},{"Alternative":{"atoms":[436,437,438]}},{"Repetition":{"atom":439,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"appendix_number","atom":435}},{"Entity":{"atom":448}},{"Entity":{"atom":5}},{"Str":{"pattern":"test vectors"}},{"Str":{"pattern":"Software"}},{"Alternative":{"atoms":[444,445]}},{"Named":{"name":"appendix_material","atom":446}},{"Sequence":{"atoms":[443,447]}},{"Repetition":{"atom":442,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":450,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[430,431,432,434,441,449,451]}},{"Named":{"name":"base","atom":428}},{"Entity":{"atom":411}},{"Named":{"name":"base","atom":454}},{"Alternative":{"atoms":[427,453,455]}},{"Entity":{"atom":5}},{"Entity":{"atom":480}},{"Str":{"pattern":"Suppl."}},{"Str":{"pattern":"Suppl"}},{"Str":{"pattern":"Amd."}},{"Str":{"pattern":"Amd"}},{"Str":{"pattern":"Add."}},{"Str":{"pattern":"Add"}},{"Str":{"pattern":"Err."}},{"Str":{"pattern":"Err"}},{"Alternative":{"atoms":[459,460,461,462,463,464,465,466]}},{"Named":{"name":"supplement_type","atom":467}},{"Entity":{"atom":473}},{"Str":{"pattern":"Technical"}},{"Named":{"name":"technical","atom":470}},{"Entity":{"atom":5}},{"Sequence":{"atoms":[471,472]}},{"Repetition":{"atom":469,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"Cor."}},{"Str":{"pattern":"Cor"}},{"Alternative":{"atoms":[475,476]}},{"Named":{"name":"supplement_type","atom":477}},{"Sequence":{"atoms":[474,478]}},{"Alternative":{"atoms":[468,479]}},{"Entity":{"atom":492}},{"Entity":{"atom":5}},{"Named":{"name":"supplement_space","atom":482}},{"Repetition":{"atom":483,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":41}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[486,487]}},{"Repetition":{"atom":488,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[485,489]}},{"Named":{"name":"supplement_number","atom":490}},{"Sequence":{"atoms":[484,491]}},{"Entity":{"atom":505}},{"Entity":{"atom":5}},{"Str":{"pattern":"("}},{"Entity":{"atom":41}},{"Named":{"name":"supplement_month","atom":496}},{"Str":{"pattern":"/"}},{"Sequence":{"atoms":[497,498]}},{"Repetition":{"atom":499,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":40}},{"Repetition":{"atom":501,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"supplement_year","atom":502}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[494,495,500,503,504]}},{"Repetition":{"atom":493,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":507,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[456,457,458,481,506,508]}},{"Entity":{"atom":533}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":521}},{"Entity":{"atom":151}},{"Entity":{"atom":41}},{"Repetition":{"atom":516,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[515,517,518,519]}},{"Named":{"name":"series","atom":520}},{"Entity":{"atom":192}},{"Alternative":{"atoms":[514,522]}},{"Entity":{"atom":286}},{"Repetition":{"atom":524,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":5}},{"Entity":{"atom":480}},{"Entity":{"atom":492}},{"Entity":{"atom":505}},{"Repetition":{"atom":529,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":531,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[511,512,513,523,525,526,527,528,530,532]}},{"Alternative":{"atoms":[169,510]}},{"Named":{"name":"base","atom":534}},{"Entity":{"atom":5}},{"Entity":{"atom":480}},{"Entity":{"atom":492}},{"Entity":{"atom":505}},{"Repetition":{"atom":539,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":541,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[535,536,537,538,540,542]}},{"Entity":{"atom":555}},{"Entity":{"atom":509}},{"Named":{"name":"base","atom":545}},{"Str":{"pattern":"/"}},{"Named":{"name":"supplement_slash","atom":547}},{"Entity":{"atom":480}},{"Entity":{"atom":492}},{"Entity":{"atom":505}},{"Repetition":{"atom":551,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":553,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[546,548,549,550,552,554]}},{"Entity":{"atom":509}},{"Entity":{"atom":533}},{"Alternative":{"atoms":[168,544,556,557]}},{"Entity":{"atom":563}},{"Entity":{"atom":426}},{"Entity":{"atom":106}},{"Repetition":{"atom":561,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[560,562]}},{"Entity":{"atom":568}},{"Entity":{"atom":452}},{"Entity":{"atom":106}},{"Repetition":{"atom":566,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[565,567]}},{"Entity":{"atom":573}},{"Entity":{"atom":323}},{"Entity":{"atom":106}},{"Repetition":{"atom":571,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[570,572]}},{"Entity":{"atom":584}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Entity":{"atom":36}},{"Str":{"pattern":"HDB"}},{"Named":{"name":"handbook_marker","atom":580}},{"Entity":{"atom":158}},{"Repetition":{"atom":582,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[575,576,577,578,579,581,583]}},{"Entity":{"atom":598}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Entity":{"atom":225}},{"Str":{"pattern":"/"}},{"Entity":{"atom":41}},{"Named":{"name":"study_group","atom":592}},{"Sequence":{"atoms":[591,593]}},{"Str":{"pattern":":"}},{"Named":{"name":"question_colon","atom":595}},{"Repetition":{"atom":596,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[586,587,588,589,590,594,597]}},{"Entity":{"atom":623}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Str":{"pattern":"["}},{"Named":{"name":"bracketed","atom":605}},{"Entity":{"atom":615}},{"Entity":{"atom":42}},{"Str":{"pattern":"/BL"}},{"Named":{"name":"has_bl","atom":609}},{"Repetition":{"atom":610,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"/"}},{"Entity":{"atom":41}},{"Named":{"name":"study_group","atom":613}},{"Sequence":{"atoms":[608,611,612,614]}},{"Str":{"pattern":"]"}},{"Sequence":{"atoms":[606,607,616]}},{"Entity":{"atom":615}},{"Alternative":{"atoms":[617,618]}},{"Str":{"pattern":":"}},{"Named":{"name":"question_colon","atom":620}},{"Repetition":{"atom":621,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[600,601,602,603,604,619,622]}},{"Entity":{"atom":644}},{"Entity":{"atom":21}},{"Str":{"pattern":"R"}},{"Named":{"name":"sector","atom":626}},{"Entity":{"atom":5}},{"Str":{"pattern":"RR"}},{"Named":{"name":"radio_regulations","atom":629}},{"Entity":{"atom":68}},{"Entity":{"atom":12}},{"Entity":{"atom":40}},{"Repetition":{"atom":633,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":634}},{"Sequence":{"atoms":[632,635]}},{"Alternative":{"atoms":[631,636]}},{"Repetition":{"atom":637,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":639,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":642}},{"Re":{"pattern":"[\\x00-\\u{10ffff}]"}},{"Lookahead":{"atom":641,"positive":false}},{"Sequence":{"atoms":[625,627,628,630,638,640,643]}},{"Entity":{"atom":669}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":333}},{"Repetition":{"atom":649,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":256}},{"Entity":{"atom":265}},{"Repetition":{"atom":654,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":281}},{"Entity":{"atom":361}},{"Repetition":{"atom":657,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":286}},{"Repetition":{"atom":659,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":292}},{"Repetition":{"atom":661,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":663,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":665,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":667,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[646,647,648,650,651,652,653,655,656,658,660,662,664,666,668]}},{"Entity":{"atom":681}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":192}},{"Str":{"pattern":"-C"}},{"Named":{"name":"contribution_marker","atom":675}},{"Entity":{"atom":42}},{"Entity":{"atom":225}},{"Entity":{"atom":106}},{"Repetition":{"atom":679,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[671,672,673,674,676,677,678,680]}},{"Entity":{"atom":686}},{"Entity":{"atom":410}},{"Entity":{"atom":106}},{"Repetition":{"atom":684,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[683,685]}},{"Entity":{"atom":701}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":256}},{"Entity":{"atom":281}},{"Entity":{"atom":292}},{"Repetition":{"atom":693,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":695,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":697,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":699,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[688,689,690,691,692,694,696,698,700]}},{"Entity":{"atom":724}},{"Entity":{"atom":27}},{"Entity":{"atom":12}},{"Str":{"pattern":"REC"}},{"Entity":{"atom":12}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":256}},{"Entity":{"atom":145}},{"Entity":{"atom":720}},{"Entity":{"atom":12}},{"Str":{"pattern":"I"}},{"Str":{"pattern":"S"}},{"Alternative":{"atoms":[713,714]}},{"Entity":{"atom":40}},{"Entity":{"atom":151}},{"Alternative":{"atoms":[716,717]}},{"Lookahead":{"atom":718,"positive":false}},{"Sequence":{"atoms":[712,715,719]}},{"Repetition":{"atom":711,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":722,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[703,704,705,706,707,708,709,710,721,723]}},{"Alternative":{"atoms":[2,166,167,559,564,569,574,585,599,624,645,670,682,687,702]}},{"Entity":{"atom":736}},{"Entity":{"atom":5}},{"Str":{"pattern":"|"}},{"Entity":{"atom":5}},{"Entity":{"atom":733}},{"Re":{"pattern":"[\\x01-\\x7b]"}},{"Re":{"pattern":"[\\x7d-\\u{10ffff}]"}},{"Alternative":{"atoms":[731,732]}},{"Repetition":{"atom":730,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[727,728,729,734]}},{"Named":{"name":"common_text_twin","atom":735}},{"Sequence":{"atoms":[1,726]}},{"Entity":{"atom":725}},{"Alternative":{"atoms":[0,738]}}],"root":739},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule non_pipe: branches 1 and 2 are order-dependent (first set not statically known)","rule series_suffix_word: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule base_report: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 4 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 9 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule ob_date: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule special_publication: 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 itu_identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 12 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 12 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 12 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 13 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 13 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 14 and 15 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ITU-R BT.500","expect":{}},{"entry":"identifier","kind":"accept","input":"Recommendation ITU-T G.650.1 (09/2020)","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-R SA.3631 Annex A","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T OB.101 (2016)","expect":{}},{"entry":"identifier","kind":"accept","input":"Annex to ITU-T OB.101","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T E.164/2","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T 55/13:","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T G.984.2 Amd. 1 (2010)","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T G.650.1B","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/itu/parser.rb — ITU-T/R/D designations: series codes\n# (BT/G/V, SGnn), Imp implementation codes, OB Operational Bulletins,\n# Reports, Study Group questions (numeric and bracketed series form),\n# supplements (Suppl./Amd./Add./Err./Cor. with Technical marker), Annex\n# and App. wraps, combined \"/XX.N\" designations, and the \"| twin\"\n# common-text form. Internal rule `itu_identifier` corresponds to the\n# source's `identifier` (renamed: PG forbids self-reference from the\n# common-text wrapper).\n\ngrammar PubidItu version \"0.1.0\" {\n digit = %x30-39\n upper = %x41-5A\n lower = %x61-7A\n letter = upper\n digits = 1*digit\n space = \" \"\n dash = \"-\"\n dot = \".\"\n non_pipe = %x01-7B / %x7D-10FFFF\n\n itu_prefix = (\"Recommendation \" \"ITU\" (dash / space)) / (\"ITU\" (dash / space))\n sector = (\"R\" / \"T\" / \"D\") as sector\n series = ((\"SG\" digits) / (1*3letter)) as series\n series_group = (letter [digits] dash digits) as series\n series_word = space \"series\" as series_word\n number = digits as number\n subseries = dot digits as subseries\n series_suffix_word = \"bis\" / \"ter\" / \"quater\" / \"quarter\"\n series_suffix = (series_suffix_word) as series_suffix\n series_suffix_spaced = (space as series_suffix_spaced) ((series_suffix_word) as series_suffix)\n qualifier_letter = ((%x41-52 / %x61-72) as qualifier) !(upper / lower / digit)\n qualifier_glued = qualifier_letter\n qualifier_spaced = (space as qualifier_spaced) qualifier_letter\n yyyymm_year = (\"19\" / \"20\") digit digit\n yyyymm_month = (\"0\" %x31-39) / (\"1\" %x30-32)\n yyyymm_shape = yyyymm_year yyyymm_month !digit\n yyyymm_date = dash (yyyymm_year) as year (yyyymm_month) as month !digit\n id_status = dash (\"I\" / \"S\") !(digit / letter)\n print_id_status = dash \"I\" !(digit / letter)\n id_date = yyyymm_date [print_id_status]\n document_date = (date_part / id_date)\n rec_word = (\"REC\" (space / dash))\n publication_id = sector dash \"REC\" dash series dot code yyyymm_date [id_status] [language]\n code_suffixes = [series_suffix_spaced] [qualifier_spaced]\n attachment = space \"attachment\" as attachment\n range_end = dash ((1*3letter dot digits) as range_end)\n part = dash !yyyymm_shape digits as part\n parts = (*part) as parts\n code = imp_code / standard_code\n standard_code = number [series_suffix] [subseries] parts [qualifier_glued]\n imp_code = \"Imp\" as imp_marker ((digits / (1*3letter)) as number) [subseries] parts\n date_part = space \"(\" [(digits as month \"/\")] ((4digit) as year) \")\"\n version_part = space (((\"(V\" digits as version \")\") / ((\"V\" / \"v\") [dot] digits as version)))\n language = dash ((\"E\" / \"F\" / \"A\" / \"S\" / \"C\" / \"R\") as language)\n\n combined_designation = \"/\" ((series dot digits as number [subseries] parts [qualifier_glued] [series_suffix_spaced] [qualifier_spaced]) as designation)\n combined_suffixes = (1*combined_designation) as combined\n\n technical_marker = \"Technical\" as technical space\n supplement_type = ((\"Suppl.\" / \"Suppl\" / \"Amd.\" / \"Amd\" / \"Add.\" / \"Add\" / \"Err.\" / \"Err\") as supplement_type) / (([technical_marker] (\"Cor.\" / \"Cor\") as supplement_type))\n supplement_number = ([space as supplement_space]) ((digits *(dot digits)) as supplement_number)\n supplement_date = space \"(\" [(digits as supplement_month \"/\")] ((4digit) as supplement_year) \")\"\n\n base_with_series = itu_prefix sector space [rec_word] series dot code [range_end] code_suffixes [combined_suffixes] [series_word] [attachment] [version_part] [document_date]\n base_without_series = itu_prefix sector space code code_suffixes [attachment] [version_part] [document_date]\n series_code_body = !(\"OB\" dash) ((2*letter) as series) (dash as series_dash) ((digits / (1*letter)) as number) parts\n contribution = itu_prefix sector space series (\"-C\" as contribution_marker) number parts [language]\n base_series_code = itu_prefix sector space series_code_body [version_part] [document_date]\n series_code_identifier = base_series_code [language]\n report_word = \"Report\" as report_marker\n report_body = !(\"OB\" dot) [(series dot)] code [range_end] code_suffixes [series_word] [attachment] [version_part] [document_date]\n base_report = (report_word space itu_prefix sector space report_body) / (itu_prefix sector space report_word space report_body)\n report_identifier = base_report [language]\n base = base_report / base_with_series / base_without_series / base_series_code\n\n annex_label = letter [digits] [\"+\"]\n annex_body = (base as base) space \"Annex\" space annex_label as annex_number [document_date]\n annex_identifier = annex_body [language]\n roman = 1*(%x49 / %x56 / %x58)\n appendix_material = space ((\"test vectors\" / \"Software\") as appendix_material)\n appendix_body = (base as base) space \"App.\" [space] roman as appendix_number [appendix_material] [document_date]\n appendix_identifier = appendix_body [language]\n\n supplement_with_base = ((annex_body as base) / (appendix_body as base) / (base as base)) space supplement_type supplement_number [supplement_date] [language]\n chained_supplement = ((supplement_with_base / supplement_series_only) as base) space supplement_type supplement_number [supplement_date] [language]\n supplement_series_only = itu_prefix sector space (series_group / series) [series_word] space supplement_type supplement_number [supplement_date] [language]\n slash_chained_supplement = ((supplement_with_base) as base) (\"/\" as supplement_slash) supplement_type supplement_number [supplement_date] [language]\n supplement_identifier = chained_supplement / slash_chained_supplement / supplement_with_base / supplement_series_only\n\n with_series = itu_prefix sector space [rec_word] series dot code [range_end] code_suffixes [combined_suffixes] [series_word] [attachment] [version_part] [document_date] [language]\n without_series = itu_prefix sector space code code_suffixes [attachment] [version_part] [document_date] [language]\n\n roman_month = \"XII\" / \"XI\" / \"IX\" / \"VIII\" / \"VII\" / \"VI\" / \"V\" / \"IV\" / \"III\" / \"II\" / \"I\"\n ob_roman_date = \" - \" (2digit) as day dot (roman_month as roman_month) dot (4digit) as year\n ob_date = (date_part / ob_roman_date)\n ob_series = \"OB\" as series\n ob_dot_body = dot number\n ob_no_body = space \"No.\" space number\n ob_bare_body = space number\n ob_with_sector = itu_prefix [(sector space)] ob_series (ob_dot_body / ob_no_body / ob_bare_body) [ob_date] [language]\n ob_long_form = itu_prefix [(sector space)] \"Operational Bulletin\" as _op_bull space \"No.\" space number [document_date] [language]\n special_publication = ob_with_sector / ob_long_form\n annex_to_identifier = \"Annex to\" space (special_publication as annex_to)\n handbook = itu_prefix sector space number dot \"HDB\" as handbook_marker [document_date]\n numeric_question = itu_prefix sector space number parts (\"/\" digits as study_group) [\":\" as question_colon]\n question_tail = number [(\"/BL\" as has_bl)] \"/\" digits as study_group\n letter_question = itu_prefix sector space series dot (((\"[\" as bracketed) question_tail \"]\") / question_tail) [\":\" as question_colon]\n common_text_twin = (space \"|\" space (1*non_pipe)) as common_text_twin\n\n identifier = common_text_identifier / itu_identifier\n any_char = %x00-10FFFF\n radio_regulations = itu_prefix (\"R\") as sector space \"RR\" as radio_regulations [(date_part / (dash (4digit) as year))] [language] !any_char\n itu_identifier = annex_to_identifier / special_publication / supplement_identifier / annex_identifier / appendix_identifier / report_identifier / handbook / numeric_question / letter_question / radio_regulations / with_series / contribution / series_code_identifier / without_series / publication_id\n common_text_identifier = itu_identifier common_text_twin\n\n entry identifier: identifier\n\n test {\n accept \"ITU-R BT.500\"\n accept \"Recommendation ITU-T G.650.1 (09/2020)\"\n accept \"ITU-R SA.3631 Annex A\"\n accept \"ITU-T OB.101 (2016)\"\n accept \"Annex to ITU-T OB.101\"\n accept \"ITU-T E.164/2\"\n accept \"ITU-T 55/13:\"\n accept \"ITU-T G.984.2 Amd. 1 (2010)\"\n accept \"ITU-T G.650.1B\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:3e14123537c77aece7b60b9875f90eb5655f0be9c953a1a6696000684b172ee2"}
1
+ {"bindings":null,"version":"0.1.0","grammar":"PubidItu","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":737}},{"Entity":{"atom":725}},{"Entity":{"atom":165}},{"Str":{"pattern":"Annex to"}},{"Entity":{"atom":5}},{"Str":{"pattern":" "}},{"Entity":{"atom":163}},{"Entity":{"atom":108}},{"Entity":{"atom":21}},{"Str":{"pattern":"Recommendation "}},{"Str":{"pattern":"ITU"}},{"Entity":{"atom":12}},{"Str":{"pattern":"-"}},{"Entity":{"atom":5}},{"Alternative":{"atoms":[11,13]}},{"Sequence":{"atoms":[9,10,14]}},{"Str":{"pattern":"ITU"}},{"Entity":{"atom":12}},{"Entity":{"atom":5}},{"Alternative":{"atoms":[17,18]}},{"Sequence":{"atoms":[16,19]}},{"Alternative":{"atoms":[15,20]}},{"Entity":{"atom":27}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"T"}},{"Str":{"pattern":"D"}},{"Alternative":{"atoms":[23,24,25]}},{"Named":{"name":"sector","atom":26}},{"Entity":{"atom":5}},{"Sequence":{"atoms":[22,28]}},{"Repetition":{"atom":29,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":33}},{"Str":{"pattern":"OB"}},{"Named":{"name":"series","atom":32}},{"Entity":{"atom":43}},{"Entity":{"atom":36}},{"Str":{"pattern":"."}},{"Entity":{"atom":42}},{"Entity":{"atom":41}},{"Entity":{"atom":40}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":39,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":38}},{"Sequence":{"atoms":[35,37]}},{"Entity":{"atom":49}},{"Entity":{"atom":5}},{"Str":{"pattern":"No."}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Sequence":{"atoms":[45,46,47,48]}},{"Entity":{"atom":53}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Sequence":{"atoms":[51,52]}},{"Alternative":{"atoms":[34,44,50]}},{"Entity":{"atom":94}},{"Entity":{"atom":68}},{"Entity":{"atom":5}},{"Str":{"pattern":"("}},{"Entity":{"atom":41}},{"Named":{"name":"month","atom":59}},{"Str":{"pattern":"/"}},{"Sequence":{"atoms":[60,61]}},{"Repetition":{"atom":62,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":40}},{"Repetition":{"atom":64,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":65}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[57,58,63,66,67]}},{"Entity":{"atom":93}},{"Str":{"pattern":" - "}},{"Entity":{"atom":40}},{"Repetition":{"atom":71,"min":2,"max":2,"tag":"Repetition"}},{"Named":{"name":"day","atom":72}},{"Entity":{"atom":36}},{"Entity":{"atom":87}},{"Str":{"pattern":"XII"}},{"Str":{"pattern":"XI"}},{"Str":{"pattern":"IX"}},{"Str":{"pattern":"VIII"}},{"Str":{"pattern":"VII"}},{"Str":{"pattern":"VI"}},{"Str":{"pattern":"V"}},{"Str":{"pattern":"IV"}},{"Str":{"pattern":"III"}},{"Str":{"pattern":"II"}},{"Str":{"pattern":"I"}},{"Alternative":{"atoms":[76,77,78,79,80,81,82,83,84,85,86]}},{"Named":{"name":"roman_month","atom":75}},{"Entity":{"atom":36}},{"Entity":{"atom":40}},{"Repetition":{"atom":90,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":91}},{"Sequence":{"atoms":[70,73,74,88,89,92]}},{"Alternative":{"atoms":[56,69]}},{"Repetition":{"atom":55,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Entity":{"atom":12}},{"Str":{"pattern":"E"}},{"Str":{"pattern":"F"}},{"Str":{"pattern":"A"}},{"Str":{"pattern":"S"}},{"Str":{"pattern":"C"}},{"Str":{"pattern":"R"}},{"Alternative":{"atoms":[98,99,100,101,102,103]}},{"Named":{"name":"language","atom":104}},{"Sequence":{"atoms":[97,105]}},{"Repetition":{"atom":96,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[8,30,31,54,95,107]}},{"Entity":{"atom":162}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Sequence":{"atoms":[111,112]}},{"Repetition":{"atom":113,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"Operational Bulletin"}},{"Named":{"name":"_op_bull","atom":115}},{"Entity":{"atom":5}},{"Str":{"pattern":"No."}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Entity":{"atom":158}},{"Entity":{"atom":68}},{"Entity":{"atom":157}},{"Entity":{"atom":145}},{"Entity":{"atom":12}},{"Entity":{"atom":132}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[127,128]}},{"Entity":{"atom":40}},{"Entity":{"atom":40}},{"Sequence":{"atoms":[129,130,131]}},{"Named":{"name":"year","atom":126}},{"Entity":{"atom":141}},{"Str":{"pattern":"0"}},{"Re":{"pattern":"[\\x31-\\x39]"}},{"Sequence":{"atoms":[135,136]}},{"Str":{"pattern":"1"}},{"Re":{"pattern":"[\\x30-\\x32]"}},{"Sequence":{"atoms":[138,139]}},{"Alternative":{"atoms":[137,140]}},{"Named":{"name":"month","atom":134}},{"Entity":{"atom":40}},{"Lookahead":{"atom":143,"positive":false}},{"Sequence":{"atoms":[125,133,142,144]}},{"Entity":{"atom":155}},{"Entity":{"atom":12}},{"Str":{"pattern":"I"}},{"Entity":{"atom":40}},{"Entity":{"atom":151}},{"Entity":{"atom":152}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Alternative":{"atoms":[149,150]}},{"Lookahead":{"atom":153,"positive":false}},{"Sequence":{"atoms":[147,148,154]}},{"Repetition":{"atom":146,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[124,156]}},{"Alternative":{"atoms":[122,123]}},{"Repetition":{"atom":121,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":160,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[110,114,116,117,118,119,120,159,161]}},{"Alternative":{"atoms":[7,109]}},{"Named":{"name":"annex_to","atom":6}},{"Sequence":{"atoms":[3,4,164]}},{"Entity":{"atom":163}},{"Entity":{"atom":558}},{"Entity":{"atom":543}},{"Entity":{"atom":509}},{"Entity":{"atom":426}},{"Entity":{"atom":411}},{"Entity":{"atom":323}},{"Entity":{"atom":175}},{"Str":{"pattern":"Report"}},{"Named":{"name":"report_marker","atom":174}},{"Entity":{"atom":5}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":314}},{"Str":{"pattern":"OB"}},{"Entity":{"atom":36}},{"Sequence":{"atoms":[181,182]}},{"Lookahead":{"atom":183,"positive":false}},{"Entity":{"atom":192}},{"Str":{"pattern":"SG"}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[186,187]}},{"Entity":{"atom":151}},{"Repetition":{"atom":189,"min":1,"max":3,"tag":"Repetition"}},{"Alternative":{"atoms":[188,190]}},{"Named":{"name":"series","atom":191}},{"Entity":{"atom":36}},{"Sequence":{"atoms":[185,193]}},{"Repetition":{"atom":194,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":256}},{"Entity":{"atom":226}},{"Str":{"pattern":"Imp"}},{"Named":{"name":"imp_marker","atom":198}},{"Entity":{"atom":41}},{"Entity":{"atom":151}},{"Repetition":{"atom":201,"min":1,"max":3,"tag":"Repetition"}},{"Alternative":{"atoms":[200,202]}},{"Named":{"name":"number","atom":203}},{"Entity":{"atom":209}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Named":{"name":"subseries","atom":207}},{"Sequence":{"atoms":[206,208]}},{"Repetition":{"atom":205,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":225}},{"Entity":{"atom":223}},{"Entity":{"atom":12}},{"Entity":{"atom":219}},{"Entity":{"atom":132}},{"Entity":{"atom":141}},{"Entity":{"atom":40}},{"Lookahead":{"atom":217,"positive":false}},{"Sequence":{"atoms":[215,216,218]}},{"Lookahead":{"atom":214,"positive":false}},{"Entity":{"atom":41}},{"Named":{"name":"part","atom":221}},{"Sequence":{"atoms":[213,220,222]}},{"Repetition":{"atom":212,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":224}},{"Sequence":{"atoms":[199,204,210,211]}},{"Entity":{"atom":255}},{"Entity":{"atom":42}},{"Entity":{"atom":236}},{"Entity":{"atom":235}},{"Str":{"pattern":"bis"}},{"Str":{"pattern":"ter"}},{"Str":{"pattern":"quater"}},{"Str":{"pattern":"quarter"}},{"Alternative":{"atoms":[231,232,233,234]}},{"Named":{"name":"series_suffix","atom":230}},{"Repetition":{"atom":229,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":209}},{"Repetition":{"atom":238,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":225}},{"Entity":{"atom":242}},{"Entity":{"atom":253}},{"Re":{"pattern":"[\\x41-\\x52]"}},{"Re":{"pattern":"[\\x61-\\x72]"}},{"Alternative":{"atoms":[243,244]}},{"Named":{"name":"qualifier","atom":245}},{"Entity":{"atom":152}},{"Entity":{"atom":249}},{"Re":{"pattern":"[\\x61-\\x7a]"}},{"Entity":{"atom":40}},{"Alternative":{"atoms":[247,248,250]}},{"Lookahead":{"atom":251,"positive":false}},{"Sequence":{"atoms":[246,252]}},{"Repetition":{"atom":241,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[228,237,239,240,254]}},{"Alternative":{"atoms":[197,227]}},{"Entity":{"atom":265}},{"Entity":{"atom":12}},{"Entity":{"atom":151}},{"Repetition":{"atom":259,"min":1,"max":3,"tag":"Repetition"}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[260,261,262]}},{"Named":{"name":"range_end","atom":263}},{"Sequence":{"atoms":[258,264]}},{"Repetition":{"atom":257,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":281}},{"Entity":{"atom":273}},{"Entity":{"atom":5}},{"Named":{"name":"series_suffix_spaced","atom":269}},{"Entity":{"atom":235}},{"Named":{"name":"series_suffix","atom":271}},{"Sequence":{"atoms":[270,272]}},{"Repetition":{"atom":268,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":279}},{"Entity":{"atom":5}},{"Named":{"name":"qualifier_spaced","atom":276}},{"Entity":{"atom":253}},{"Sequence":{"atoms":[277,278]}},{"Repetition":{"atom":275,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[274,280]}},{"Entity":{"atom":286}},{"Entity":{"atom":5}},{"Str":{"pattern":"series"}},{"Named":{"name":"series_word","atom":284}},{"Sequence":{"atoms":[283,285]}},{"Repetition":{"atom":282,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":292}},{"Entity":{"atom":5}},{"Str":{"pattern":"attachment"}},{"Named":{"name":"attachment","atom":290}},{"Sequence":{"atoms":[289,291]}},{"Repetition":{"atom":288,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Entity":{"atom":5}},{"Str":{"pattern":"(V"}},{"Entity":{"atom":41}},{"Named":{"name":"version","atom":297}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[296,298,299]}},{"Str":{"pattern":"V"}},{"Str":{"pattern":"v"}},{"Alternative":{"atoms":[301,302]}},{"Entity":{"atom":36}},{"Repetition":{"atom":304,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":41}},{"Named":{"name":"version","atom":306}},{"Sequence":{"atoms":[303,305,307]}},{"Alternative":{"atoms":[300,308]}},{"Sequence":{"atoms":[295,309]}},{"Repetition":{"atom":294,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":312,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[184,195,196,266,267,287,293,311,313]}},{"Sequence":{"atoms":[173,176,177,178,179,180]}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":175}},{"Entity":{"atom":5}},{"Entity":{"atom":314}},{"Sequence":{"atoms":[316,317,318,319,320,321]}},{"Alternative":{"atoms":[315,322]}},{"Entity":{"atom":371}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":333}},{"Str":{"pattern":"REC"}},{"Entity":{"atom":5}},{"Entity":{"atom":12}},{"Alternative":{"atoms":[330,331]}},{"Sequence":{"atoms":[329,332]}},{"Repetition":{"atom":328,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":256}},{"Entity":{"atom":265}},{"Repetition":{"atom":338,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":281}},{"Entity":{"atom":361}},{"Entity":{"atom":359}},{"Str":{"pattern":"/"}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Named":{"name":"number","atom":346}},{"Entity":{"atom":209}},{"Repetition":{"atom":348,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":225}},{"Entity":{"atom":242}},{"Repetition":{"atom":351,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":273}},{"Repetition":{"atom":353,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":279}},{"Repetition":{"atom":355,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[344,345,347,349,350,352,354,356]}},{"Named":{"name":"designation","atom":357}},{"Sequence":{"atoms":[343,358]}},{"Repetition":{"atom":342,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"combined","atom":360}},{"Repetition":{"atom":341,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":286}},{"Repetition":{"atom":363,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":292}},{"Repetition":{"atom":365,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":367,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":369,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[325,326,327,334,335,336,337,339,340,362,364,366,368,370]}},{"Entity":{"atom":384}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":256}},{"Entity":{"atom":281}},{"Entity":{"atom":292}},{"Repetition":{"atom":378,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":380,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":382,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[373,374,375,376,377,379,381,383]}},{"Entity":{"atom":410}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":405}},{"Str":{"pattern":"OB"}},{"Entity":{"atom":12}},{"Sequence":{"atoms":[390,391]}},{"Lookahead":{"atom":392,"positive":false}},{"Entity":{"atom":151}},{"Repetition":{"atom":394,"min":2,"max":null,"tag":"Repetition"}},{"Named":{"name":"series","atom":395}},{"Entity":{"atom":12}},{"Named":{"name":"series_dash","atom":397}},{"Entity":{"atom":41}},{"Entity":{"atom":151}},{"Repetition":{"atom":400,"min":1,"max":null,"tag":"Repetition"}},{"Alternative":{"atoms":[399,401]}},{"Named":{"name":"number","atom":402}},{"Entity":{"atom":225}},{"Sequence":{"atoms":[393,396,398,403,404]}},{"Entity":{"atom":310}},{"Repetition":{"atom":406,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":408,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[386,387,388,389,407,409]}},{"Alternative":{"atoms":[172,324,372,385]}},{"Named":{"name":"base","atom":171}},{"Entity":{"atom":5}},{"Str":{"pattern":"Annex"}},{"Entity":{"atom":5}},{"Entity":{"atom":422}},{"Entity":{"atom":151}},{"Entity":{"atom":41}},{"Repetition":{"atom":418,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"+"}},{"Repetition":{"atom":420,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[417,419,421]}},{"Named":{"name":"annex_number","atom":416}},{"Entity":{"atom":158}},{"Repetition":{"atom":424,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[412,413,414,415,423,425]}},{"Named":{"name":"base","atom":170}},{"Entity":{"atom":452}},{"Entity":{"atom":411}},{"Named":{"name":"base","atom":429}},{"Entity":{"atom":5}},{"Str":{"pattern":"App."}},{"Entity":{"atom":5}},{"Repetition":{"atom":433,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":440}},{"Re":{"pattern":"[I]"}},{"Re":{"pattern":"[V]"}},{"Re":{"pattern":"[X]"}},{"Alternative":{"atoms":[436,437,438]}},{"Repetition":{"atom":439,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"appendix_number","atom":435}},{"Entity":{"atom":448}},{"Entity":{"atom":5}},{"Str":{"pattern":"test vectors"}},{"Str":{"pattern":"Software"}},{"Alternative":{"atoms":[444,445]}},{"Named":{"name":"appendix_material","atom":446}},{"Sequence":{"atoms":[443,447]}},{"Repetition":{"atom":442,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":450,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[430,431,432,434,441,449,451]}},{"Named":{"name":"base","atom":428}},{"Entity":{"atom":411}},{"Named":{"name":"base","atom":454}},{"Alternative":{"atoms":[427,453,455]}},{"Entity":{"atom":5}},{"Entity":{"atom":480}},{"Str":{"pattern":"Suppl."}},{"Str":{"pattern":"Suppl"}},{"Str":{"pattern":"Amd."}},{"Str":{"pattern":"Amd"}},{"Str":{"pattern":"Add."}},{"Str":{"pattern":"Add"}},{"Str":{"pattern":"Err."}},{"Str":{"pattern":"Err"}},{"Alternative":{"atoms":[459,460,461,462,463,464,465,466]}},{"Named":{"name":"supplement_type","atom":467}},{"Entity":{"atom":473}},{"Str":{"pattern":"Technical"}},{"Named":{"name":"technical","atom":470}},{"Entity":{"atom":5}},{"Sequence":{"atoms":[471,472]}},{"Repetition":{"atom":469,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"Cor."}},{"Str":{"pattern":"Cor"}},{"Alternative":{"atoms":[475,476]}},{"Named":{"name":"supplement_type","atom":477}},{"Sequence":{"atoms":[474,478]}},{"Alternative":{"atoms":[468,479]}},{"Entity":{"atom":492}},{"Entity":{"atom":5}},{"Named":{"name":"supplement_space","atom":482}},{"Repetition":{"atom":483,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":41}},{"Entity":{"atom":36}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[486,487]}},{"Repetition":{"atom":488,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[485,489]}},{"Named":{"name":"supplement_number","atom":490}},{"Sequence":{"atoms":[484,491]}},{"Entity":{"atom":505}},{"Entity":{"atom":5}},{"Str":{"pattern":"("}},{"Entity":{"atom":41}},{"Named":{"name":"supplement_month","atom":496}},{"Str":{"pattern":"/"}},{"Sequence":{"atoms":[497,498]}},{"Repetition":{"atom":499,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":40}},{"Repetition":{"atom":501,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"supplement_year","atom":502}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[494,495,500,503,504]}},{"Repetition":{"atom":493,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":507,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[456,457,458,481,506,508]}},{"Entity":{"atom":533}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":521}},{"Entity":{"atom":151}},{"Entity":{"atom":41}},{"Repetition":{"atom":516,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":12}},{"Entity":{"atom":41}},{"Sequence":{"atoms":[515,517,518,519]}},{"Named":{"name":"series","atom":520}},{"Entity":{"atom":192}},{"Alternative":{"atoms":[514,522]}},{"Entity":{"atom":286}},{"Repetition":{"atom":524,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":5}},{"Entity":{"atom":480}},{"Entity":{"atom":492}},{"Entity":{"atom":505}},{"Repetition":{"atom":529,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":531,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[511,512,513,523,525,526,527,528,530,532]}},{"Alternative":{"atoms":[169,510]}},{"Named":{"name":"base","atom":534}},{"Entity":{"atom":5}},{"Entity":{"atom":480}},{"Entity":{"atom":492}},{"Entity":{"atom":505}},{"Repetition":{"atom":539,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":541,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[535,536,537,538,540,542]}},{"Entity":{"atom":555}},{"Entity":{"atom":509}},{"Named":{"name":"base","atom":545}},{"Str":{"pattern":"/"}},{"Named":{"name":"supplement_slash","atom":547}},{"Entity":{"atom":480}},{"Entity":{"atom":492}},{"Entity":{"atom":505}},{"Repetition":{"atom":551,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":553,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[546,548,549,550,552,554]}},{"Entity":{"atom":509}},{"Entity":{"atom":533}},{"Alternative":{"atoms":[168,544,556,557]}},{"Entity":{"atom":563}},{"Entity":{"atom":426}},{"Entity":{"atom":106}},{"Repetition":{"atom":561,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[560,562]}},{"Entity":{"atom":568}},{"Entity":{"atom":452}},{"Entity":{"atom":106}},{"Repetition":{"atom":566,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[565,567]}},{"Entity":{"atom":573}},{"Entity":{"atom":323}},{"Entity":{"atom":106}},{"Repetition":{"atom":571,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[570,572]}},{"Entity":{"atom":584}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Entity":{"atom":36}},{"Str":{"pattern":"HDB"}},{"Named":{"name":"handbook_marker","atom":580}},{"Entity":{"atom":158}},{"Repetition":{"atom":582,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[575,576,577,578,579,581,583]}},{"Entity":{"atom":598}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":42}},{"Entity":{"atom":225}},{"Str":{"pattern":"/"}},{"Entity":{"atom":41}},{"Named":{"name":"study_group","atom":592}},{"Sequence":{"atoms":[591,593]}},{"Str":{"pattern":":"}},{"Named":{"name":"question_colon","atom":595}},{"Repetition":{"atom":596,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[586,587,588,589,590,594,597]}},{"Entity":{"atom":623}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Str":{"pattern":"["}},{"Named":{"name":"bracketed","atom":605}},{"Entity":{"atom":615}},{"Entity":{"atom":42}},{"Str":{"pattern":"/BL"}},{"Named":{"name":"has_bl","atom":609}},{"Repetition":{"atom":610,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":"/"}},{"Entity":{"atom":41}},{"Named":{"name":"study_group","atom":613}},{"Sequence":{"atoms":[608,611,612,614]}},{"Str":{"pattern":"]"}},{"Sequence":{"atoms":[606,607,616]}},{"Entity":{"atom":615}},{"Alternative":{"atoms":[617,618]}},{"Str":{"pattern":":"}},{"Named":{"name":"question_colon","atom":620}},{"Repetition":{"atom":621,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[600,601,602,603,604,619,622]}},{"Entity":{"atom":644}},{"Entity":{"atom":21}},{"Str":{"pattern":"R"}},{"Named":{"name":"sector","atom":626}},{"Entity":{"atom":5}},{"Str":{"pattern":"RR"}},{"Named":{"name":"radio_regulations","atom":629}},{"Entity":{"atom":68}},{"Entity":{"atom":12}},{"Entity":{"atom":40}},{"Repetition":{"atom":633,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":634}},{"Sequence":{"atoms":[632,635]}},{"Alternative":{"atoms":[631,636]}},{"Repetition":{"atom":637,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":639,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":642}},{"Re":{"pattern":"[\\x00-\\u{10ffff}]"}},{"Lookahead":{"atom":641,"positive":false}},{"Sequence":{"atoms":[625,627,628,630,638,640,643]}},{"Entity":{"atom":669}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":333}},{"Repetition":{"atom":649,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":256}},{"Entity":{"atom":265}},{"Repetition":{"atom":654,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":281}},{"Entity":{"atom":361}},{"Repetition":{"atom":657,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":286}},{"Repetition":{"atom":659,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":292}},{"Repetition":{"atom":661,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":663,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":665,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":667,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[646,647,648,650,651,652,653,655,656,658,660,662,664,666,668]}},{"Entity":{"atom":681}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":192}},{"Str":{"pattern":"-C"}},{"Named":{"name":"contribution_marker","atom":675}},{"Entity":{"atom":42}},{"Entity":{"atom":225}},{"Entity":{"atom":106}},{"Repetition":{"atom":679,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[671,672,673,674,676,677,678,680]}},{"Entity":{"atom":686}},{"Entity":{"atom":410}},{"Entity":{"atom":106}},{"Repetition":{"atom":684,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[683,685]}},{"Entity":{"atom":701}},{"Entity":{"atom":21}},{"Entity":{"atom":27}},{"Entity":{"atom":5}},{"Entity":{"atom":256}},{"Entity":{"atom":281}},{"Entity":{"atom":292}},{"Repetition":{"atom":693,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":310}},{"Repetition":{"atom":695,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":158}},{"Repetition":{"atom":697,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":699,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[688,689,690,691,692,694,696,698,700]}},{"Entity":{"atom":724}},{"Entity":{"atom":27}},{"Entity":{"atom":12}},{"Str":{"pattern":"REC"}},{"Entity":{"atom":12}},{"Entity":{"atom":192}},{"Entity":{"atom":36}},{"Entity":{"atom":256}},{"Entity":{"atom":145}},{"Entity":{"atom":720}},{"Entity":{"atom":12}},{"Str":{"pattern":"I"}},{"Str":{"pattern":"S"}},{"Alternative":{"atoms":[713,714]}},{"Entity":{"atom":40}},{"Entity":{"atom":151}},{"Alternative":{"atoms":[716,717]}},{"Lookahead":{"atom":718,"positive":false}},{"Sequence":{"atoms":[712,715,719]}},{"Repetition":{"atom":711,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":106}},{"Repetition":{"atom":722,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[703,704,705,706,707,708,709,710,721,723]}},{"Alternative":{"atoms":[2,166,167,559,564,569,574,585,599,624,645,670,682,687,702]}},{"Entity":{"atom":736}},{"Entity":{"atom":5}},{"Str":{"pattern":"|"}},{"Entity":{"atom":5}},{"Entity":{"atom":733}},{"Re":{"pattern":"[\\x01-\\x7b]"}},{"Re":{"pattern":"[\\x7d-\\u{10ffff}]"}},{"Alternative":{"atoms":[731,732]}},{"Repetition":{"atom":730,"min":1,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[727,728,729,734]}},{"Named":{"name":"common_text_twin","atom":735}},{"Sequence":{"atoms":[1,726]}},{"Entity":{"atom":725}},{"Alternative":{"atoms":[0,738]}}],"root":739},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule non_pipe: branches 1 and 2 are order-dependent (first set not statically known)","rule series_suffix_word: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule base_report: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule base: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 1 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement_identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 3 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 4 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 9 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule roman_month: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule ob_date: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule special_publication: 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 itu_identifier: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 2 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 4 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 3 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 4 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 5 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 7 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 6 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 8 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 7 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 9 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 8 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 10 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 9 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 11 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 10 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 12 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 11 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 12 and 13 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 12 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 12 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 13 and 14 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 13 and 15 are order-dependent (shared first bytes; ordered choice is decisive)","rule itu_identifier: branches 14 and 15 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"ITU-R BT.500","expect":{}},{"entry":"identifier","kind":"accept","input":"Recommendation ITU-T G.650.1 (09/2020)","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-R SA.3631 Annex A","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T OB.101 (2016)","expect":{}},{"entry":"identifier","kind":"accept","input":"Annex to ITU-T OB.101","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T E.164/2","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T 55/13:","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T G.984.2 Amd. 1 (2010)","expect":{}},{"entry":"identifier","kind":"accept","input":"ITU-T G.650.1B","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/itu/parser.rb — ITU-T/R/D designations: series codes\n# (BT/G/V, SGnn), Imp implementation codes, OB Operational Bulletins,\n# Reports, Study Group questions (numeric and bracketed series form),\n# supplements (Suppl./Amd./Add./Err./Cor. with Technical marker), Annex\n# and App. wraps, combined \"/XX.N\" designations, and the \"| twin\"\n# common-text form. Internal rule `itu_identifier` corresponds to the\n# source's `identifier` (renamed: PG forbids self-reference from the\n# common-text wrapper).\n\ngrammar PubidItu version \"0.1.0\" {\n digit = %x30-39\n upper = %x41-5A\n lower = %x61-7A\n letter = upper\n digits = 1*digit\n space = \" \"\n dash = \"-\"\n dot = \".\"\n non_pipe = %x01-7B / %x7D-10FFFF\n\n itu_prefix = (\"Recommendation \" \"ITU\" (dash / space)) / (\"ITU\" (dash / space))\n sector = (\"R\" / \"T\" / \"D\") as sector\n series = ((\"SG\" digits) / (1*3letter)) as series\n series_group = (letter [digits] dash digits) as series\n series_word = space \"series\" as series_word\n number = digits as number\n subseries = dot digits as subseries\n series_suffix_word = \"bis\" / \"ter\" / \"quater\" / \"quarter\"\n series_suffix = (series_suffix_word) as series_suffix\n series_suffix_spaced = (space as series_suffix_spaced) ((series_suffix_word) as series_suffix)\n qualifier_letter = ((%x41-52 / %x61-72) as qualifier) !(upper / lower / digit)\n qualifier_glued = qualifier_letter\n qualifier_spaced = (space as qualifier_spaced) qualifier_letter\n yyyymm_year = (\"19\" / \"20\") digit digit\n yyyymm_month = (\"0\" %x31-39) / (\"1\" %x30-32)\n yyyymm_shape = yyyymm_year yyyymm_month !digit\n yyyymm_date = dash (yyyymm_year) as year (yyyymm_month) as month !digit\n id_status = dash (\"I\" / \"S\") !(digit / letter)\n print_id_status = dash \"I\" !(digit / letter)\n id_date = yyyymm_date [print_id_status]\n document_date = (date_part / id_date)\n rec_word = (\"REC\" (space / dash))\n publication_id = sector dash \"REC\" dash series dot code yyyymm_date [id_status] [language]\n code_suffixes = [series_suffix_spaced] [qualifier_spaced]\n attachment = space \"attachment\" as attachment\n range_end = dash ((1*3letter dot digits) as range_end)\n part = dash !yyyymm_shape digits as part\n parts = (*part) as parts\n code = imp_code / standard_code\n standard_code = number [series_suffix] [subseries] parts [qualifier_glued]\n imp_code = \"Imp\" as imp_marker ((digits / (1*3letter)) as number) [subseries] parts\n date_part = space \"(\" [(digits as month \"/\")] ((4digit) as year) \")\"\n version_part = space (((\"(V\" digits as version \")\") / ((\"V\" / \"v\") [dot] digits as version)))\n language = dash ((\"E\" / \"F\" / \"A\" / \"S\" / \"C\" / \"R\") as language)\n\n combined_designation = \"/\" ((series dot digits as number [subseries] parts [qualifier_glued] [series_suffix_spaced] [qualifier_spaced]) as designation)\n combined_suffixes = (1*combined_designation) as combined\n\n technical_marker = \"Technical\" as technical space\n supplement_type = ((\"Suppl.\" / \"Suppl\" / \"Amd.\" / \"Amd\" / \"Add.\" / \"Add\" / \"Err.\" / \"Err\") as supplement_type) / (([technical_marker] (\"Cor.\" / \"Cor\") as supplement_type))\n supplement_number = ([space as supplement_space]) ((digits *(dot digits)) as supplement_number)\n supplement_date = space \"(\" [(digits as supplement_month \"/\")] ((4digit) as supplement_year) \")\"\n\n base_with_series = itu_prefix sector space [rec_word] series dot code [range_end] code_suffixes [combined_suffixes] [series_word] [attachment] [version_part] [document_date]\n base_without_series = itu_prefix sector space code code_suffixes [attachment] [version_part] [document_date]\n series_code_body = !(\"OB\" dash) ((2*letter) as series) (dash as series_dash) ((digits / (1*letter)) as number) parts\n contribution = itu_prefix sector space series (\"-C\" as contribution_marker) number parts [language]\n base_series_code = itu_prefix sector space series_code_body [version_part] [document_date]\n series_code_identifier = base_series_code [language]\n report_word = \"Report\" as report_marker\n report_body = !(\"OB\" dot) [(series dot)] code [range_end] code_suffixes [series_word] [attachment] [version_part] [document_date]\n base_report = (report_word space itu_prefix sector space report_body) / (itu_prefix sector space report_word space report_body)\n report_identifier = base_report [language]\n base = base_report / base_with_series / base_without_series / base_series_code\n\n annex_label = letter [digits] [\"+\"]\n annex_body = (base as base) space \"Annex\" space annex_label as annex_number [document_date]\n annex_identifier = annex_body [language]\n roman = 1*(%x49 / %x56 / %x58)\n appendix_material = space ((\"test vectors\" / \"Software\") as appendix_material)\n appendix_body = (base as base) space \"App.\" [space] roman as appendix_number [appendix_material] [document_date]\n appendix_identifier = appendix_body [language]\n\n supplement_with_base = ((annex_body as base) / (appendix_body as base) / (base as base)) space supplement_type supplement_number [supplement_date] [language]\n chained_supplement = ((supplement_with_base / supplement_series_only) as base) space supplement_type supplement_number [supplement_date] [language]\n supplement_series_only = itu_prefix sector space (series_group / series) [series_word] space supplement_type supplement_number [supplement_date] [language]\n slash_chained_supplement = ((supplement_with_base) as base) (\"/\" as supplement_slash) supplement_type supplement_number [supplement_date] [language]\n supplement_identifier = chained_supplement / slash_chained_supplement / supplement_with_base / supplement_series_only\n\n with_series = itu_prefix sector space [rec_word] series dot code [range_end] code_suffixes [combined_suffixes] [series_word] [attachment] [version_part] [document_date] [language]\n without_series = itu_prefix sector space code code_suffixes [attachment] [version_part] [document_date] [language]\n\n roman_month = \"XII\" / \"XI\" / \"IX\" / \"VIII\" / \"VII\" / \"VI\" / \"V\" / \"IV\" / \"III\" / \"II\" / \"I\"\n ob_roman_date = \" - \" (2digit) as day dot (roman_month as roman_month) dot (4digit) as year\n ob_date = (date_part / ob_roman_date)\n ob_series = \"OB\" as series\n ob_dot_body = dot number\n ob_no_body = space \"No.\" space number\n ob_bare_body = space number\n ob_with_sector = itu_prefix [(sector space)] ob_series (ob_dot_body / ob_no_body / ob_bare_body) [ob_date] [language]\n ob_long_form = itu_prefix [(sector space)] \"Operational Bulletin\" as _op_bull space \"No.\" space number [document_date] [language]\n special_publication = ob_with_sector / ob_long_form\n annex_to_identifier = \"Annex to\" space (special_publication as annex_to)\n handbook = itu_prefix sector space number dot \"HDB\" as handbook_marker [document_date]\n numeric_question = itu_prefix sector space number parts (\"/\" digits as study_group) [\":\" as question_colon]\n question_tail = number [(\"/BL\" as has_bl)] \"/\" digits as study_group\n letter_question = itu_prefix sector space series dot (((\"[\" as bracketed) question_tail \"]\") / question_tail) [\":\" as question_colon]\n common_text_twin = (space \"|\" space (1*non_pipe)) as common_text_twin\n\n identifier = common_text_identifier / itu_identifier\n any_char = %x00-10FFFF\n radio_regulations = itu_prefix (\"R\") as sector space \"RR\" as radio_regulations [(date_part / (dash (4digit) as year))] [language] !any_char\n itu_identifier = annex_to_identifier / special_publication / supplement_identifier / annex_identifier / appendix_identifier / report_identifier / handbook / numeric_question / letter_question / radio_regulations / with_series / contribution / series_code_identifier / without_series / publication_id\n common_text_identifier = itu_identifier common_text_twin\n\n entry identifier: identifier\n\n test {\n accept \"ITU-R BT.500\"\n accept \"Recommendation ITU-T G.650.1 (09/2020)\"\n accept \"ITU-R SA.3631 Annex A\"\n accept \"ITU-T OB.101 (2016)\"\n accept \"Annex to ITU-T OB.101\"\n accept \"ITU-T E.164/2\"\n accept \"ITU-T 55/13:\"\n accept \"ITU-T G.984.2 Amd. 1 (2010)\"\n accept \"ITU-T G.650.1B\"\n reject \"nonsense\"\n }\n}\n","source_hash":"89091685373032a99dd826a0ebf32f4643129e2a4c07e425cec6ebf8e913c15e","compiler_version":"1.3.93","checksum":"sha256:2d29f2a4442e6103c75b21c453d5fbc5fd72217b44e3ec796dafb9b6c9021b9e"}
@@ -1 +1 @@
1
- {"bindings":null,"version":"0.1.0","grammar":"PubidJcgm","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":36}},{"Entity":{"atom":3}},{"Str":{"pattern":"JCGM"}},{"Named":{"name":"publisher","atom":2}},{"Entity":{"atom":5}},{"Str":{"pattern":" "}},{"Entity":{"atom":9}},{"Entity":{"atom":8}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":7,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":6}},{"Entity":{"atom":16}},{"Str":{"pattern":"st"}},{"Str":{"pattern":"nd"}},{"Str":{"pattern":"rd"}},{"Str":{"pattern":"th"}},{"Alternative":{"atoms":[12,13,14,15]}},{"Entity":{"atom":5}},{"Str":{"pattern":"Meeting"}},{"Named":{"name":"type_with_stage","atom":18}},{"Entity":{"atom":5}},{"Str":{"pattern":"("}},{"Entity":{"atom":31}},{"Entity":{"atom":26}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[24,25]}},{"Entity":{"atom":8}},{"Repetition":{"atom":27,"min":2,"max":null,"tag":"Repetition"}},{"Entity":{"atom":8}},{"Lookahead":{"atom":29,"positive":false}},{"Sequence":{"atoms":[23,28,30]}},{"Named":{"name":"date","atom":22}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[20,21,32,33]}},{"Repetition":{"atom":34,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[1,4,10,11,17,19,35]}},{"Entity":{"atom":101}},{"Entity":{"atom":86}},{"Entity":{"atom":3}},{"Entity":{"atom":5}},{"Entity":{"atom":51}},{"Entity":{"atom":47}},{"Str":{"pattern":"GUM-"}},{"Entity":{"atom":8}},{"Repetition":{"atom":44,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"gum_number","atom":45}},{"Sequence":{"atoms":[43,46]}},{"Entity":{"atom":50}},{"Entity":{"atom":9}},{"Named":{"name":"number","atom":49}},{"Alternative":{"atoms":[42,48]}},{"Entity":{"atom":72}},{"Entity":{"atom":54}},{"Str":{"pattern":":"}},{"Entity":{"atom":67}},{"Entity":{"atom":31}},{"Entity":{"atom":58}},{"Str":{"pattern":"-"}},{"Entity":{"atom":61}},{"Entity":{"atom":8}},{"Repetition":{"atom":60,"min":2,"max":null,"tag":"Repetition"}},{"Entity":{"atom":58}},{"Entity":{"atom":65}},{"Entity":{"atom":8}},{"Repetition":{"atom":64,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[56,57,59,62,63]}},{"Named":{"name":"date","atom":66}},{"Entity":{"atom":70}},{"Entity":{"atom":31}},{"Named":{"name":"date","atom":69}},{"Alternative":{"atoms":[55,68]}},{"Sequence":{"atoms":[53,71]}},{"Repetition":{"atom":52,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":84}},{"Str":{"pattern":"("}},{"Str":{"pattern":"E/F"}},{"Str":{"pattern":"F/E"}},{"Alternative":{"atoms":[76,77]}},{"Entity":{"atom":80}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Alternative":{"atoms":[78,79]}},{"Named":{"name":"languages","atom":81}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[75,82,83]}},{"Repetition":{"atom":74,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[39,40,41,73,85]}},{"Named":{"name":"base","atom":38}},{"Entity":{"atom":89}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"Amd"}},{"Named":{"name":"type_with_stage","atom":90}},{"Entity":{"atom":5}},{"Entity":{"atom":9}},{"Named":{"name":"number","atom":93}},{"Entity":{"atom":54}},{"Entity":{"atom":67}},{"Entity":{"atom":70}},{"Alternative":{"atoms":[96,97]}},{"Sequence":{"atoms":[95,98]}},{"Repetition":{"atom":99,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[87,88,91,92,94,100]}},{"Entity":{"atom":108}},{"Entity":{"atom":86}},{"Named":{"name":"base","atom":103}},{"Entity":{"atom":5}},{"Str":{"pattern":"Corrigendum"}},{"Named":{"name":"type_with_stage","atom":106}},{"Sequence":{"atoms":[104,105,107]}},{"Entity":{"atom":124}},{"Entity":{"atom":86}},{"Named":{"name":"base","atom":110}},{"Entity":{"atom":89}},{"Str":{"pattern":"Cor"}},{"Named":{"name":"type_with_stage","atom":113}},{"Entity":{"atom":5}},{"Entity":{"atom":9}},{"Named":{"name":"number","atom":116}},{"Entity":{"atom":54}},{"Entity":{"atom":67}},{"Entity":{"atom":70}},{"Alternative":{"atoms":[119,120]}},{"Sequence":{"atoms":[118,121]}},{"Repetition":{"atom":122,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[111,112,114,115,117,123]}},{"Entity":{"atom":86}},{"Entity":{"atom":139}},{"Entity":{"atom":3}},{"Entity":{"atom":5}},{"Entity":{"atom":138}},{"Str":{"pattern":"GUM"}},{"Str":{"pattern":"VIM"}},{"Entity":{"atom":58}},{"Entity":{"atom":9}},{"Sequence":{"atoms":[132,133]}},{"Repetition":{"atom":134,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[131,135]}},{"Alternative":{"atoms":[130,136]}},{"Named":{"name":"number","atom":137}},{"Sequence":{"atoms":[127,128,129]}},{"Alternative":{"atoms":[0,37,102,109,125,126]}}],"root":140},"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 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 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 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 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 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"JCGM 200:2008(F)","expect":{}},{"entry":"identifier","kind":"accept","input":"JCGM 100:2008","expect":{}},{"entry":"identifier","kind":"accept","input":"JCGM 1st Meeting (2004)","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/jcgm/parser.rb: JCGM base, meeting, amendment and\n# corrigendum identifiers, and the named GUM/VIM guides.\n\ngrammar PubidJcgm version \"0.1.0\" {\n century = \"19\" / \"20\"\n year_digits = century 2*digit !digit\n month_digits = 2*digit\n day_digits = 2*digit\n digits = 1*digit\n publisher = \"JCGM\" as publisher\n ordinal_suffix = \"st\" / \"nd\" / \"rd\" / \"th\"\n gum_number = \"GUM-\" (1*digit) as gum_number\n standard_number = digits as number\n number_portion = gum_number / standard_number\n full_date = (year_digits dash month_digits dash day_digits) as date\n year_only = year_digits as date\n date_portion = colon (full_date / year_only)\n language_portion = \"(\" ((\"E/F\" / \"F/E\") / upper) as languages \")\"\n base = publisher space number_portion [date_portion] [language_portion]\n meeting_identifier = publisher space digits as number ordinal_suffix space \"Meeting\" as type_with_stage [(space \"(\" year_digits as date \")\")]\n amendment_identifier = (base as base) slash \"Amd\" as type_with_stage space digits as number [(colon (full_date / year_only))]\n corrigendum_identifier = (base as base) space \"Corrigendum\" as type_with_stage\n numbered_corrigendum_identifier = (base as base) slash \"Cor\" as type_with_stage space digits as number [(colon (full_date / year_only))]\n named_number = (\"GUM\" / (\"VIM\" [(dash digits)])) as number\n named_guide_identifier = publisher space named_number\n identifier = meeting_identifier / amendment_identifier / corrigendum_identifier / numbered_corrigendum_identifier / base / named_guide_identifier\n upper = %x41-5A\n digit = %x30-39\n slash = \"/\"\n dash = \"-\"\n colon = \":\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"JCGM 200:2008(F)\"\n accept \"JCGM 100:2008\"\n accept \"JCGM 1st Meeting (2004)\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:e161ef41428a0fa94ed5e749bb05a81d37ffacc0f1144f9745ed41b23fef97af"}
1
+ {"bindings":null,"version":"0.1.0","grammar":"PubidJcgm","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Entity":{"atom":36}},{"Entity":{"atom":3}},{"Str":{"pattern":"JCGM"}},{"Named":{"name":"publisher","atom":2}},{"Entity":{"atom":5}},{"Str":{"pattern":" "}},{"Entity":{"atom":9}},{"Entity":{"atom":8}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":7,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":6}},{"Entity":{"atom":16}},{"Str":{"pattern":"st"}},{"Str":{"pattern":"nd"}},{"Str":{"pattern":"rd"}},{"Str":{"pattern":"th"}},{"Alternative":{"atoms":[12,13,14,15]}},{"Entity":{"atom":5}},{"Str":{"pattern":"Meeting"}},{"Named":{"name":"type_with_stage","atom":18}},{"Entity":{"atom":5}},{"Str":{"pattern":"("}},{"Entity":{"atom":31}},{"Entity":{"atom":26}},{"Str":{"pattern":"19"}},{"Str":{"pattern":"20"}},{"Alternative":{"atoms":[24,25]}},{"Entity":{"atom":8}},{"Repetition":{"atom":27,"min":2,"max":null,"tag":"Repetition"}},{"Entity":{"atom":8}},{"Lookahead":{"atom":29,"positive":false}},{"Sequence":{"atoms":[23,28,30]}},{"Named":{"name":"date","atom":22}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[20,21,32,33]}},{"Repetition":{"atom":34,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[1,4,10,11,17,19,35]}},{"Entity":{"atom":101}},{"Entity":{"atom":86}},{"Entity":{"atom":3}},{"Entity":{"atom":5}},{"Entity":{"atom":51}},{"Entity":{"atom":47}},{"Str":{"pattern":"GUM-"}},{"Entity":{"atom":8}},{"Repetition":{"atom":44,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"gum_number","atom":45}},{"Sequence":{"atoms":[43,46]}},{"Entity":{"atom":50}},{"Entity":{"atom":9}},{"Named":{"name":"number","atom":49}},{"Alternative":{"atoms":[42,48]}},{"Entity":{"atom":72}},{"Entity":{"atom":54}},{"Str":{"pattern":":"}},{"Entity":{"atom":67}},{"Entity":{"atom":31}},{"Entity":{"atom":58}},{"Str":{"pattern":"-"}},{"Entity":{"atom":61}},{"Entity":{"atom":8}},{"Repetition":{"atom":60,"min":2,"max":null,"tag":"Repetition"}},{"Entity":{"atom":58}},{"Entity":{"atom":65}},{"Entity":{"atom":8}},{"Repetition":{"atom":64,"min":2,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[56,57,59,62,63]}},{"Named":{"name":"date","atom":66}},{"Entity":{"atom":70}},{"Entity":{"atom":31}},{"Named":{"name":"date","atom":69}},{"Alternative":{"atoms":[55,68]}},{"Sequence":{"atoms":[53,71]}},{"Repetition":{"atom":52,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":84}},{"Str":{"pattern":"("}},{"Str":{"pattern":"E/F"}},{"Str":{"pattern":"F/E"}},{"Alternative":{"atoms":[76,77]}},{"Entity":{"atom":80}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Alternative":{"atoms":[78,79]}},{"Named":{"name":"languages","atom":81}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[75,82,83]}},{"Repetition":{"atom":74,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[39,40,41,73,85]}},{"Named":{"name":"base","atom":38}},{"Entity":{"atom":89}},{"Str":{"pattern":"/"}},{"Str":{"pattern":"Amd"}},{"Named":{"name":"type_with_stage","atom":90}},{"Entity":{"atom":5}},{"Entity":{"atom":9}},{"Named":{"name":"number","atom":93}},{"Entity":{"atom":54}},{"Entity":{"atom":67}},{"Entity":{"atom":70}},{"Alternative":{"atoms":[96,97]}},{"Sequence":{"atoms":[95,98]}},{"Repetition":{"atom":99,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[87,88,91,92,94,100]}},{"Entity":{"atom":108}},{"Entity":{"atom":86}},{"Named":{"name":"base","atom":103}},{"Entity":{"atom":5}},{"Str":{"pattern":"Corrigendum"}},{"Named":{"name":"type_with_stage","atom":106}},{"Sequence":{"atoms":[104,105,107]}},{"Entity":{"atom":124}},{"Entity":{"atom":86}},{"Named":{"name":"base","atom":110}},{"Entity":{"atom":89}},{"Str":{"pattern":"Cor"}},{"Named":{"name":"type_with_stage","atom":113}},{"Entity":{"atom":5}},{"Entity":{"atom":9}},{"Named":{"name":"number","atom":116}},{"Entity":{"atom":54}},{"Entity":{"atom":67}},{"Entity":{"atom":70}},{"Alternative":{"atoms":[119,120]}},{"Sequence":{"atoms":[118,121]}},{"Repetition":{"atom":122,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[111,112,114,115,117,123]}},{"Entity":{"atom":86}},{"Entity":{"atom":139}},{"Entity":{"atom":3}},{"Entity":{"atom":5}},{"Entity":{"atom":138}},{"Str":{"pattern":"GUM"}},{"Str":{"pattern":"VIM"}},{"Entity":{"atom":58}},{"Entity":{"atom":9}},{"Sequence":{"atoms":[132,133]}},{"Repetition":{"atom":134,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[131,135]}},{"Alternative":{"atoms":[130,136]}},{"Named":{"name":"number","atom":137}},{"Sequence":{"atoms":[127,128,129]}},{"Alternative":{"atoms":[0,37,102,109,125,126]}}],"root":140},"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 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 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 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 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 5 and 6 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"JCGM 200:2008(F)","expect":{}},{"entry":"identifier","kind":"accept","input":"JCGM 100:2008","expect":{}},{"entry":"identifier","kind":"accept","input":"JCGM 1st Meeting (2004)","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/jcgm/parser.rb: JCGM base, meeting, amendment and\n# corrigendum identifiers, and the named GUM/VIM guides.\n\ngrammar PubidJcgm version \"0.1.0\" {\n century = \"19\" / \"20\"\n year_digits = century 2*digit !digit\n month_digits = 2*digit\n day_digits = 2*digit\n digits = 1*digit\n publisher = \"JCGM\" as publisher\n ordinal_suffix = \"st\" / \"nd\" / \"rd\" / \"th\"\n gum_number = \"GUM-\" (1*digit) as gum_number\n standard_number = digits as number\n number_portion = gum_number / standard_number\n full_date = (year_digits dash month_digits dash day_digits) as date\n year_only = year_digits as date\n date_portion = colon (full_date / year_only)\n language_portion = \"(\" ((\"E/F\" / \"F/E\") / upper) as languages \")\"\n base = publisher space number_portion [date_portion] [language_portion]\n meeting_identifier = publisher space digits as number ordinal_suffix space \"Meeting\" as type_with_stage [(space \"(\" year_digits as date \")\")]\n amendment_identifier = (base as base) slash \"Amd\" as type_with_stage space digits as number [(colon (full_date / year_only))]\n corrigendum_identifier = (base as base) space \"Corrigendum\" as type_with_stage\n numbered_corrigendum_identifier = (base as base) slash \"Cor\" as type_with_stage space digits as number [(colon (full_date / year_only))]\n named_number = (\"GUM\" / (\"VIM\" [(dash digits)])) as number\n named_guide_identifier = publisher space named_number\n identifier = meeting_identifier / amendment_identifier / corrigendum_identifier / numbered_corrigendum_identifier / base / named_guide_identifier\n upper = %x41-5A\n digit = %x30-39\n slash = \"/\"\n dash = \"-\"\n colon = \":\"\n space = \" \"\n entry identifier: identifier\n\n test {\n accept \"JCGM 200:2008(F)\"\n accept \"JCGM 100:2008\"\n accept \"JCGM 1st Meeting (2004)\"\n reject \"nonsense\"\n }\n}\n","source_hash":"c4a5cc929b1d59a996d52826fb4199659b3eaee6c645bc5064ce46804be96b59","compiler_version":"1.3.93","checksum":"sha256:b1816fde60067cea27889e934e7bc6064a1618c5f61fdcfb574318bbbb75d496"}
@@ -1 +1 @@
1
- {"bindings":null,"version":"0.1.0","grammar":"PubidJis","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Str":{"pattern":"JIS"}},{"Entity":{"atom":4}},{"Str":{"pattern":" "}},{"Str":{"pattern":" "}},{"Alternative":{"atoms":[2,3]}},{"Entity":{"atom":6}},{"Str":{"pattern":"/"}},{"Alternative":{"atoms":[1,5]}},{"Repetition":{"atom":7,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,8]}},{"Repetition":{"atom":9,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":19}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"TS"}},{"Alternative":{"atoms":[12,13]}},{"Named":{"name":"type","atom":14}},{"Entity":{"atom":4}},{"Entity":{"atom":6}},{"Alternative":{"atoms":[16,17]}},{"Sequence":{"atoms":[15,18]}},{"Repetition":{"atom":11,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Repetition":{"atom":21,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":26}},{"Entity":{"atom":25}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Named":{"name":"series","atom":24}},{"Entity":{"atom":4}},{"Repetition":{"atom":27,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":33}},{"Entity":{"atom":31}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":30,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":32}},{"Entity":{"atom":46}},{"Entity":{"atom":44}},{"Entity":{"atom":40}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"ー"}},{"Alternative":{"atoms":[37,38]}},{"Named":{"name":"dash","atom":39}},{"Entity":{"atom":31}},{"Repetition":{"atom":41,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":42}},{"Sequence":{"atoms":[36,43]}},{"Repetition":{"atom":35,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":45}},{"Entity":{"atom":62}},{"Entity":{"atom":51}},{"Str":{"pattern":":"}},{"Str":{"pattern":":"}},{"Alternative":{"atoms":[49,50]}},{"Entity":{"atom":31}},{"Repetition":{"atom":52,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"year","atom":53}},{"Entity":{"atom":59}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"R"}},{"Repetition":{"atom":57,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[56,58]}},{"Repetition":{"atom":55,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"reaffirmed","atom":60}},{"Sequence":{"atoms":[48,54,61]}},{"Repetition":{"atom":47,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":75}},{"Str":{"pattern":"("}},{"Str":{"pattern":"("}},{"Alternative":{"atoms":[65,66]}},{"Str":{"pattern":"E"}},{"Str":{"pattern":"J"}},{"Alternative":{"atoms":[68,69]}},{"Named":{"name":"language","atom":70}},{"Str":{"pattern":")"}},{"Str":{"pattern":")"}},{"Alternative":{"atoms":[72,73]}},{"Sequence":{"atoms":[67,71,74]}},{"Repetition":{"atom":64,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":87}},{"Str":{"pattern":"("}},{"Str":{"pattern":"規格群"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[78,79,80]}},{"Str":{"pattern":"("}},{"Str":{"pattern":"規格群"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[82,83,84]}},{"Alternative":{"atoms":[81,85]}},{"Named":{"name":"all_parts","atom":86}},{"Repetition":{"atom":77,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":148}},{"Entity":{"atom":110}},{"Entity":{"atom":6}},{"Str":{"pattern":"AMENDMENT"}},{"Str":{"pattern":"AMD"}},{"Alternative":{"atoms":[92,93]}},{"Named":{"name":"amd_type","atom":94}},{"Entity":{"atom":4}},{"Entity":{"atom":31}},{"Repetition":{"atom":97,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_number","atom":98}},{"Entity":{"atom":51}},{"Entity":{"atom":31}},{"Repetition":{"atom":101,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_year","atom":102}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"R"}},{"Repetition":{"atom":105,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[104,106]}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"amd_reaffirmed","atom":108}},{"Sequence":{"atoms":[91,95,96,99,100,103,109]}},{"Named":{"name":"amendment","atom":90}},{"Entity":{"atom":124}},{"Entity":{"atom":6}},{"Str":{"pattern":"EXPLANATION"}},{"Str":{"pattern":"EXPL"}},{"Alternative":{"atoms":[114,115]}},{"Named":{"name":"expl_type","atom":116}},{"Entity":{"atom":4}},{"Entity":{"atom":31}},{"Repetition":{"atom":119,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"expl_number","atom":120}},{"Sequence":{"atoms":[118,121]}},{"Repetition":{"atom":122,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[113,117,123]}},{"Named":{"name":"explanation","atom":112}},{"Entity":{"atom":146}},{"Entity":{"atom":6}},{"Str":{"pattern":"CORRIGENDUM"}},{"Str":{"pattern":"CORR"}},{"Alternative":{"atoms":[128,129]}},{"Named":{"name":"corr_type","atom":130}},{"Entity":{"atom":4}},{"Entity":{"atom":31}},{"Repetition":{"atom":133,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"corr_number","atom":134}},{"Entity":{"atom":51}},{"Entity":{"atom":31}},{"Repetition":{"atom":137,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"corr_year","atom":138}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"R"}},{"Repetition":{"atom":141,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[140,142]}},{"Repetition":{"atom":143,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"corr_reaffirmed","atom":144}},{"Sequence":{"atoms":[127,131,132,135,136,139,145]}},{"Named":{"name":"corrigendum","atom":126}},{"Alternative":{"atoms":[111,125,147]}},{"Repetition":{"atom":89,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":163}},{"Entity":{"atom":4}},{"Str":{"pattern":"SYMBOL"}},{"Named":{"name":"symbol_present","atom":152}},{"Entity":{"atom":4}},{"Entity":{"atom":158}},{"Re":{"pattern":"[\\x01-\\x09]"}},{"Re":{"pattern":"[\\x0b-\\u{10ffff}]"}},{"Alternative":{"atoms":[156,157]}},{"Repetition":{"atom":155,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"symbol_value","atom":159}},{"Sequence":{"atoms":[154,160]}},{"Repetition":{"atom":161,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[151,153,162]}},{"Repetition":{"atom":150,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[10,20,22,23,28,29,34,63,76,88,149,164]}}],"root":165},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule supplement: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule symbol_value_char: branches 1 and 2 are order-dependent (first set not statically known)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"JIS B 0001","expect":{}},{"entry":"identifier","kind":"accept","input":"JIS X 0208:1997","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/jis/parser.rb — JIS identifiers with the Japanese\n# full-width separator tolerance (ー   : ()), TR/TS prefixes, parts,\n# reaffirmed years, (E)/(J) language codes, 規格群 all-parts, AMD/EXPL/\n# CORR supplements, and the SYMBOL clause.\n\ngrammar PubidJis version \"0.1.0\" {\n dash = (\"-\" / \"ー\") as dash\n space = (\" \" / \" \")\n colon = (\":\" / \":\")\n type_prefix = (\"TR\" / \"TS\") as type (space / slash)\n series = upper as series\n number = (1*digit) as number\n part = dash (1*digit) as part\n parts = (*part) as parts\n reaffirmed = \"R\" (*\"R\")\n year = colon (1*digit) as year ([reaffirmed]) as reaffirmed\n language = (\"(\" / \"(\") (\"E\" / \"J\") as language (\")\" / \")\")\n all_parts = ((\"(\" \"規格群\" \")\") / (\"(\" \"規格群\" \")\")) as all_parts\n amendment = slash (\"AMENDMENT\" / \"AMD\") as amd_type space (1*digit) as amd_number colon (1*digit) as amd_year ([\"R\" (*\"R\")]) as amd_reaffirmed\n explanation = slash (\"EXPLANATION\" / \"EXPL\") as expl_type ([space (1*digit) as expl_number])\n corrigendum = slash (\"CORRIGENDUM\" / \"CORR\") as corr_type space (1*digit) as corr_number colon (1*digit) as corr_year ([\"R\" (*\"R\")]) as corr_reaffirmed\n supplement = (amendment as amendment) / (explanation as explanation) / (corrigendum as corrigendum)\n symbol_value_char = %x01-09 / %x0B-10FFFF\n symbol_clause = space \"SYMBOL\" as symbol_present ([space (1*symbol_value_char) as symbol_value])\n identifier = [\"JIS\" [(space / slash)]] [type_prefix] [space] series [space] number parts [year] [language] [all_parts] [supplement] [symbol_clause]\n upper = %x41-5A\n digit = %x30-39\n slash = \"/\"\n entry identifier: identifier\n\n test {\n accept \"JIS B 0001\"\n accept \"JIS X 0208:1997\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:525c222efefb516be76f65cae64ebc7d95b2dfb1827e325b3a9e037f5554553b"}
1
+ {"bindings":null,"version":"0.1.0","grammar":"PubidJis","shape":"parsanol-tree/v2","binding_version":1,"entries":{"identifier":{"root":"identifier","grammar":{"atoms":[{"Str":{"pattern":"JIS"}},{"Entity":{"atom":4}},{"Str":{"pattern":" "}},{"Str":{"pattern":" "}},{"Alternative":{"atoms":[2,3]}},{"Entity":{"atom":6}},{"Str":{"pattern":"/"}},{"Alternative":{"atoms":[1,5]}},{"Repetition":{"atom":7,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[0,8]}},{"Repetition":{"atom":9,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":19}},{"Str":{"pattern":"TR"}},{"Str":{"pattern":"TS"}},{"Alternative":{"atoms":[12,13]}},{"Named":{"name":"type","atom":14}},{"Entity":{"atom":4}},{"Entity":{"atom":6}},{"Alternative":{"atoms":[16,17]}},{"Sequence":{"atoms":[15,18]}},{"Repetition":{"atom":11,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Repetition":{"atom":21,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":26}},{"Entity":{"atom":25}},{"Re":{"pattern":"[\\x41-\\x5a]"}},{"Named":{"name":"series","atom":24}},{"Entity":{"atom":4}},{"Repetition":{"atom":27,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":33}},{"Entity":{"atom":31}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":30,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"number","atom":32}},{"Entity":{"atom":46}},{"Entity":{"atom":44}},{"Entity":{"atom":40}},{"Str":{"pattern":"-"}},{"Str":{"pattern":"ー"}},{"Alternative":{"atoms":[37,38]}},{"Named":{"name":"dash","atom":39}},{"Entity":{"atom":31}},{"Repetition":{"atom":41,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"part","atom":42}},{"Sequence":{"atoms":[36,43]}},{"Repetition":{"atom":35,"min":0,"max":null,"tag":"Repetition"}},{"Named":{"name":"parts","atom":45}},{"Entity":{"atom":62}},{"Entity":{"atom":51}},{"Str":{"pattern":":"}},{"Str":{"pattern":":"}},{"Alternative":{"atoms":[49,50]}},{"Entity":{"atom":31}},{"Repetition":{"atom":52,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"year","atom":53}},{"Entity":{"atom":59}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"R"}},{"Repetition":{"atom":57,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[56,58]}},{"Repetition":{"atom":55,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"reaffirmed","atom":60}},{"Sequence":{"atoms":[48,54,61]}},{"Repetition":{"atom":47,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":75}},{"Str":{"pattern":"("}},{"Str":{"pattern":"("}},{"Alternative":{"atoms":[65,66]}},{"Str":{"pattern":"E"}},{"Str":{"pattern":"J"}},{"Alternative":{"atoms":[68,69]}},{"Named":{"name":"language","atom":70}},{"Str":{"pattern":")"}},{"Str":{"pattern":")"}},{"Alternative":{"atoms":[72,73]}},{"Sequence":{"atoms":[67,71,74]}},{"Repetition":{"atom":64,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":87}},{"Str":{"pattern":"("}},{"Str":{"pattern":"規格群"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[78,79,80]}},{"Str":{"pattern":"("}},{"Str":{"pattern":"規格群"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[82,83,84]}},{"Alternative":{"atoms":[81,85]}},{"Named":{"name":"all_parts","atom":86}},{"Repetition":{"atom":77,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":148}},{"Entity":{"atom":110}},{"Entity":{"atom":6}},{"Str":{"pattern":"AMENDMENT"}},{"Str":{"pattern":"AMD"}},{"Alternative":{"atoms":[92,93]}},{"Named":{"name":"amd_type","atom":94}},{"Entity":{"atom":4}},{"Entity":{"atom":31}},{"Repetition":{"atom":97,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_number","atom":98}},{"Entity":{"atom":51}},{"Entity":{"atom":31}},{"Repetition":{"atom":101,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"amd_year","atom":102}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"R"}},{"Repetition":{"atom":105,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[104,106]}},{"Repetition":{"atom":107,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"amd_reaffirmed","atom":108}},{"Sequence":{"atoms":[91,95,96,99,100,103,109]}},{"Named":{"name":"amendment","atom":90}},{"Entity":{"atom":124}},{"Entity":{"atom":6}},{"Str":{"pattern":"EXPLANATION"}},{"Str":{"pattern":"EXPL"}},{"Alternative":{"atoms":[114,115]}},{"Named":{"name":"expl_type","atom":116}},{"Entity":{"atom":4}},{"Entity":{"atom":31}},{"Repetition":{"atom":119,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"expl_number","atom":120}},{"Sequence":{"atoms":[118,121]}},{"Repetition":{"atom":122,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[113,117,123]}},{"Named":{"name":"explanation","atom":112}},{"Entity":{"atom":146}},{"Entity":{"atom":6}},{"Str":{"pattern":"CORRIGENDUM"}},{"Str":{"pattern":"CORR"}},{"Alternative":{"atoms":[128,129]}},{"Named":{"name":"corr_type","atom":130}},{"Entity":{"atom":4}},{"Entity":{"atom":31}},{"Repetition":{"atom":133,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"corr_number","atom":134}},{"Entity":{"atom":51}},{"Entity":{"atom":31}},{"Repetition":{"atom":137,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"corr_year","atom":138}},{"Str":{"pattern":"R"}},{"Str":{"pattern":"R"}},{"Repetition":{"atom":141,"min":0,"max":null,"tag":"Repetition"}},{"Sequence":{"atoms":[140,142]}},{"Repetition":{"atom":143,"min":0,"max":1,"tag":"Maybe"}},{"Named":{"name":"corr_reaffirmed","atom":144}},{"Sequence":{"atoms":[127,131,132,135,136,139,145]}},{"Named":{"name":"corrigendum","atom":126}},{"Alternative":{"atoms":[111,125,147]}},{"Repetition":{"atom":89,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":163}},{"Entity":{"atom":4}},{"Str":{"pattern":"SYMBOL"}},{"Named":{"name":"symbol_present","atom":152}},{"Entity":{"atom":4}},{"Entity":{"atom":158}},{"Re":{"pattern":"[\\x01-\\x09]"}},{"Re":{"pattern":"[\\x0b-\\u{10ffff}]"}},{"Alternative":{"atoms":[156,157]}},{"Repetition":{"atom":155,"min":1,"max":null,"tag":"Repetition"}},{"Named":{"name":"symbol_value","atom":159}},{"Sequence":{"atoms":[154,160]}},{"Repetition":{"atom":161,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[151,153,162]}},{"Repetition":{"atom":150,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[10,20,22,23,28,29,34,63,76,88,149,164]}}],"root":165},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule supplement: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement: branches 1 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule supplement: branches 2 and 3 are order-dependent (shared first bytes; ordered choice is decisive)","rule symbol_value_char: branches 1 and 2 are order-dependent (first set not statically known)"]},"default_entry":"identifier","render":{},"derive":{},"tests":[{"entry":"identifier","kind":"accept","input":"JIS B 0001","expect":{}},{"entry":"identifier","kind":"accept","input":"JIS X 0208:1997","expect":{}},{"entry":"identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/jis/parser.rb — JIS identifiers with the Japanese\n# full-width separator tolerance (ー   : ()), TR/TS prefixes, parts,\n# reaffirmed years, (E)/(J) language codes, 規格群 all-parts, AMD/EXPL/\n# CORR supplements, and the SYMBOL clause.\n\ngrammar PubidJis version \"0.1.0\" {\n dash = (\"-\" / \"ー\") as dash\n space = (\" \" / \" \")\n colon = (\":\" / \":\")\n type_prefix = (\"TR\" / \"TS\") as type (space / slash)\n series = upper as series\n number = (1*digit) as number\n part = dash (1*digit) as part\n parts = (*part) as parts\n reaffirmed = \"R\" (*\"R\")\n year = colon (1*digit) as year ([reaffirmed]) as reaffirmed\n language = (\"(\" / \"(\") (\"E\" / \"J\") as language (\")\" / \")\")\n all_parts = ((\"(\" \"規格群\" \")\") / (\"(\" \"規格群\" \")\")) as all_parts\n amendment = slash (\"AMENDMENT\" / \"AMD\") as amd_type space (1*digit) as amd_number colon (1*digit) as amd_year ([\"R\" (*\"R\")]) as amd_reaffirmed\n explanation = slash (\"EXPLANATION\" / \"EXPL\") as expl_type ([space (1*digit) as expl_number])\n corrigendum = slash (\"CORRIGENDUM\" / \"CORR\") as corr_type space (1*digit) as corr_number colon (1*digit) as corr_year ([\"R\" (*\"R\")]) as corr_reaffirmed\n supplement = (amendment as amendment) / (explanation as explanation) / (corrigendum as corrigendum)\n symbol_value_char = %x01-09 / %x0B-10FFFF\n symbol_clause = space \"SYMBOL\" as symbol_present ([space (1*symbol_value_char) as symbol_value])\n identifier = [\"JIS\" [(space / slash)]] [type_prefix] [space] series [space] number parts [year] [language] [all_parts] [supplement] [symbol_clause]\n upper = %x41-5A\n digit = %x30-39\n slash = \"/\"\n entry identifier: identifier\n\n test {\n accept \"JIS B 0001\"\n accept \"JIS X 0208:1997\"\n reject \"nonsense\"\n }\n}\n","source_hash":"0b4f3aa215c6851c3fbc57b07539ef7f54842285543850b274677c1c6a9dd280","compiler_version":"1.3.93","checksum":"sha256:62fd1bbd12e4e84f6e480c14dfeb0a007dc4de4f8d7988abb98eba429d9faff5"}
@@ -1 +1 @@
1
- {"bindings":null,"version":"0.1.0","grammar":"PubidNesc","shape":"parsanol-tree/v2","binding_version":1,"entries":{"nesc_identifier":{"root":"nesc_identifier","grammar":{"atoms":[{"Entity":{"atom":40}},{"Str":{"pattern":"Draft"}},{"Named":{"name":"draft","atom":1}},{"Entity":{"atom":4}},{"Str":{"pattern":" "}},{"Entity":{"atom":12}},{"Entity":{"atom":9}},{"Str":{"pattern":"National Electrical Safety Code"}},{"Str":{"pattern":"National Electric Safety Code"}},{"Alternative":{"atoms":[7,8]}},{"Entity":{"atom":11}},{"Str":{"pattern":"NESC"}},{"Alternative":{"atoms":[6,10]}},{"Entity":{"atom":14}},{"Str":{"pattern":"(R)"}},{"Repetition":{"atom":13,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":17}},{"Str":{"pattern":","}},{"Entity":{"atom":4}},{"Entity":{"atom":33}},{"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":[20,21,22,23,24,25,26,27,28,29,30,31]}},{"Named":{"name":"month","atom":32}},{"Entity":{"atom":4}},{"Entity":{"atom":38}},{"Entity":{"atom":37}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":36,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":35}},{"Sequence":{"atoms":[2,3,5,15,16,18,19,34,39]}},{"Entity":{"atom":66}},{"Entity":{"atom":9}},{"Entity":{"atom":14}},{"Repetition":{"atom":43,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[42,44]}},{"Entity":{"atom":17}},{"Entity":{"atom":4}},{"Entity":{"atom":50}},{"Str":{"pattern":"C2"}},{"Named":{"name":"code","atom":49}},{"Entity":{"atom":52}},{"Str":{"pattern":"-"}},{"Entity":{"atom":38}},{"Named":{"name":"year","atom":53}},{"Entity":{"atom":4}},{"Str":{"pattern":"-"}},{"Entity":{"atom":4}},{"Entity":{"atom":62}},{"Str":{"pattern":"Handbook"}},{"Str":{"pattern":"Redline"}},{"Alternative":{"atoms":[59,60]}},{"Named":{"name":"variant","atom":61}},{"Named":{"name":"variant","atom":58}},{"Sequence":{"atoms":[55,56,57,63]}},{"Repetition":{"atom":64,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[45,46,47,48,51,54,65]}},{"Entity":{"atom":88}},{"Entity":{"atom":50}},{"Entity":{"atom":52}},{"Entity":{"atom":38}},{"Named":{"name":"year","atom":70}},{"Entity":{"atom":17}},{"Repetition":{"atom":72,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Sequence":{"atoms":[73,74]}},{"Repetition":{"atom":75,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":9}},{"Entity":{"atom":14}},{"Repetition":{"atom":78,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Entity":{"atom":11}},{"Entity":{"atom":14}},{"Repetition":{"atom":83,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[80,81,82,84,85]}},{"Repetition":{"atom":86,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[68,69,71,76,77,79,87]}},{"Entity":{"atom":138}},{"Entity":{"atom":38}},{"Named":{"name":"year","atom":90}},{"Entity":{"atom":4}},{"Entity":{"atom":9}},{"Named":{"name":"full_name","atom":93}},{"Entity":{"atom":14}},{"Named":{"name":"name_registered","atom":95}},{"Repetition":{"atom":96,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Entity":{"atom":11}},{"Named":{"name":"paren_abbr","atom":100}},{"Entity":{"atom":14}},{"Named":{"name":"paren_registered","atom":102}},{"Repetition":{"atom":103,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[98,99,101,104,105]}},{"Repetition":{"atom":106,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[94,97,107]}},{"Entity":{"atom":11}},{"Named":{"name":"abbr","atom":109}},{"Entity":{"atom":14}},{"Named":{"name":"abbr_registered","atom":111}},{"Repetition":{"atom":112,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[110,113]}},{"Alternative":{"atoms":[108,114]}},{"Entity":{"atom":4}},{"Entity":{"atom":62}},{"Sequence":{"atoms":[116,117]}},{"Repetition":{"atom":118,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":17}},{"Entity":{"atom":4}},{"Entity":{"atom":135}},{"Str":{"pattern":"Premier Edition"}},{"Str":{"pattern":"Second Edition"}},{"Str":{"pattern":"Third Edition"}},{"Str":{"pattern":"Fourth Edition"}},{"Str":{"pattern":"Fifth Edition"}},{"Str":{"pattern":"Sixth Edition"}},{"Str":{"pattern":"Seventh Edition"}},{"Str":{"pattern":"Eighth Edition"}},{"Str":{"pattern":"Ninth Edition"}},{"Str":{"pattern":"Tenth Edition"}},{"Str":{"pattern":"First Edition"}},{"Alternative":{"atoms":[123,124,125,126,127,128,129,130,131,132,133]}},{"Named":{"name":"edition","atom":134}},{"Sequence":{"atoms":[120,121,122]}},{"Repetition":{"atom":136,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[91,92,115,119,137]}},{"Alternative":{"atoms":[0,41,67,89]}}],"root":139},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule nesc_full_name: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule nesc_name: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"nesc_identifier","render":{},"derive":{},"tests":[{"entry":"nesc_identifier","kind":"accept","input":"C2-2023 National Electrical Safety Code","expect":{}},{"entry":"nesc_identifier","kind":"accept","input":"2023 NESC","expect":{}},{"entry":"nesc_identifier","kind":"accept","input":"National Electrical Safety Code, C2-2017","expect":{}},{"entry":"nesc_identifier","kind":"accept","input":"Draft NESC, January 2016","expect":{}},{"entry":"nesc_identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/ieee/nesc/parser.rb — National Electrical Safety\n# Code designations: C2-year, year-first, name-first and Draft forms\n# with (R) marks, editions and variants. Consumed by the ieee grammar\n# via `use nesc`.\n\ngrammar PubidNesc version \"0.1.0\" {\n digit = %x30-39\n digits = 1*digit\n space = \" \"\n comma = \",\"\n dash = \"-\"\n\n year = 4digit\n c2_code = \"C2\" as code\n nesc_full_name = \"National Electrical Safety Code\" / \"National Electric Safety Code\"\n nesc_abbr = \"NESC\"\n nesc_name = nesc_full_name / nesc_abbr\n registered = \"(R)\"\n edition = (\"Premier Edition\" / \"Second Edition\" / \"Third Edition\" / \"Fourth Edition\" / \"Fifth Edition\" / \"Sixth Edition\" / \"Seventh Edition\" / \"Eighth Edition\" / \"Ninth Edition\" / \"Tenth Edition\" / \"First Edition\") as edition\n variant = (\"Handbook\" / \"Redline\") as variant\n month = (\"January\" / \"February\" / \"March\" / \"April\" / \"May\" / \"June\" / \"July\" / \"August\" / \"September\" / \"October\" / \"November\" / \"December\") as month\n\n c2_standard = (c2_code dash (year) as year [([comma] space)] nesc_full_name [registered] [(space \"(\" nesc_abbr [registered] \")\")])\n year_first = ((year) as year) space (((nesc_full_name) as full_name [(registered) as name_registered] [(space \"(\" (nesc_abbr) as paren_abbr [(registered) as paren_registered] \")\")]) / (((nesc_abbr) as abbr [(registered) as abbr_registered]))) [(space variant)] [(comma space edition)]\n name_first = ((nesc_full_name [registered]) comma space c2_code dash (year) as year [(space \"-\" space (variant) as variant)])\n draft_nesc = ((\"Draft\") as draft space nesc_name [registered] comma space (month) space (year) as year)\n nesc_identifier = draft_nesc / name_first / c2_standard / year_first\n\n entry nesc_identifier: nesc_identifier\n\n test {\n accept \"C2-2023 National Electrical Safety Code\"\n accept \"2023 NESC\"\n accept \"National Electrical Safety Code, C2-2017\"\n accept \"Draft NESC, January 2016\"\n reject \"nonsense\"\n }\n}\n","checksum":"sha256:f3d53ccffb32a4294cc6e4a56ba1367841e83416926149c3ddd6d582b6051c13"}
1
+ {"bindings":null,"version":"0.1.0","grammar":"PubidNesc","shape":"parsanol-tree/v2","binding_version":1,"entries":{"nesc_identifier":{"root":"nesc_identifier","grammar":{"atoms":[{"Entity":{"atom":40}},{"Str":{"pattern":"Draft"}},{"Named":{"name":"draft","atom":1}},{"Entity":{"atom":4}},{"Str":{"pattern":" "}},{"Entity":{"atom":12}},{"Entity":{"atom":9}},{"Str":{"pattern":"National Electrical Safety Code"}},{"Str":{"pattern":"National Electric Safety Code"}},{"Alternative":{"atoms":[7,8]}},{"Entity":{"atom":11}},{"Str":{"pattern":"NESC"}},{"Alternative":{"atoms":[6,10]}},{"Entity":{"atom":14}},{"Str":{"pattern":"(R)"}},{"Repetition":{"atom":13,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":17}},{"Str":{"pattern":","}},{"Entity":{"atom":4}},{"Entity":{"atom":33}},{"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":[20,21,22,23,24,25,26,27,28,29,30,31]}},{"Named":{"name":"month","atom":32}},{"Entity":{"atom":4}},{"Entity":{"atom":38}},{"Entity":{"atom":37}},{"Re":{"pattern":"[\\x30-\\x39]"}},{"Repetition":{"atom":36,"min":4,"max":4,"tag":"Repetition"}},{"Named":{"name":"year","atom":35}},{"Sequence":{"atoms":[2,3,5,15,16,18,19,34,39]}},{"Entity":{"atom":71}},{"Str":{"pattern":"Preprint"}},{"Named":{"name":"preprint","atom":42}},{"Entity":{"atom":4}},{"Str":{"pattern":"Proposals"}},{"Str":{"pattern":"Proposal"}},{"Alternative":{"atoms":[45,46]}},{"Entity":{"atom":4}},{"Str":{"pattern":"for"}},{"Entity":{"atom":4}},{"Str":{"pattern":"the"}},{"Entity":{"atom":4}},{"Entity":{"atom":38}},{"Named":{"name":"year","atom":53}},{"Entity":{"atom":4}},{"Str":{"pattern":"Edition"}},{"Entity":{"atom":4}},{"Str":{"pattern":"of"}},{"Entity":{"atom":4}},{"Str":{"pattern":"the"}},{"Entity":{"atom":4}},{"Entity":{"atom":9}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Entity":{"atom":11}},{"Entity":{"atom":14}},{"Repetition":{"atom":66,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[63,64,65,67,68]}},{"Repetition":{"atom":69,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[43,44,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,70]}},{"Entity":{"atom":96}},{"Entity":{"atom":9}},{"Entity":{"atom":14}},{"Repetition":{"atom":74,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[73,75]}},{"Entity":{"atom":17}},{"Entity":{"atom":4}},{"Entity":{"atom":81}},{"Str":{"pattern":"C2"}},{"Named":{"name":"code","atom":80}},{"Entity":{"atom":83}},{"Str":{"pattern":"-"}},{"Entity":{"atom":38}},{"Named":{"name":"year","atom":84}},{"Entity":{"atom":4}},{"Str":{"pattern":"-"}},{"Entity":{"atom":4}},{"Entity":{"atom":93}},{"Str":{"pattern":"Handbook"}},{"Str":{"pattern":"Redline"}},{"Alternative":{"atoms":[90,91]}},{"Named":{"name":"variant","atom":92}},{"Sequence":{"atoms":[86,87,88,89]}},{"Repetition":{"atom":94,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[76,77,78,79,82,85,95]}},{"Entity":{"atom":119}},{"Entity":{"atom":81}},{"Entity":{"atom":100}},{"Str":{"pattern":"."}},{"Entity":{"atom":38}},{"Named":{"name":"year","atom":101}},{"Entity":{"atom":100}},{"Sequence":{"atoms":[99,102,103]}},{"Entity":{"atom":83}},{"Entity":{"atom":38}},{"Named":{"name":"year","atom":106}},{"Entity":{"atom":83}},{"Sequence":{"atoms":[105,107,108]}},{"Entity":{"atom":83}},{"Entity":{"atom":38}},{"Named":{"name":"year","atom":111}},{"Entity":{"atom":114}},{"Str":{"pattern":"/"}},{"Sequence":{"atoms":[110,112,113]}},{"Alternative":{"atoms":[104,109,115]}},{"Str":{"pattern":"Preprint"}},{"Named":{"name":"preprint","atom":117}},{"Sequence":{"atoms":[98,116,118]}},{"Entity":{"atom":141}},{"Entity":{"atom":81}},{"Entity":{"atom":83}},{"Entity":{"atom":38}},{"Named":{"name":"year","atom":123}},{"Entity":{"atom":17}},{"Repetition":{"atom":125,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Sequence":{"atoms":[126,127]}},{"Repetition":{"atom":128,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":9}},{"Entity":{"atom":14}},{"Repetition":{"atom":131,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Entity":{"atom":11}},{"Entity":{"atom":14}},{"Repetition":{"atom":136,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[133,134,135,137,138]}},{"Repetition":{"atom":139,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[121,122,124,129,130,132,140]}},{"Entity":{"atom":191}},{"Entity":{"atom":38}},{"Named":{"name":"year","atom":143}},{"Entity":{"atom":4}},{"Entity":{"atom":9}},{"Named":{"name":"full_name","atom":146}},{"Entity":{"atom":14}},{"Named":{"name":"name_registered","atom":148}},{"Repetition":{"atom":149,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":4}},{"Str":{"pattern":"("}},{"Entity":{"atom":11}},{"Named":{"name":"paren_abbr","atom":153}},{"Entity":{"atom":14}},{"Named":{"name":"paren_registered","atom":155}},{"Repetition":{"atom":156,"min":0,"max":1,"tag":"Maybe"}},{"Str":{"pattern":")"}},{"Sequence":{"atoms":[151,152,154,157,158]}},{"Repetition":{"atom":159,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[147,150,160]}},{"Entity":{"atom":11}},{"Named":{"name":"abbr","atom":162}},{"Entity":{"atom":14}},{"Named":{"name":"abbr_registered","atom":164}},{"Repetition":{"atom":165,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[163,166]}},{"Alternative":{"atoms":[161,167]}},{"Entity":{"atom":4}},{"Entity":{"atom":93}},{"Sequence":{"atoms":[169,170]}},{"Repetition":{"atom":171,"min":0,"max":1,"tag":"Maybe"}},{"Entity":{"atom":17}},{"Entity":{"atom":4}},{"Entity":{"atom":188}},{"Str":{"pattern":"Premier Edition"}},{"Str":{"pattern":"Second Edition"}},{"Str":{"pattern":"Third Edition"}},{"Str":{"pattern":"Fourth Edition"}},{"Str":{"pattern":"Fifth Edition"}},{"Str":{"pattern":"Sixth Edition"}},{"Str":{"pattern":"Seventh Edition"}},{"Str":{"pattern":"Eighth Edition"}},{"Str":{"pattern":"Ninth Edition"}},{"Str":{"pattern":"Tenth Edition"}},{"Str":{"pattern":"First Edition"}},{"Alternative":{"atoms":[176,177,178,179,180,181,182,183,184,185,186]}},{"Named":{"name":"edition","atom":187}},{"Sequence":{"atoms":[173,174,175]}},{"Repetition":{"atom":189,"min":0,"max":1,"tag":"Maybe"}},{"Sequence":{"atoms":[144,145,168,172,190]}},{"Alternative":{"atoms":[0,41,72,97,120,142]}}],"root":192},"bindings":[]}},"preprocess":{},"tables":{},"lint":{"order_warnings":["rule nesc_full_name: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule nesc_name: branches 1 and 2 are order-dependent (shared first bytes; ordered choice is decisive)","rule nesc_identifier: branches 4 and 5 are order-dependent (shared first bytes; ordered choice is decisive)"]},"default_entry":"nesc_identifier","render":{},"derive":{},"tests":[{"entry":"nesc_identifier","kind":"accept","input":"C2-2023 National Electrical Safety Code","expect":{}},{"entry":"nesc_identifier","kind":"accept","input":"2023 NESC","expect":{}},{"entry":"nesc_identifier","kind":"accept","input":"National Electrical Safety Code, C2-2017","expect":{}},{"entry":"nesc_identifier","kind":"accept","input":"Draft NESC, January 2016","expect":{}},{"entry":"nesc_identifier","kind":"accept","input":"C2.2012.Preprint","expect":{}},{"entry":"nesc_identifier","kind":"accept","input":"C2-2012-Preprint","expect":{}},{"entry":"nesc_identifier","kind":"accept","input":"C2-2002/Preprint","expect":{}},{"entry":"nesc_identifier","kind":"accept","input":"Preprint Proposal for the 2017 Edition of the National Electrical Safety Code","expect":{}},{"entry":"nesc_identifier","kind":"accept","input":"Preprint Proposals for the 2022 Edition of the National Electrical Safety Code (NESC(R))","expect":{}},{"entry":"nesc_identifier","kind":"reject","input":"nonsense","expect":{}}],"docs":{},"source":"# Port of lib/pubid/ieee/nesc/parser.rb — National Electrical Safety\n# Code designations: C2-year, year-first, name-first and Draft forms\n# with (R) marks, editions and variants. Consumed by the ieee grammar\n# via `use nesc`.\n\ngrammar PubidNesc version \"0.1.0\" {\n digit = %x30-39\n digits = 1*digit\n space = \" \"\n comma = \",\"\n dash = \"-\"\n dot = \".\"\n slash = \"/\"\n\n year = 4digit\n c2_code = \"C2\" as code\n nesc_full_name = \"National Electrical Safety Code\" / \"National Electric Safety Code\"\n nesc_abbr = \"NESC\"\n nesc_name = nesc_full_name / nesc_abbr\n registered = \"(R)\"\n edition = (\"Premier Edition\" / \"Second Edition\" / \"Third Edition\" / \"Fourth Edition\" / \"Fifth Edition\" / \"Sixth Edition\" / \"Seventh Edition\" / \"Eighth Edition\" / \"Ninth Edition\" / \"Tenth Edition\" / \"First Edition\") as edition\n variant = (\"Handbook\" / \"Redline\") as variant\n month = (\"January\" / \"February\" / \"March\" / \"April\" / \"May\" / \"June\" / \"July\" / \"August\" / \"September\" / \"October\" / \"November\" / \"December\") as month\n\n c2_standard = (c2_code dash (year) as year [([comma] space)] nesc_full_name [registered] [(space \"(\" nesc_abbr [registered] \")\")])\n year_first = ((year) as year) space (((nesc_full_name) as full_name [(registered) as name_registered] [(space \"(\" (nesc_abbr) as paren_abbr [(registered) as paren_registered] \")\")]) / (((nesc_abbr) as abbr [(registered) as abbr_registered]))) [(space variant)] [(comma space edition)]\n name_first = ((nesc_full_name [registered]) comma space c2_code dash (year) as year [(space \"-\" space variant)])\n draft_nesc = ((\"Draft\") as draft space nesc_name [registered] comma space (month) space (year) as year)\n # Preprint is a draft STAGE of the C2 code (NESC terminology for its\n # pre-edition drafts), not a variant: dotted is the canonical spelling\n # (C2.2012.Preprint); dash (C2-2012-Preprint) and the catalogue's\n # slash tail (C2-2002/Preprint) are aliases. The verbose\n # \"Preprint Proposal(s) for the YYYY Edition of ...\" forms cite the same\n # draft by its target edition year.\n c2_preprint = (c2_code ((dot (year) as year dot) / (dash (year) as year dash) / (dash (year) as year slash)) (\"Preprint\") as preprint)\n preprint_proposal = ((\"Preprint\") as preprint space (\"Proposals\" / \"Proposal\") space \"for\" space \"the\" space (year) as year space \"Edition\" space \"of\" space \"the\" space nesc_full_name [(space \"(\" nesc_abbr [registered] \")\")])\n nesc_identifier = draft_nesc / preprint_proposal / name_first / c2_preprint / c2_standard / year_first\n\n entry nesc_identifier: nesc_identifier\n\n test {\n accept \"C2-2023 National Electrical Safety Code\"\n accept \"2023 NESC\"\n accept \"National Electrical Safety Code, C2-2017\"\n accept \"Draft NESC, January 2016\"\n accept \"C2.2012.Preprint\"\n accept \"C2-2012-Preprint\"\n accept \"C2-2002/Preprint\"\n accept \"Preprint Proposal for the 2017 Edition of the National Electrical Safety Code\"\n accept \"Preprint Proposals for the 2022 Edition of the National Electrical Safety Code (NESC(R))\"\n reject \"nonsense\"\n }\n}\n","source_hash":"58ac46d819ea5536c482a64421d5b5fa91ce8d101c43e1d90a3faadf5b20b885","compiler_version":"1.3.93","checksum":"sha256:8daf92e631f01e17e6b5b1225281202ca69277d178e8ab92505a5b4a2567e13d"}