pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"argument_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_defined\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"binary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_defined\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"!=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"%\",\n            \"named\": false\n          },\n          {\n            \"type\": \"&\",\n            \"named\": false\n          },\n          {\n            \"type\": \"&&\",\n            \"named\": false\n          },\n          {\n            \"type\": \"*\",\n            \"named\": false\n          },\n          {\n            \"type\": \"+\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"/\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<<\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"==\",\n            \"named\": false\n          },\n          {\n            \"type\": \">\",\n            \"named\": false\n          },\n          {\n            \"type\": \">=\",\n            \"named\": false\n          },\n          {\n            \"type\": \">>\",\n            \"named\": false\n          },\n          {\n            \"type\": \"^\",\n            \"named\": false\n          },\n          {\n            \"type\": \"|\",\n            \"named\": false\n          },\n          {\n            \"type\": \"||\",\n            \"named\": false\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_defined\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"byte_string_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"call_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"argument_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"function\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"conditional_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"consequence\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"delete_node\",\n    \"named\": true,\n    \"fields\": {\n      \"address\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"@\",\n            \"named\": false\n          },\n          {\n            \"type\": \"unit_address\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"reference\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"delete_property\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"document\",\n    \"named\": true,\n    \"root\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"delete_node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dtsi_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"file_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"memory_reservation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"omit_if_no_ref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"plugin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_function_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_ifdef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_undef\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dtsi_include\",\n    \"named\": true,\n    \"fields\": {\n      \"path\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"file_version\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"incbin\",\n    \"named\": true,\n    \"fields\": {\n      \"filename\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"offset\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"size\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"integer_cells\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"memory_reservation\",\n    \"named\": true,\n    \"fields\": {\n      \"address\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"label\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"length\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"node\",\n    \"named\": true,\n    \"fields\": {\n      \"address\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"@\",\n            \"named\": false\n          },\n          {\n            \"type\": \"unit_address\",\n            \"named\": true\n          }\n        ]\n      },\n      \"label\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"reference\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"delete_node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_property\",\n          \"named\": true\n        },\n        {\n          \"type\": \"node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"omit_if_no_ref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_function_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_ifdef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_undef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"omit_if_no_ref\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parenthesized_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_defined\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"path\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"path_node\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"path_node\",\n    \"named\": true,\n    \"fields\": {\n      \"address\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"unit_address\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"plugin\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"preproc_def\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"preproc_arg\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"preproc_defined\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_elif\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"preproc_elif\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_else\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_defined\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"delete_node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_property\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dtsi_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"file_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"memory_reservation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"omit_if_no_ref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"plugin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_function_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_ifdef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_undef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_elifdef\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"preproc_elif\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_else\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"delete_node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dtsi_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"file_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"memory_reservation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"omit_if_no_ref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"plugin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_function_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_ifdef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_undef\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_else\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"delete_node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_property\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dtsi_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"file_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"memory_reservation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"omit_if_no_ref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"plugin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_function_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_ifdef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_undef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_function_def\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameters\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"preproc_params\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"preproc_arg\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"preproc_if\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"preproc_elif\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_else\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_defined\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"delete_node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_property\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dtsi_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"file_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"memory_reservation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"omit_if_no_ref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"plugin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_function_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_ifdef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_undef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_ifdef\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"preproc_elif\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_elifdef\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_else\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"delete_node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"delete_property\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dtsi_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"file_version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"memory_reservation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"node\",\n          \"named\": true\n        },\n        {\n          \"type\": \"omit_if_no_ref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"plugin\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_function_def\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_ifdef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_include\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_undef\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_include\",\n    \"named\": true,\n    \"fields\": {\n      \"path\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"system_lib_string\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"preproc_params\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_undef\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"property\",\n    \"named\": true,\n    \"fields\": {\n      \"bits\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"/bits/\",\n            \"named\": false\n          },\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"label\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"byte_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"incbin\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer_cells\",\n            \"named\": true\n          },\n          {\n            \"type\": \"reference\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"reference\",\n    \"named\": true,\n    \"fields\": {\n      \"label\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"path\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"string_literal\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"escape_sequence\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"argument\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_defined\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"!\",\n            \"named\": false\n          },\n          {\n            \"type\": \"+\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"~\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"unit_address\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"\\n\",\n    \"named\": false\n  },\n  {\n    \"type\": \"!\",\n    \"named\": false\n  },\n  {\n    \"type\": \"!=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\\\"\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#define\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#elif\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#elifdef\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#elifndef\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#endif\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#ifdef\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#ifndef\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#include\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#undef\",\n    \"named\": false\n  },\n  {\n    \"type\": \"%\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&&\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&{\",\n    \"named\": false\n  },\n  {\n    \"type\": \"(\",\n    \"named\": false\n  },\n  {\n    \"type\": \")\",\n    \"named\": false\n  },\n  {\n    \"type\": \"*\",\n    \"named\": false\n  },\n  {\n    \"type\": \"+\",\n    \"named\": false\n  },\n  {\n    \"type\": \",\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-\",\n    \"named\": false\n  },\n  {\n    \"type\": \"...\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/bits/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/delete-node/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/delete-property/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/dts-v1/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/incbin/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/include/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/memreserve/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/omit-if-no-ref/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/plugin/\",\n    \"named\": false\n  },\n  {\n    \"type\": \":\",\n    \"named\": false\n  },\n  {\n    \"type\": \";\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"==\",\n    \"named\": false\n  },\n  {\n    \"type\": \">\",\n    \"named\": false\n  },\n  {\n    \"type\": \">=\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"?\",\n    \"named\": false\n  },\n  {\n    \"type\": \"@\",\n    \"named\": false\n  },\n  {\n    \"type\": \"[\",\n    \"named\": false\n  },\n  {\n    \"type\": \"]\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"defined\",\n    \"named\": false\n  },\n  {\n    \"type\": \"escape_sequence\",\n    \"named\": true\n  },\n  {\n    \"type\": \"integer_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"preproc_arg\",\n    \"named\": true\n  },\n  {\n    \"type\": \"system_lib_string\",\n    \"named\": true\n  },\n  {\n    \"type\": \"{\",\n    \"named\": false\n  },\n  {\n    \"type\": \"|\",\n    \"named\": false\n  },\n  {\n    \"type\": \"||\",\n    \"named\": false\n  },\n  {\n    \"type\": \"}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"~\",\n    \"named\": false\n  }\n]";
Expand description

The content of the node-types.json file for this grammar.