Constant NODE_TYPES

Source
pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"const\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"word\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"ident\",\n            \"named\": true\n          },\n          {\n            \"type\": \"int\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"tc_infix\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"ident\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"meta_ident\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reg\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"instruction\",\n    \"named\": true,\n    \"fields\": {\n      \"kind\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"word\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ident\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ptr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tc_infix\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"int\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"label\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"word\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ident\",\n          \"named\": true\n        },\n        {\n          \"type\": \"meta_ident\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"line_comment\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"meta\",\n    \"named\": true,\n    \"fields\": {\n      \"kind\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"meta_ident\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ident\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"program\",\n    \"named\": true,\n    \"root\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"const\",\n          \"named\": true\n        },\n        {\n          \"type\": \"instruction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"meta\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ptr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ident\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"reg\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"reg\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"address\",\n          \"named\": true\n        },\n        {\n          \"type\": \"word\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tc_infix\",\n    \"named\": true,\n    \"fields\": {\n      \"lhs\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"ident\",\n            \"named\": true\n          },\n          {\n            \"type\": \"int\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"tc_infix\",\n            \"named\": true\n          }\n        ]\n      },\n      \"op\": {\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      },\n      \"rhs\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"ident\",\n            \"named\": true\n          },\n          {\n            \"type\": \"int\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"tc_infix\",\n            \"named\": true\n          }\n        ]\n      }\n    }\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\": \"&\",\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\": \"address\",\n    \"named\": true\n  },\n  {\n    \"type\": \"block_comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"byte\",\n    \"named\": false\n  },\n  {\n    \"type\": \"const\",\n    \"named\": false\n  },\n  {\n    \"type\": \"dword\",\n    \"named\": false\n  },\n  {\n    \"type\": \"float\",\n    \"named\": true\n  },\n  {\n    \"type\": \"label\",\n    \"named\": false\n  },\n  {\n    \"type\": \"meta_ident\",\n    \"named\": true\n  },\n  {\n    \"type\": \"ptr\",\n    \"named\": false\n  },\n  {\n    \"type\": \"qword\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rel\",\n    \"named\": false\n  },\n  {\n    \"type\": \"string\",\n    \"named\": true\n  },\n  {\n    \"type\": \"word\",\n    \"named\": false\n  },\n  {\n    \"type\": \"word\",\n    \"named\": true\n  },\n  {\n    \"type\": \"|\",\n    \"named\": false\n  }\n]";
Expand description

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