6921 lines
201 KiB
C
6921 lines
201 KiB
C
#include <tree_sitter/parser.h>
|
||
|
||
#if defined(__GNUC__) || defined(__clang__)
|
||
#pragma GCC diagnostic push
|
||
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
|
||
#endif
|
||
|
||
#ifdef _MSC_VER
|
||
#pragma optimize("", off)
|
||
#elif defined(__clang__)
|
||
#pragma clang optimize off
|
||
#elif defined(__GNUC__)
|
||
#pragma GCC optimize ("O0")
|
||
#endif
|
||
|
||
#define LANGUAGE_VERSION 14
|
||
#define STATE_COUNT 171
|
||
#define LARGE_STATE_COUNT 2
|
||
#define SYMBOL_COUNT 104
|
||
#define ALIAS_COUNT 1
|
||
#define TOKEN_COUNT 63
|
||
#define EXTERNAL_TOKEN_COUNT 4
|
||
#define FIELD_COUNT 0
|
||
#define MAX_ALIAS_SEQUENCE_LENGTH 5
|
||
#define PRODUCTION_ID_COUNT 3
|
||
|
||
enum {
|
||
anon_sym_ = 1,
|
||
anon_sym_LBRACE = 2,
|
||
anon_sym_RBRACE = 3,
|
||
aux_sym__identifier_token1 = 4,
|
||
aux_sym__identifier_token2 = 5,
|
||
aux_sym__identifier_token3 = 6,
|
||
aux_sym_text_block_token1 = 7,
|
||
sym_language = 8,
|
||
anon_sym_direction = 9,
|
||
anon_sym_shape = 10,
|
||
anon_sym_label = 11,
|
||
anon_sym_constraint = 12,
|
||
anon_sym_icon = 13,
|
||
anon_sym_style = 14,
|
||
anon_sym_link = 15,
|
||
anon_sym_tooltip = 16,
|
||
anon_sym_width = 17,
|
||
anon_sym_height = 18,
|
||
anon_sym_grid_DASHgap = 19,
|
||
anon_sym_grid_DASHcolumns = 20,
|
||
anon_sym_grid_DASHrows = 21,
|
||
anon_sym_3d = 22,
|
||
anon_sym_opacity = 23,
|
||
anon_sym_fill = 24,
|
||
anon_sym_fill_DASHpattern = 25,
|
||
anon_sym_stroke = 26,
|
||
anon_sym_stroke_DASHwidth = 27,
|
||
anon_sym_stroke_DASHdash = 28,
|
||
anon_sym_border_DASHradius = 29,
|
||
anon_sym_double_DASHborder = 30,
|
||
anon_sym_font_DASHsize = 31,
|
||
anon_sym_font_DASHcolor = 32,
|
||
anon_sym_shadow = 33,
|
||
anon_sym_multiple = 34,
|
||
anon_sym_animated = 35,
|
||
anon_sym_italic = 36,
|
||
anon_sym_bold = 37,
|
||
anon_sym_underline = 38,
|
||
sym__text_attr_key = 39,
|
||
anon_sym_source_DASHarrowhead = 40,
|
||
anon_sym_target_DASHarrowhead = 41,
|
||
sym__dash = 42,
|
||
anon_sym_COLON = 43,
|
||
sym_arrow = 44,
|
||
sym_dot = 45,
|
||
aux_sym__unquoted_string_token1 = 46,
|
||
anon_sym_SQUOTE = 47,
|
||
anon_sym_DQUOTE = 48,
|
||
sym__unescaped_single_string_fragment = 49,
|
||
sym__unescaped_double_string_fragment = 50,
|
||
sym_escape_sequence = 51,
|
||
anon_sym_true = 52,
|
||
anon_sym_false = 53,
|
||
sym_integer = 54,
|
||
sym_float = 55,
|
||
sym_line_comment = 56,
|
||
sym__eol = 57,
|
||
anon_sym_SEMI = 58,
|
||
sym__text_block_start = 59,
|
||
sym__text_block_end = 60,
|
||
sym__text_block_raw_text = 61,
|
||
sym_block_comment = 62,
|
||
sym_source_file = 63,
|
||
sym__root_definition = 64,
|
||
sym_connection = 65,
|
||
sym__connection_path = 66,
|
||
sym__connection_block = 67,
|
||
sym_container = 68,
|
||
sym__container_block = 69,
|
||
sym__container_block_definition = 70,
|
||
sym_shape = 71,
|
||
sym_shape_key = 72,
|
||
sym__identifier = 73,
|
||
sym_text_block = 74,
|
||
sym__root_attribute = 75,
|
||
sym__root_attr_key = 76,
|
||
sym__shape_attribute = 77,
|
||
sym__base_shape_attribute = 78,
|
||
sym__shape_attr_key = 79,
|
||
sym__style_attribute = 80,
|
||
sym__style_attribute_block = 81,
|
||
sym__inner_style_attribute = 82,
|
||
sym__grid_attr_key = 83,
|
||
sym__style_attr_key = 84,
|
||
sym__common_style_attr_key = 85,
|
||
sym__connection_attribute = 86,
|
||
sym__connection_arrowhead_attribute = 87,
|
||
sym__connection_arrowhead_attr_key = 88,
|
||
sym_label = 89,
|
||
sym_attr_value = 90,
|
||
sym__colon = 91,
|
||
aux_sym__unquoted_string = 92,
|
||
sym_string = 93,
|
||
sym_boolean = 94,
|
||
sym__end = 95,
|
||
aux_sym_source_file_repeat1 = 96,
|
||
aux_sym_connection_repeat1 = 97,
|
||
aux_sym__connection_path_repeat1 = 98,
|
||
aux_sym__connection_block_repeat1 = 99,
|
||
aux_sym__container_block_repeat1 = 100,
|
||
aux_sym__identifier_repeat1 = 101,
|
||
aux_sym__style_attribute_block_repeat1 = 102,
|
||
aux_sym_string_repeat1 = 103,
|
||
alias_sym_container_key = 104,
|
||
};
|
||
|
||
static const char * const ts_symbol_names[] = {
|
||
[ts_builtin_sym_end] = "end",
|
||
[anon_sym_] = " |