[
  {
    "type": "backtick_string",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "backtick_string_content",
          "named": true
        },
        {
          "type": "define_reference",
          "named": true
        },
        {
          "type": "escape_sequence",
          "named": true
        },
        {
          "type": "lang_string_reference",
          "named": true
        },
        {
          "type": "variable",
          "named": true
        }
      ]
    }
  },
  {
    "type": "backtick_string_content",
    "named": true,
    "fields": {}
  },
  {
    "type": "command",
    "named": true,
    "fields": {
      "argument": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "backtick_string",
            "named": true
          },
          {
            "type": "comparison_operator",
            "named": true
          },
          {
            "type": "define_reference",
            "named": true
          },
          {
            "type": "flag",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "label_reference",
            "named": true
          },
          {
            "type": "lang_string_reference",
            "named": true
          },
          {
            "type": "number",
            "named": true
          },
          {
            "type": "pipe_operator",
            "named": true
          },
          {
            "type": "raw_string",
            "named": true
          },
          {
            "type": "string",
            "named": true
          },
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "comparison_operator",
    "named": true,
    "fields": {}
  },
  {
    "type": "function_definition",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "backtick_string",
            "named": true
          },
          {
            "type": "comparison_operator",
            "named": true
          },
          {
            "type": "define_reference",
            "named": true
          },
          {
            "type": "flag",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "label_reference",
            "named": true
          },
          {
            "type": "lang_string_reference",
            "named": true
          },
          {
            "type": "number",
            "named": true
          },
          {
            "type": "pipe_operator",
            "named": true
          },
          {
            "type": "raw_string",
            "named": true
          },
          {
            "type": "string",
            "named": true
          },
          {
            "type": "variable",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "label",
          "named": true
        },
        {
          "type": "macro_definition",
          "named": true
        },
        {
          "type": "preproc_conditional",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "label",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "macro_definition",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "parameter": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "function_definition",
          "named": true
        },
        {
          "type": "label",
          "named": true
        },
        {
          "type": "macro_definition",
          "named": true
        },
        {
          "type": "page_ex_block",
          "named": true
        },
        {
          "type": "preproc_conditional",
          "named": true
        },
        {
          "type": "section_definition",
          "named": true
        },
        {
          "type": "section_group",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "macro_invocation",
    "named": true,
    "fields": {
      "argument": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "backtick_string",
            "named": true
          },
          {
            "type": "comparison_operator",
            "named": true
          },
          {
            "type": "define_reference",
            "named": true
          },
          {
            "type": "flag",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "label_reference",
            "named": true
          },
          {
            "type": "lang_string_reference",
            "named": true
          },
          {
            "type": "number",
            "named": true
          },
          {
            "type": "pipe_operator",
            "named": true
          },
          {
            "type": "raw_string",
            "named": true
          },
          {
            "type": "string",
            "named": true
          },
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "define_reference",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "page_ex_block",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "backtick_string",
            "named": true
          },
          {
            "type": "comparison_operator",
            "named": true
          },
          {
            "type": "define_reference",
            "named": true
          },
          {
            "type": "flag",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "label_reference",
            "named": true
          },
          {
            "type": "lang_string_reference",
            "named": true
          },
          {
            "type": "number",
            "named": true
          },
          {
            "type": "pipe_operator",
            "named": true
          },
          {
            "type": "raw_string",
            "named": true
          },
          {
            "type": "string",
            "named": true
          },
          {
            "type": "variable",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "label",
          "named": true
        },
        {
          "type": "macro_definition",
          "named": true
        },
        {
          "type": "preproc_conditional",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "plugin_call",
    "named": true,
    "fields": {
      "argument": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "backtick_string",
            "named": true
          },
          {
            "type": "comparison_operator",
            "named": true
          },
          {
            "type": "define_reference",
            "named": true
          },
          {
            "type": "flag",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "label_reference",
            "named": true
          },
          {
            "type": "lang_string_reference",
            "named": true
          },
          {
            "type": "number",
            "named": true
          },
          {
            "type": "pipe_operator",
            "named": true
          },
          {
            "type": "raw_string",
            "named": true
          },
          {
            "type": "string",
            "named": true
          },
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "function": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "plugin": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "preproc_conditional",
    "named": true,
    "fields": {
      "keyword": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "preproc_keyword",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "backtick_string",
          "named": true
        },
        {
          "type": "comparison_operator",
          "named": true
        },
        {
          "type": "define_reference",
          "named": true
        },
        {
          "type": "flag",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "label",
          "named": true
        },
        {
          "type": "label_reference",
          "named": true
        },
        {
          "type": "lang_string_reference",
          "named": true
        },
        {
          "type": "macro_definition",
          "named": true
        },
        {
          "type": "number",
          "named": true
        },
        {
          "type": "pipe_operator",
          "named": true
        },
        {
          "type": "preproc_conditional",
          "named": true
        },
        {
          "type": "preproc_else",
          "named": true
        },
        {
          "type": "raw_string",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        },
        {
          "type": "string",
          "named": true
        },
        {
          "type": "variable",
          "named": true
        }
      ]
    }
  },
  {
    "type": "preproc_directive",
    "named": true,
    "fields": {
      "argument": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "backtick_string",
            "named": true
          },
          {
            "type": "comparison_operator",
            "named": true
          },
          {
            "type": "define_reference",
            "named": true
          },
          {
            "type": "flag",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "label_reference",
            "named": true
          },
          {
            "type": "lang_string_reference",
            "named": true
          },
          {
            "type": "number",
            "named": true
          },
          {
            "type": "pipe_operator",
            "named": true
          },
          {
            "type": "raw_string",
            "named": true
          },
          {
            "type": "string",
            "named": true
          },
          {
            "type": "variable",
            "named": true
          }
        ]
      },
      "directive": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "preproc_keyword",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "preproc_else",
    "named": true,
    "fields": {
      "modifier": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "backtick_string",
          "named": true
        },
        {
          "type": "comparison_operator",
          "named": true
        },
        {
          "type": "define_reference",
          "named": true
        },
        {
          "type": "flag",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "label",
          "named": true
        },
        {
          "type": "label_reference",
          "named": true
        },
        {
          "type": "lang_string_reference",
          "named": true
        },
        {
          "type": "macro_definition",
          "named": true
        },
        {
          "type": "number",
          "named": true
        },
        {
          "type": "pipe_operator",
          "named": true
        },
        {
          "type": "preproc_conditional",
          "named": true
        },
        {
          "type": "raw_string",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        },
        {
          "type": "string",
          "named": true
        },
        {
          "type": "variable",
          "named": true
        }
      ]
    }
  },
  {
    "type": "preproc_keyword",
    "named": true,
    "fields": {}
  },
  {
    "type": "raw_string",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "define_reference",
          "named": true
        },
        {
          "type": "escape_sequence",
          "named": true
        },
        {
          "type": "lang_string_reference",
          "named": true
        },
        {
          "type": "raw_string_content",
          "named": true
        },
        {
          "type": "variable",
          "named": true
        }
      ]
    }
  },
  {
    "type": "raw_string_content",
    "named": true,
    "fields": {}
  },
  {
    "type": "section_definition",
    "named": true,
    "fields": {
      "parameter": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "backtick_string",
            "named": true
          },
          {
            "type": "comparison_operator",
            "named": true
          },
          {
            "type": "define_reference",
            "named": true
          },
          {
            "type": "flag",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "label_reference",
            "named": true
          },
          {
            "type": "lang_string_reference",
            "named": true
          },
          {
            "type": "number",
            "named": true
          },
          {
            "type": "pipe_operator",
            "named": true
          },
          {
            "type": "raw_string",
            "named": true
          },
          {
            "type": "string",
            "named": true
          },
          {
            "type": "variable",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "label",
          "named": true
        },
        {
          "type": "macro_definition",
          "named": true
        },
        {
          "type": "preproc_conditional",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "section_group",
    "named": true,
    "fields": {
      "parameter": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "backtick_string",
            "named": true
          },
          {
            "type": "comparison_operator",
            "named": true
          },
          {
            "type": "define_reference",
            "named": true
          },
          {
            "type": "flag",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "label_reference",
            "named": true
          },
          {
            "type": "lang_string_reference",
            "named": true
          },
          {
            "type": "number",
            "named": true
          },
          {
            "type": "pipe_operator",
            "named": true
          },
          {
            "type": "raw_string",
            "named": true
          },
          {
            "type": "string",
            "named": true
          },
          {
            "type": "variable",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "label",
          "named": true
        },
        {
          "type": "preproc_conditional",
          "named": true
        },
        {
          "type": "section_definition",
          "named": true
        },
        {
          "type": "section_group",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "source_file",
    "named": true,
    "root": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "function_definition",
          "named": true
        },
        {
          "type": "label",
          "named": true
        },
        {
          "type": "macro_definition",
          "named": true
        },
        {
          "type": "page_ex_block",
          "named": true
        },
        {
          "type": "preproc_conditional",
          "named": true
        },
        {
          "type": "section_definition",
          "named": true
        },
        {
          "type": "section_group",
          "named": true
        },
        {
          "type": "statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "command",
          "named": true
        },
        {
          "type": "macro_invocation",
          "named": true
        },
        {
          "type": "plugin_call",
          "named": true
        },
        {
          "type": "preproc_directive",
          "named": true
        },
        {
          "type": "variable_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "string",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "define_reference",
          "named": true
        },
        {
          "type": "escape_sequence",
          "named": true
        },
        {
          "type": "lang_string_reference",
          "named": true
        },
        {
          "type": "string_content",
          "named": true
        },
        {
          "type": "variable",
          "named": true
        }
      ]
    }
  },
  {
    "type": "string_content",
    "named": true,
    "fields": {}
  },
  {
    "type": "variable_declaration",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "flag",
          "named": true
        }
      ]
    }
  },
  {
    "type": "!=",
    "named": false
  },
  {
    "type": "!else",
    "named": false
  },
  {
    "type": "!endif",
    "named": false
  },
  {
    "type": "!macro",
    "named": false
  },
  {
    "type": "!macroend",
    "named": false
  },
  {
    "type": "\"",
    "named": false
  },
  {
    "type": "'",
    "named": false
  },
  {
    "type": ":",
    "named": false
  },
  {
    "type": "::",
    "named": false
  },
  {
    "type": "<",
    "named": false
  },
  {
    "type": "<>",
    "named": false
  },
  {
    "type": "=",
    "named": false
  },
  {
    "type": ">",
    "named": false
  },
  {
    "type": "Function",
    "named": false
  },
  {
    "type": "FunctionEnd",
    "named": false
  },
  {
    "type": "PageEx",
    "named": false
  },
  {
    "type": "PageExEnd",
    "named": false
  },
  {
    "type": "Section",
    "named": false
  },
  {
    "type": "SectionEnd",
    "named": false
  },
  {
    "type": "SectionGroup",
    "named": false
  },
  {
    "type": "SectionGroupEnd",
    "named": false
  },
  {
    "type": "Var",
    "named": false
  },
  {
    "type": "`",
    "named": false
  },
  {
    "type": "block_comment",
    "named": true,
    "extra": true
  },
  {
    "type": "comment",
    "named": true,
    "extra": true
  },
  {
    "type": "define_reference",
    "named": true
  },
  {
    "type": "escape_sequence",
    "named": true
  },
  {
    "type": "flag",
    "named": true
  },
  {
    "type": "identifier",
    "named": true
  },
  {
    "type": "label_reference",
    "named": true
  },
  {
    "type": "lang_string_reference",
    "named": true
  },
  {
    "type": "line_continuation",
    "named": true,
    "extra": true
  },
  {
    "type": "number",
    "named": true
  },
  {
    "type": "pipe_operator",
    "named": true
  },
  {
    "type": "variable",
    "named": true
  }
]