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.