[
  {
    "type": "absolute_value",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "size",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "argument_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "absolute_value",
          "named": true
        },
        {
          "type": "address_register",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "binary_literal",
          "named": true
        },
        {
          "type": "carg",
          "named": true
        },
        {
          "type": "data_register",
          "named": true
        },
        {
          "type": "decimal_literal",
          "named": true
        },
        {
          "type": "float_register",
          "named": true
        },
        {
          "type": "hexadecimal_literal",
          "named": true
        },
        {
          "type": "immediate_value",
          "named": true
        },
        {
          "type": "indirect_address",
          "named": true
        },
        {
          "type": "indirect_address_postinc",
          "named": true
        },
        {
          "type": "indirect_address_predec",
          "named": true
        },
        {
          "type": "interpolated",
          "named": true
        },
        {
          "type": "macro_arg",
          "named": true
        },
        {
          "type": "named_register",
          "named": true
        },
        {
          "type": "narg",
          "named": true
        },
        {
          "type": "octal_literal",
          "named": true
        },
        {
          "type": "offset_address",
          "named": true
        },
        {
          "type": "offset_address_idx",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "pc",
          "named": true
        },
        {
          "type": "quoted_arg",
          "named": true
        },
        {
          "type": "register_list",
          "named": true
        },
        {
          "type": "reptn",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "symbol",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "binary_expression",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "operator",
            "named": true
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "comment",
    "named": true,
    "fields": {}
  },
  {
    "type": "conditional",
    "named": true,
    "fields": {
      "alternate": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "element_list",
            "named": true
          }
        ]
      },
      "consequent": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "element_list",
            "named": true
          }
        ]
      },
      "left": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "mnemonic": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "control_mnemonic",
            "named": true
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "test": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "comment",
          "named": true
        },
        {
          "type": "control_mnemonic",
          "named": true
        },
        {
          "type": "external_label",
          "named": true
        },
        {
          "type": "label",
          "named": true
        }
      ]
    }
  },
  {
    "type": "conditional_instruction",
    "named": true,
    "fields": {
      "consequent": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "instruction",
            "named": true
          }
        ]
      },
      "test": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "control_mnemonic",
          "named": true
        }
      ]
    }
  },
  {
    "type": "data_constant",
    "named": true,
    "fields": {
      "mnemonic": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "directive_mnemonic",
            "named": true
          }
        ]
      },
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "size",
            "named": true
          }
        ]
      },
      "values": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "expression_list",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "data_space",
    "named": true,
    "fields": {
      "fill": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "length": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "mnemonic": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "directive_mnemonic",
            "named": true
          }
        ]
      },
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "size",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "decimal_literal",
    "named": true,
    "fields": {}
  },
  {
    "type": "directive",
    "named": true,
    "fields": {
      "mnemonic": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "directive_mnemonic",
            "named": true
          }
        ]
      },
      "operands": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "operand_list",
            "named": true
          }
        ]
      },
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "size",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "element_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "comment",
          "named": true
        },
        {
          "type": "conditional",
          "named": true
        },
        {
          "type": "conditional_instruction",
          "named": true
        },
        {
          "type": "data_constant",
          "named": true
        },
        {
          "type": "data_space",
          "named": true
        },
        {
          "type": "directive",
          "named": true
        },
        {
          "type": "end",
          "named": true
        },
        {
          "type": "external_definition",
          "named": true
        },
        {
          "type": "external_label",
          "named": true
        },
        {
          "type": "external_reference",
          "named": true
        },
        {
          "type": "include",
          "named": true
        },
        {
          "type": "include_bin",
          "named": true
        },
        {
          "type": "include_dir",
          "named": true
        },
        {
          "type": "instruction",
          "named": true
        },
        {
          "type": "label",
          "named": true
        },
        {
          "type": "macro_call",
          "named": true
        },
        {
          "type": "macro_definition",
          "named": true
        },
        {
          "type": "offset_definition",
          "named": true
        },
        {
          "type": "opt",
          "named": true
        },
        {
          "type": "register_definition",
          "named": true
        },
        {
          "type": "register_list_definition",
          "named": true
        },
        {
          "type": "rem",
          "named": true
        },
        {
          "type": "repeat",
          "named": true
        },
        {
          "type": "section",
          "named": true
        },
        {
          "type": "symbol_assignment",
          "named": true
        },
        {
          "type": "symbol_definition",
          "named": true
        }
      ]
    }
  },
  {
    "type": "end",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "control_mnemonic",
          "named": true
        },
        {
          "type": "external_label",
          "named": true
        },
        {
          "type": "label",
          "named": true
        }
      ]
    }
  },
  {
    "type": "expression_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "binary_literal",
          "named": true
        },
        {
          "type": "carg",
          "named": true
        },
        {
          "type": "decimal_literal",
          "named": true
        },
        {
          "type": "hexadecimal_literal",
          "named": true
        },
        {
          "type": "interpolated",
          "named": true
        },
        {
          "type": "macro_arg",
          "named": true
        },
        {
          "type": "narg",
          "named": true
        },
        {
          "type": "octal_literal",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "pc",
          "named": true
        },
        {
          "type": "reptn",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "symbol",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "external_definition",
    "named": true,
    "fields": {
      "mnemonic": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "directive_mnemonic",
            "named": true
          }
        ]
      },
      "symbols": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "symbol_list",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "external_label",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "external_reference",
    "named": true,
    "fields": {
      "mnemonic": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "directive_mnemonic",
            "named": true
          }
        ]
      },
      "symbols": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "symbol_list",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "idx",
    "named": true,
    "fields": {
      "register": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "address_register",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "data_register",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "named_register",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      },
      "scale": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "size",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "immediate_value",
    "named": true,
    "fields": {
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "include",
    "named": true,
    "fields": {
      "path": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "path",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "directive_mnemonic",
          "named": true
        }
      ]
    }
  },
  {
    "type": "include_bin",
    "named": true,
    "fields": {
      "length": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "offset": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "path": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "path",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "directive_mnemonic",
          "named": true
        }
      ]
    }
  },
  {
    "type": "include_dir",
    "named": true,
    "fields": {
      "path": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "path",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "directive_mnemonic",
          "named": true
        }
      ]
    }
  },
  {
    "type": "indirect_address",
    "named": true,
    "fields": {
      "register": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "address_register",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "named_register",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "indirect_address_postinc",
    "named": true,
    "fields": {
      "register": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "address_register",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "named_register",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "indirect_address_predec",
    "named": true,
    "fields": {
      "register": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "address_register",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "named_register",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "instruction",
    "named": true,
    "fields": {
      "mnemonic": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "instruction_mnemonic",
            "named": true
          }
        ]
      },
      "operands": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "operand_list",
            "named": true
          }
        ]
      },
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "size",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "interpolated",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "macro_arg",
          "named": true
        }
      ]
    }
  },
  {
    "type": "label",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "macro_arg",
    "named": true,
    "fields": {}
  },
  {
    "type": "macro_call",
    "named": true,
    "fields": {
      "arguments": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "argument_list",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      },
      "qualifier": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "macro_definition",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "element_list",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "comment",
          "named": true
        },
        {
          "type": "control_mnemonic",
          "named": true
        },
        {
          "type": "external_label",
          "named": true
        },
        {
          "type": "label",
          "named": true
        }
      ]
    }
  },
  {
    "type": "memory_type",
    "named": true,
    "fields": {}
  },
  {
    "type": "named_register",
    "named": true,
    "fields": {}
  },
  {
    "type": "offset_address",
    "named": true,
    "fields": {
      "offset": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "register": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "address_register",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "named_register",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "offset_address_idx",
    "named": true,
    "fields": {
      "idx": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "idx",
            "named": true
          }
        ]
      },
      "offset": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "register": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "address_register",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "named_register",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "offset_definition",
    "named": true,
    "fields": {
      "length": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      },
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "size",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "comment",
          "named": true
        },
        {
          "type": "directive_mnemonic",
          "named": true
        }
      ]
    }
  },
  {
    "type": "operand_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "absolute_value",
          "named": true
        },
        {
          "type": "address_register",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "binary_literal",
          "named": true
        },
        {
          "type": "carg",
          "named": true
        },
        {
          "type": "data_register",
          "named": true
        },
        {
          "type": "decimal_literal",
          "named": true
        },
        {
          "type": "float_register",
          "named": true
        },
        {
          "type": "hexadecimal_literal",
          "named": true
        },
        {
          "type": "immediate_value",
          "named": true
        },
        {
          "type": "indirect_address",
          "named": true
        },
        {
          "type": "indirect_address_postinc",
          "named": true
        },
        {
          "type": "indirect_address_predec",
          "named": true
        },
        {
          "type": "interpolated",
          "named": true
        },
        {
          "type": "macro_arg",
          "named": true
        },
        {
          "type": "named_register",
          "named": true
        },
        {
          "type": "narg",
          "named": true
        },
        {
          "type": "octal_literal",
          "named": true
        },
        {
          "type": "offset_address",
          "named": true
        },
        {
          "type": "offset_address_idx",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "pc",
          "named": true
        },
        {
          "type": "register_list",
          "named": true
        },
        {
          "type": "reptn",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "symbol",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "opt",
    "named": true,
    "fields": {
      "mnemonic": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "directive_mnemonic",
            "named": true
          }
        ]
      },
      "options": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "option_list",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "option",
    "named": true,
    "fields": {}
  },
  {
    "type": "option_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "option",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parenthesized_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "binary_literal",
          "named": true
        },
        {
          "type": "carg",
          "named": true
        },
        {
          "type": "decimal_literal",
          "named": true
        },
        {
          "type": "hexadecimal_literal",
          "named": true
        },
        {
          "type": "interpolated",
          "named": true
        },
        {
          "type": "macro_arg",
          "named": true
        },
        {
          "type": "narg",
          "named": true
        },
        {
          "type": "octal_literal",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "pc",
          "named": true
        },
        {
          "type": "reptn",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "symbol",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "path",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "pc",
    "named": true,
    "fields": {}
  },
  {
    "type": "quoted_arg",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "absolute_value",
          "named": true
        },
        {
          "type": "address_register",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "binary_literal",
          "named": true
        },
        {
          "type": "carg",
          "named": true
        },
        {
          "type": "data_register",
          "named": true
        },
        {
          "type": "decimal_literal",
          "named": true
        },
        {
          "type": "float_register",
          "named": true
        },
        {
          "type": "hexadecimal_literal",
          "named": true
        },
        {
          "type": "immediate_value",
          "named": true
        },
        {
          "type": "indirect_address",
          "named": true
        },
        {
          "type": "indirect_address_postinc",
          "named": true
        },
        {
          "type": "indirect_address_predec",
          "named": true
        },
        {
          "type": "interpolated",
          "named": true
        },
        {
          "type": "macro_arg",
          "named": true
        },
        {
          "type": "named_register",
          "named": true
        },
        {
          "type": "narg",
          "named": true
        },
        {
          "type": "octal_literal",
          "named": true
        },
        {
          "type": "offset_address",
          "named": true
        },
        {
          "type": "offset_address_idx",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "pc",
          "named": true
        },
        {
          "type": "register_list",
          "named": true
        },
        {
          "type": "reptn",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "symbol",
          "named": true
        },
        {
          "type": "unary_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "register_definition",
    "named": true,
    "fields": {
      "mnemonic": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "directive_mnemonic",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "address_register",
            "named": true
          },
          {
            "type": "data_register",
            "named": true
          },
          {
            "type": "float_register",
            "named": true
          },
          {
            "type": "named_register",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "comment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "register_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "address_register",
          "named": true
        },
        {
          "type": "data_register",
          "named": true
        },
        {
          "type": "float_register",
          "named": true
        },
        {
          "type": "named_register",
          "named": true
        },
        {
          "type": "register_range",
          "named": true
        }
      ]
    }
  },
  {
    "type": "register_list_definition",
    "named": true,
    "fields": {
      "mnemonic": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "directive_mnemonic",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "register_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "comment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "register_range",
    "named": true,
    "fields": {
      "from": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "address_register",
            "named": true
          },
          {
            "type": "data_register",
            "named": true
          },
          {
            "type": "float_register",
            "named": true
          },
          {
            "type": "named_register",
            "named": true
          }
        ]
      },
      "to": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "address_register",
            "named": true
          },
          {
            "type": "data_register",
            "named": true
          },
          {
            "type": "float_register",
            "named": true
          },
          {
            "type": "named_register",
            "named": true
          },
          {
            "type": "register_number",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "rem",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "comment",
          "named": true
        },
        {
          "type": "control_mnemonic",
          "named": true
        },
        {
          "type": "external_label",
          "named": true
        },
        {
          "type": "label",
          "named": true
        }
      ]
    }
  },
  {
    "type": "repeat",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "element_list",
            "named": true
          }
        ]
      },
      "count": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "comment",
          "named": true
        },
        {
          "type": "control_mnemonic",
          "named": true
        },
        {
          "type": "external_label",
          "named": true
        },
        {
          "type": "label",
          "named": true
        }
      ]
    }
  },
  {
    "type": "section",
    "named": true,
    "fields": {
      "memory_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "memory_type",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "section_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "directive_mnemonic",
          "named": true
        }
      ]
    }
  },
  {
    "type": "section_type",
    "named": true,
    "fields": {}
  },
  {
    "type": "source_file",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "comment",
          "named": true
        },
        {
          "type": "conditional",
          "named": true
        },
        {
          "type": "conditional_instruction",
          "named": true
        },
        {
          "type": "data_constant",
          "named": true
        },
        {
          "type": "data_space",
          "named": true
        },
        {
          "type": "directive",
          "named": true
        },
        {
          "type": "end",
          "named": true
        },
        {
          "type": "external_definition",
          "named": true
        },
        {
          "type": "external_label",
          "named": true
        },
        {
          "type": "external_reference",
          "named": true
        },
        {
          "type": "include",
          "named": true
        },
        {
          "type": "include_bin",
          "named": true
        },
        {
          "type": "include_dir",
          "named": true
        },
        {
          "type": "instruction",
          "named": true
        },
        {
          "type": "label",
          "named": true
        },
        {
          "type": "macro_call",
          "named": true
        },
        {
          "type": "macro_definition",
          "named": true
        },
        {
          "type": "offset_definition",
          "named": true
        },
        {
          "type": "opt",
          "named": true
        },
        {
          "type": "register_definition",
          "named": true
        },
        {
          "type": "register_list_definition",
          "named": true
        },
        {
          "type": "rem",
          "named": true
        },
        {
          "type": "repeat",
          "named": true
        },
        {
          "type": "section",
          "named": true
        },
        {
          "type": "symbol_assignment",
          "named": true
        },
        {
          "type": "symbol_definition",
          "named": true
        }
      ]
    }
  },
  {
    "type": "string_literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "macro_arg",
          "named": true
        }
      ]
    }
  },
  {
    "type": "symbol",
    "named": true,
    "fields": {}
  },
  {
    "type": "symbol_assignment",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "comment",
          "named": true
        },
        {
          "type": "directive_mnemonic",
          "named": true
        }
      ]
    }
  },
  {
    "type": "symbol_definition",
    "named": true,
    "fields": {
      "mnemonic": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "directive_mnemonic",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          }
        ]
      },
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "size",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "comment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "symbol_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "symbol",
          "named": true
        }
      ]
    }
  },
  {
    "type": "unary_expression",
    "named": true,
    "fields": {
      "operand": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "binary_literal",
            "named": true
          },
          {
            "type": "carg",
            "named": true
          },
          {
            "type": "decimal_literal",
            "named": true
          },
          {
            "type": "hexadecimal_literal",
            "named": true
          },
          {
            "type": "interpolated",
            "named": true
          },
          {
            "type": "macro_arg",
            "named": true
          },
          {
            "type": "narg",
            "named": true
          },
          {
            "type": "octal_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "pc",
            "named": true
          },
          {
            "type": "reptn",
            "named": true
          },
          {
            "type": "string_literal",
            "named": true
          },
          {
            "type": "symbol",
            "named": true
          },
          {
            "type": "unary_expression",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "operator",
            "named": true
          }
        ]
      }
    }
  },
  {
    "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": ")+",
    "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": "<",
    "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": "\\@!",
    "named": false
  },
  {
    "type": "\\@?",
    "named": false
  },
  {
    "type": "\\@@",
    "named": false
  },
  {
    "type": "]",
    "named": false
  },
  {
    "type": "address_register",
    "named": true
  },
  {
    "type": "binary_literal",
    "named": true
  },
  {
    "type": "carg",
    "named": true
  },
  {
    "type": "control_mnemonic",
    "named": true
  },
  {
    "type": "data_register",
    "named": true
  },
  {
    "type": "directive_mnemonic",
    "named": true
  },
  {
    "type": "float_register",
    "named": true
  },
  {
    "type": "hexadecimal_literal",
    "named": true
  },
  {
    "type": "instruction_mnemonic",
    "named": true
  },
  {
    "type": "narg",
    "named": true
  },
  {
    "type": "octal_literal",
    "named": true
  },
  {
    "type": "operator",
    "named": true
  },
  {
    "type": "register_number",
    "named": true
  },
  {
    "type": "reptn",
    "named": true
  },
  {
    "type": "size",
    "named": true
  }
]