tree-sitter-d2/src/parser.c

3841 lines
101 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <tree_sitter/parser.h>
#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif
#define LANGUAGE_VERSION 14
#define STATE_COUNT 135
#define LARGE_STATE_COUNT 2
#define SYMBOL_COUNT 72
#define ALIAS_COUNT 0
#define TOKEN_COUNT 43
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 0
#define MAX_ALIAS_SEQUENCE_LENGTH 5
#define PRODUCTION_ID_COUNT 1
enum {
sym__word = 1,
sym__root_attr_key = 2,
anon_sym_style = 3,
anon_sym_shape = 4,
anon_sym_label = 5,
anon_sym_constraint = 6,
anon_sym_icon = 7,
anon_sym_width = 8,
anon_sym_height = 9,
anon_sym_opacity = 10,
anon_sym_fill = 11,
anon_sym_stroke = 12,
anon_sym_stroke_DASHwidth = 13,
anon_sym_stroke_DASHdash = 14,
anon_sym_border_DASHradius = 15,
anon_sym_font_DASHcolor = 16,
anon_sym_shadow = 17,
anon_sym_multiple = 18,
anon_sym_animated = 19,
anon_sym_3d = 20,
anon_sym_link = 21,
sym__text_attr_key = 22,
anon_sym_source_DASHarrowhead = 23,
anon_sym_target_DASHarrowhead = 24,
anon_sym_ = 25,
anon_sym_COLON = 26,
sym__dash = 27,
anon_sym_DASH_DASH = 28,
anon_sym_LT_DASH = 29,
anon_sym_GT = 30,
anon_sym_DASH_GT = 31,
sym__unquoted_string = 32,
anon_sym_SQUOTE = 33,
aux_sym_string_token1 = 34,
anon_sym_DQUOTE = 35,
aux_sym_string_token2 = 36,
anon_sym_BQUOTE = 37,
aux_sym_string_token3 = 38,
anon_sym_LF = 39,
anon_sym_2 = 40,
anon_sym_SEMI = 41,
sym_dot = 42,
sym_source_file = 43,
sym__definition = 44,
sym_connection = 45,
sym_shape = 46,
sym_identifier = 47,
sym_label = 48,
sym_attr_value = 49,
sym__root_attribute = 50,
sym__style_attribute = 51,
sym__shape_attribute = 52,
sym__connection_attribute = 53,
sym__shape_attr_key = 54,
sym__style_attr_key = 55,
sym__connection_attr_key = 56,
sym__identifier = 57,
sym__colon = 58,
sym_arrow = 59,
sym_string = 60,
sym__eof = 61,
sym__end = 62,
aux_sym_source_file_repeat1 = 63,
aux_sym_connection_repeat1 = 64,
aux_sym_shape_repeat1 = 65,
aux_sym__identifier_repeat1 = 66,
aux_sym__identifier_repeat2 = 67,
aux_sym_arrow_repeat1 = 68,
aux_sym_string_repeat1 = 69,
aux_sym_string_repeat2 = 70,
aux_sym_string_repeat3 = 71,
};
static const char * const ts_symbol_names[] = {
[ts_builtin_sym_end] = "end",
[sym__word] = "_word",
[sym__root_attr_key] = "attr_key",
[anon_sym_style] = "attr_key",
[anon_sym_shape] = "shape",
[anon_sym_label] = "label",
[anon_sym_constraint] = "constraint",
[anon_sym_icon] = "icon",
[anon_sym_width] = "width",
[anon_sym_height] = "height",
[anon_sym_opacity] = "opacity",
[anon_sym_fill] = "fill",
[anon_sym_stroke] = "stroke",
[anon_sym_stroke_DASHwidth] = "stroke-width",
[anon_sym_stroke_DASHdash] = "stroke-dash",
[anon_sym_border_DASHradius] = "border-radius",
[anon_sym_font_DASHcolor] = "font-color",
[anon_sym_shadow] = "shadow",
[anon_sym_multiple] = "multiple",
[anon_sym_animated] = "animated",
[anon_sym_3d] = "3d",
[anon_sym_link] = "link",
[sym__text_attr_key] = "_text_attr_key",
[anon_sym_source_DASHarrowhead] = "source-arrowhead",
[anon_sym_target_DASHarrowhead] = "target-arrowhead",
[anon_sym_] = " ",
[anon_sym_COLON] = ":",
[sym__dash] = "_dash",
[anon_sym_DASH_DASH] = "--",
[anon_sym_LT_DASH] = "<-",
[anon_sym_GT] = ">",
[anon_sym_DASH_GT] = "->",
[sym__unquoted_string] = "_unquoted_string",
[anon_sym_SQUOTE] = "'",
[aux_sym_string_token1] = "string_token1",
[anon_sym_DQUOTE] = "\"",
[aux_sym_string_token2] = "string_token2",
[anon_sym_BQUOTE] = "`",
[aux_sym_string_token3] = "string_token3",
[anon_sym_LF] = "\n",
[anon_sym_2] = "",
[anon_sym_SEMI] = ";",
[sym_dot] = "dot",
[sym_source_file] = "source_file",
[sym__definition] = "_definition",
[sym_connection] = "connection",
[sym_shape] = "shape",
[sym_identifier] = "identifier",
[sym_label] = "label",
[sym_attr_value] = "attr_value",
[sym__root_attribute] = "_root_attribute",
[sym__style_attribute] = "_style_attribute",
[sym__shape_attribute] = "_shape_attribute",
[sym__connection_attribute] = "_connection_attribute",
[sym__shape_attr_key] = "attr_key",
[sym__style_attr_key] = "attr_key",
[sym__connection_attr_key] = "attr_key",
[sym__identifier] = "_identifier",
[sym__colon] = "_colon",
[sym_arrow] = "arrow",
[sym_string] = "string",
[sym__eof] = "_eof",
[sym__end] = "_end",
[aux_sym_source_file_repeat1] = "source_file_repeat1",
[aux_sym_connection_repeat1] = "connection_repeat1",
[aux_sym_shape_repeat1] = "shape_repeat1",
[aux_sym__identifier_repeat1] = "_identifier_repeat1",
[aux_sym__identifier_repeat2] = "_identifier_repeat2",
[aux_sym_arrow_repeat1] = "arrow_repeat1",
[aux_sym_string_repeat1] = "string_repeat1",
[aux_sym_string_repeat2] = "string_repeat2",
[aux_sym_string_repeat3] = "string_repeat3",
};
static const TSSymbol ts_symbol_map[] = {
[ts_builtin_sym_end] = ts_builtin_sym_end,
[sym__word] = sym__word,
[sym__root_attr_key] = sym__root_attr_key,
[anon_sym_style] = sym__root_attr_key,
[anon_sym_shape] = anon_sym_shape,
[anon_sym_label] = anon_sym_label,
[anon_sym_constraint] = anon_sym_constraint,
[anon_sym_icon] = anon_sym_icon,
[anon_sym_width] = anon_sym_width,
[anon_sym_height] = anon_sym_height,
[anon_sym_opacity] = anon_sym_opacity,
[anon_sym_fill] = anon_sym_fill,
[anon_sym_stroke] = anon_sym_stroke,
[anon_sym_stroke_DASHwidth] = anon_sym_stroke_DASHwidth,
[anon_sym_stroke_DASHdash] = anon_sym_stroke_DASHdash,
[anon_sym_border_DASHradius] = anon_sym_border_DASHradius,
[anon_sym_font_DASHcolor] = anon_sym_font_DASHcolor,
[anon_sym_shadow] = anon_sym_shadow,
[anon_sym_multiple] = anon_sym_multiple,
[anon_sym_animated] = anon_sym_animated,
[anon_sym_3d] = anon_sym_3d,
[anon_sym_link] = anon_sym_link,
[sym__text_attr_key] = sym__text_attr_key,
[anon_sym_source_DASHarrowhead] = anon_sym_source_DASHarrowhead,
[anon_sym_target_DASHarrowhead] = anon_sym_target_DASHarrowhead,
[anon_sym_] = anon_sym_,
[anon_sym_COLON] = anon_sym_COLON,
[sym__dash] = sym__dash,
[anon_sym_DASH_DASH] = anon_sym_DASH_DASH,
[anon_sym_LT_DASH] = anon_sym_LT_DASH,
[anon_sym_GT] = anon_sym_GT,
[anon_sym_DASH_GT] = anon_sym_DASH_GT,
[sym__unquoted_string] = sym__unquoted_string,
[anon_sym_SQUOTE] = anon_sym_SQUOTE,
[aux_sym_string_token1] = aux_sym_string_token1,
[anon_sym_DQUOTE] = anon_sym_DQUOTE,
[aux_sym_string_token2] = aux_sym_string_token2,
[anon_sym_BQUOTE] = anon_sym_BQUOTE,
[aux_sym_string_token3] = aux_sym_string_token3,
[anon_sym_LF] = anon_sym_LF,
[anon_sym_2] = anon_sym_2,
[anon_sym_SEMI] = anon_sym_SEMI,
[sym_dot] = sym_dot,
[sym_source_file] = sym_source_file,
[sym__definition] = sym__definition,
[sym_connection] = sym_connection,
[sym_shape] = sym_shape,
[sym_identifier] = sym_identifier,
[sym_label] = sym_label,
[sym_attr_value] = sym_attr_value,
[sym__root_attribute] = sym__root_attribute,
[sym__style_attribute] = sym__style_attribute,
[sym__shape_attribute] = sym__shape_attribute,
[sym__connection_attribute] = sym__connection_attribute,
[sym__shape_attr_key] = sym__root_attr_key,
[sym__style_attr_key] = sym__root_attr_key,
[sym__connection_attr_key] = sym__root_attr_key,
[sym__identifier] = sym__identifier,
[sym__colon] = sym__colon,
[sym_arrow] = sym_arrow,
[sym_string] = sym_string,
[sym__eof] = sym__eof,
[sym__end] = sym__end,
[aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
[aux_sym_connection_repeat1] = aux_sym_connection_repeat1,
[aux_sym_shape_repeat1] = aux_sym_shape_repeat1,
[aux_sym__identifier_repeat1] = aux_sym__identifier_repeat1,
[aux_sym__identifier_repeat2] = aux_sym__identifier_repeat2,
[aux_sym_arrow_repeat1] = aux_sym_arrow_repeat1,
[aux_sym_string_repeat1] = aux_sym_string_repeat1,
[aux_sym_string_repeat2] = aux_sym_string_repeat2,
[aux_sym_string_repeat3] = aux_sym_string_repeat3,
};
static const TSSymbolMetadata ts_symbol_metadata[] = {
[ts_builtin_sym_end] = {
.visible = false,
.named = true,
},
[sym__word] = {
.visible = false,
.named = true,
},
[sym__root_attr_key] = {
.visible = true,
.named = true,
},
[anon_sym_style] = {
.visible = true,
.named = true,
},
[anon_sym_shape] = {
.visible = true,
.named = false,
},
[anon_sym_label] = {
.visible = true,
.named = false,
},
[anon_sym_constraint] = {
.visible = true,
.named = false,
},
[anon_sym_icon] = {
.visible = true,
.named = false,
},
[anon_sym_width] = {
.visible = true,
.named = false,
},
[anon_sym_height] = {
.visible = true,
.named = false,
},
[anon_sym_opacity] = {
.visible = true,
.named = false,
},
[anon_sym_fill] = {
.visible = true,
.named = false,
},
[anon_sym_stroke] = {
.visible = true,
.named = false,
},
[anon_sym_stroke_DASHwidth] = {
.visible = true,
.named = false,
},
[anon_sym_stroke_DASHdash] = {
.visible = true,
.named = false,
},
[anon_sym_border_DASHradius] = {
.visible = true,
.named = false,
},
[anon_sym_font_DASHcolor] = {
.visible = true,
.named = false,
},
[anon_sym_shadow] = {
.visible = true,
.named = false,
},
[anon_sym_multiple] = {
.visible = true,
.named = false,
},
[anon_sym_animated] = {
.visible = true,
.named = false,
},
[anon_sym_3d] = {
.visible = true,
.named = false,
},
[anon_sym_link] = {
.visible = true,
.named = false,
},
[sym__text_attr_key] = {
.visible = false,
.named = true,
},
[anon_sym_source_DASHarrowhead] = {
.visible = true,
.named = false,
},
[anon_sym_target_DASHarrowhead] = {
.visible = true,
.named = false,
},
[anon_sym_] = {
.visible = true,
.named = false,
},
[anon_sym_COLON] = {
.visible = true,
.named = false,
},
[sym__dash] = {
.visible = false,
.named = true,
},
[anon_sym_DASH_DASH] = {
.visible = true,
.named = false,
},
[anon_sym_LT_DASH] = {
.visible = true,
.named = false,
},
[anon_sym_GT] = {
.visible = true,
.named = false,
},
[anon_sym_DASH_GT] = {
.visible = true,
.named = false,
},
[sym__unquoted_string] = {
.visible = false,
.named = true,
},
[anon_sym_SQUOTE] = {
.visible = true,
.named = false,
},
[aux_sym_string_token1] = {
.visible = false,
.named = false,
},
[anon_sym_DQUOTE] = {
.visible = true,
.named = false,
},
[aux_sym_string_token2] = {
.visible = false,
.named = false,
},
[anon_sym_BQUOTE] = {
.visible = true,
.named = false,
},
[aux_sym_string_token3] = {
.visible = false,
.named = false,
},
[anon_sym_LF] = {
.visible = true,
.named = false,
},
[anon_sym_2] = {
.visible = true,
.named = false,
},
[anon_sym_SEMI] = {
.visible = true,
.named = false,
},
[sym_dot] = {
.visible = true,
.named = true,
},
[sym_source_file] = {
.visible = true,
.named = true,
},
[sym__definition] = {
.visible = false,
.named = true,
},
[sym_connection] = {
.visible = true,
.named = true,
},
[sym_shape] = {
.visible = true,
.named = true,
},
[sym_identifier] = {
.visible = true,
.named = true,
},
[sym_label] = {
.visible = true,
.named = true,
},
[sym_attr_value] = {
.visible = true,
.named = true,
},
[sym__root_attribute] = {
.visible = false,
.named = true,
},
[sym__style_attribute] = {
.visible = false,
.named = true,
},
[sym__shape_attribute] = {
.visible = false,
.named = true,
},
[sym__connection_attribute] = {
.visible = false,
.named = true,
},
[sym__shape_attr_key] = {
.visible = true,
.named = true,
},
[sym__style_attr_key] = {
.visible = true,
.named = true,
},
[sym__connection_attr_key] = {
.visible = true,
.named = true,
},
[sym__identifier] = {
.visible = false,
.named = true,
},
[sym__colon] = {
.visible = false,
.named = true,
},
[sym_arrow] = {
.visible = true,
.named = true,
},
[sym_string] = {
.visible = true,
.named = true,
},
[sym__eof] = {
.visible = false,
.named = true,
},
[sym__end] = {
.visible = false,
.named = true,
},
[aux_sym_source_file_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_connection_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_shape_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym__identifier_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym__identifier_repeat2] = {
.visible = false,
.named = false,
},
[aux_sym_arrow_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_string_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_string_repeat2] = {
.visible = false,
.named = false,
},
[aux_sym_string_repeat3] = {
.visible = false,
.named = false,
},
};
static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
[0] = {0},
};
static const uint16_t ts_non_terminal_alias_map[] = {
0,
};
static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[0] = 0,
[1] = 1,
[2] = 2,
[3] = 3,
[4] = 4,
[5] = 5,
[6] = 6,
[7] = 7,
[8] = 8,
[9] = 9,
[10] = 10,
[11] = 11,
[12] = 12,
[13] = 13,
[14] = 14,
[15] = 15,
[16] = 16,
[17] = 17,
[18] = 18,
[19] = 19,
[20] = 20,
[21] = 21,
[22] = 22,
[23] = 23,
[24] = 24,
[25] = 25,
[26] = 26,
[27] = 27,
[28] = 28,
[29] = 29,
[30] = 30,
[31] = 31,
[32] = 32,
[33] = 33,
[34] = 34,
[35] = 10,
[36] = 36,
[37] = 9,
[38] = 11,
[39] = 21,
[40] = 22,
[41] = 20,
[42] = 23,
[43] = 16,
[44] = 14,
[45] = 18,
[46] = 13,
[47] = 26,
[48] = 19,
[49] = 25,
[50] = 15,
[51] = 17,
[52] = 52,
[53] = 27,
[54] = 28,
[55] = 30,
[56] = 56,
[57] = 33,
[58] = 32,
[59] = 31,
[60] = 60,
[61] = 29,
[62] = 62,
[63] = 63,
[64] = 64,
[65] = 65,
[66] = 66,
[67] = 67,
[68] = 68,
[69] = 69,
[70] = 70,
[71] = 71,
[72] = 72,
[73] = 73,
[74] = 21,
[75] = 75,
[76] = 76,
[77] = 77,
[78] = 78,
[79] = 79,
[80] = 80,
[81] = 81,
[82] = 82,
[83] = 83,
[84] = 84,
[85] = 85,
[86] = 77,
[87] = 87,
[88] = 88,
[89] = 89,
[90] = 90,
[91] = 91,
[92] = 92,
[93] = 93,
[94] = 94,
[95] = 95,
[96] = 96,
[97] = 92,
[98] = 98,
[99] = 99,
[100] = 100,
[101] = 101,
[102] = 102,
[103] = 103,
[104] = 104,
[105] = 105,
[106] = 81,
[107] = 107,
[108] = 108,
[109] = 109,
[110] = 110,
[111] = 111,
[112] = 112,
[113] = 113,
[114] = 114,
[115] = 115,
[116] = 116,
[117] = 117,
[118] = 118,
[119] = 119,
[120] = 120,
[121] = 121,
[122] = 122,
[123] = 118,
[124] = 124,
[125] = 125,
[126] = 126,
[127] = 127,
[128] = 125,
[129] = 129,
[130] = 126,
[131] = 131,
[132] = 131,
[133] = 133,
[134] = 134,
};
static bool ts_lex(TSLexer *lexer, TSStateId state) {
START_LEXER();
eof = lexer->eof(lexer);
switch (state) {
case 0:
if (eof) ADVANCE(103);
if (lookahead == 0) ADVANCE(181);
if (lookahead == '\n') ADVANCE(180);
if (lookahead == ' ') ADVANCE(126);
if (lookahead == '"') ADVANCE(176);
if (lookahead == '\'') ADVANCE(174);
if (lookahead == '-') ADVANCE(130);
if (lookahead == '.') ADVANCE(183);
if (lookahead == '3') ADVANCE(136);
if (lookahead == ':') ADVANCE(128);
if (lookahead == ';') ADVANCE(182);
if (lookahead == '<') ADVANCE(6);
if (lookahead == '>') ADVANCE(171);
if (lookahead == '`') ADVANCE(178);
if (lookahead == 'a') ADVANCE(156);
if (lookahead == 'f') ADVANCE(143);
if (lookahead == 'l') ADVANCE(145);
if (lookahead == 'm') ADVANCE(165);
if (lookahead == 'o') ADVANCE(159);
if (lookahead == 's') ADVANCE(142);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
('_' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 1:
if (lookahead == 0) ADVANCE(181);
if (lookahead == '\n') ADVANCE(180);
if (lookahead == ' ') ADVANCE(126);
if (lookahead == '-') ADVANCE(130);
if (lookahead == '.') ADVANCE(183);
if (lookahead == ':') ADVANCE(128);
if (lookahead == ';') ADVANCE(182);
if (lookahead == '<') ADVANCE(6);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 2:
if (lookahead == ' ') ADVANCE(127);
if (lookahead == '"') ADVANCE(176);
if (lookahead == '\'') ADVANCE(174);
if (lookahead == '`') ADVANCE(178);
if (lookahead != 0 &&
lookahead != '\n' &&
lookahead != ';' &&
lookahead != '{') ADVANCE(173);
END_STATE();
case 3:
if (lookahead == '"') ADVANCE(176);
if (lookahead == '\'') ADVANCE(174);
if (lookahead == '`') ADVANCE(178);
if (lookahead != 0 &&
lookahead != '\n' &&
lookahead != ';' &&
lookahead != '{') ADVANCE(173);
END_STATE();
case 4:
if (lookahead == '"') ADVANCE(176);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(177);
END_STATE();
case 5:
if (lookahead == '\'') ADVANCE(174);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(175);
END_STATE();
case 6:
if (lookahead == '-') ADVANCE(170);
END_STATE();
case 7:
if (lookahead == '-') ADVANCE(131);
if (lookahead == '3') ADVANCE(26);
if (lookahead == 'a') ADVANCE(66);
if (lookahead == 'b') ADVANCE(67);
if (lookahead == 'f') ADVANCE(49);
if (lookahead == 'l') ADVANCE(52);
if (lookahead == 'm') ADVANCE(95);
if (lookahead == 'o') ADVANCE(74);
if (lookahead == 's') ADVANCE(46);
if (lookahead == 't') ADVANCE(16);
END_STATE();
case 8:
if (lookahead == '-') ADVANCE(24);
END_STATE();
case 9:
if (lookahead == '-') ADVANCE(83);
END_STATE();
case 10:
if (lookahead == '-') ADVANCE(20);
END_STATE();
case 11:
if (lookahead == '-') ADVANCE(22);
END_STATE();
case 12:
if (lookahead == '`') ADVANCE(178);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(179);
END_STATE();
case 13:
if (lookahead == 'a') ADVANCE(25);
END_STATE();
case 14:
if (lookahead == 'a') ADVANCE(87);
END_STATE();
case 15:
if (lookahead == 'a') ADVANCE(31);
END_STATE();
case 16:
if (lookahead == 'a') ADVANCE(76);
END_STATE();
case 17:
if (lookahead == 'a') ADVANCE(93);
END_STATE();
case 18:
if (lookahead == 'a') ADVANCE(33);
END_STATE();
case 19:
if (lookahead == 'a') ADVANCE(29);
END_STATE();
case 20:
if (lookahead == 'a') ADVANCE(84);
END_STATE();
case 21:
if (lookahead == 'a') ADVANCE(30);
END_STATE();
case 22:
if (lookahead == 'a') ADVANCE(86);
END_STATE();
case 23:
if (lookahead == 'c') ADVANCE(37);
END_STATE();
case 24:
if (lookahead == 'c') ADVANCE(71);
END_STATE();
case 25:
if (lookahead == 'c') ADVANCE(54);
END_STATE();
case 26:
if (lookahead == 'd') ADVANCE(120);
END_STATE();
case 27:
if (lookahead == 'd') ADVANCE(39);
END_STATE();
case 28:
if (lookahead == 'd') ADVANCE(118);
END_STATE();
case 29:
if (lookahead == 'd') ADVANCE(124);
END_STATE();
case 30:
if (lookahead == 'd') ADVANCE(125);
END_STATE();
case 31:
if (lookahead == 'd') ADVANCE(68);
END_STATE();
case 32:
if (lookahead == 'd') ADVANCE(91);
END_STATE();
case 33:
if (lookahead == 'd') ADVANCE(53);
END_STATE();
case 34:
if (lookahead == 'd') ADVANCE(14);
if (lookahead == 'w') ADVANCE(55);
END_STATE();
case 35:
if (lookahead == 'e') ADVANCE(108);
END_STATE();
case 36:
if (lookahead == 'e') ADVANCE(116);
END_STATE();
case 37:
if (lookahead == 'e') ADVANCE(10);
END_STATE();
case 38:
if (lookahead == 'e') ADVANCE(28);
END_STATE();
case 39:
if (lookahead == 'e') ADVANCE(81);
END_STATE();
case 40:
if (lookahead == 'e') ADVANCE(19);
END_STATE();
case 41:
if (lookahead == 'e') ADVANCE(21);
END_STATE();
case 42:
if (lookahead == 'e') ADVANCE(94);
END_STATE();
case 43:
if (lookahead == 'g') ADVANCE(42);
END_STATE();
case 44:
if (lookahead == 'h') ADVANCE(111);
END_STATE();
case 45:
if (lookahead == 'h') ADVANCE(110);
END_STATE();
case 46:
if (lookahead == 'h') ADVANCE(15);
if (lookahead == 'o') ADVANCE(97);
if (lookahead == 't') ADVANCE(79);
END_STATE();
case 47:
if (lookahead == 'h') ADVANCE(40);
END_STATE();
case 48:
if (lookahead == 'h') ADVANCE(41);
END_STATE();
case 49:
if (lookahead == 'i') ADVANCE(60);
if (lookahead == 'o') ADVANCE(64);
END_STATE();
case 50:
if (lookahead == 'i') ADVANCE(63);
END_STATE();
case 51:
if (lookahead == 'i') ADVANCE(75);
END_STATE();
case 52:
if (lookahead == 'i') ADVANCE(65);
END_STATE();
case 53:
if (lookahead == 'i') ADVANCE(96);
END_STATE();
case 54:
if (lookahead == 'i') ADVANCE(89);
END_STATE();
case 55:
if (lookahead == 'i') ADVANCE(32);
END_STATE();
case 56:
if (lookahead == 'k') ADVANCE(122);
END_STATE();
case 57:
if (lookahead == 'k') ADVANCE(35);
END_STATE();
case 58:
if (lookahead == 'l') ADVANCE(106);
END_STATE();
case 59:
if (lookahead == 'l') ADVANCE(92);
END_STATE();
case 60:
if (lookahead == 'l') ADVANCE(58);
END_STATE();
case 61:
if (lookahead == 'l') ADVANCE(36);
END_STATE();
case 62:
if (lookahead == 'l') ADVANCE(72);
END_STATE();
case 63:
if (lookahead == 'm') ADVANCE(17);
END_STATE();
case 64:
if (lookahead == 'n') ADVANCE(90);
END_STATE();
case 65:
if (lookahead == 'n') ADVANCE(56);
END_STATE();
case 66:
if (lookahead == 'n') ADVANCE(50);
END_STATE();
case 67:
if (lookahead == 'o') ADVANCE(78);
END_STATE();
case 68:
if (lookahead == 'o') ADVANCE(98);
END_STATE();
case 69:
if (lookahead == 'o') ADVANCE(57);
END_STATE();
case 70:
if (lookahead == 'o') ADVANCE(99);
END_STATE();
case 71:
if (lookahead == 'o') ADVANCE(62);
END_STATE();
case 72:
if (lookahead == 'o') ADVANCE(77);
END_STATE();
case 73:
if (lookahead == 'o') ADVANCE(100);
END_STATE();
case 74:
if (lookahead == 'p') ADVANCE(13);
END_STATE();
case 75:
if (lookahead == 'p') ADVANCE(61);
END_STATE();
case 76:
if (lookahead == 'r') ADVANCE(43);
END_STATE();
case 77:
if (lookahead == 'r') ADVANCE(113);
END_STATE();
case 78:
if (lookahead == 'r') ADVANCE(27);
END_STATE();
case 79:
if (lookahead == 'r') ADVANCE(69);
END_STATE();
case 80:
if (lookahead == 'r') ADVANCE(23);
END_STATE();
case 81:
if (lookahead == 'r') ADVANCE(9);
END_STATE();
case 82:
if (lookahead == 'r') ADVANCE(70);
END_STATE();
case 83:
if (lookahead == 'r') ADVANCE(18);
END_STATE();
case 84:
if (lookahead == 'r') ADVANCE(82);
END_STATE();
case 85:
if (lookahead == 'r') ADVANCE(73);
END_STATE();
case 86:
if (lookahead == 'r') ADVANCE(85);
END_STATE();
case 87:
if (lookahead == 's') ADVANCE(44);
END_STATE();
case 88:
if (lookahead == 's') ADVANCE(112);
END_STATE();
case 89:
if (lookahead == 't') ADVANCE(101);
END_STATE();
case 90:
if (lookahead == 't') ADVANCE(8);
END_STATE();
case 91:
if (lookahead == 't') ADVANCE(45);
END_STATE();
case 92:
if (lookahead == 't') ADVANCE(51);
END_STATE();
case 93:
if (lookahead == 't') ADVANCE(38);
END_STATE();
case 94:
if (lookahead == 't') ADVANCE(11);
END_STATE();
case 95:
if (lookahead == 'u') ADVANCE(59);
END_STATE();
case 96:
if (lookahead == 'u') ADVANCE(88);
END_STATE();
case 97:
if (lookahead == 'u') ADVANCE(80);
END_STATE();
case 98:
if (lookahead == 'w') ADVANCE(114);
END_STATE();
case 99:
if (lookahead == 'w') ADVANCE(47);
END_STATE();
case 100:
if (lookahead == 'w') ADVANCE(48);
END_STATE();
case 101:
if (lookahead == 'y') ADVANCE(104);
END_STATE();
case 102:
if (eof) ADVANCE(103);
if (lookahead == 0) ADVANCE(181);
if (lookahead == '\n') ADVANCE(180);
if (lookahead == ' ') ADVANCE(126);
if (lookahead == '-') ADVANCE(129);
if (lookahead == '.') ADVANCE(183);
if (lookahead == ':') ADVANCE(128);
if (lookahead == ';') ADVANCE(182);
if (lookahead == '>') ADVANCE(171);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 103:
ACCEPT_TOKEN(ts_builtin_sym_end);
END_STATE();
case 104:
ACCEPT_TOKEN(anon_sym_opacity);
END_STATE();
case 105:
ACCEPT_TOKEN(anon_sym_opacity);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 106:
ACCEPT_TOKEN(anon_sym_fill);
END_STATE();
case 107:
ACCEPT_TOKEN(anon_sym_fill);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 108:
ACCEPT_TOKEN(anon_sym_stroke);
if (lookahead == '-') ADVANCE(34);
END_STATE();
case 109:
ACCEPT_TOKEN(anon_sym_stroke);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 110:
ACCEPT_TOKEN(anon_sym_stroke_DASHwidth);
END_STATE();
case 111:
ACCEPT_TOKEN(anon_sym_stroke_DASHdash);
END_STATE();
case 112:
ACCEPT_TOKEN(anon_sym_border_DASHradius);
END_STATE();
case 113:
ACCEPT_TOKEN(anon_sym_font_DASHcolor);
END_STATE();
case 114:
ACCEPT_TOKEN(anon_sym_shadow);
END_STATE();
case 115:
ACCEPT_TOKEN(anon_sym_shadow);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 116:
ACCEPT_TOKEN(anon_sym_multiple);
END_STATE();
case 117:
ACCEPT_TOKEN(anon_sym_multiple);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 118:
ACCEPT_TOKEN(anon_sym_animated);
END_STATE();
case 119:
ACCEPT_TOKEN(anon_sym_animated);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 120:
ACCEPT_TOKEN(anon_sym_3d);
END_STATE();
case 121:
ACCEPT_TOKEN(anon_sym_3d);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 122:
ACCEPT_TOKEN(anon_sym_link);
END_STATE();
case 123:
ACCEPT_TOKEN(anon_sym_link);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 124:
ACCEPT_TOKEN(anon_sym_source_DASHarrowhead);
END_STATE();
case 125:
ACCEPT_TOKEN(anon_sym_target_DASHarrowhead);
END_STATE();
case 126:
ACCEPT_TOKEN(anon_sym_);
END_STATE();
case 127:
ACCEPT_TOKEN(anon_sym_);
if (lookahead != 0 &&
lookahead != '\n' &&
lookahead != '"' &&
lookahead != '\'' &&
lookahead != ';' &&
lookahead != '`' &&
lookahead != '{') ADVANCE(173);
END_STATE();
case 128:
ACCEPT_TOKEN(anon_sym_COLON);
END_STATE();
case 129:
ACCEPT_TOKEN(sym__dash);
END_STATE();
case 130:
ACCEPT_TOKEN(sym__dash);
if (lookahead == '-') ADVANCE(169);
if (lookahead == '>') ADVANCE(172);
END_STATE();
case 131:
ACCEPT_TOKEN(sym__dash);
if (lookahead == '>') ADVANCE(172);
END_STATE();
case 132:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'a') ADVANCE(135);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('b' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 133:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'a') ADVANCE(138);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('b' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 134:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'a') ADVANCE(163);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('b' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 135:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'c') ADVANCE(147);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 136:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'd') ADVANCE(121);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 137:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'd') ADVANCE(119);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 138:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'd') ADVANCE(157);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 139:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'e') ADVANCE(109);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 140:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'e') ADVANCE(117);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 141:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'e') ADVANCE(137);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 142:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'h') ADVANCE(133);
if (lookahead == 't') ADVANCE(161);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 143:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'i') ADVANCE(152);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 144:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'i') ADVANCE(154);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 145:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'i') ADVANCE(155);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 146:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'i') ADVANCE(160);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 147:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'i') ADVANCE(162);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 148:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'k') ADVANCE(123);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 149:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'k') ADVANCE(139);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 150:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'l') ADVANCE(164);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 151:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'l') ADVANCE(107);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 152:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'l') ADVANCE(151);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 153:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'l') ADVANCE(140);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 154:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'm') ADVANCE(134);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 155:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'n') ADVANCE(148);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 156:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'n') ADVANCE(144);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 157:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'o') ADVANCE(166);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 158:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'o') ADVANCE(149);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 159:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'p') ADVANCE(132);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 160:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'p') ADVANCE(153);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 161:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'r') ADVANCE(158);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 162:
ACCEPT_TOKEN(sym__word);
if (lookahead == 't') ADVANCE(167);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 163:
ACCEPT_TOKEN(sym__word);
if (lookahead == 't') ADVANCE(141);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 164:
ACCEPT_TOKEN(sym__word);
if (lookahead == 't') ADVANCE(146);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 165:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'u') ADVANCE(150);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 166:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'w') ADVANCE(115);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 167:
ACCEPT_TOKEN(sym__word);
if (lookahead == 'y') ADVANCE(105);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 168:
ACCEPT_TOKEN(sym__word);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(168);
END_STATE();
case 169:
ACCEPT_TOKEN(anon_sym_DASH_DASH);
END_STATE();
case 170:
ACCEPT_TOKEN(anon_sym_LT_DASH);
END_STATE();
case 171:
ACCEPT_TOKEN(anon_sym_GT);
END_STATE();
case 172:
ACCEPT_TOKEN(anon_sym_DASH_GT);
END_STATE();
case 173:
ACCEPT_TOKEN(sym__unquoted_string);
if (lookahead != 0 &&
lookahead != '\n' &&
lookahead != '"' &&
lookahead != '\'' &&
lookahead != ';' &&
lookahead != '`' &&
lookahead != '{') ADVANCE(173);
END_STATE();
case 174:
ACCEPT_TOKEN(anon_sym_SQUOTE);
END_STATE();
case 175:
ACCEPT_TOKEN(aux_sym_string_token1);
if (lookahead != 0 &&
lookahead != '\n' &&
lookahead != '\'') ADVANCE(175);
END_STATE();
case 176:
ACCEPT_TOKEN(anon_sym_DQUOTE);
END_STATE();
case 177:
ACCEPT_TOKEN(aux_sym_string_token2);
if (lookahead != 0 &&
lookahead != '\n' &&
lookahead != '"') ADVANCE(177);
END_STATE();
case 178:
ACCEPT_TOKEN(anon_sym_BQUOTE);
END_STATE();
case 179:
ACCEPT_TOKEN(aux_sym_string_token3);
if (lookahead != 0 &&
lookahead != '\n' &&
lookahead != '`') ADVANCE(179);
END_STATE();
case 180:
ACCEPT_TOKEN(anon_sym_LF);
END_STATE();
case 181:
ACCEPT_TOKEN(anon_sym_2);
END_STATE();
case 182:
ACCEPT_TOKEN(anon_sym_SEMI);
END_STATE();
case 183:
ACCEPT_TOKEN(sym_dot);
END_STATE();
default:
return false;
}
}
static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) {
START_LEXER();
eof = lexer->eof(lexer);
switch (state) {
case 0:
if (lookahead == 'c') ADVANCE(1);
if (lookahead == 'd') ADVANCE(2);
if (lookahead == 'h') ADVANCE(3);
if (lookahead == 'i') ADVANCE(4);
if (lookahead == 'l') ADVANCE(5);
if (lookahead == 'n') ADVANCE(6);
if (lookahead == 's') ADVANCE(7);
if (lookahead == 'w') ADVANCE(8);
END_STATE();
case 1:
if (lookahead == 'o') ADVANCE(9);
END_STATE();
case 2:
if (lookahead == 'i') ADVANCE(10);
END_STATE();
case 3:
if (lookahead == 'e') ADVANCE(11);
END_STATE();
case 4:
if (lookahead == 'c') ADVANCE(12);
END_STATE();
case 5:
if (lookahead == 'a') ADVANCE(13);
END_STATE();
case 6:
if (lookahead == 'e') ADVANCE(14);
END_STATE();
case 7:
if (lookahead == 'h') ADVANCE(15);
if (lookahead == 't') ADVANCE(16);
END_STATE();
case 8:
if (lookahead == 'i') ADVANCE(17);
END_STATE();
case 9:
if (lookahead == 'n') ADVANCE(18);
END_STATE();
case 10:
if (lookahead == 'r') ADVANCE(19);
END_STATE();
case 11:
if (lookahead == 'i') ADVANCE(20);
END_STATE();
case 12:
if (lookahead == 'o') ADVANCE(21);
END_STATE();
case 13:
if (lookahead == 'b') ADVANCE(22);
END_STATE();
case 14:
if (lookahead == 'a') ADVANCE(23);
END_STATE();
case 15:
if (lookahead == 'a') ADVANCE(24);
END_STATE();
case 16:
if (lookahead == 'y') ADVANCE(25);
END_STATE();
case 17:
if (lookahead == 'd') ADVANCE(26);
END_STATE();
case 18:
if (lookahead == 's') ADVANCE(27);
END_STATE();
case 19:
if (lookahead == 'e') ADVANCE(28);
END_STATE();
case 20:
if (lookahead == 'g') ADVANCE(29);
END_STATE();
case 21:
if (lookahead == 'n') ADVANCE(30);
END_STATE();
case 22:
if (lookahead == 'e') ADVANCE(31);
END_STATE();
case 23:
if (lookahead == 'r') ADVANCE(32);
END_STATE();
case 24:
if (lookahead == 'p') ADVANCE(33);
END_STATE();
case 25:
if (lookahead == 'l') ADVANCE(34);
END_STATE();
case 26:
if (lookahead == 't') ADVANCE(35);
END_STATE();
case 27:
if (lookahead == 't') ADVANCE(36);
END_STATE();
case 28:
if (lookahead == 'c') ADVANCE(37);
END_STATE();
case 29:
if (lookahead == 'h') ADVANCE(38);
END_STATE();
case 30:
ACCEPT_TOKEN(anon_sym_icon);
END_STATE();
case 31:
if (lookahead == 'l') ADVANCE(39);
END_STATE();
case 32:
ACCEPT_TOKEN(sym__text_attr_key);
END_STATE();
case 33:
if (lookahead == 'e') ADVANCE(40);
END_STATE();
case 34:
if (lookahead == 'e') ADVANCE(41);
END_STATE();
case 35:
if (lookahead == 'h') ADVANCE(42);
END_STATE();
case 36:
if (lookahead == 'r') ADVANCE(43);
END_STATE();
case 37:
if (lookahead == 't') ADVANCE(44);
END_STATE();
case 38:
if (lookahead == 't') ADVANCE(45);
END_STATE();
case 39:
ACCEPT_TOKEN(anon_sym_label);
END_STATE();
case 40:
ACCEPT_TOKEN(anon_sym_shape);
END_STATE();
case 41:
ACCEPT_TOKEN(anon_sym_style);
END_STATE();
case 42:
ACCEPT_TOKEN(anon_sym_width);
END_STATE();
case 43:
if (lookahead == 'a') ADVANCE(46);
END_STATE();
case 44:
if (lookahead == 'i') ADVANCE(47);
END_STATE();
case 45:
ACCEPT_TOKEN(anon_sym_height);
END_STATE();
case 46:
if (lookahead == 'i') ADVANCE(48);
END_STATE();
case 47:
if (lookahead == 'o') ADVANCE(49);
END_STATE();
case 48:
if (lookahead == 'n') ADVANCE(50);
END_STATE();
case 49:
if (lookahead == 'n') ADVANCE(51);
END_STATE();
case 50:
if (lookahead == 't') ADVANCE(52);
END_STATE();
case 51:
ACCEPT_TOKEN(sym__root_attr_key);
END_STATE();
case 52:
ACCEPT_TOKEN(anon_sym_constraint);
END_STATE();
default:
return false;
}
}
static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[0] = {.lex_state = 0},
[1] = {.lex_state = 102},
[2] = {.lex_state = 0},
[3] = {.lex_state = 102},
[4] = {.lex_state = 102},
[5] = {.lex_state = 0},
[6] = {.lex_state = 102},
[7] = {.lex_state = 102},
[8] = {.lex_state = 7},
[9] = {.lex_state = 1},
[10] = {.lex_state = 1},
[11] = {.lex_state = 1},
[12] = {.lex_state = 0},
[13] = {.lex_state = 1},
[14] = {.lex_state = 1},
[15] = {.lex_state = 1},
[16] = {.lex_state = 1},
[17] = {.lex_state = 1},
[18] = {.lex_state = 1},
[19] = {.lex_state = 1},
[20] = {.lex_state = 1},
[21] = {.lex_state = 1},
[22] = {.lex_state = 1},
[23] = {.lex_state = 1},
[24] = {.lex_state = 0},
[25] = {.lex_state = 1},
[26] = {.lex_state = 1},
[27] = {.lex_state = 0},
[28] = {.lex_state = 0},
[29] = {.lex_state = 0},
[30] = {.lex_state = 0},
[31] = {.lex_state = 0},
[32] = {.lex_state = 0},
[33] = {.lex_state = 0},
[34] = {.lex_state = 0},
[35] = {.lex_state = 102},
[36] = {.lex_state = 0},
[37] = {.lex_state = 102},
[38] = {.lex_state = 102},
[39] = {.lex_state = 102},
[40] = {.lex_state = 102},
[41] = {.lex_state = 102},
[42] = {.lex_state = 102},
[43] = {.lex_state = 102},
[44] = {.lex_state = 102},
[45] = {.lex_state = 102},
[46] = {.lex_state = 102},
[47] = {.lex_state = 102},
[48] = {.lex_state = 102},
[49] = {.lex_state = 102},
[50] = {.lex_state = 102},
[51] = {.lex_state = 102},
[52] = {.lex_state = 0},
[53] = {.lex_state = 0},
[54] = {.lex_state = 0},
[55] = {.lex_state = 0},
[56] = {.lex_state = 102},
[57] = {.lex_state = 0},
[58] = {.lex_state = 0},
[59] = {.lex_state = 0},
[60] = {.lex_state = 102},
[61] = {.lex_state = 0},
[62] = {.lex_state = 3},
[63] = {.lex_state = 3},
[64] = {.lex_state = 2},
[65] = {.lex_state = 3},
[66] = {.lex_state = 3},
[67] = {.lex_state = 2},
[68] = {.lex_state = 3},
[69] = {.lex_state = 3},
[70] = {.lex_state = 2},
[71] = {.lex_state = 0},
[72] = {.lex_state = 3},
[73] = {.lex_state = 2},
[74] = {.lex_state = 2},
[75] = {.lex_state = 102},
[76] = {.lex_state = 102},
[77] = {.lex_state = 102},
[78] = {.lex_state = 102},
[79] = {.lex_state = 0},
[80] = {.lex_state = 102},
[81] = {.lex_state = 102},
[82] = {.lex_state = 0},
[83] = {.lex_state = 0},
[84] = {.lex_state = 102},
[85] = {.lex_state = 0},
[86] = {.lex_state = 102},
[87] = {.lex_state = 102},
[88] = {.lex_state = 102},
[89] = {.lex_state = 102},
[90] = {.lex_state = 102},
[91] = {.lex_state = 102},
[92] = {.lex_state = 102},
[93] = {.lex_state = 102},
[94] = {.lex_state = 0},
[95] = {.lex_state = 0},
[96] = {.lex_state = 7},
[97] = {.lex_state = 102},
[98] = {.lex_state = 0},
[99] = {.lex_state = 0},
[100] = {.lex_state = 4},
[101] = {.lex_state = 0},
[102] = {.lex_state = 0},
[103] = {.lex_state = 0},
[104] = {.lex_state = 0},
[105] = {.lex_state = 0},
[106] = {.lex_state = 7},
[107] = {.lex_state = 7},
[108] = {.lex_state = 102},
[109] = {.lex_state = 12},
[110] = {.lex_state = 4},
[111] = {.lex_state = 102},
[112] = {.lex_state = 5},
[113] = {.lex_state = 0},
[114] = {.lex_state = 5},
[115] = {.lex_state = 4},
[116] = {.lex_state = 12},
[117] = {.lex_state = 0},
[118] = {.lex_state = 102},
[119] = {.lex_state = 102},
[120] = {.lex_state = 12},
[121] = {.lex_state = 5},
[122] = {.lex_state = 0},
[123] = {.lex_state = 102},
[124] = {.lex_state = 0},
[125] = {.lex_state = 102},
[126] = {.lex_state = 102},
[127] = {.lex_state = 0},
[128] = {.lex_state = 102},
[129] = {.lex_state = 0},
[130] = {.lex_state = 102},
[131] = {.lex_state = 102},
[132] = {.lex_state = 102},
[133] = {.lex_state = 0},
[134] = {.lex_state = 0},
};
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[0] = {
[ts_builtin_sym_end] = ACTIONS(1),
[sym__word] = ACTIONS(1),
[sym__root_attr_key] = ACTIONS(1),
[anon_sym_style] = ACTIONS(1),
[anon_sym_shape] = ACTIONS(1),
[anon_sym_label] = ACTIONS(1),
[anon_sym_constraint] = ACTIONS(1),
[anon_sym_icon] = ACTIONS(1),
[anon_sym_width] = ACTIONS(1),
[anon_sym_height] = ACTIONS(1),
[anon_sym_opacity] = ACTIONS(1),
[anon_sym_fill] = ACTIONS(1),
[anon_sym_stroke] = ACTIONS(1),
[anon_sym_shadow] = ACTIONS(1),
[anon_sym_multiple] = ACTIONS(1),
[anon_sym_animated] = ACTIONS(1),
[anon_sym_3d] = ACTIONS(1),
[anon_sym_link] = ACTIONS(1),
[sym__text_attr_key] = ACTIONS(1),
[anon_sym_] = ACTIONS(1),
[anon_sym_COLON] = ACTIONS(1),
[sym__dash] = ACTIONS(1),
[anon_sym_DASH_DASH] = ACTIONS(1),
[anon_sym_LT_DASH] = ACTIONS(1),
[anon_sym_GT] = ACTIONS(1),
[anon_sym_DASH_GT] = ACTIONS(1),
[anon_sym_SQUOTE] = ACTIONS(1),
[anon_sym_DQUOTE] = ACTIONS(1),
[anon_sym_BQUOTE] = ACTIONS(1),
[anon_sym_LF] = ACTIONS(1),
[anon_sym_2] = ACTIONS(1),
[anon_sym_SEMI] = ACTIONS(1),
[sym_dot] = ACTIONS(1),
},
[1] = {
[sym_source_file] = STATE(133),
[sym__definition] = STATE(6),
[sym_connection] = STATE(6),
[sym_shape] = STATE(6),
[sym_identifier] = STATE(2),
[sym__root_attribute] = STATE(6),
[sym__identifier] = STATE(36),
[aux_sym_source_file_repeat1] = STATE(6),
[aux_sym__identifier_repeat1] = STATE(86),
[aux_sym__identifier_repeat2] = STATE(9),
[ts_builtin_sym_end] = ACTIONS(3),
[sym__word] = ACTIONS(5),
[sym__root_attr_key] = ACTIONS(7),
[anon_sym_] = ACTIONS(9),
[sym__dash] = ACTIONS(11),
},
};
static const uint16_t ts_small_parse_table[] = {
[0] = 15,
ACTIONS(13), 1,
anon_sym_,
ACTIONS(15), 1,
anon_sym_COLON,
ACTIONS(17), 1,
sym__dash,
ACTIONS(19), 1,
anon_sym_DASH_DASH,
ACTIONS(21), 1,
anon_sym_LT_DASH,
ACTIONS(23), 1,
anon_sym_DASH_GT,
ACTIONS(27), 1,
sym_dot,
STATE(5), 1,
aux_sym_connection_repeat1,
STATE(24), 1,
aux_sym_shape_repeat1,
STATE(60), 1,
sym_arrow,
STATE(65), 1,
sym__colon,
STATE(101), 1,
aux_sym__identifier_repeat1,
STATE(107), 1,
aux_sym_arrow_repeat1,
STATE(90), 2,
sym__eof,
sym__end,
ACTIONS(25), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[49] = 11,
ACTIONS(29), 1,
sym__word,
ACTIONS(31), 1,
anon_sym_style,
ACTIONS(35), 1,
anon_sym_,
ACTIONS(37), 1,
sym__dash,
STATE(36), 1,
sym__identifier,
STATE(37), 1,
aux_sym__identifier_repeat2,
STATE(71), 1,
sym_identifier,
STATE(77), 1,
aux_sym__identifier_repeat1,
STATE(98), 1,
sym__shape_attr_key,
STATE(85), 2,
sym__style_attribute,
sym__shape_attribute,
ACTIONS(33), 6,
anon_sym_shape,
anon_sym_label,
anon_sym_constraint,
anon_sym_icon,
anon_sym_width,
anon_sym_height,
[89] = 11,
ACTIONS(29), 1,
sym__word,
ACTIONS(31), 1,
anon_sym_style,
ACTIONS(35), 1,
anon_sym_,
ACTIONS(37), 1,
sym__dash,
STATE(36), 1,
sym__identifier,
STATE(37), 1,
aux_sym__identifier_repeat2,
STATE(71), 1,
sym_identifier,
STATE(77), 1,
aux_sym__identifier_repeat1,
STATE(98), 1,
sym__shape_attr_key,
STATE(82), 2,
sym__style_attribute,
sym__shape_attribute,
ACTIONS(33), 6,
anon_sym_shape,
anon_sym_label,
anon_sym_constraint,
anon_sym_icon,
anon_sym_width,
anon_sym_height,
[129] = 14,
ACTIONS(13), 1,
anon_sym_,
ACTIONS(15), 1,
anon_sym_COLON,
ACTIONS(17), 1,
sym__dash,
ACTIONS(19), 1,
anon_sym_DASH_DASH,
ACTIONS(21), 1,
anon_sym_LT_DASH,
ACTIONS(23), 1,
anon_sym_DASH_GT,
ACTIONS(41), 1,
sym_dot,
STATE(12), 1,
aux_sym_connection_repeat1,
STATE(60), 1,
sym_arrow,
STATE(66), 1,
sym__colon,
STATE(101), 1,
aux_sym__identifier_repeat1,
STATE(107), 1,
aux_sym_arrow_repeat1,
STATE(76), 2,
sym__eof,
sym__end,
ACTIONS(39), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[175] = 10,
ACTIONS(5), 1,
sym__word,
ACTIONS(7), 1,
sym__root_attr_key,
ACTIONS(9), 1,
anon_sym_,
ACTIONS(11), 1,
sym__dash,
ACTIONS(43), 1,
ts_builtin_sym_end,
STATE(2), 1,
sym_identifier,
STATE(9), 1,
aux_sym__identifier_repeat2,
STATE(36), 1,
sym__identifier,
STATE(86), 1,
aux_sym__identifier_repeat1,
STATE(7), 5,
sym__definition,
sym_connection,
sym_shape,
sym__root_attribute,
aux_sym_source_file_repeat1,
[210] = 10,
ACTIONS(45), 1,
ts_builtin_sym_end,
ACTIONS(47), 1,
sym__word,
ACTIONS(50), 1,
sym__root_attr_key,
ACTIONS(53), 1,
anon_sym_,
ACTIONS(56), 1,
sym__dash,
STATE(2), 1,
sym_identifier,
STATE(9), 1,
aux_sym__identifier_repeat2,
STATE(36), 1,
sym__identifier,
STATE(86), 1,
aux_sym__identifier_repeat1,
STATE(7), 5,
sym__definition,
sym_connection,
sym_shape,
sym__root_attribute,
aux_sym_source_file_repeat1,
[245] = 3,
ACTIONS(61), 1,
anon_sym_stroke,
STATE(94), 1,
sym__style_attr_key,
ACTIONS(59), 11,
anon_sym_opacity,
anon_sym_fill,
anon_sym_stroke_DASHwidth,
anon_sym_stroke_DASHdash,
anon_sym_border_DASHradius,
anon_sym_font_DASHcolor,
anon_sym_shadow,
anon_sym_multiple,
anon_sym_animated,
anon_sym_3d,
anon_sym_link,
[265] = 6,
ACTIONS(63), 1,
sym__word,
ACTIONS(65), 1,
anon_sym_,
ACTIONS(69), 1,
sym__dash,
STATE(20), 1,
aux_sym__identifier_repeat2,
STATE(29), 1,
aux_sym__identifier_repeat1,
ACTIONS(67), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[291] = 6,
ACTIONS(63), 1,
sym__word,
ACTIONS(71), 1,
anon_sym_,
ACTIONS(75), 1,
sym__dash,
STATE(20), 1,
aux_sym__identifier_repeat2,
STATE(33), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[317] = 6,
ACTIONS(63), 1,
sym__word,
ACTIONS(77), 1,
anon_sym_,
ACTIONS(81), 1,
sym__dash,
STATE(20), 1,
aux_sym__identifier_repeat2,
STATE(28), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[343] = 8,
ACTIONS(85), 1,
sym__dash,
ACTIONS(88), 1,
anon_sym_DASH_DASH,
ACTIONS(91), 1,
anon_sym_LT_DASH,
ACTIONS(94), 1,
anon_sym_DASH_GT,
STATE(12), 1,
aux_sym_connection_repeat1,
STATE(60), 1,
sym_arrow,
STATE(107), 1,
aux_sym_arrow_repeat1,
ACTIONS(83), 6,
anon_sym_,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[373] = 5,
ACTIONS(97), 1,
sym__word,
ACTIONS(99), 1,
anon_sym_,
ACTIONS(101), 1,
sym__dash,
STATE(21), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[396] = 5,
ACTIONS(71), 1,
anon_sym_,
ACTIONS(97), 1,
sym__word,
ACTIONS(101), 1,
sym__dash,
STATE(33), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[419] = 5,
ACTIONS(97), 1,
sym__word,
ACTIONS(103), 1,
anon_sym_,
ACTIONS(107), 1,
sym__dash,
STATE(31), 1,
aux_sym__identifier_repeat1,
ACTIONS(105), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[442] = 5,
ACTIONS(109), 1,
sym__word,
ACTIONS(111), 1,
anon_sym_,
ACTIONS(113), 1,
sym__dash,
STATE(13), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[465] = 5,
ACTIONS(77), 1,
anon_sym_,
ACTIONS(97), 1,
sym__word,
ACTIONS(115), 1,
sym__dash,
STATE(28), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[488] = 5,
ACTIONS(97), 1,
sym__word,
ACTIONS(99), 1,
anon_sym_,
ACTIONS(107), 1,
sym__dash,
STATE(21), 1,
aux_sym__identifier_repeat1,
ACTIONS(105), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[511] = 5,
ACTIONS(97), 1,
sym__word,
ACTIONS(99), 1,
anon_sym_,
ACTIONS(115), 1,
sym__dash,
STATE(21), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[534] = 4,
ACTIONS(117), 1,
sym__word,
ACTIONS(122), 1,
sym__dash,
STATE(20), 1,
aux_sym__identifier_repeat2,
ACTIONS(120), 9,
anon_sym_,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[555] = 4,
ACTIONS(126), 1,
anon_sym_,
ACTIONS(129), 1,
sym__dash,
STATE(21), 1,
aux_sym__identifier_repeat1,
ACTIONS(124), 9,
anon_sym_COLON,
sym__word,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[576] = 5,
ACTIONS(109), 1,
sym__word,
ACTIONS(131), 1,
anon_sym_,
ACTIONS(133), 1,
sym__dash,
STATE(18), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[599] = 5,
ACTIONS(109), 1,
sym__word,
ACTIONS(135), 1,
anon_sym_,
ACTIONS(137), 1,
sym__dash,
STATE(19), 1,
aux_sym__identifier_repeat1,
ACTIONS(67), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[622] = 8,
ACTIONS(13), 1,
anon_sym_,
ACTIONS(15), 1,
anon_sym_COLON,
ACTIONS(141), 1,
sym_dot,
STATE(52), 1,
aux_sym_shape_repeat1,
STATE(63), 1,
sym__colon,
STATE(101), 1,
aux_sym__identifier_repeat1,
STATE(75), 2,
sym__eof,
sym__end,
ACTIONS(139), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[650] = 2,
ACTIONS(122), 1,
sym__dash,
ACTIONS(120), 10,
anon_sym_,
anon_sym_COLON,
sym__word,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[666] = 2,
ACTIONS(145), 1,
sym__dash,
ACTIONS(143), 10,
anon_sym_,
anon_sym_COLON,
sym__word,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[682] = 4,
ACTIONS(77), 1,
anon_sym_,
ACTIONS(115), 1,
sym__dash,
STATE(28), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[702] = 4,
ACTIONS(99), 1,
anon_sym_,
ACTIONS(101), 1,
sym__dash,
STATE(21), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[722] = 4,
ACTIONS(99), 1,
anon_sym_,
ACTIONS(115), 1,
sym__dash,
STATE(21), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[742] = 4,
ACTIONS(71), 1,
anon_sym_,
ACTIONS(101), 1,
sym__dash,
STATE(33), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[762] = 4,
ACTIONS(99), 1,
anon_sym_,
ACTIONS(149), 1,
sym__dash,
STATE(21), 1,
aux_sym__identifier_repeat1,
ACTIONS(147), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[782] = 4,
ACTIONS(103), 1,
anon_sym_,
ACTIONS(107), 1,
sym__dash,
STATE(31), 1,
aux_sym__identifier_repeat1,
ACTIONS(105), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[802] = 4,
ACTIONS(99), 1,
anon_sym_,
ACTIONS(107), 1,
sym__dash,
STATE(21), 1,
aux_sym__identifier_repeat1,
ACTIONS(105), 8,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[822] = 2,
ACTIONS(151), 1,
sym__dash,
ACTIONS(83), 9,
anon_sym_,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[837] = 6,
ACTIONS(153), 1,
sym__word,
ACTIONS(155), 1,
anon_sym_,
ACTIONS(157), 1,
sym__dash,
STATE(41), 1,
aux_sym__identifier_repeat2,
STATE(57), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[860] = 2,
ACTIONS(161), 1,
sym__dash,
ACTIONS(159), 9,
anon_sym_,
anon_sym_COLON,
anon_sym_DASH_DASH,
anon_sym_LT_DASH,
anon_sym_DASH_GT,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[875] = 6,
ACTIONS(153), 1,
sym__word,
ACTIONS(163), 1,
anon_sym_,
ACTIONS(165), 1,
sym__dash,
STATE(41), 1,
aux_sym__identifier_repeat2,
STATE(61), 1,
aux_sym__identifier_repeat1,
ACTIONS(67), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[898] = 6,
ACTIONS(153), 1,
sym__word,
ACTIONS(167), 1,
anon_sym_,
ACTIONS(169), 1,
sym__dash,
STATE(41), 1,
aux_sym__identifier_repeat2,
STATE(54), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[921] = 3,
ACTIONS(171), 1,
anon_sym_,
STATE(39), 1,
aux_sym__identifier_repeat1,
ACTIONS(124), 7,
anon_sym_COLON,
sym__dash,
sym__word,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[937] = 5,
ACTIONS(174), 1,
sym__word,
ACTIONS(176), 1,
anon_sym_,
ACTIONS(178), 1,
sym__dash,
STATE(45), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[957] = 3,
ACTIONS(180), 1,
sym__word,
STATE(41), 1,
aux_sym__identifier_repeat2,
ACTIONS(120), 7,
anon_sym_,
anon_sym_COLON,
sym__dash,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[973] = 5,
ACTIONS(174), 1,
sym__word,
ACTIONS(183), 1,
anon_sym_,
ACTIONS(185), 1,
sym__dash,
STATE(48), 1,
aux_sym__identifier_repeat1,
ACTIONS(67), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[993] = 5,
ACTIONS(174), 1,
sym__word,
ACTIONS(187), 1,
anon_sym_,
ACTIONS(189), 1,
sym__dash,
STATE(46), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1013] = 4,
ACTIONS(155), 1,
anon_sym_,
ACTIONS(191), 1,
sym__word,
STATE(57), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1030] = 4,
ACTIONS(191), 1,
sym__word,
ACTIONS(193), 1,
anon_sym_,
STATE(39), 1,
aux_sym__identifier_repeat1,
ACTIONS(105), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1047] = 4,
ACTIONS(191), 1,
sym__word,
ACTIONS(193), 1,
anon_sym_,
STATE(39), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1064] = 1,
ACTIONS(143), 8,
anon_sym_,
anon_sym_COLON,
sym__dash,
sym__word,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1075] = 4,
ACTIONS(191), 1,
sym__word,
ACTIONS(193), 1,
anon_sym_,
STATE(39), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1092] = 1,
ACTIONS(120), 8,
anon_sym_,
anon_sym_COLON,
sym__dash,
sym__word,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1103] = 4,
ACTIONS(191), 1,
sym__word,
ACTIONS(195), 1,
anon_sym_,
STATE(59), 1,
aux_sym__identifier_repeat1,
ACTIONS(105), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1120] = 4,
ACTIONS(167), 1,
anon_sym_,
ACTIONS(191), 1,
sym__word,
STATE(54), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1137] = 3,
ACTIONS(199), 1,
sym_dot,
STATE(52), 1,
aux_sym_shape_repeat1,
ACTIONS(197), 5,
anon_sym_,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1151] = 3,
ACTIONS(167), 1,
anon_sym_,
STATE(54), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1165] = 3,
ACTIONS(193), 1,
anon_sym_,
STATE(39), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1179] = 3,
ACTIONS(155), 1,
anon_sym_,
STATE(57), 1,
aux_sym__identifier_repeat1,
ACTIONS(73), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1193] = 7,
ACTIONS(35), 1,
anon_sym_,
ACTIONS(37), 1,
sym__dash,
ACTIONS(202), 1,
sym__word,
STATE(36), 1,
sym__identifier,
STATE(37), 1,
aux_sym__identifier_repeat2,
STATE(71), 1,
sym_identifier,
STATE(77), 1,
aux_sym__identifier_repeat1,
[1215] = 3,
ACTIONS(193), 1,
anon_sym_,
STATE(39), 1,
aux_sym__identifier_repeat1,
ACTIONS(105), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1229] = 3,
ACTIONS(195), 1,
anon_sym_,
STATE(59), 1,
aux_sym__identifier_repeat1,
ACTIONS(105), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1243] = 3,
ACTIONS(193), 1,
anon_sym_,
STATE(39), 1,
aux_sym__identifier_repeat1,
ACTIONS(147), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1257] = 7,
ACTIONS(9), 1,
anon_sym_,
ACTIONS(11), 1,
sym__dash,
ACTIONS(204), 1,
sym__word,
STATE(9), 1,
aux_sym__identifier_repeat2,
STATE(34), 1,
sym_identifier,
STATE(36), 1,
sym__identifier,
STATE(86), 1,
aux_sym__identifier_repeat1,
[1279] = 3,
ACTIONS(193), 1,
anon_sym_,
STATE(39), 1,
aux_sym__identifier_repeat1,
ACTIONS(79), 5,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1293] = 6,
ACTIONS(206), 1,
sym__unquoted_string,
ACTIONS(208), 1,
anon_sym_SQUOTE,
ACTIONS(210), 1,
anon_sym_DQUOTE,
ACTIONS(212), 1,
anon_sym_BQUOTE,
STATE(102), 1,
sym_attr_value,
STATE(105), 1,
sym_string,
[1312] = 6,
ACTIONS(208), 1,
anon_sym_SQUOTE,
ACTIONS(210), 1,
anon_sym_DQUOTE,
ACTIONS(212), 1,
anon_sym_BQUOTE,
ACTIONS(214), 1,
sym__unquoted_string,
STATE(85), 1,
sym_label,
STATE(104), 1,
sym_string,
[1331] = 4,
ACTIONS(216), 1,
anon_sym_,
ACTIONS(218), 1,
sym__unquoted_string,
STATE(74), 1,
aux_sym__identifier_repeat1,
ACTIONS(220), 3,
anon_sym_SQUOTE,
anon_sym_DQUOTE,
anon_sym_BQUOTE,
[1346] = 6,
ACTIONS(208), 1,
anon_sym_SQUOTE,
ACTIONS(210), 1,
anon_sym_DQUOTE,
ACTIONS(212), 1,
anon_sym_BQUOTE,
ACTIONS(214), 1,
sym__unquoted_string,
STATE(82), 1,
sym_label,
STATE(104), 1,
sym_string,
[1365] = 6,
ACTIONS(208), 1,
anon_sym_SQUOTE,
ACTIONS(210), 1,
anon_sym_DQUOTE,
ACTIONS(212), 1,
anon_sym_BQUOTE,
ACTIONS(214), 1,
sym__unquoted_string,
STATE(83), 1,
sym_label,
STATE(104), 1,
sym_string,
[1384] = 4,
ACTIONS(216), 1,
anon_sym_,
ACTIONS(222), 1,
sym__unquoted_string,
STATE(74), 1,
aux_sym__identifier_repeat1,
ACTIONS(224), 3,
anon_sym_SQUOTE,
anon_sym_DQUOTE,
anon_sym_BQUOTE,
[1399] = 6,
ACTIONS(206), 1,
sym__unquoted_string,
ACTIONS(208), 1,
anon_sym_SQUOTE,
ACTIONS(210), 1,
anon_sym_DQUOTE,
ACTIONS(212), 1,
anon_sym_BQUOTE,
STATE(103), 1,
sym_attr_value,
STATE(105), 1,
sym_string,
[1418] = 6,
ACTIONS(206), 1,
sym__unquoted_string,
ACTIONS(208), 1,
anon_sym_SQUOTE,
ACTIONS(210), 1,
anon_sym_DQUOTE,
ACTIONS(212), 1,
anon_sym_BQUOTE,
STATE(105), 1,
sym_string,
STATE(117), 1,
sym_attr_value,
[1437] = 4,
ACTIONS(226), 1,
anon_sym_,
ACTIONS(228), 1,
sym__unquoted_string,
STATE(64), 1,
aux_sym__identifier_repeat1,
ACTIONS(230), 3,
anon_sym_SQUOTE,
anon_sym_DQUOTE,
anon_sym_BQUOTE,
[1452] = 1,
ACTIONS(197), 6,
anon_sym_,
anon_sym_COLON,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
sym_dot,
[1461] = 6,
ACTIONS(206), 1,
sym__unquoted_string,
ACTIONS(208), 1,
anon_sym_SQUOTE,
ACTIONS(210), 1,
anon_sym_DQUOTE,
ACTIONS(212), 1,
anon_sym_BQUOTE,
STATE(79), 1,
sym_attr_value,
STATE(105), 1,
sym_string,
[1480] = 4,
ACTIONS(218), 1,
sym__unquoted_string,
ACTIONS(232), 1,
anon_sym_,
STATE(67), 1,
aux_sym__identifier_repeat1,
ACTIONS(220), 3,
anon_sym_SQUOTE,
anon_sym_DQUOTE,
anon_sym_BQUOTE,
[1495] = 4,
ACTIONS(129), 1,
sym__unquoted_string,
ACTIONS(234), 1,
anon_sym_,
STATE(74), 1,
aux_sym__identifier_repeat1,
ACTIONS(124), 3,
anon_sym_SQUOTE,
anon_sym_DQUOTE,
anon_sym_BQUOTE,
[1510] = 2,
ACTIONS(239), 2,
sym__root_attr_key,
sym__word,
ACTIONS(237), 3,
ts_builtin_sym_end,
anon_sym_,
sym__dash,
[1520] = 2,
ACTIONS(243), 2,
sym__root_attr_key,
sym__word,
ACTIONS(241), 3,
ts_builtin_sym_end,
anon_sym_,
sym__dash,
[1530] = 5,
ACTIONS(193), 1,
anon_sym_,
ACTIONS(245), 1,
sym__word,
ACTIONS(247), 1,
sym__dash,
STATE(38), 1,
aux_sym__identifier_repeat2,
STATE(39), 1,
aux_sym__identifier_repeat1,
[1546] = 3,
ACTIONS(251), 1,
anon_sym_GT,
STATE(81), 1,
aux_sym_arrow_repeat1,
ACTIONS(249), 3,
anon_sym_,
sym__dash,
sym__word,
[1558] = 2,
STATE(88), 2,
sym__eof,
sym__end,
ACTIONS(253), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1568] = 2,
ACTIONS(257), 2,
sym__root_attr_key,
sym__word,
ACTIONS(255), 3,
ts_builtin_sym_end,
anon_sym_,
sym__dash,
[1578] = 3,
ACTIONS(261), 1,
sym__dash,
STATE(81), 1,
aux_sym_arrow_repeat1,
ACTIONS(259), 3,
anon_sym_,
sym__word,
anon_sym_GT,
[1590] = 2,
STATE(80), 2,
sym__eof,
sym__end,
ACTIONS(264), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1600] = 2,
STATE(89), 2,
sym__eof,
sym__end,
ACTIONS(266), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1610] = 2,
ACTIONS(270), 2,
sym__root_attr_key,
sym__word,
ACTIONS(268), 3,
ts_builtin_sym_end,
anon_sym_,
sym__dash,
[1620] = 2,
STATE(84), 2,
sym__eof,
sym__end,
ACTIONS(272), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1630] = 5,
ACTIONS(193), 1,
anon_sym_,
ACTIONS(274), 1,
sym__word,
ACTIONS(276), 1,
sym__dash,
STATE(11), 1,
aux_sym__identifier_repeat2,
STATE(39), 1,
aux_sym__identifier_repeat1,
[1646] = 3,
ACTIONS(280), 1,
anon_sym_GT,
STATE(78), 1,
aux_sym_arrow_repeat1,
ACTIONS(278), 3,
anon_sym_,
sym__dash,
sym__word,
[1658] = 2,
ACTIONS(284), 2,
sym__root_attr_key,
sym__word,
ACTIONS(282), 3,
ts_builtin_sym_end,
anon_sym_,
sym__dash,
[1668] = 2,
ACTIONS(288), 2,
sym__root_attr_key,
sym__word,
ACTIONS(286), 3,
ts_builtin_sym_end,
anon_sym_,
sym__dash,
[1678] = 2,
ACTIONS(292), 2,
sym__root_attr_key,
sym__word,
ACTIONS(290), 3,
ts_builtin_sym_end,
anon_sym_,
sym__dash,
[1688] = 2,
STATE(81), 1,
aux_sym_arrow_repeat1,
ACTIONS(249), 3,
anon_sym_,
sym__dash,
sym__word,
[1697] = 4,
ACTIONS(109), 1,
sym__word,
ACTIONS(294), 1,
anon_sym_,
ACTIONS(296), 1,
sym__dash,
STATE(123), 1,
aux_sym__identifier_repeat1,
[1710] = 2,
STATE(91), 1,
aux_sym_arrow_repeat1,
ACTIONS(278), 3,
anon_sym_,
sym__dash,
sym__word,
[1719] = 4,
ACTIONS(13), 1,
anon_sym_,
ACTIONS(15), 1,
anon_sym_COLON,
STATE(68), 1,
sym__colon,
STATE(101), 1,
aux_sym__identifier_repeat1,
[1732] = 4,
ACTIONS(13), 1,
anon_sym_,
ACTIONS(15), 1,
anon_sym_COLON,
STATE(72), 1,
sym__colon,
STATE(101), 1,
aux_sym__identifier_repeat1,
[1745] = 3,
STATE(83), 1,
sym__connection_attribute,
STATE(99), 1,
sym__connection_attr_key,
ACTIONS(298), 2,
anon_sym_source_DASHarrowhead,
anon_sym_target_DASHarrowhead,
[1756] = 4,
ACTIONS(174), 1,
sym__word,
ACTIONS(300), 1,
anon_sym_,
ACTIONS(302), 1,
sym__dash,
STATE(118), 1,
aux_sym__identifier_repeat1,
[1769] = 4,
ACTIONS(13), 1,
anon_sym_,
ACTIONS(15), 1,
anon_sym_COLON,
STATE(69), 1,
sym__colon,
STATE(101), 1,
aux_sym__identifier_repeat1,
[1782] = 4,
ACTIONS(13), 1,
anon_sym_,
ACTIONS(15), 1,
anon_sym_COLON,
STATE(62), 1,
sym__colon,
STATE(101), 1,
aux_sym__identifier_repeat1,
[1795] = 3,
ACTIONS(304), 1,
anon_sym_DQUOTE,
ACTIONS(306), 1,
aux_sym_string_token2,
STATE(110), 1,
aux_sym_string_repeat2,
[1805] = 3,
ACTIONS(193), 1,
anon_sym_,
ACTIONS(308), 1,
anon_sym_COLON,
STATE(39), 1,
aux_sym__identifier_repeat1,
[1815] = 1,
ACTIONS(310), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1821] = 1,
ACTIONS(312), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1827] = 1,
ACTIONS(314), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1833] = 1,
ACTIONS(316), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1839] = 3,
ACTIONS(259), 1,
anon_sym_DASH_GT,
ACTIONS(318), 1,
sym__dash,
STATE(106), 1,
aux_sym_arrow_repeat1,
[1849] = 3,
ACTIONS(280), 1,
anon_sym_DASH_GT,
ACTIONS(321), 1,
sym__dash,
STATE(106), 1,
aux_sym_arrow_repeat1,
[1859] = 1,
ACTIONS(249), 3,
anon_sym_,
sym__dash,
sym__word,
[1865] = 3,
ACTIONS(323), 1,
anon_sym_BQUOTE,
ACTIONS(325), 1,
aux_sym_string_token3,
STATE(109), 1,
aux_sym_string_repeat3,
[1875] = 3,
ACTIONS(328), 1,
anon_sym_DQUOTE,
ACTIONS(330), 1,
aux_sym_string_token2,
STATE(110), 1,
aux_sym_string_repeat2,
[1885] = 1,
ACTIONS(278), 3,
anon_sym_,
sym__dash,
sym__word,
[1891] = 3,
ACTIONS(333), 1,
anon_sym_SQUOTE,
ACTIONS(335), 1,
aux_sym_string_token1,
STATE(112), 1,
aux_sym_string_repeat1,
[1901] = 1,
ACTIONS(338), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1907] = 3,
ACTIONS(340), 1,
anon_sym_SQUOTE,
ACTIONS(342), 1,
aux_sym_string_token1,
STATE(121), 1,
aux_sym_string_repeat1,
[1917] = 3,
ACTIONS(340), 1,
anon_sym_DQUOTE,
ACTIONS(344), 1,
aux_sym_string_token2,
STATE(100), 1,
aux_sym_string_repeat2,
[1927] = 3,
ACTIONS(340), 1,
anon_sym_BQUOTE,
ACTIONS(346), 1,
aux_sym_string_token3,
STATE(120), 1,
aux_sym_string_repeat3,
[1937] = 1,
ACTIONS(348), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1943] = 3,
ACTIONS(191), 1,
sym__word,
ACTIONS(193), 1,
anon_sym_,
STATE(39), 1,
aux_sym__identifier_repeat1,
[1953] = 1,
ACTIONS(350), 3,
anon_sym_,
sym__dash,
sym__word,
[1959] = 3,
ACTIONS(304), 1,
anon_sym_BQUOTE,
ACTIONS(352), 1,
aux_sym_string_token3,
STATE(109), 1,
aux_sym_string_repeat3,
[1969] = 3,
ACTIONS(304), 1,
anon_sym_SQUOTE,
ACTIONS(354), 1,
aux_sym_string_token1,
STATE(112), 1,
aux_sym_string_repeat1,
[1979] = 1,
ACTIONS(356), 3,
anon_sym_LF,
anon_sym_2,
anon_sym_SEMI,
[1985] = 3,
ACTIONS(97), 1,
sym__word,
ACTIONS(193), 1,
anon_sym_,
STATE(39), 1,
aux_sym__identifier_repeat1,
[1995] = 1,
ACTIONS(358), 2,
anon_sym_,
anon_sym_COLON,
[2000] = 2,
ACTIONS(274), 1,
sym__word,
STATE(11), 1,
aux_sym__identifier_repeat2,
[2007] = 2,
ACTIONS(360), 1,
sym__word,
STATE(10), 1,
aux_sym__identifier_repeat2,
[2014] = 1,
ACTIONS(362), 2,
anon_sym_,
anon_sym_COLON,
[2019] = 2,
ACTIONS(245), 1,
sym__word,
STATE(38), 1,
aux_sym__identifier_repeat2,
[2026] = 1,
ACTIONS(364), 2,
anon_sym_,
anon_sym_COLON,
[2031] = 2,
ACTIONS(366), 1,
sym__word,
STATE(35), 1,
aux_sym__identifier_repeat2,
[2038] = 1,
ACTIONS(191), 1,
sym__word,
[2042] = 1,
ACTIONS(97), 1,
sym__word,
[2046] = 1,
ACTIONS(368), 1,
ts_builtin_sym_end,
[2050] = 1,
ACTIONS(370), 1,
sym_dot,
};
static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE(2)] = 0,
[SMALL_STATE(3)] = 49,
[SMALL_STATE(4)] = 89,
[SMALL_STATE(5)] = 129,
[SMALL_STATE(6)] = 175,
[SMALL_STATE(7)] = 210,
[SMALL_STATE(8)] = 245,
[SMALL_STATE(9)] = 265,
[SMALL_STATE(10)] = 291,
[SMALL_STATE(11)] = 317,
[SMALL_STATE(12)] = 343,
[SMALL_STATE(13)] = 373,
[SMALL_STATE(14)] = 396,
[SMALL_STATE(15)] = 419,
[SMALL_STATE(16)] = 442,
[SMALL_STATE(17)] = 465,
[SMALL_STATE(18)] = 488,
[SMALL_STATE(19)] = 511,
[SMALL_STATE(20)] = 534,
[SMALL_STATE(21)] = 555,
[SMALL_STATE(22)] = 576,
[SMALL_STATE(23)] = 599,
[SMALL_STATE(24)] = 622,
[SMALL_STATE(25)] = 650,
[SMALL_STATE(26)] = 666,
[SMALL_STATE(27)] = 682,
[SMALL_STATE(28)] = 702,
[SMALL_STATE(29)] = 722,
[SMALL_STATE(30)] = 742,
[SMALL_STATE(31)] = 762,
[SMALL_STATE(32)] = 782,
[SMALL_STATE(33)] = 802,
[SMALL_STATE(34)] = 822,
[SMALL_STATE(35)] = 837,
[SMALL_STATE(36)] = 860,
[SMALL_STATE(37)] = 875,
[SMALL_STATE(38)] = 898,
[SMALL_STATE(39)] = 921,
[SMALL_STATE(40)] = 937,
[SMALL_STATE(41)] = 957,
[SMALL_STATE(42)] = 973,
[SMALL_STATE(43)] = 993,
[SMALL_STATE(44)] = 1013,
[SMALL_STATE(45)] = 1030,
[SMALL_STATE(46)] = 1047,
[SMALL_STATE(47)] = 1064,
[SMALL_STATE(48)] = 1075,
[SMALL_STATE(49)] = 1092,
[SMALL_STATE(50)] = 1103,
[SMALL_STATE(51)] = 1120,
[SMALL_STATE(52)] = 1137,
[SMALL_STATE(53)] = 1151,
[SMALL_STATE(54)] = 1165,
[SMALL_STATE(55)] = 1179,
[SMALL_STATE(56)] = 1193,
[SMALL_STATE(57)] = 1215,
[SMALL_STATE(58)] = 1229,
[SMALL_STATE(59)] = 1243,
[SMALL_STATE(60)] = 1257,
[SMALL_STATE(61)] = 1279,
[SMALL_STATE(62)] = 1293,
[SMALL_STATE(63)] = 1312,
[SMALL_STATE(64)] = 1331,
[SMALL_STATE(65)] = 1346,
[SMALL_STATE(66)] = 1365,
[SMALL_STATE(67)] = 1384,
[SMALL_STATE(68)] = 1399,
[SMALL_STATE(69)] = 1418,
[SMALL_STATE(70)] = 1437,
[SMALL_STATE(71)] = 1452,
[SMALL_STATE(72)] = 1461,
[SMALL_STATE(73)] = 1480,
[SMALL_STATE(74)] = 1495,
[SMALL_STATE(75)] = 1510,
[SMALL_STATE(76)] = 1520,
[SMALL_STATE(77)] = 1530,
[SMALL_STATE(78)] = 1546,
[SMALL_STATE(79)] = 1558,
[SMALL_STATE(80)] = 1568,
[SMALL_STATE(81)] = 1578,
[SMALL_STATE(82)] = 1590,
[SMALL_STATE(83)] = 1600,
[SMALL_STATE(84)] = 1610,
[SMALL_STATE(85)] = 1620,
[SMALL_STATE(86)] = 1630,
[SMALL_STATE(87)] = 1646,
[SMALL_STATE(88)] = 1658,
[SMALL_STATE(89)] = 1668,
[SMALL_STATE(90)] = 1678,
[SMALL_STATE(91)] = 1688,
[SMALL_STATE(92)] = 1697,
[SMALL_STATE(93)] = 1710,
[SMALL_STATE(94)] = 1719,
[SMALL_STATE(95)] = 1732,
[SMALL_STATE(96)] = 1745,
[SMALL_STATE(97)] = 1756,
[SMALL_STATE(98)] = 1769,
[SMALL_STATE(99)] = 1782,
[SMALL_STATE(100)] = 1795,
[SMALL_STATE(101)] = 1805,
[SMALL_STATE(102)] = 1815,
[SMALL_STATE(103)] = 1821,
[SMALL_STATE(104)] = 1827,
[SMALL_STATE(105)] = 1833,
[SMALL_STATE(106)] = 1839,
[SMALL_STATE(107)] = 1849,
[SMALL_STATE(108)] = 1859,
[SMALL_STATE(109)] = 1865,
[SMALL_STATE(110)] = 1875,
[SMALL_STATE(111)] = 1885,
[SMALL_STATE(112)] = 1891,
[SMALL_STATE(113)] = 1901,
[SMALL_STATE(114)] = 1907,
[SMALL_STATE(115)] = 1917,
[SMALL_STATE(116)] = 1927,
[SMALL_STATE(117)] = 1937,
[SMALL_STATE(118)] = 1943,
[SMALL_STATE(119)] = 1953,
[SMALL_STATE(120)] = 1959,
[SMALL_STATE(121)] = 1969,
[SMALL_STATE(122)] = 1979,
[SMALL_STATE(123)] = 1985,
[SMALL_STATE(124)] = 1995,
[SMALL_STATE(125)] = 2000,
[SMALL_STATE(126)] = 2007,
[SMALL_STATE(127)] = 2014,
[SMALL_STATE(128)] = 2019,
[SMALL_STATE(129)] = 2026,
[SMALL_STATE(130)] = 2031,
[SMALL_STATE(131)] = 2038,
[SMALL_STATE(132)] = 2042,
[SMALL_STATE(133)] = 2046,
[SMALL_STATE(134)] = 2050,
};
static const TSParseActionEntry ts_parse_actions[] = {
[0] = {.entry = {.count = 0, .reusable = false}},
[1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
[3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0),
[5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23),
[7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95),
[9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
[11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
[13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
[15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
[17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107),
[19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
[21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
[23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111),
[25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
[27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
[29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42),
[31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134),
[33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129),
[35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
[37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
[39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
[41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
[43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1),
[45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
[47] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(23),
[50] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(95),
[53] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(86),
[56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(125),
[59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127),
[61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127),
[63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
[65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
[67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__identifier, 1),
[69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27),
[71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
[73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__identifier, 3),
[75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32),
[77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
[79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__identifier, 2),
[81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30),
[83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_connection_repeat1, 2),
[85] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_connection_repeat1, 2), SHIFT_REPEAT(107),
[88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_connection_repeat1, 2), SHIFT_REPEAT(93),
[91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_connection_repeat1, 2), SHIFT_REPEAT(87),
[94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_connection_repeat1, 2), SHIFT_REPEAT(111),
[97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
[99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
[101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__identifier, 3),
[103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
[105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__identifier, 4),
[107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__identifier, 4),
[109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
[111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
[113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14),
[115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__identifier, 2),
[117] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__identifier_repeat2, 2), SHIFT_REPEAT(92),
[120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__identifier_repeat2, 2),
[122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__identifier_repeat2, 2),
[124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__identifier_repeat1, 2),
[126] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__identifier_repeat1, 2), SHIFT_REPEAT(21),
[129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__identifier_repeat1, 2),
[131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
[133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15),
[135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
[137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17),
[139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
[141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
[143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__identifier_repeat2, 3),
[145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__identifier_repeat2, 3),
[147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__identifier, 5),
[149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__identifier, 5),
[151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_connection_repeat1, 2),
[153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
[155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
[157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
[159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1),
[161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1),
[163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
[165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
[167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
[169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
[171] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__identifier_repeat1, 2), SHIFT_REPEAT(39),
[174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
[176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
[178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
[180] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__identifier_repeat2, 2), SHIFT_REPEAT(97),
[183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
[185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
[187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
[189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
[191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
[193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
[195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
[197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_shape_repeat1, 2),
[199] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_shape_repeat1, 2), SHIFT_REPEAT(56),
[202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
[204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
[206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
[208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114),
[210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115),
[212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116),
[214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104),
[216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74),
[218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__colon, 2),
[220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon, 2),
[222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__colon, 3),
[224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon, 3),
[226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64),
[228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__colon, 1),
[230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon, 1),
[232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67),
[234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__identifier_repeat1, 2), SHIFT_REPEAT(74),
[237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape, 3),
[239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_shape, 3),
[241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_connection, 3),
[243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_connection, 3),
[245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
[247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
[249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arrow, 2),
[251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119),
[253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
[255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape, 4),
[257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_shape, 4),
[259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arrow_repeat1, 2),
[261] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_arrow_repeat1, 2), SHIFT_REPEAT(81),
[264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
[266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
[268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape, 5),
[270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_shape, 5),
[272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
[274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
[276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126),
[278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arrow, 1),
[280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108),
[282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__root_attribute, 4),
[284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__root_attribute, 4),
[286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_connection, 5),
[288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_connection, 5),
[290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape, 2),
[292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_shape, 2),
[294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123),
[296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
[298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
[300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118),
[302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
[304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113),
[306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110),
[308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
[310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__connection_attribute, 3),
[312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__style_attribute, 5),
[314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 1),
[316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_value, 1),
[318] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_arrow_repeat1, 2), SHIFT_REPEAT(106),
[321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106),
[323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat3, 2),
[325] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat3, 2), SHIFT_REPEAT(109),
[328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat2, 2),
[330] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat2, 2), SHIFT_REPEAT(110),
[333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2),
[335] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(112),
[338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3),
[340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
[342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121),
[344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
[346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120),
[348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__shape_attribute, 3),
[350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arrow, 3),
[352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109),
[354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112),
[356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2),
[358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__connection_attr_key, 1),
[360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
[362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__style_attr_key, 1),
[364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__shape_attr_key, 1),
[366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
[368] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
[370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
};
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#define extern __declspec(dllexport)
#endif
extern const TSLanguage *tree_sitter_d2(void) {
static const TSLanguage language = {
.version = LANGUAGE_VERSION,
.symbol_count = SYMBOL_COUNT,
.alias_count = ALIAS_COUNT,
.token_count = TOKEN_COUNT,
.external_token_count = EXTERNAL_TOKEN_COUNT,
.state_count = STATE_COUNT,
.large_state_count = LARGE_STATE_COUNT,
.production_id_count = PRODUCTION_ID_COUNT,
.field_count = FIELD_COUNT,
.max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
.parse_table = &ts_parse_table[0][0],
.small_parse_table = ts_small_parse_table,
.small_parse_table_map = ts_small_parse_table_map,
.parse_actions = ts_parse_actions,
.symbol_names = ts_symbol_names,
.symbol_metadata = ts_symbol_metadata,
.public_symbol_map = ts_symbol_map,
.alias_map = ts_non_terminal_alias_map,
.alias_sequences = &ts_alias_sequences[0][0],
.lex_modes = ts_lex_modes,
.lex_fn = ts_lex,
.keyword_lex_fn = ts_lex_keywords,
.keyword_capture_token = sym__word,
.primary_state_ids = ts_primary_state_ids,
};
return &language;
}
#ifdef __cplusplus
}
#endif