[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/js/dist/ -> block-serialization-spec-parser.js.map (source)

   1  {
   2    "version": 3,
   3    "sources": ["../../../packages/block-serialization-spec-parser/parser.js"],
   4    "sourcesContent": ["/*\n * Generated by PEG.js 0.10.0.\n *\n * http://pegjs.org/\n */\n\n\"use strict\";\n\nfunction peg$subclass(child, parent) {\n  function ctor() { this.constructor = child; }\n  ctor.prototype = parent.prototype;\n  child.prototype = new ctor();\n}\n\nfunction peg$SyntaxError(message, expected, found, location) {\n  this.message  = message;\n  this.expected = expected;\n  this.found    = found;\n  this.location = location;\n  this.name     = \"SyntaxError\";\n\n  if (typeof Error.captureStackTrace === \"function\") {\n    Error.captureStackTrace(this, peg$SyntaxError);\n  }\n}\n\npeg$subclass(peg$SyntaxError, Error);\n\npeg$SyntaxError.buildMessage = function(expected, found) {\n  var DESCRIBE_EXPECTATION_FNS = {\n        literal: function(expectation) {\n          return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n        },\n\n        \"class\": function(expectation) {\n          var escapedParts = \"\",\n              i;\n\n          for (i = 0; i < expectation.parts.length; i++) {\n            escapedParts += expectation.parts[i] instanceof Array\n              ? classEscape(expectation.parts[i][0]) + \"-\" + classEscape(expectation.parts[i][1])\n              : classEscape(expectation.parts[i]);\n          }\n\n          return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n        },\n\n        any: function(expectation) {\n          return \"any character\";\n        },\n\n        end: function(expectation) {\n          return \"end of input\";\n        },\n\n        other: function(expectation) {\n          return expectation.description;\n        }\n      };\n\n  function hex(ch) {\n    return ch.charCodeAt(0).toString(16).toUpperCase();\n  }\n\n  function literalEscape(s) {\n    return s\n      .replace(/\\\\/g, '\\\\\\\\')\n      .replace(/\"/g,  '\\\\\"')\n      .replace(/\\0/g, '\\\\0')\n      .replace(/\\t/g, '\\\\t')\n      .replace(/\\n/g, '\\\\n')\n      .replace(/\\r/g, '\\\\r')\n      .replace(/[\\x00-\\x0F]/g,          function(ch) { return '\\\\x0' + hex(ch); })\n      .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x'  + hex(ch); });\n  }\n\n  function classEscape(s) {\n    return s\n      .replace(/\\\\/g, '\\\\\\\\')\n      .replace(/\\]/g, '\\\\]')\n      .replace(/\\^/g, '\\\\^')\n      .replace(/-/g,  '\\\\-')\n      .replace(/\\0/g, '\\\\0')\n      .replace(/\\t/g, '\\\\t')\n      .replace(/\\n/g, '\\\\n')\n      .replace(/\\r/g, '\\\\r')\n      .replace(/[\\x00-\\x0F]/g,          function(ch) { return '\\\\x0' + hex(ch); })\n      .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x'  + hex(ch); });\n  }\n\n  function describeExpectation(expectation) {\n    return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);\n  }\n\n  function describeExpected(expected) {\n    var descriptions = new Array(expected.length),\n        i, j;\n\n    for (i = 0; i < expected.length; i++) {\n      descriptions[i] = describeExpectation(expected[i]);\n    }\n\n    descriptions.sort();\n\n    if (descriptions.length > 0) {\n      for (i = 1, j = 1; i < descriptions.length; i++) {\n        if (descriptions[i - 1] !== descriptions[i]) {\n          descriptions[j] = descriptions[i];\n          j++;\n        }\n      }\n      descriptions.length = j;\n    }\n\n    switch (descriptions.length) {\n      case 1:\n        return descriptions[0];\n\n      case 2:\n        return descriptions[0] + \" or \" + descriptions[1];\n\n      default:\n        return descriptions.slice(0, -1).join(\", \")\n          + \", or \"\n          + descriptions[descriptions.length - 1];\n    }\n  }\n\n  function describeFound(found) {\n    return found ? \"\\\"\" + literalEscape(found) + \"\\\"\" : \"end of input\";\n  }\n\n  return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n};\n\nfunction peg$parse(input, options) {\n  options = options !== void 0 ? options : {};\n\n  var peg$FAILED = {},\n\n      peg$startRuleFunctions = { Block_List: peg$parseBlock_List },\n      peg$startRuleFunction  = peg$parseBlock_List,\n\n      peg$c0 = peg$anyExpectation(),\n      peg$c1 = function(pre, b, html) { /** <?php return array( $b, $html ); ?> **/ return [ b, html ] },\n      peg$c2 = function(pre, bs, post) { /** <?php return peg_join_blocks( $pre, $bs, $post ); ?> **/\n          return joinBlocks( pre, bs, post );\n        },\n      peg$c3 = \"<!--\",\n      peg$c4 = peg$literalExpectation(\"<!--\", false),\n      peg$c5 = \"wp:\",\n      peg$c6 = peg$literalExpectation(\"wp:\", false),\n      peg$c7 = function(blockName, a) {\n          /** <?php return $a; ?> **/\n          return a;\n        },\n      peg$c8 = \"/-->\",\n      peg$c9 = peg$literalExpectation(\"/-->\", false),\n      peg$c10 = function(blockName, attrs) {\n          /** <?php\n          return array(\n            'blockName'    => $blockName,\n            'attrs'        => empty( $attrs ) ? peg_empty_attrs() : $attrs,\n            'innerBlocks'  => array(),\n            'innerHTML'    => '',\n            'innerContent' => array(),\n          );\n          ?> **/\n\n          return {\n            blockName: blockName,\n            attrs: attrs || {},\n            innerBlocks: [],\n            innerHTML: '',\n            innerContent: []\n          };\n        },\n      peg$c11 = function(s, children, e) {\n          /** <?php\n          list( $innerHTML, $innerBlocks, $innerContent ) = peg_process_inner_content( $children );\n\n          return array(\n            'blockName'    => $s['blockName'],\n            'attrs'        => empty( $s['attrs'] ) ? peg_empty_attrs() : $s['attrs'],\n            'innerBlocks'  => $innerBlocks,\n            'innerHTML'    => $innerHTML,\n            'innerContent' => $innerContent,\n          );\n          ?> **/\n\n          var innerParts = processInnerContent( children );\n          var innerHTML = innerParts[ 0 ];\n          var innerBlocks = innerParts[ 1 ];\n          var innerContent = innerParts[ 2 ];\n\n          return {\n            blockName: s.blockName,\n            attrs: s.attrs,\n            innerBlocks: innerBlocks,\n            innerHTML: innerHTML,\n            innerContent: innerContent,\n          };\n        },\n      peg$c12 = \"-->\",\n      peg$c13 = peg$literalExpectation(\"-->\", false),\n      peg$c14 = function(blockName, attrs) {\n          /** <?php\n          return array(\n            'blockName' => $blockName,\n            'attrs'     => isset( $attrs ) ? $attrs : array(),\n          );\n          ?> **/\n\n          return {\n            blockName: blockName,\n            attrs: attrs || {}\n          };\n        },\n      peg$c15 = \"/wp:\",\n      peg$c16 = peg$literalExpectation(\"/wp:\", false),\n      peg$c17 = function(blockName) {\n          /** <?php\n          return array(\n            'blockName' => $blockName,\n          );\n          ?> **/\n\n          return {\n            blockName: blockName\n          };\n        },\n      peg$c18 = \"/\",\n      peg$c19 = peg$literalExpectation(\"/\", false),\n      peg$c20 = function(type) {\n          /** <?php return \"core/$type\"; ?> **/\n          return 'core/' + type;\n        },\n      peg$c21 = /^[a-z]/,\n      peg$c22 = peg$classExpectation([[\"a\", \"z\"]], false, false),\n      peg$c23 = /^[a-z0-9_\\-]/,\n      peg$c24 = peg$classExpectation([[\"a\", \"z\"], [\"0\", \"9\"], \"_\", \"-\"], false, false),\n      peg$c25 = peg$otherExpectation(\"JSON-encoded attributes embedded in a block's opening comment\"),\n      peg$c26 = \"{\",\n      peg$c27 = peg$literalExpectation(\"{\", false),\n      peg$c28 = \"}\",\n      peg$c29 = peg$literalExpectation(\"}\", false),\n      peg$c30 = \"\",\n      peg$c31 = function(attrs) {\n          /** <?php return json_decode( $attrs, true ); ?> **/\n          return maybeJSON( attrs );\n        },\n      peg$c32 = /^[ \\t\\r\\n]/,\n      peg$c33 = peg$classExpectation([\" \", \"\\t\", \"\\r\", \"\\n\"], false, false),\n\n      peg$currPos          = 0,\n      peg$savedPos         = 0,\n      peg$posDetailsCache  = [{ line: 1, column: 1 }],\n      peg$maxFailPos       = 0,\n      peg$maxFailExpected  = [],\n      peg$silentFails      = 0,\n\n      peg$result;\n\n  if (\"startRule\" in options) {\n    if (!(options.startRule in peg$startRuleFunctions)) {\n      throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n    }\n\n    peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n  }\n\n  function text() {\n    return input.substring(peg$savedPos, peg$currPos);\n  }\n\n  function location() {\n    return peg$computeLocation(peg$savedPos, peg$currPos);\n  }\n\n  function expected(description, location) {\n    location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n    throw peg$buildStructuredError(\n      [peg$otherExpectation(description)],\n      input.substring(peg$savedPos, peg$currPos),\n      location\n    );\n  }\n\n  function error(message, location) {\n    location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n    throw peg$buildSimpleError(message, location);\n  }\n\n  function peg$literalExpectation(text, ignoreCase) {\n    return { type: \"literal\", text: text, ignoreCase: ignoreCase };\n  }\n\n  function peg$classExpectation(parts, inverted, ignoreCase) {\n    return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n  }\n\n  function peg$anyExpectation() {\n    return { type: \"any\" };\n  }\n\n  function peg$endExpectation() {\n    return { type: \"end\" };\n  }\n\n  function peg$otherExpectation(description) {\n    return { type: \"other\", description: description };\n  }\n\n  function peg$computePosDetails(pos) {\n    var details = peg$posDetailsCache[pos], p;\n\n    if (details) {\n      return details;\n    } else {\n      p = pos - 1;\n      while (!peg$posDetailsCache[p]) {\n        p--;\n      }\n\n      details = peg$posDetailsCache[p];\n      details = {\n        line:   details.line,\n        column: details.column\n      };\n\n      while (p < pos) {\n        if (input.charCodeAt(p) === 10) {\n          details.line++;\n          details.column = 1;\n        } else {\n          details.column++;\n        }\n\n        p++;\n      }\n\n      peg$posDetailsCache[pos] = details;\n      return details;\n    }\n  }\n\n  function peg$computeLocation(startPos, endPos) {\n    var startPosDetails = peg$computePosDetails(startPos),\n        endPosDetails   = peg$computePosDetails(endPos);\n\n    return {\n      start: {\n        offset: startPos,\n        line:   startPosDetails.line,\n        column: startPosDetails.column\n      },\n      end: {\n        offset: endPos,\n        line:   endPosDetails.line,\n        column: endPosDetails.column\n      }\n    };\n  }\n\n  function peg$fail(expected) {\n    if (peg$currPos < peg$maxFailPos) { return; }\n\n    if (peg$currPos > peg$maxFailPos) {\n      peg$maxFailPos = peg$currPos;\n      peg$maxFailExpected = [];\n    }\n\n    peg$maxFailExpected.push(expected);\n  }\n\n  function peg$buildSimpleError(message, location) {\n    return new peg$SyntaxError(message, null, null, location);\n  }\n\n  function peg$buildStructuredError(expected, found, location) {\n    return new peg$SyntaxError(\n      peg$SyntaxError.buildMessage(expected, found),\n      expected,\n      found,\n      location\n    );\n  }\n\n  function peg$parseBlock_List() {\n    var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n    s0 = peg$currPos;\n    s1 = peg$currPos;\n    s2 = [];\n    s3 = peg$currPos;\n    s4 = peg$currPos;\n    peg$silentFails++;\n    s5 = peg$parseBlock();\n    peg$silentFails--;\n    if (s5 === peg$FAILED) {\n      s4 = void 0;\n    } else {\n      peg$currPos = s4;\n      s4 = peg$FAILED;\n    }\n    if (s4 !== peg$FAILED) {\n      if (input.length > peg$currPos) {\n        s5 = input.charAt(peg$currPos);\n        peg$currPos++;\n      } else {\n        s5 = peg$FAILED;\n        if (peg$silentFails === 0) { peg$fail(peg$c0); }\n      }\n      if (s5 !== peg$FAILED) {\n        s4 = [s4, s5];\n        s3 = s4;\n      } else {\n        peg$currPos = s3;\n        s3 = peg$FAILED;\n      }\n    } else {\n      peg$currPos = s3;\n      s3 = peg$FAILED;\n    }\n    while (s3 !== peg$FAILED) {\n      s2.push(s3);\n      s3 = peg$currPos;\n      s4 = peg$currPos;\n      peg$silentFails++;\n      s5 = peg$parseBlock();\n      peg$silentFails--;\n      if (s5 === peg$FAILED) {\n        s4 = void 0;\n      } else {\n        peg$currPos = s4;\n        s4 = peg$FAILED;\n      }\n      if (s4 !== peg$FAILED) {\n        if (input.length > peg$currPos) {\n          s5 = input.charAt(peg$currPos);\n          peg$currPos++;\n        } else {\n          s5 = peg$FAILED;\n          if (peg$silentFails === 0) { peg$fail(peg$c0); }\n        }\n        if (s5 !== peg$FAILED) {\n          s4 = [s4, s5];\n          s3 = s4;\n        } else {\n          peg$currPos = s3;\n          s3 = peg$FAILED;\n        }\n      } else {\n        peg$currPos = s3;\n        s3 = peg$FAILED;\n      }\n    }\n    if (s2 !== peg$FAILED) {\n      s1 = input.substring(s1, peg$currPos);\n    } else {\n      s1 = s2;\n    }\n    if (s1 !== peg$FAILED) {\n      s2 = [];\n      s3 = peg$currPos;\n      s4 = peg$parseBlock();\n      if (s4 !== peg$FAILED) {\n        s5 = peg$currPos;\n        s6 = [];\n        s7 = peg$currPos;\n        s8 = peg$currPos;\n        peg$silentFails++;\n        s9 = peg$parseBlock();\n        peg$silentFails--;\n        if (s9 === peg$FAILED) {\n          s8 = void 0;\n        } else {\n          peg$currPos = s8;\n          s8 = peg$FAILED;\n        }\n        if (s8 !== peg$FAILED) {\n          if (input.length > peg$currPos) {\n            s9 = input.charAt(peg$currPos);\n            peg$currPos++;\n          } else {\n            s9 = peg$FAILED;\n            if (peg$silentFails === 0) { peg$fail(peg$c0); }\n          }\n          if (s9 !== peg$FAILED) {\n            s8 = [s8, s9];\n            s7 = s8;\n          } else {\n            peg$currPos = s7;\n            s7 = peg$FAILED;\n          }\n        } else {\n          peg$currPos = s7;\n          s7 = peg$FAILED;\n        }\n        while (s7 !== peg$FAILED) {\n          s6.push(s7);\n          s7 = peg$currPos;\n          s8 = peg$currPos;\n          peg$silentFails++;\n          s9 = peg$parseBlock();\n          peg$silentFails--;\n          if (s9 === peg$FAILED) {\n            s8 = void 0;\n          } else {\n            peg$currPos = s8;\n            s8 = peg$FAILED;\n          }\n          if (s8 !== peg$FAILED) {\n            if (input.length > peg$currPos) {\n              s9 = input.charAt(peg$currPos);\n              peg$currPos++;\n            } else {\n              s9 = peg$FAILED;\n              if (peg$silentFails === 0) { peg$fail(peg$c0); }\n            }\n            if (s9 !== peg$FAILED) {\n              s8 = [s8, s9];\n              s7 = s8;\n            } else {\n              peg$currPos = s7;\n              s7 = peg$FAILED;\n            }\n          } else {\n            peg$currPos = s7;\n            s7 = peg$FAILED;\n          }\n        }\n        if (s6 !== peg$FAILED) {\n          s5 = input.substring(s5, peg$currPos);\n        } else {\n          s5 = s6;\n        }\n        if (s5 !== peg$FAILED) {\n          peg$savedPos = s3;\n          s4 = peg$c1(s1, s4, s5);\n          s3 = s4;\n        } else {\n          peg$currPos = s3;\n          s3 = peg$FAILED;\n        }\n      } else {\n        peg$currPos = s3;\n        s3 = peg$FAILED;\n      }\n      while (s3 !== peg$FAILED) {\n        s2.push(s3);\n        s3 = peg$currPos;\n        s4 = peg$parseBlock();\n        if (s4 !== peg$FAILED) {\n          s5 = peg$currPos;\n          s6 = [];\n          s7 = peg$currPos;\n          s8 = peg$currPos;\n          peg$silentFails++;\n          s9 = peg$parseBlock();\n          peg$silentFails--;\n          if (s9 === peg$FAILED) {\n            s8 = void 0;\n          } else {\n            peg$currPos = s8;\n            s8 = peg$FAILED;\n          }\n          if (s8 !== peg$FAILED) {\n            if (input.length > peg$currPos) {\n              s9 = input.charAt(peg$currPos);\n              peg$currPos++;\n            } else {\n              s9 = peg$FAILED;\n              if (peg$silentFails === 0) { peg$fail(peg$c0); }\n            }\n            if (s9 !== peg$FAILED) {\n              s8 = [s8, s9];\n              s7 = s8;\n            } else {\n              peg$currPos = s7;\n              s7 = peg$FAILED;\n            }\n          } else {\n            peg$currPos = s7;\n            s7 = peg$FAILED;\n          }\n          while (s7 !== peg$FAILED) {\n            s6.push(s7);\n            s7 = peg$currPos;\n            s8 = peg$currPos;\n            peg$silentFails++;\n            s9 = peg$parseBlock();\n            peg$silentFails--;\n            if (s9 === peg$FAILED) {\n              s8 = void 0;\n            } else {\n              peg$currPos = s8;\n              s8 = peg$FAILED;\n            }\n            if (s8 !== peg$FAILED) {\n              if (input.length > peg$currPos) {\n                s9 = input.charAt(peg$currPos);\n                peg$currPos++;\n              } else {\n                s9 = peg$FAILED;\n                if (peg$silentFails === 0) { peg$fail(peg$c0); }\n              }\n              if (s9 !== peg$FAILED) {\n                s8 = [s8, s9];\n                s7 = s8;\n              } else {\n                peg$currPos = s7;\n                s7 = peg$FAILED;\n              }\n            } else {\n              peg$currPos = s7;\n              s7 = peg$FAILED;\n            }\n          }\n          if (s6 !== peg$FAILED) {\n            s5 = input.substring(s5, peg$currPos);\n          } else {\n            s5 = s6;\n          }\n          if (s5 !== peg$FAILED) {\n            peg$savedPos = s3;\n            s4 = peg$c1(s1, s4, s5);\n            s3 = s4;\n          } else {\n            peg$currPos = s3;\n            s3 = peg$FAILED;\n          }\n        } else {\n          peg$currPos = s3;\n          s3 = peg$FAILED;\n        }\n      }\n      if (s2 !== peg$FAILED) {\n        s3 = peg$currPos;\n        s4 = [];\n        if (input.length > peg$currPos) {\n          s5 = input.charAt(peg$currPos);\n          peg$currPos++;\n        } else {\n          s5 = peg$FAILED;\n          if (peg$silentFails === 0) { peg$fail(peg$c0); }\n        }\n        while (s5 !== peg$FAILED) {\n          s4.push(s5);\n          if (input.length > peg$currPos) {\n            s5 = input.charAt(peg$currPos);\n            peg$currPos++;\n          } else {\n            s5 = peg$FAILED;\n            if (peg$silentFails === 0) { peg$fail(peg$c0); }\n          }\n        }\n        if (s4 !== peg$FAILED) {\n          s3 = input.substring(s3, peg$currPos);\n        } else {\n          s3 = s4;\n        }\n        if (s3 !== peg$FAILED) {\n          peg$savedPos = s0;\n          s1 = peg$c2(s1, s2, s3);\n          s0 = s1;\n        } else {\n          peg$currPos = s0;\n          s0 = peg$FAILED;\n        }\n      } else {\n        peg$currPos = s0;\n        s0 = peg$FAILED;\n      }\n    } else {\n      peg$currPos = s0;\n      s0 = peg$FAILED;\n    }\n\n    return s0;\n  }\n\n  function peg$parseBlock() {\n    var s0;\n\n    s0 = peg$parseBlock_Void();\n    if (s0 === peg$FAILED) {\n      s0 = peg$parseBlock_Balanced();\n    }\n\n    return s0;\n  }\n\n  function peg$parseBlock_Void() {\n    var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n    s0 = peg$currPos;\n    if (input.substr(peg$currPos, 4) === peg$c3) {\n      s1 = peg$c3;\n      peg$currPos += 4;\n    } else {\n      s1 = peg$FAILED;\n      if (peg$silentFails === 0) { peg$fail(peg$c4); }\n    }\n    if (s1 !== peg$FAILED) {\n      s2 = peg$parse__();\n      if (s2 !== peg$FAILED) {\n        if (input.substr(peg$currPos, 3) === peg$c5) {\n          s3 = peg$c5;\n          peg$currPos += 3;\n        } else {\n          s3 = peg$FAILED;\n          if (peg$silentFails === 0) { peg$fail(peg$c6); }\n        }\n        if (s3 !== peg$FAILED) {\n          s4 = peg$parseBlock_Name();\n          if (s4 !== peg$FAILED) {\n            s5 = peg$parse__();\n            if (s5 !== peg$FAILED) {\n              s6 = peg$currPos;\n              s7 = peg$parseBlock_Attributes();\n              if (s7 !== peg$FAILED) {\n                s8 = peg$parse__();\n                if (s8 !== peg$FAILED) {\n                  peg$savedPos = s6;\n                  s7 = peg$c7(s4, s7);\n                  s6 = s7;\n                } else {\n                  peg$currPos = s6;\n                  s6 = peg$FAILED;\n                }\n              } else {\n                peg$currPos = s6;\n                s6 = peg$FAILED;\n              }\n              if (s6 === peg$FAILED) {\n                s6 = null;\n              }\n              if (s6 !== peg$FAILED) {\n                if (input.substr(peg$currPos, 4) === peg$c8) {\n                  s7 = peg$c8;\n                  peg$currPos += 4;\n                } else {\n                  s7 = peg$FAILED;\n                  if (peg$silentFails === 0) { peg$fail(peg$c9); }\n                }\n                if (s7 !== peg$FAILED) {\n                  peg$savedPos = s0;\n                  s1 = peg$c10(s4, s6);\n                  s0 = s1;\n                } else {\n                  peg$currPos = s0;\n                  s0 = peg$FAILED;\n                }\n              } else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n              }\n            } else {\n              peg$currPos = s0;\n              s0 = peg$FAILED;\n            }\n          } else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n          }\n        } else {\n          peg$currPos = s0;\n          s0 = peg$FAILED;\n        }\n      } else {\n        peg$currPos = s0;\n        s0 = peg$FAILED;\n      }\n    } else {\n      peg$currPos = s0;\n      s0 = peg$FAILED;\n    }\n\n    return s0;\n  }\n\n  function peg$parseBlock_Balanced() {\n    var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n    s0 = peg$currPos;\n    s1 = peg$parseBlock_Start();\n    if (s1 !== peg$FAILED) {\n      s2 = [];\n      s3 = peg$parseBlock();\n      if (s3 === peg$FAILED) {\n        s3 = peg$currPos;\n        s4 = [];\n        s5 = peg$currPos;\n        s6 = peg$currPos;\n        peg$silentFails++;\n        s7 = peg$parseBlock();\n        peg$silentFails--;\n        if (s7 === peg$FAILED) {\n          s6 = void 0;\n        } else {\n          peg$currPos = s6;\n          s6 = peg$FAILED;\n        }\n        if (s6 !== peg$FAILED) {\n          s7 = peg$currPos;\n          peg$silentFails++;\n          s8 = peg$parseBlock_End();\n          peg$silentFails--;\n          if (s8 === peg$FAILED) {\n            s7 = void 0;\n          } else {\n            peg$currPos = s7;\n            s7 = peg$FAILED;\n          }\n          if (s7 !== peg$FAILED) {\n            if (input.length > peg$currPos) {\n              s8 = input.charAt(peg$currPos);\n              peg$currPos++;\n            } else {\n              s8 = peg$FAILED;\n              if (peg$silentFails === 0) { peg$fail(peg$c0); }\n            }\n            if (s8 !== peg$FAILED) {\n              s6 = [s6, s7, s8];\n              s5 = s6;\n            } else {\n              peg$currPos = s5;\n              s5 = peg$FAILED;\n            }\n          } else {\n            peg$currPos = s5;\n            s5 = peg$FAILED;\n          }\n        } else {\n          peg$currPos = s5;\n          s5 = peg$FAILED;\n        }\n        if (s5 !== peg$FAILED) {\n          while (s5 !== peg$FAILED) {\n            s4.push(s5);\n            s5 = peg$currPos;\n            s6 = peg$currPos;\n            peg$silentFails++;\n            s7 = peg$parseBlock();\n            peg$silentFails--;\n            if (s7 === peg$FAILED) {\n              s6 = void 0;\n            } else {\n              peg$currPos = s6;\n              s6 = peg$FAILED;\n            }\n            if (s6 !== peg$FAILED) {\n              s7 = peg$currPos;\n              peg$silentFails++;\n              s8 = peg$parseBlock_End();\n              peg$silentFails--;\n              if (s8 === peg$FAILED) {\n                s7 = void 0;\n              } else {\n                peg$currPos = s7;\n                s7 = peg$FAILED;\n              }\n              if (s7 !== peg$FAILED) {\n                if (input.length > peg$currPos) {\n                  s8 = input.charAt(peg$currPos);\n                  peg$currPos++;\n                } else {\n                  s8 = peg$FAILED;\n                  if (peg$silentFails === 0) { peg$fail(peg$c0); }\n                }\n                if (s8 !== peg$FAILED) {\n                  s6 = [s6, s7, s8];\n                  s5 = s6;\n                } else {\n                  peg$currPos = s5;\n                  s5 = peg$FAILED;\n                }\n              } else {\n                peg$currPos = s5;\n                s5 = peg$FAILED;\n              }\n            } else {\n              peg$currPos = s5;\n              s5 = peg$FAILED;\n            }\n          }\n        } else {\n          s4 = peg$FAILED;\n        }\n        if (s4 !== peg$FAILED) {\n          s3 = input.substring(s3, peg$currPos);\n        } else {\n          s3 = s4;\n        }\n      }\n      while (s3 !== peg$FAILED) {\n        s2.push(s3);\n        s3 = peg$parseBlock();\n        if (s3 === peg$FAILED) {\n          s3 = peg$currPos;\n          s4 = [];\n          s5 = peg$currPos;\n          s6 = peg$currPos;\n          peg$silentFails++;\n          s7 = peg$parseBlock();\n          peg$silentFails--;\n          if (s7 === peg$FAILED) {\n            s6 = void 0;\n          } else {\n            peg$currPos = s6;\n            s6 = peg$FAILED;\n          }\n          if (s6 !== peg$FAILED) {\n            s7 = peg$currPos;\n            peg$silentFails++;\n            s8 = peg$parseBlock_End();\n            peg$silentFails--;\n            if (s8 === peg$FAILED) {\n              s7 = void 0;\n            } else {\n              peg$currPos = s7;\n              s7 = peg$FAILED;\n            }\n            if (s7 !== peg$FAILED) {\n              if (input.length > peg$currPos) {\n                s8 = input.charAt(peg$currPos);\n                peg$currPos++;\n              } else {\n                s8 = peg$FAILED;\n                if (peg$silentFails === 0) { peg$fail(peg$c0); }\n              }\n              if (s8 !== peg$FAILED) {\n                s6 = [s6, s7, s8];\n                s5 = s6;\n              } else {\n                peg$currPos = s5;\n                s5 = peg$FAILED;\n              }\n            } else {\n              peg$currPos = s5;\n              s5 = peg$FAILED;\n            }\n          } else {\n            peg$currPos = s5;\n            s5 = peg$FAILED;\n          }\n          if (s5 !== peg$FAILED) {\n            while (s5 !== peg$FAILED) {\n              s4.push(s5);\n              s5 = peg$currPos;\n              s6 = peg$currPos;\n              peg$silentFails++;\n              s7 = peg$parseBlock();\n              peg$silentFails--;\n              if (s7 === peg$FAILED) {\n                s6 = void 0;\n              } else {\n                peg$currPos = s6;\n                s6 = peg$FAILED;\n              }\n              if (s6 !== peg$FAILED) {\n                s7 = peg$currPos;\n                peg$silentFails++;\n                s8 = peg$parseBlock_End();\n                peg$silentFails--;\n                if (s8 === peg$FAILED) {\n                  s7 = void 0;\n                } else {\n                  peg$currPos = s7;\n                  s7 = peg$FAILED;\n                }\n                if (s7 !== peg$FAILED) {\n                  if (input.length > peg$currPos) {\n                    s8 = input.charAt(peg$currPos);\n                    peg$currPos++;\n                  } else {\n                    s8 = peg$FAILED;\n                    if (peg$silentFails === 0) { peg$fail(peg$c0); }\n                  }\n                  if (s8 !== peg$FAILED) {\n                    s6 = [s6, s7, s8];\n                    s5 = s6;\n                  } else {\n                    peg$currPos = s5;\n                    s5 = peg$FAILED;\n                  }\n                } else {\n                  peg$currPos = s5;\n                  s5 = peg$FAILED;\n                }\n              } else {\n                peg$currPos = s5;\n                s5 = peg$FAILED;\n              }\n            }\n          } else {\n            s4 = peg$FAILED;\n          }\n          if (s4 !== peg$FAILED) {\n            s3 = input.substring(s3, peg$currPos);\n          } else {\n            s3 = s4;\n          }\n        }\n      }\n      if (s2 !== peg$FAILED) {\n        s3 = peg$parseBlock_End();\n        if (s3 !== peg$FAILED) {\n          peg$savedPos = s0;\n          s1 = peg$c11(s1, s2, s3);\n          s0 = s1;\n        } else {\n          peg$currPos = s0;\n          s0 = peg$FAILED;\n        }\n      } else {\n        peg$currPos = s0;\n        s0 = peg$FAILED;\n      }\n    } else {\n      peg$currPos = s0;\n      s0 = peg$FAILED;\n    }\n\n    return s0;\n  }\n\n  function peg$parseBlock_Start() {\n    var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n    s0 = peg$currPos;\n    if (input.substr(peg$currPos, 4) === peg$c3) {\n      s1 = peg$c3;\n      peg$currPos += 4;\n    } else {\n      s1 = peg$FAILED;\n      if (peg$silentFails === 0) { peg$fail(peg$c4); }\n    }\n    if (s1 !== peg$FAILED) {\n      s2 = peg$parse__();\n      if (s2 !== peg$FAILED) {\n        if (input.substr(peg$currPos, 3) === peg$c5) {\n          s3 = peg$c5;\n          peg$currPos += 3;\n        } else {\n          s3 = peg$FAILED;\n          if (peg$silentFails === 0) { peg$fail(peg$c6); }\n        }\n        if (s3 !== peg$FAILED) {\n          s4 = peg$parseBlock_Name();\n          if (s4 !== peg$FAILED) {\n            s5 = peg$parse__();\n            if (s5 !== peg$FAILED) {\n              s6 = peg$currPos;\n              s7 = peg$parseBlock_Attributes();\n              if (s7 !== peg$FAILED) {\n                s8 = peg$parse__();\n                if (s8 !== peg$FAILED) {\n                  peg$savedPos = s6;\n                  s7 = peg$c7(s4, s7);\n                  s6 = s7;\n                } else {\n                  peg$currPos = s6;\n                  s6 = peg$FAILED;\n                }\n              } else {\n                peg$currPos = s6;\n                s6 = peg$FAILED;\n              }\n              if (s6 === peg$FAILED) {\n                s6 = null;\n              }\n              if (s6 !== peg$FAILED) {\n                if (input.substr(peg$currPos, 3) === peg$c12) {\n                  s7 = peg$c12;\n                  peg$currPos += 3;\n                } else {\n                  s7 = peg$FAILED;\n                  if (peg$silentFails === 0) { peg$fail(peg$c13); }\n                }\n                if (s7 !== peg$FAILED) {\n                  peg$savedPos = s0;\n                  s1 = peg$c14(s4, s6);\n                  s0 = s1;\n                } else {\n                  peg$currPos = s0;\n                  s0 = peg$FAILED;\n                }\n              } else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n              }\n            } else {\n              peg$currPos = s0;\n              s0 = peg$FAILED;\n            }\n          } else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n          }\n        } else {\n          peg$currPos = s0;\n          s0 = peg$FAILED;\n        }\n      } else {\n        peg$currPos = s0;\n        s0 = peg$FAILED;\n      }\n    } else {\n      peg$currPos = s0;\n      s0 = peg$FAILED;\n    }\n\n    return s0;\n  }\n\n  function peg$parseBlock_End() {\n    var s0, s1, s2, s3, s4, s5, s6;\n\n    s0 = peg$currPos;\n    if (input.substr(peg$currPos, 4) === peg$c3) {\n      s1 = peg$c3;\n      peg$currPos += 4;\n    } else {\n      s1 = peg$FAILED;\n      if (peg$silentFails === 0) { peg$fail(peg$c4); }\n    }\n    if (s1 !== peg$FAILED) {\n      s2 = peg$parse__();\n      if (s2 !== peg$FAILED) {\n        if (input.substr(peg$currPos, 4) === peg$c15) {\n          s3 = peg$c15;\n          peg$currPos += 4;\n        } else {\n          s3 = peg$FAILED;\n          if (peg$silentFails === 0) { peg$fail(peg$c16); }\n        }\n        if (s3 !== peg$FAILED) {\n          s4 = peg$parseBlock_Name();\n          if (s4 !== peg$FAILED) {\n            s5 = peg$parse__();\n            if (s5 !== peg$FAILED) {\n              if (input.substr(peg$currPos, 3) === peg$c12) {\n                s6 = peg$c12;\n                peg$currPos += 3;\n              } else {\n                s6 = peg$FAILED;\n                if (peg$silentFails === 0) { peg$fail(peg$c13); }\n              }\n              if (s6 !== peg$FAILED) {\n                peg$savedPos = s0;\n                s1 = peg$c17(s4);\n                s0 = s1;\n              } else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n              }\n            } else {\n              peg$currPos = s0;\n              s0 = peg$FAILED;\n            }\n          } else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n          }\n        } else {\n          peg$currPos = s0;\n          s0 = peg$FAILED;\n        }\n      } else {\n        peg$currPos = s0;\n        s0 = peg$FAILED;\n      }\n    } else {\n      peg$currPos = s0;\n      s0 = peg$FAILED;\n    }\n\n    return s0;\n  }\n\n  function peg$parseBlock_Name() {\n    var s0;\n\n    s0 = peg$parseNamespaced_Block_Name();\n    if (s0 === peg$FAILED) {\n      s0 = peg$parseCore_Block_Name();\n    }\n\n    return s0;\n  }\n\n  function peg$parseNamespaced_Block_Name() {\n    var s0, s1, s2, s3, s4;\n\n    s0 = peg$currPos;\n    s1 = peg$currPos;\n    s2 = peg$parseBlock_Name_Part();\n    if (s2 !== peg$FAILED) {\n      if (input.charCodeAt(peg$currPos) === 47) {\n        s3 = peg$c18;\n        peg$currPos++;\n      } else {\n        s3 = peg$FAILED;\n        if (peg$silentFails === 0) { peg$fail(peg$c19); }\n      }\n      if (s3 !== peg$FAILED) {\n        s4 = peg$parseBlock_Name_Part();\n        if (s4 !== peg$FAILED) {\n          s2 = [s2, s3, s4];\n          s1 = s2;\n        } else {\n          peg$currPos = s1;\n          s1 = peg$FAILED;\n        }\n      } else {\n        peg$currPos = s1;\n        s1 = peg$FAILED;\n      }\n    } else {\n      peg$currPos = s1;\n      s1 = peg$FAILED;\n    }\n    if (s1 !== peg$FAILED) {\n      s0 = input.substring(s0, peg$currPos);\n    } else {\n      s0 = s1;\n    }\n\n    return s0;\n  }\n\n  function peg$parseCore_Block_Name() {\n    var s0, s1, s2;\n\n    s0 = peg$currPos;\n    s1 = peg$currPos;\n    s2 = peg$parseBlock_Name_Part();\n    if (s2 !== peg$FAILED) {\n      s1 = input.substring(s1, peg$currPos);\n    } else {\n      s1 = s2;\n    }\n    if (s1 !== peg$FAILED) {\n      peg$savedPos = s0;\n      s1 = peg$c20(s1);\n    }\n    s0 = s1;\n\n    return s0;\n  }\n\n  function peg$parseBlock_Name_Part() {\n    var s0, s1, s2, s3, s4;\n\n    s0 = peg$currPos;\n    s1 = peg$currPos;\n    if (peg$c21.test(input.charAt(peg$currPos))) {\n      s2 = input.charAt(peg$currPos);\n      peg$currPos++;\n    } else {\n      s2 = peg$FAILED;\n      if (peg$silentFails === 0) { peg$fail(peg$c22); }\n    }\n    if (s2 !== peg$FAILED) {\n      s3 = [];\n      if (peg$c23.test(input.charAt(peg$currPos))) {\n        s4 = input.charAt(peg$currPos);\n        peg$currPos++;\n      } else {\n        s4 = peg$FAILED;\n        if (peg$silentFails === 0) { peg$fail(peg$c24); }\n      }\n      while (s4 !== peg$FAILED) {\n        s3.push(s4);\n        if (peg$c23.test(input.charAt(peg$currPos))) {\n          s4 = input.charAt(peg$currPos);\n          peg$currPos++;\n        } else {\n          s4 = peg$FAILED;\n          if (peg$silentFails === 0) { peg$fail(peg$c24); }\n        }\n      }\n      if (s3 !== peg$FAILED) {\n        s2 = [s2, s3];\n        s1 = s2;\n      } else {\n        peg$currPos = s1;\n        s1 = peg$FAILED;\n      }\n    } else {\n      peg$currPos = s1;\n      s1 = peg$FAILED;\n    }\n    if (s1 !== peg$FAILED) {\n      s0 = input.substring(s0, peg$currPos);\n    } else {\n      s0 = s1;\n    }\n\n    return s0;\n  }\n\n  function peg$parseBlock_Attributes() {\n    var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n\n    peg$silentFails++;\n    s0 = peg$currPos;\n    s1 = peg$currPos;\n    s2 = peg$currPos;\n    if (input.charCodeAt(peg$currPos) === 123) {\n      s3 = peg$c26;\n      peg$currPos++;\n    } else {\n      s3 = peg$FAILED;\n      if (peg$silentFails === 0) { peg$fail(peg$c27); }\n    }\n    if (s3 !== peg$FAILED) {\n      s4 = [];\n      s5 = peg$currPos;\n      s6 = peg$currPos;\n      peg$silentFails++;\n      s7 = peg$currPos;\n      if (input.charCodeAt(peg$currPos) === 125) {\n        s8 = peg$c28;\n        peg$currPos++;\n      } else {\n        s8 = peg$FAILED;\n        if (peg$silentFails === 0) { peg$fail(peg$c29); }\n      }\n      if (s8 !== peg$FAILED) {\n        s9 = peg$parse__();\n        if (s9 !== peg$FAILED) {\n          s10 = peg$c30;\n          if (s10 !== peg$FAILED) {\n            if (input.charCodeAt(peg$currPos) === 47) {\n              s11 = peg$c18;\n              peg$currPos++;\n            } else {\n              s11 = peg$FAILED;\n              if (peg$silentFails === 0) { peg$fail(peg$c19); }\n            }\n            if (s11 === peg$FAILED) {\n              s11 = null;\n            }\n            if (s11 !== peg$FAILED) {\n              if (input.substr(peg$currPos, 3) === peg$c12) {\n                s12 = peg$c12;\n                peg$currPos += 3;\n              } else {\n                s12 = peg$FAILED;\n                if (peg$silentFails === 0) { peg$fail(peg$c13); }\n              }\n              if (s12 !== peg$FAILED) {\n                s8 = [s8, s9, s10, s11, s12];\n                s7 = s8;\n              } else {\n                peg$currPos = s7;\n                s7 = peg$FAILED;\n              }\n            } else {\n              peg$currPos = s7;\n              s7 = peg$FAILED;\n            }\n          } else {\n            peg$currPos = s7;\n            s7 = peg$FAILED;\n          }\n        } else {\n          peg$currPos = s7;\n          s7 = peg$FAILED;\n        }\n      } else {\n        peg$currPos = s7;\n        s7 = peg$FAILED;\n      }\n      peg$silentFails--;\n      if (s7 === peg$FAILED) {\n        s6 = void 0;\n      } else {\n        peg$currPos = s6;\n        s6 = peg$FAILED;\n      }\n      if (s6 !== peg$FAILED) {\n        if (input.length > peg$currPos) {\n          s7 = input.charAt(peg$currPos);\n          peg$currPos++;\n        } else {\n          s7 = peg$FAILED;\n          if (peg$silentFails === 0) { peg$fail(peg$c0); }\n        }\n        if (s7 !== peg$FAILED) {\n          s6 = [s6, s7];\n          s5 = s6;\n        } else {\n          peg$currPos = s5;\n          s5 = peg$FAILED;\n        }\n      } else {\n        peg$currPos = s5;\n        s5 = peg$FAILED;\n      }\n      while (s5 !== peg$FAILED) {\n        s4.push(s5);\n        s5 = peg$currPos;\n        s6 = peg$currPos;\n        peg$silentFails++;\n        s7 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 125) {\n          s8 = peg$c28;\n          peg$currPos++;\n        } else {\n          s8 = peg$FAILED;\n          if (peg$silentFails === 0) { peg$fail(peg$c29); }\n        }\n        if (s8 !== peg$FAILED) {\n          s9 = peg$parse__();\n          if (s9 !== peg$FAILED) {\n            s10 = peg$c30;\n            if (s10 !== peg$FAILED) {\n              if (input.charCodeAt(peg$currPos) === 47) {\n                s11 = peg$c18;\n                peg$currPos++;\n              } else {\n                s11 = peg$FAILED;\n                if (peg$silentFails === 0) { peg$fail(peg$c19); }\n              }\n              if (s11 === peg$FAILED) {\n                s11 = null;\n              }\n              if (s11 !== peg$FAILED) {\n                if (input.substr(peg$currPos, 3) === peg$c12) {\n                  s12 = peg$c12;\n                  peg$currPos += 3;\n                } else {\n                  s12 = peg$FAILED;\n                  if (peg$silentFails === 0) { peg$fail(peg$c13); }\n                }\n                if (s12 !== peg$FAILED) {\n                  s8 = [s8, s9, s10, s11, s12];\n                  s7 = s8;\n                } else {\n                  peg$currPos = s7;\n                  s7 = peg$FAILED;\n                }\n              } else {\n                peg$currPos = s7;\n                s7 = peg$FAILED;\n              }\n            } else {\n              peg$currPos = s7;\n              s7 = peg$FAILED;\n            }\n          } else {\n            peg$currPos = s7;\n            s7 = peg$FAILED;\n          }\n        } else {\n          peg$currPos = s7;\n          s7 = peg$FAILED;\n        }\n        peg$silentFails--;\n        if (s7 === peg$FAILED) {\n          s6 = void 0;\n        } else {\n          peg$currPos = s6;\n          s6 = peg$FAILED;\n        }\n        if (s6 !== peg$FAILED) {\n          if (input.length > peg$currPos) {\n            s7 = input.charAt(peg$currPos);\n            peg$currPos++;\n          } else {\n            s7 = peg$FAILED;\n            if (peg$silentFails === 0) { peg$fail(peg$c0); }\n          }\n          if (s7 !== peg$FAILED) {\n            s6 = [s6, s7];\n            s5 = s6;\n          } else {\n            peg$currPos = s5;\n            s5 = peg$FAILED;\n          }\n        } else {\n          peg$currPos = s5;\n          s5 = peg$FAILED;\n        }\n      }\n      if (s4 !== peg$FAILED) {\n        if (input.charCodeAt(peg$currPos) === 125) {\n          s5 = peg$c28;\n          peg$currPos++;\n        } else {\n          s5 = peg$FAILED;\n          if (peg$silentFails === 0) { peg$fail(peg$c29); }\n        }\n        if (s5 !== peg$FAILED) {\n          s3 = [s3, s4, s5];\n          s2 = s3;\n        } else {\n          peg$currPos = s2;\n          s2 = peg$FAILED;\n        }\n      } else {\n        peg$currPos = s2;\n        s2 = peg$FAILED;\n      }\n    } else {\n      peg$currPos = s2;\n      s2 = peg$FAILED;\n    }\n    if (s2 !== peg$FAILED) {\n      s1 = input.substring(s1, peg$currPos);\n    } else {\n      s1 = s2;\n    }\n    if (s1 !== peg$FAILED) {\n      peg$savedPos = s0;\n      s1 = peg$c31(s1);\n    }\n    s0 = s1;\n    peg$silentFails--;\n    if (s0 === peg$FAILED) {\n      s1 = peg$FAILED;\n      if (peg$silentFails === 0) { peg$fail(peg$c25); }\n    }\n\n    return s0;\n  }\n\n  function peg$parse__() {\n    var s0, s1;\n\n    s0 = [];\n    if (peg$c32.test(input.charAt(peg$currPos))) {\n      s1 = input.charAt(peg$currPos);\n      peg$currPos++;\n    } else {\n      s1 = peg$FAILED;\n      if (peg$silentFails === 0) { peg$fail(peg$c33); }\n    }\n    if (s1 !== peg$FAILED) {\n      while (s1 !== peg$FAILED) {\n        s0.push(s1);\n        if (peg$c32.test(input.charAt(peg$currPos))) {\n          s1 = input.charAt(peg$currPos);\n          peg$currPos++;\n        } else {\n          s1 = peg$FAILED;\n          if (peg$silentFails === 0) { peg$fail(peg$c33); }\n        }\n      }\n    } else {\n      s0 = peg$FAILED;\n    }\n\n    return s0;\n  }\n\n\n\n  /*\n   *\n   *    _____       _             _\n   *   / ____|     | |           | |\n   *  | |  __ _   _| |_ ___ _ __ | |__   ___ _ __ __ _\n   *  | | |_ | | | | __/ _ \\ '_ \\| '_ \\ / _ \\ '__/ _` |\n   *  | |__| | |_| | ||  __/ | | | |_) |  __/ | | (_| |\n   *   \\_____|\\__,_|\\__\\___|_| |_|_.__/ \\___|_|  \\__, |\n   *                                              __/ |\n   *                  GRAMMAR                    |___/\n   *\n   *\n   * Welcome to the grammar file for Gutenberg posts!\n   *\n   * Please don't be distracted by the functions at the top\n   * here - they're just helpers for the grammar below. We\n   * try to keep them as minimal and simple as possible,\n   * but the parser generator forces us to declare them at\n   * the beginning of the file.\n   *\n   * What follows is the official specification grammar for\n   * documents created or edited in Gutenberg. It starts at\n   * the top-level rule `Block_List`\n   *\n   * The grammar is defined by a series of _rules_ and ways\n   * to return matches on those rules. It's a _PEG_, a\n   * parsing expression grammar, which simply means that for\n   * each of our rules we have a set of sub-rules to match\n   * on and the generated parser will try them in order\n   * until it finds the first match.\n   *\n   * This grammar is a _specification_ (with as little actual\n   * code as we can get away with) which is used by the\n   * parser generator to generate the actual _parser_ which\n   * is used by Gutenberg. We generate two parsers: one in\n   * JavaScript for use the browser and one in PHP for\n   * WordPress itself. PEG parser generators are available\n   * in many languages, though different libraries may require\n   * some translation of this grammar into their syntax.\n   *\n   * For more information:\n   * @see https://pegjs.org\n   * @see https://en.wikipedia.org/wiki/Parsing_expression_grammar\n   *\n   */\n\n  /** <?php\n  // The `maybeJSON` function is not needed in PHP because its return semantics\n  // are the same as `json_decode`\n\n  if ( ! function_exists( 'peg_empty_attrs' ) ) {\n       function peg_empty_attrs() {\n           static $empty_attrs = null;\n\n           if ( null === $empty_attrs ) {\n               $empty_attrs = json_decode( '{}', true );\n           }\n\n           return $empty_attrs;\n       }\n  }\n\n  // array arguments are backwards because of PHP\n  if ( ! function_exists( 'peg_process_inner_content' ) ) {\n      function peg_process_inner_content( $array ) {\n          $html = '';\n          $blocks = array();\n          $content = array();\n\n          foreach ( $array as $item ) {\n              if ( is_string( $item ) ) {\n                  $html .= $item;\n                  $content[] = $item;\n              } else {\n                  $blocks[] = $item;\n                  $content[] = null;\n              }\n          }\n\n          return array( $html, $blocks, $content );\n      }\n  }\n\n  if ( ! function_exists( 'peg_join_blocks' ) ) {\n      function peg_join_blocks( $pre, $tokens, $post ) {\n          $blocks = array();\n\n          if ( ! empty( $pre ) ) {\n              $blocks[] = array(\n                  'blockName' => null,\n                  'attrs' => peg_empty_attrs(),\n                  'innerBlocks' => array(),\n                  'innerHTML' => $pre,\n                  'innerContent' => array( $pre ),\n              );\n          }\n\n          foreach ( $tokens as $token ) {\n              list( $token, $html ) = $token;\n\n              $blocks[] = $token;\n\n              if ( ! empty( $html ) ) {\n                  $blocks[] = array(\n                      'blockName' => null,\n                      'attrs' => peg_empty_attrs(),\n                      'innerBlocks' => array(),\n                      'innerHTML' => $html,\n                      'innerContent' => array( $html ),\n                  );\n              }\n          }\n\n          if ( ! empty( $post ) ) {\n              $blocks[] = array(\n                  'blockName' => null,\n                  'attrs' => peg_empty_attrs(),\n                  'innerBlocks' => array(),\n                  'innerHTML' => $post,\n                  'innerContent' => array( $post ),\n              );\n          }\n\n          return $blocks;\n      }\n  }\n\n  ?> **/\n\n  function freeform( s ) {\n      return s.length && {\n          blockName: null,\n          attrs: {},\n          innerBlocks: [],\n          innerHTML: s,\n          innerContent: [ s ],\n      };\n  }\n\n  function joinBlocks( pre, tokens, post ) {\n      var blocks = [], i, l, html, item, token;\n\n      if ( pre.length ) {\n          blocks.push( freeform( pre ) );\n      }\n\n      for ( i = 0, l = tokens.length; i < l; i++ ) {\n          item = tokens[ i ];\n          token = item[ 0 ];\n          html = item[ 1 ];\n\n          blocks.push( token );\n          if ( html.length ) {\n              blocks.push( freeform( html ) );\n          }\n      }\n\n      if ( post.length ) {\n          blocks.push( freeform( post ) );\n      }\n\n      return blocks;\n  }\n\n  function maybeJSON( s ) {\n      try {\n          return JSON.parse( s );\n      } catch (e) {\n          return null;\n      }\n  }\n\n  function processInnerContent( list ) {\n      var i, l, item;\n      var html = '';\n      var blocks = [];\n      var content = [];\n\n      // nod to performance over a simpler reduce\n      // and clone model we could have taken here\n      for ( i = 0, l = list.length; i < l; i++ ) {\n          item = list[ i ];\n\n          if ( 'string' === typeof item ) {\n              html += item;\n              content.push( item );\n          } else {\n              blocks.push( item );\n              content.push( null );\n          }\n      };\n\n      return [ html, blocks, content ];\n  }\n\n\n\n  peg$result = peg$startRuleFunction();\n\n  if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n    return peg$result;\n  } else {\n    if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n      peg$fail(peg$endExpectation());\n    }\n\n    throw peg$buildStructuredError(\n      peg$maxFailExpected,\n      peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n      peg$maxFailPos < input.length\n        ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n        : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n    );\n  }\n}\n\nmodule.exports = {\n  SyntaxError: peg$SyntaxError,\n  parse:       peg$parse\n};\n"],
   5    "mappings": "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",
   6    "names": ["expected", "found", "location", "text"]
   7  }


Generated : Tue May 5 08:20:14 2026 Cross-referenced by PHPXref