#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 388
#define LARGE_STATE_COUNT 2
#define SYMBOL_COUNT 76
#define ALIAS_COUNT 1
#define TOKEN_COUNT 31
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 16
#define MAX_ALIAS_SEQUENCE_LENGTH 8
#define PRODUCTION_ID_COUNT 53

enum {
  sym_pattern_start = 1,
  sym_named_pattern_start = 2,
  sym_lexicon_start = 3,
  sym_alias = 4,
  sym_left_sieve = 5,
  anon_sym_GT = 6,
  anon_sym_PIPE = 7,
  sym_colon = 8,
  sym_question_op = 9,
  sym_star_op = 10,
  sym_plus_op = 11,
  anon_sym_LPAREN = 12,
  anon_sym_RPAREN = 13,
  anon_sym_DASH = 14,
  anon_sym_COMMA = 15,
  anon_sym_LBRACK = 16,
  anon_sym_RBRACK = 17,
  anon_sym_CARET = 18,
  sym_regex_string = 19,
  anon_sym_SLASH = 20,
  sym_lexicon_string = 21,
  sym_tag_symbol = 22,
  sym_archiphoneme_symbol = 23,
  sym_escaped_char = 24,
  sym_comment = 25,
  sym_identifier = 26,
  sym_tag = 27,
  sym_number = 28,
  sym__real_nl = 29,
  sym__ws = 30,
  sym_source_file = 31,
  sym_pattern_block = 32,
  sym_right_sieve = 33,
  sym_pattern_or = 34,
  sym_pattern_line = 35,
  sym_anonymous_pattern = 36,
  sym_pattern_option = 37,
  sym_pattern_operator = 38,
  sym_lexicon_reference = 39,
  sym_pattern_token = 40,
  sym_neg_tag = 41,
  sym__tag_or_neg = 42,
  sym__tag_list = 43,
  sym_tag_setting = 44,
  sym_tag_distribution_operator = 45,
  sym_tag_distribution = 46,
  sym__tag_filter_segment = 47,
  sym_tag_filter = 48,
  sym_anonymous_lexicon = 49,
  sym_lexicon_block = 50,
  sym_lexicon_line = 51,
  sym_regex_char_class = 52,
  aux_sym__plain_regex_string = 53,
  sym_regex_line = 54,
  sym_regex_group = 55,
  sym_regex = 56,
  sym__lexicon_side_left = 57,
  aux_sym__lexicon_side_right = 58,
  sym_lexicon_segment = 59,
  sym_morpheme_boundary = 60,
  sym__end_com = 61,
  sym_alias_command = 62,
  sym_block_comment = 63,
  sym__nl = 64,
  aux_sym_source_file_repeat1 = 65,
  aux_sym_pattern_block_repeat1 = 66,
  aux_sym_pattern_line_repeat1 = 67,
  aux_sym__tag_list_repeat1 = 68,
  aux_sym_tag_filter_repeat1 = 69,
  aux_sym_lexicon_block_repeat1 = 70,
  aux_sym_lexicon_line_repeat1 = 71,
  aux_sym_regex_char_class_repeat1 = 72,
  aux_sym_regex_group_repeat1 = 73,
  aux_sym_regex_repeat1 = 74,
  aux_sym_block_comment_repeat1 = 75,
  anon_alias_sym_flattened_operator = 76,
};

static const char * const ts_symbol_names[] = {
  [ts_builtin_sym_end] = "end",
  [sym_pattern_start] = "pattern_start",
  [sym_named_pattern_start] = "named_pattern_start",
  [sym_lexicon_start] = "lexicon_start",
  [sym_alias] = "alias",
  [sym_left_sieve] = "left_sieve",
  [anon_sym_GT] = ">",
  [anon_sym_PIPE] = "|",
  [sym_colon] = "colon",
  [sym_question_op] = "question_op",
  [sym_star_op] = "star_op",
  [sym_plus_op] = "plus_op",
  [anon_sym_LPAREN] = "(",
  [anon_sym_RPAREN] = ")",
  [anon_sym_DASH] = "-",
  [anon_sym_COMMA] = ",",
  [anon_sym_LBRACK] = "[",
  [anon_sym_RBRACK] = "]",
  [anon_sym_CARET] = "^",
  [sym_regex_string] = "regex_string",
  [anon_sym_SLASH] = "/",
  [sym_lexicon_string] = "lexicon_string",
  [sym_tag_symbol] = "tag_symbol",
  [sym_archiphoneme_symbol] = "archiphoneme_symbol",
  [sym_escaped_char] = "escaped_char",
  [sym_comment] = "comment",
  [sym_identifier] = "identifier",
  [sym_tag] = "tag",
  [sym_number] = "number",
  [sym__real_nl] = "_real_nl",
  [sym__ws] = "_ws",
  [sym_source_file] = "source_file",
  [sym_pattern_block] = "pattern_block",
  [sym_right_sieve] = "right_sieve",
  [sym_pattern_or] = "pattern_or",
  [sym_pattern_line] = "pattern_line",
  [sym_anonymous_pattern] = "anonymous_pattern",
  [sym_pattern_option] = "pattern_option",
  [sym_pattern_operator] = "pattern_operator",
  [sym_lexicon_reference] = "lexicon_reference",
  [sym_pattern_token] = "pattern_token",
  [sym_neg_tag] = "neg_tag",
  [sym__tag_or_neg] = "_tag_or_neg",
  [sym__tag_list] = "_tag_list",
  [sym_tag_setting] = "tag_setting",
  [sym_tag_distribution_operator] = "tag_distribution_operator",
  [sym_tag_distribution] = "tag_distribution",
  [sym__tag_filter_segment] = "_tag_filter_segment",
  [sym_tag_filter] = "tag_filter",
  [sym_anonymous_lexicon] = "anonymous_lexicon",
  [sym_lexicon_block] = "lexicon_block",
  [sym_lexicon_line] = "lexicon_line",
  [sym_regex_char_class] = "regex_char_class",
  [aux_sym__plain_regex_string] = "_plain_regex_string",
  [sym_regex_line] = "regex_line",
  [sym_regex_group] = "regex_group",
  [sym_regex] = "regex",
  [sym__lexicon_side_left] = "_lexicon_side_left",
  [aux_sym__lexicon_side_right] = "_lexicon_side_right",
  [sym_lexicon_segment] = "lexicon_segment",
  [sym_morpheme_boundary] = "morpheme_boundary",
  [sym__end_com] = "_end_com",
  [sym_alias_command] = "alias_command",
  [sym_block_comment] = "block_comment",
  [sym__nl] = "_nl",
  [aux_sym_source_file_repeat1] = "source_file_repeat1",
  [aux_sym_pattern_block_repeat1] = "pattern_block_repeat1",
  [aux_sym_pattern_line_repeat1] = "pattern_line_repeat1",
  [aux_sym__tag_list_repeat1] = "_tag_list_repeat1",
  [aux_sym_tag_filter_repeat1] = "tag_filter_repeat1",
  [aux_sym_lexicon_block_repeat1] = "lexicon_block_repeat1",
  [aux_sym_lexicon_line_repeat1] = "lexicon_line_repeat1",
  [aux_sym_regex_char_class_repeat1] = "regex_char_class_repeat1",
  [aux_sym_regex_group_repeat1] = "regex_group_repeat1",
  [aux_sym_regex_repeat1] = "regex_repeat1",
  [aux_sym_block_comment_repeat1] = "block_comment_repeat1",
  [anon_alias_sym_flattened_operator] = "flattened_operator",
};

static const TSSymbol ts_symbol_map[] = {
  [ts_builtin_sym_end] = ts_builtin_sym_end,
  [sym_pattern_start] = sym_pattern_start,
  [sym_named_pattern_start] = sym_named_pattern_start,
  [sym_lexicon_start] = sym_lexicon_start,
  [sym_alias] = sym_alias,
  [sym_left_sieve] = sym_left_sieve,
  [anon_sym_GT] = anon_sym_GT,
  [anon_sym_PIPE] = anon_sym_PIPE,
  [sym_colon] = sym_colon,
  [sym_question_op] = sym_question_op,
  [sym_star_op] = sym_star_op,
  [sym_plus_op] = sym_plus_op,
  [anon_sym_LPAREN] = anon_sym_LPAREN,
  [anon_sym_RPAREN] = anon_sym_RPAREN,
  [anon_sym_DASH] = anon_sym_DASH,
  [anon_sym_COMMA] = anon_sym_COMMA,
  [anon_sym_LBRACK] = anon_sym_LBRACK,
  [anon_sym_RBRACK] = anon_sym_RBRACK,
  [anon_sym_CARET] = anon_sym_CARET,
  [sym_regex_string] = sym_regex_string,
  [anon_sym_SLASH] = anon_sym_SLASH,
  [sym_lexicon_string] = sym_lexicon_string,
  [sym_tag_symbol] = sym_tag_symbol,
  [sym_archiphoneme_symbol] = sym_archiphoneme_symbol,
  [sym_escaped_char] = sym_escaped_char,
  [sym_comment] = sym_comment,
  [sym_identifier] = sym_identifier,
  [sym_tag] = sym_tag,
  [sym_number] = sym_number,
  [sym__real_nl] = sym__real_nl,
  [sym__ws] = sym__ws,
  [sym_source_file] = sym_source_file,
  [sym_pattern_block] = sym_pattern_block,
  [sym_right_sieve] = sym_right_sieve,
  [sym_pattern_or] = sym_pattern_or,
  [sym_pattern_line] = sym_pattern_line,
  [sym_anonymous_pattern] = sym_anonymous_pattern,
  [sym_pattern_option] = sym_pattern_option,
  [sym_pattern_operator] = sym_pattern_operator,
  [sym_lexicon_reference] = sym_lexicon_reference,
  [sym_pattern_token] = sym_pattern_token,
  [sym_neg_tag] = sym_neg_tag,
  [sym__tag_or_neg] = sym__tag_or_neg,
  [sym__tag_list] = sym__tag_list,
  [sym_tag_setting] = sym_tag_setting,
  [sym_tag_distribution_operator] = sym_tag_distribution_operator,
  [sym_tag_distribution] = sym_tag_distribution,
  [sym__tag_filter_segment] = sym__tag_filter_segment,
  [sym_tag_filter] = sym_tag_filter,
  [sym_anonymous_lexicon] = sym_anonymous_lexicon,
  [sym_lexicon_block] = sym_lexicon_block,
  [sym_lexicon_line] = sym_lexicon_line,
  [sym_regex_char_class] = sym_regex_char_class,
  [aux_sym__plain_regex_string] = aux_sym__plain_regex_string,
  [sym_regex_line] = sym_regex_line,
  [sym_regex_group] = sym_regex_group,
  [sym_regex] = sym_regex,
  [sym__lexicon_side_left] = sym__lexicon_side_left,
  [aux_sym__lexicon_side_right] = aux_sym__lexicon_side_right,
  [sym_lexicon_segment] = sym_lexicon_segment,
  [sym_morpheme_boundary] = sym_morpheme_boundary,
  [sym__end_com] = sym__end_com,
  [sym_alias_command] = sym_alias_command,
  [sym_block_comment] = sym_block_comment,
  [sym__nl] = sym__nl,
  [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
  [aux_sym_pattern_block_repeat1] = aux_sym_pattern_block_repeat1,
  [aux_sym_pattern_line_repeat1] = aux_sym_pattern_line_repeat1,
  [aux_sym__tag_list_repeat1] = aux_sym__tag_list_repeat1,
  [aux_sym_tag_filter_repeat1] = aux_sym_tag_filter_repeat1,
  [aux_sym_lexicon_block_repeat1] = aux_sym_lexicon_block_repeat1,
  [aux_sym_lexicon_line_repeat1] = aux_sym_lexicon_line_repeat1,
  [aux_sym_regex_char_class_repeat1] = aux_sym_regex_char_class_repeat1,
  [aux_sym_regex_group_repeat1] = aux_sym_regex_group_repeat1,
  [aux_sym_regex_repeat1] = aux_sym_regex_repeat1,
  [aux_sym_block_comment_repeat1] = aux_sym_block_comment_repeat1,
  [anon_alias_sym_flattened_operator] = anon_alias_sym_flattened_operator,
};

static const TSSymbolMetadata ts_symbol_metadata[] = {
  [ts_builtin_sym_end] = {
    .visible = false,
    .named = true,
  },
  [sym_pattern_start] = {
    .visible = true,
    .named = true,
  },
  [sym_named_pattern_start] = {
    .visible = true,
    .named = true,
  },
  [sym_lexicon_start] = {
    .visible = true,
    .named = true,
  },
  [sym_alias] = {
    .visible = true,
    .named = true,
  },
  [sym_left_sieve] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE] = {
    .visible = true,
    .named = false,
  },
  [sym_colon] = {
    .visible = true,
    .named = true,
  },
  [sym_question_op] = {
    .visible = true,
    .named = true,
  },
  [sym_star_op] = {
    .visible = true,
    .named = true,
  },
  [sym_plus_op] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_LPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COMMA] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET] = {
    .visible = true,
    .named = false,
  },
  [sym_regex_string] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_SLASH] = {
    .visible = true,
    .named = false,
  },
  [sym_lexicon_string] = {
    .visible = true,
    .named = true,
  },
  [sym_tag_symbol] = {
    .visible = true,
    .named = true,
  },
  [sym_archiphoneme_symbol] = {
    .visible = true,
    .named = true,
  },
  [sym_escaped_char] = {
    .visible = true,
    .named = true,
  },
  [sym_comment] = {
    .visible = true,
    .named = true,
  },
  [sym_identifier] = {
    .visible = true,
    .named = true,
  },
  [sym_tag] = {
    .visible = true,
    .named = true,
  },
  [sym_number] = {
    .visible = true,
    .named = true,
  },
  [sym__real_nl] = {
    .visible = false,
    .named = true,
  },
  [sym__ws] = {
    .visible = false,
    .named = true,
  },
  [sym_source_file] = {
    .visible = true,
    .named = true,
  },
  [sym_pattern_block] = {
    .visible = true,
    .named = true,
  },
  [sym_right_sieve] = {
    .visible = true,
    .named = true,
  },
  [sym_pattern_or] = {
    .visible = true,
    .named = true,
  },
  [sym_pattern_line] = {
    .visible = true,
    .named = true,
  },
  [sym_anonymous_pattern] = {
    .visible = true,
    .named = true,
  },
  [sym_pattern_option] = {
    .visible = true,
    .named = true,
  },
  [sym_pattern_operator] = {
    .visible = true,
    .named = true,
  },
  [sym_lexicon_reference] = {
    .visible = true,
    .named = true,
  },
  [sym_pattern_token] = {
    .visible = true,
    .named = true,
  },
  [sym_neg_tag] = {
    .visible = true,
    .named = true,
  },
  [sym__tag_or_neg] = {
    .visible = false,
    .named = true,
  },
  [sym__tag_list] = {
    .visible = false,
    .named = true,
  },
  [sym_tag_setting] = {
    .visible = true,
    .named = true,
  },
  [sym_tag_distribution_operator] = {
    .visible = true,
    .named = true,
  },
  [sym_tag_distribution] = {
    .visible = true,
    .named = true,
  },
  [sym__tag_filter_segment] = {
    .visible = false,
    .named = true,
  },
  [sym_tag_filter] = {
    .visible = true,
    .named = true,
  },
  [sym_anonymous_lexicon] = {
    .visible = true,
    .named = true,
  },
  [sym_lexicon_block] = {
    .visible = true,
    .named = true,
  },
  [sym_lexicon_line] = {
    .visible = true,
    .named = true,
  },
  [sym_regex_char_class] = {
    .visible = true,
    .named = true,
  },
  [aux_sym__plain_regex_string] = {
    .visible = false,
    .named = false,
  },
  [sym_regex_line] = {
    .visible = true,
    .named = true,
  },
  [sym_regex_group] = {
    .visible = true,
    .named = true,
  },
  [sym_regex] = {
    .visible = true,
    .named = true,
  },
  [sym__lexicon_side_left] = {
    .visible = false,
    .named = true,
  },
  [aux_sym__lexicon_side_right] = {
    .visible = false,
    .named = false,
  },
  [sym_lexicon_segment] = {
    .visible = true,
    .named = true,
  },
  [sym_morpheme_boundary] = {
    .visible = true,
    .named = true,
  },
  [sym__end_com] = {
    .visible = false,
    .named = true,
  },
  [sym_alias_command] = {
    .visible = true,
    .named = true,
  },
  [sym_block_comment] = {
    .visible = true,
    .named = true,
  },
  [sym__nl] = {
    .visible = false,
    .named = true,
  },
  [aux_sym_source_file_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_pattern_block_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_pattern_line_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__tag_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_tag_filter_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_lexicon_block_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_lexicon_line_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_regex_char_class_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_regex_group_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_regex_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_block_comment_repeat1] = {
    .visible = false,
    .named = false,
  },
  [anon_alias_sym_flattened_operator] = {
    .visible = true,
    .named = false,
  },
};

enum {
  field_column = 1,
  field_columns = 2,
  field_comment = 3,
  field_defaults = 4,
  field_disjoint = 5,
  field_filter = 6,
  field_left = 7,
  field_name = 8,
  field_op = 9,
  field_operator = 10,
  field_right = 11,
  field_src = 12,
  field_tag = 13,
  field_tags = 14,
  field_trg = 15,
  field_whole = 16,
};

static const char * const ts_field_names[] = {
  [0] = NULL,
  [field_column] = "column",
  [field_columns] = "columns",
  [field_comment] = "comment",
  [field_defaults] = "defaults",
  [field_disjoint] = "disjoint",
  [field_filter] = "filter",
  [field_left] = "left",
  [field_name] = "name",
  [field_op] = "op",
  [field_operator] = "operator",
  [field_right] = "right",
  [field_src] = "src",
  [field_tag] = "tag",
  [field_tags] = "tags",
  [field_trg] = "trg",
  [field_whole] = "whole",
};

static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
  [1] = {.index = 0, .length = 1},
  [2] = {.index = 1, .length = 1},
  [3] = {.index = 2, .length = 1},
  [4] = {.index = 3, .length = 1},
  [5] = {.index = 4, .length = 1},
  [6] = {.index = 5, .length = 1},
  [7] = {.index = 6, .length = 2},
  [8] = {.index = 8, .length = 2},
  [9] = {.index = 10, .length = 2},
  [10] = {.index = 12, .length = 2},
  [11] = {.index = 14, .length = 1},
  [12] = {.index = 15, .length = 2},
  [14] = {.index = 17, .length = 1},
  [15] = {.index = 18, .length = 1},
  [16] = {.index = 19, .length = 2},
  [17] = {.index = 21, .length = 2},
  [18] = {.index = 23, .length = 3},
  [19] = {.index = 26, .length = 3},
  [20] = {.index = 29, .length = 3},
  [21] = {.index = 32, .length = 2},
  [22] = {.index = 34, .length = 2},
  [24] = {.index = 36, .length = 1},
  [25] = {.index = 37, .length = 2},
  [26] = {.index = 39, .length = 1},
  [27] = {.index = 40, .length = 2},
  [28] = {.index = 42, .length = 2},
  [29] = {.index = 44, .length = 3},
  [30] = {.index = 47, .length = 2},
  [31] = {.index = 49, .length = 2},
  [32] = {.index = 51, .length = 4},
  [33] = {.index = 55, .length = 1},
  [34] = {.index = 56, .length = 3},
  [36] = {.index = 59, .length = 2},
  [37] = {.index = 61, .length = 2},
  [38] = {.index = 63, .length = 2},
  [39] = {.index = 65, .length = 2},
  [40] = {.index = 67, .length = 3},
  [41] = {.index = 70, .length = 3},
  [42] = {.index = 73, .length = 3},
  [43] = {.index = 76, .length = 3},
  [45] = {.index = 79, .length = 3},
  [46] = {.index = 82, .length = 3},
  [47] = {.index = 85, .length = 3},
  [48] = {.index = 88, .length = 3},
  [49] = {.index = 91, .length = 4},
  [50] = {.index = 95, .length = 1},
  [51] = {.index = 96, .length = 4},
  [52] = {.index = 100, .length = 1},
};

static const TSFieldMapEntry ts_field_map_entries[] = {
  [0] =
    {field_comment, 0},
  [1] =
    {field_comment, 1},
  [2] =
    {field_name, 0},
  [3] =
    {field_whole, 0},
  [4] =
    {field_comment, 1, .inherited = true},
  [5] =
    {field_right, 1},
  [6] =
    {field_column, 1},
    {field_name, 0},
  [8] =
    {field_filter, 1},
    {field_name, 0},
  [10] =
    {field_operator, 1},
    {field_whole, 0},
  [12] =
    {field_filter, 1},
    {field_whole, 0},
  [14] =
    {field_left, 0},
  [15] =
    {field_operator, 2},
    {field_right, 1},
  [17] =
    {field_tags, 1},
  [18] =
    {field_tags, 0},
  [19] =
    {field_tags, 0},
    {field_whole, 1},
  [21] =
    {field_tags, 1},
    {field_whole, 0},
  [23] =
    {field_column, 2},
    {field_disjoint, 1},
    {field_name, 0},
  [26] =
    {field_column, 1},
    {field_filter, 2},
    {field_name, 0},
  [29] =
    {field_filter, 1},
    {field_operator, 2},
    {field_whole, 0},
  [32] =
    {field_left, 0},
    {field_operator, 2},
  [34] =
    {field_left, 0},
    {field_right, 2},
  [36] =
    {field_name, 2},
  [37] =
    {field_right, 1},
    {field_tags, 2},
  [39] =
    {field_tag, 1},
  [40] =
    {field_tags, 0},
    {field_tags, 2},
  [42] =
    {field_right, 2},
    {field_tags, 0},
  [44] =
    {field_tags, 0},
    {field_tags, 2},
    {field_whole, 1},
  [47] =
    {field_left, 1},
    {field_tags, 0},
  [49] =
    {field_left, 0},
    {field_tags, 2},
  [51] =
    {field_column, 2},
    {field_disjoint, 1},
    {field_filter, 3},
    {field_name, 0},
  [55] =
    {field_comment, 2},
  [56] =
    {field_left, 0},
    {field_operator, 3},
    {field_right, 2},
  [59] =
    {field_comment, 3, .inherited = true},
    {field_name, 2},
  [61] =
    {field_columns, 3},
    {field_name, 2},
  [63] =
    {field_defaults, 3},
    {field_name, 2},
  [65] =
    {field_src, 2},
    {field_trg, 4},
  [67] =
    {field_right, 2},
    {field_tags, 0},
    {field_tags, 3},
  [70] =
    {field_left, 1},
    {field_tags, 0},
    {field_tags, 3},
  [73] =
    {field_left, 1},
    {field_right, 3},
    {field_tags, 0},
  [76] =
    {field_left, 0},
    {field_right, 2},
    {field_tags, 3},
  [79] =
    {field_columns, 3},
    {field_defaults, 4},
    {field_name, 2},
  [82] =
    {field_columns, 3},
    {field_comment, 4, .inherited = true},
    {field_name, 2},
  [85] =
    {field_comment, 4, .inherited = true},
    {field_defaults, 3},
    {field_name, 2},
  [88] =
    {field_comment, 5, .inherited = true},
    {field_src, 2},
    {field_trg, 4},
  [91] =
    {field_left, 1},
    {field_right, 3},
    {field_tags, 0},
    {field_tags, 4},
  [95] =
    {field_op, 0},
  [96] =
    {field_columns, 3},
    {field_comment, 5, .inherited = true},
    {field_defaults, 4},
    {field_name, 2},
  [100] =
    {field_comment, 2, .inherited = true},
};

static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
  [0] = {0},
  [13] = {
    [0] = sym_lexicon_string,
  },
  [23] = {
    [2] = anon_alias_sym_flattened_operator,
  },
  [35] = {
    [3] = anon_alias_sym_flattened_operator,
  },
  [44] = {
    [4] = anon_alias_sym_flattened_operator,
  },
};

static const uint16_t ts_non_terminal_alias_map[] = {
  sym_pattern_option, 2,
    sym_pattern_option,
    anon_alias_sym_flattened_operator,
  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] = 35,
  [36] = 35,
  [37] = 37,
  [38] = 38,
  [39] = 39,
  [40] = 17,
  [41] = 30,
  [42] = 23,
  [43] = 43,
  [44] = 44,
  [45] = 31,
  [46] = 46,
  [47] = 33,
  [48] = 48,
  [49] = 49,
  [50] = 49,
  [51] = 51,
  [52] = 52,
  [53] = 53,
  [54] = 54,
  [55] = 34,
  [56] = 56,
  [57] = 24,
  [58] = 44,
  [59] = 39,
  [60] = 51,
  [61] = 61,
  [62] = 62,
  [63] = 63,
  [64] = 64,
  [65] = 43,
  [66] = 66,
  [67] = 67,
  [68] = 68,
  [69] = 69,
  [70] = 70,
  [71] = 71,
  [72] = 62,
  [73] = 73,
  [74] = 56,
  [75] = 75,
  [76] = 76,
  [77] = 77,
  [78] = 78,
  [79] = 79,
  [80] = 64,
  [81] = 46,
  [82] = 48,
  [83] = 83,
  [84] = 84,
  [85] = 52,
  [86] = 63,
  [87] = 87,
  [88] = 88,
  [89] = 54,
  [90] = 90,
  [91] = 91,
  [92] = 92,
  [93] = 93,
  [94] = 94,
  [95] = 95,
  [96] = 96,
  [97] = 97,
  [98] = 66,
  [99] = 99,
  [100] = 100,
  [101] = 101,
  [102] = 102,
  [103] = 103,
  [104] = 104,
  [105] = 105,
  [106] = 106,
  [107] = 107,
  [108] = 108,
  [109] = 109,
  [110] = 90,
  [111] = 109,
  [112] = 88,
  [113] = 106,
  [114] = 95,
  [115] = 115,
  [116] = 67,
  [117] = 68,
  [118] = 76,
  [119] = 119,
  [120] = 69,
  [121] = 75,
  [122] = 77,
  [123] = 123,
  [124] = 99,
  [125] = 105,
  [126] = 79,
  [127] = 61,
  [128] = 107,
  [129] = 96,
  [130] = 130,
  [131] = 84,
  [132] = 132,
  [133] = 70,
  [134] = 93,
  [135] = 135,
  [136] = 73,
  [137] = 78,
  [138] = 71,
  [139] = 103,
  [140] = 104,
  [141] = 141,
  [142] = 142,
  [143] = 143,
  [144] = 144,
  [145] = 145,
  [146] = 146,
  [147] = 17,
  [148] = 148,
  [149] = 149,
  [150] = 150,
  [151] = 151,
  [152] = 152,
  [153] = 153,
  [154] = 154,
  [155] = 144,
  [156] = 148,
  [157] = 157,
  [158] = 158,
  [159] = 159,
  [160] = 157,
  [161] = 161,
  [162] = 158,
  [163] = 163,
  [164] = 164,
  [165] = 165,
  [166] = 17,
  [167] = 24,
  [168] = 159,
  [169] = 164,
  [170] = 170,
  [171] = 171,
  [172] = 151,
  [173] = 173,
  [174] = 143,
  [175] = 175,
  [176] = 34,
  [177] = 145,
  [178] = 178,
  [179] = 146,
  [180] = 180,
  [181] = 181,
  [182] = 182,
  [183] = 150,
  [184] = 184,
  [185] = 171,
  [186] = 142,
  [187] = 149,
  [188] = 188,
  [189] = 153,
  [190] = 24,
  [191] = 191,
  [192] = 34,
  [193] = 163,
  [194] = 194,
  [195] = 195,
  [196] = 196,
  [197] = 154,
  [198] = 198,
  [199] = 199,
  [200] = 200,
  [201] = 201,
  [202] = 202,
  [203] = 203,
  [204] = 204,
  [205] = 54,
  [206] = 178,
  [207] = 182,
  [208] = 208,
  [209] = 208,
  [210] = 170,
  [211] = 198,
  [212] = 212,
  [213] = 213,
  [214] = 214,
  [215] = 194,
  [216] = 216,
  [217] = 217,
  [218] = 218,
  [219] = 153,
  [220] = 54,
  [221] = 221,
  [222] = 222,
  [223] = 221,
  [224] = 191,
  [225] = 188,
  [226] = 212,
  [227] = 201,
  [228] = 217,
  [229] = 214,
  [230] = 230,
  [231] = 231,
  [232] = 232,
  [233] = 233,
  [234] = 200,
  [235] = 73,
  [236] = 216,
  [237] = 237,
  [238] = 238,
  [239] = 239,
  [240] = 240,
  [241] = 73,
  [242] = 242,
  [243] = 243,
  [244] = 244,
  [245] = 245,
  [246] = 242,
  [247] = 247,
  [248] = 242,
  [249] = 249,
  [250] = 250,
  [251] = 251,
  [252] = 252,
  [253] = 253,
  [254] = 254,
  [255] = 255,
  [256] = 256,
  [257] = 243,
  [258] = 258,
  [259] = 252,
  [260] = 260,
  [261] = 252,
  [262] = 262,
  [263] = 263,
  [264] = 244,
  [265] = 230,
  [266] = 266,
  [267] = 267,
  [268] = 254,
  [269] = 267,
  [270] = 270,
  [271] = 271,
  [272] = 272,
  [273] = 271,
  [274] = 270,
  [275] = 275,
  [276] = 276,
  [277] = 277,
  [278] = 278,
  [279] = 260,
  [280] = 280,
  [281] = 281,
  [282] = 282,
  [283] = 272,
  [284] = 284,
  [285] = 285,
  [286] = 286,
  [287] = 287,
  [288] = 285,
  [289] = 289,
  [290] = 290,
  [291] = 291,
  [292] = 292,
  [293] = 293,
  [294] = 294,
  [295] = 295,
  [296] = 296,
  [297] = 297,
  [298] = 282,
  [299] = 299,
  [300] = 300,
  [301] = 301,
  [302] = 240,
  [303] = 303,
  [304] = 304,
  [305] = 305,
  [306] = 306,
  [307] = 307,
  [308] = 239,
  [309] = 309,
  [310] = 310,
  [311] = 311,
  [312] = 312,
  [313] = 313,
  [314] = 314,
  [315] = 315,
  [316] = 316,
  [317] = 296,
  [318] = 310,
  [319] = 312,
  [320] = 287,
  [321] = 321,
  [322] = 322,
  [323] = 323,
  [324] = 306,
  [325] = 325,
  [326] = 326,
  [327] = 286,
  [328] = 307,
  [329] = 305,
  [330] = 325,
  [331] = 311,
  [332] = 332,
  [333] = 333,
  [334] = 334,
  [335] = 335,
  [336] = 336,
  [337] = 337,
  [338] = 290,
  [339] = 339,
  [340] = 340,
  [341] = 314,
  [342] = 342,
  [343] = 321,
  [344] = 339,
  [345] = 239,
  [346] = 240,
  [347] = 347,
  [348] = 322,
  [349] = 337,
  [350] = 350,
  [351] = 351,
  [352] = 352,
  [353] = 353,
  [354] = 354,
  [355] = 355,
  [356] = 356,
  [357] = 357,
  [358] = 358,
  [359] = 359,
  [360] = 360,
  [361] = 361,
  [362] = 362,
  [363] = 353,
  [364] = 364,
  [365] = 365,
  [366] = 366,
  [367] = 367,
  [368] = 367,
  [369] = 365,
  [370] = 360,
  [371] = 359,
  [372] = 372,
  [373] = 373,
  [374] = 352,
  [375] = 360,
  [376] = 366,
  [377] = 352,
  [378] = 352,
  [379] = 379,
  [380] = 380,
  [381] = 381,
  [382] = 382,
  [383] = 383,
  [384] = 366,
  [385] = 385,
  [386] = 357,
  [387] = 387,
};

static inline bool sym_regex_string_character_set_1(int32_t c) {
  return (c < '('
    ? (c < '\r'
      ? (c < '\t'
        ? c == 0
        : c <= '\n')
      : (c <= '\r' || (c < '#'
        ? c == ' '
        : c <= '#')))
    : (c <= '+' || (c < '?'
      ? (c < ':'
        ? c == '/'
        : c <= ':')
      : (c <= '?' || (c >= '[' && c <= ']')))));
}

static inline bool sym_lexicon_string_character_set_1(int32_t c) {
  return (c < '/'
    ? (c < '\r'
      ? (c < '\t'
        ? c == 0
        : c <= '\n')
      : (c <= '\r' || (c < '#'
        ? c == ' '
        : c <= '#')))
    : (c <= '/' || (c < '>'
      ? (c < '<'
        ? c == ':'
        : c <= '<')
      : (c <= '>' || (c < '{'
        ? (c >= '[' && c <= ']')
        : c <= '{')))));
}

static inline bool sym_comment_character_set_1(int32_t c) {
  return (c < '<'
    ? (c < ' '
      ? (c < '\r'
        ? c == '\t'
        : c <= '\r')
      : (c <= ' ' || (c < ':'
        ? (c >= '(' && c <= '+')
        : c <= ':')))
    : (c <= '<' || (c < ']'
      ? (c < '['
        ? (c >= '>' && c <= '?')
        : c <= '[')
      : (c <= ']' || c == '|'))));
}

static inline bool sym_identifier_character_set_1(int32_t c) {
  return (c < ':'
    ? (c < '\r'
      ? (c < '\t'
        ? c == 0
        : c <= '\n')
      : (c <= '\r' || (c < '('
        ? c == ' '
        : c <= '+')))
    : (c <= ':' || (c < '['
      ? (c < '>'
        ? c == '<'
        : c <= '?')
      : (c <= '[' || (c < '|'
        ? c == ']'
        : c <= '|')))));
}

static inline bool sym_tag_character_set_1(int32_t c) {
  return (c < '<'
    ? (c < '\r'
      ? (c < '\t'
        ? c == 0
        : c <= '\n')
      : (c <= '\r' || (c < '('
        ? c == ' '
        : c <= ',')))
    : (c <= '<' || (c < ']'
      ? (c < '['
        ? (c >= '>' && c <= '?')
        : c <= '[')
      : (c <= '^' || c == '|'))));
}

static bool ts_lex(TSLexer *lexer, TSStateId state) {
  START_LEXER();
  eof = lexer->eof(lexer);
  switch (state) {
    case 0:
      if (eof) ADVANCE(44);
      if (lookahead == '#') ADVANCE(90);
      if (lookahead == '(') ADVANCE(60);
      if (lookahead == ')') ADVANCE(61);
      if (lookahead == '*') ADVANCE(57);
      if (lookahead == '+') ADVANCE(58);
      if (lookahead == ',') ADVANCE(63);
      if (lookahead == '-') ADVANCE(62);
      if (lookahead == '/') ADVANCE(68);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(51);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == '?') ADVANCE(56);
      if (lookahead == 'A') ADVANCE(24);
      if (lookahead == 'L') ADVANCE(20);
      if (lookahead == 'P') ADVANCE(17);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '\\') ADVANCE(37);
      if (lookahead == ']') ADVANCE(65);
      if (lookahead == '^') ADVANCE(66);
      if (lookahead == '{') ADVANCE(34);
      if (lookahead == '|') ADVANCE(53);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(113);
      if (lookahead == '\n' ||
          lookahead == '\r') SKIP(0)
      END_STATE();
    case 1:
      if (lookahead == '\n') ADVANCE(110);
      if (lookahead == '\r') SKIP(1)
      if (lookahead == '#') ADVANCE(90);
      if (lookahead == 'A') ADVANCE(24);
      if (lookahead == 'L') ADVANCE(20);
      if (lookahead == 'P') ADVANCE(17);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(1);
      END_STATE();
    case 2:
      if (lookahead == '\n') ADVANCE(111);
      if (lookahead == '\r') SKIP(2)
      if (lookahead == '#') ADVANCE(89);
      if (lookahead == '(') ADVANCE(59);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(51);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '|') ADVANCE(53);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(2);
      if (lookahead != 0 &&
          (lookahead < ')' || '+' < lookahead) &&
          lookahead != '?' &&
          lookahead != ']') ADVANCE(107);
      END_STATE();
    case 3:
      if (lookahead == '\n') ADVANCE(111);
      if (lookahead == '\r') SKIP(3)
      if (lookahead == '#') ADVANCE(89);
      if (lookahead == '(') ADVANCE(60);
      if (lookahead == '*') ADVANCE(57);
      if (lookahead == '+') ADVANCE(58);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(51);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == '?') ADVANCE(56);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '|') ADVANCE(53);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(112);
      if (lookahead != 0 &&
          lookahead != ')' &&
          lookahead != ']') ADVANCE(107);
      END_STATE();
    case 4:
      if (lookahead == '\n') ADVANCE(111);
      if (lookahead == '\r') SKIP(4)
      if (lookahead == '#') ADVANCE(90);
      if (lookahead == '/') ADVANCE(68);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(35);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '\\') ADVANCE(37);
      if (lookahead == '{') ADVANCE(34);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(112);
      if (lookahead != 0 &&
          lookahead != ']') ADVANCE(85);
      END_STATE();
    case 5:
      if (lookahead == '\n') ADVANCE(111);
      if (lookahead == '\r') SKIP(5)
      if (lookahead == '#') ADVANCE(89);
      if (lookahead == '(') ADVANCE(59);
      if (lookahead == '*') ADVANCE(57);
      if (lookahead == '+') ADVANCE(58);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(51);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == '?') ADVANCE(56);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '|') ADVANCE(53);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(112);
      if (lookahead != 0 &&
          lookahead != ')' &&
          lookahead != ']') ADVANCE(107);
      END_STATE();
    case 6:
      if (lookahead == '#') ADVANCE(90);
      if (lookahead == '/') ADVANCE(68);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(35);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '\\') ADVANCE(37);
      if (lookahead == ']') ADVANCE(65);
      if (lookahead == '{') ADVANCE(34);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(6)
      if (lookahead != 0) ADVANCE(85);
      END_STATE();
    case 7:
      if (lookahead == '#') ADVANCE(89);
      if (lookahead == '(') ADVANCE(59);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(51);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(115);
      if (lookahead == '\n' ||
          lookahead == '\r') SKIP(7)
      if (lookahead != 0 &&
          (lookahead < ')' || '+' < lookahead) &&
          lookahead != '?' &&
          lookahead != ']' &&
          lookahead != '|') ADVANCE(107);
      END_STATE();
    case 8:
      if (lookahead == '(') ADVANCE(60);
      if (lookahead == ')') ADVANCE(61);
      if (lookahead == '*') ADVANCE(57);
      if (lookahead == '+') ADVANCE(58);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(51);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == '?') ADVANCE(56);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '|') ADVANCE(53);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(115);
      if (lookahead == '\n' ||
          lookahead == '\r') SKIP(8)
      if (lookahead != 0 &&
          lookahead != ']') ADVANCE(107);
      END_STATE();
    case 9:
      if (lookahead == '(') ADVANCE(59);
      if (lookahead == ')') ADVANCE(61);
      if (lookahead == '*') ADVANCE(57);
      if (lookahead == '+') ADVANCE(58);
      if (lookahead == '/') ADVANCE(68);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '?') ADVANCE(56);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '\\') ADVANCE(37);
      if (lookahead == '|') ADVANCE(54);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(9)
      if (lookahead != 0 &&
          lookahead != '#' &&
          lookahead != ']') ADVANCE(67);
      END_STATE();
    case 10:
      if (lookahead == '(') ADVANCE(59);
      if (lookahead == ')') ADVANCE(61);
      if (lookahead == '*') ADVANCE(57);
      if (lookahead == '+') ADVANCE(58);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(51);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == '?') ADVANCE(56);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == ']') ADVANCE(65);
      if (lookahead == '|') ADVANCE(53);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(115);
      if (lookahead == '\n' ||
          lookahead == '\r') SKIP(10)
      if (lookahead != 0) ADVANCE(107);
      END_STATE();
    case 11:
      if (lookahead == '(') ADVANCE(59);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(51);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(11)
      if (lookahead != 0 &&
          (lookahead < ')' || '+' < lookahead) &&
          lookahead != '?' &&
          lookahead != ']' &&
          lookahead != '|') ADVANCE(107);
      END_STATE();
    case 12:
      if (lookahead == '(') ADVANCE(36);
      if (lookahead == ',') ADVANCE(63);
      if (lookahead == '-') ADVANCE(62);
      if (lookahead == ']') ADVANCE(65);
      if (lookahead == '^') ADVANCE(66);
      if (lookahead == '|') ADVANCE(53);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(12)
      if (lookahead != 0 &&
          (lookahead < ')' || '+' < lookahead) &&
          lookahead != '<' &&
          lookahead != '>' &&
          lookahead != '?' &&
          lookahead != '[') ADVANCE(108);
      END_STATE();
    case 13:
      if (lookahead == ')') ADVANCE(109);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(13);
      END_STATE();
    case 14:
      if (lookahead == ',') ADVANCE(63);
      if (lookahead == '-') ADVANCE(62);
      if (lookahead == ']') ADVANCE(65);
      if (lookahead == '^') ADVANCE(66);
      if (lookahead == '|') ADVANCE(53);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(115);
      if (lookahead == '\n' ||
          lookahead == '\r') SKIP(14)
      if (lookahead != 0 &&
          (lookahead < '(' || '+' < lookahead) &&
          lookahead != '<' &&
          lookahead != '>' &&
          lookahead != '?' &&
          lookahead != '[') ADVANCE(108);
      END_STATE();
    case 15:
      if (lookahead == '/') ADVANCE(68);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(35);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '\\') ADVANCE(37);
      if (lookahead == ']') ADVANCE(65);
      if (lookahead == '{') ADVANCE(34);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(115);
      if (lookahead == '\n' ||
          lookahead == '\r') SKIP(15)
      if (lookahead != 0 &&
          lookahead != '#') ADVANCE(85);
      END_STATE();
    case 16:
      if (lookahead == '>') ADVANCE(86);
      if (lookahead == '\\') ADVANCE(39);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(16);
      END_STATE();
    case 17:
      if (lookahead == 'A') ADVANCE(31);
      END_STATE();
    case 18:
      if (lookahead == 'A') ADVANCE(29);
      END_STATE();
    case 19:
      if (lookahead == 'C') ADVANCE(27);
      END_STATE();
    case 20:
      if (lookahead == 'E') ADVANCE(32);
      END_STATE();
    case 21:
      if (lookahead == 'E') ADVANCE(28);
      END_STATE();
    case 22:
      if (lookahead == 'I') ADVANCE(19);
      END_STATE();
    case 23:
      if (lookahead == 'I') ADVANCE(18);
      END_STATE();
    case 24:
      if (lookahead == 'L') ADVANCE(23);
      END_STATE();
    case 25:
      if (lookahead == 'N') ADVANCE(47);
      END_STATE();
    case 26:
      if (lookahead == 'N') ADVANCE(46);
      END_STATE();
    case 27:
      if (lookahead == 'O') ADVANCE(25);
      END_STATE();
    case 28:
      if (lookahead == 'R') ADVANCE(26);
      END_STATE();
    case 29:
      if (lookahead == 'S') ADVANCE(48);
      END_STATE();
    case 30:
      if (lookahead == 'T') ADVANCE(21);
      END_STATE();
    case 31:
      if (lookahead == 'T') ADVANCE(30);
      END_STATE();
    case 32:
      if (lookahead == 'X') ADVANCE(22);
      END_STATE();
    case 33:
      if (lookahead == '\\') ADVANCE(38);
      if (lookahead == '}') ADVANCE(87);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(33);
      END_STATE();
    case 34:
      if (lookahead == '\\') ADVANCE(38);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '}') ADVANCE(33);
      END_STATE();
    case 35:
      if (lookahead == '\\') ADVANCE(39);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '>') ADVANCE(16);
      END_STATE();
    case 36:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(13);
      END_STATE();
    case 37:
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(88);
      END_STATE();
    case 38:
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(33);
      END_STATE();
    case 39:
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(16);
      END_STATE();
    case 40:
      if (eof) ADVANCE(44);
      if (lookahead == '\n') ADVANCE(110);
      if (lookahead == '\r') SKIP(40)
      if (lookahead == '#') ADVANCE(90);
      if (lookahead == 'A') ADVANCE(24);
      if (lookahead == 'L') ADVANCE(20);
      if (lookahead == 'P') ADVANCE(17);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(1);
      END_STATE();
    case 41:
      if (eof) ADVANCE(44);
      if (lookahead == '#') ADVANCE(90);
      if (lookahead == '/') ADVANCE(68);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(35);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == 'A') ADVANCE(76);
      if (lookahead == 'L') ADVANCE(72);
      if (lookahead == 'P') ADVANCE(69);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '\\') ADVANCE(37);
      if (lookahead == ']') ADVANCE(65);
      if (lookahead == '{') ADVANCE(34);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(41)
      if (lookahead != 0) ADVANCE(85);
      END_STATE();
    case 42:
      if (eof) ADVANCE(44);
      if (lookahead == '#') ADVANCE(89);
      if (lookahead == '(') ADVANCE(59);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(51);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == 'A') ADVANCE(98);
      if (lookahead == 'L') ADVANCE(94);
      if (lookahead == 'P') ADVANCE(91);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(114);
      if (lookahead == '\n' ||
          lookahead == '\r') SKIP(42)
      if (lookahead != 0 &&
          (lookahead < ')' || '+' < lookahead) &&
          lookahead != '?' &&
          lookahead != ']' &&
          lookahead != '|') ADVANCE(107);
      END_STATE();
    case 43:
      if (eof) ADVANCE(44);
      if (lookahead == '(') ADVANCE(59);
      if (lookahead == ':') ADVANCE(55);
      if (lookahead == '<') ADVANCE(51);
      if (lookahead == '>') ADVANCE(52);
      if (lookahead == 'A') ADVANCE(98);
      if (lookahead == 'L') ADVANCE(94);
      if (lookahead == 'P') ADVANCE(91);
      if (lookahead == '[') ADVANCE(64);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(114);
      if (lookahead == '\n' ||
          lookahead == '\r') SKIP(43)
      if (lookahead != 0 &&
          (lookahead < ')' || '+' < lookahead) &&
          lookahead != '?' &&
          lookahead != ']' &&
          lookahead != '|') ADVANCE(107);
      END_STATE();
    case 44:
      ACCEPT_TOKEN(ts_builtin_sym_end);
      END_STATE();
    case 45:
      ACCEPT_TOKEN(sym_pattern_start);
      END_STATE();
    case 46:
      ACCEPT_TOKEN(sym_named_pattern_start);
      if (lookahead == 'S') ADVANCE(45);
      END_STATE();
    case 47:
      ACCEPT_TOKEN(sym_lexicon_start);
      END_STATE();
    case 48:
      ACCEPT_TOKEN(sym_alias);
      END_STATE();
    case 49:
      ACCEPT_TOKEN(sym_alias);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 50:
      ACCEPT_TOKEN(sym_alias);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 51:
      ACCEPT_TOKEN(sym_left_sieve);
      END_STATE();
    case 52:
      ACCEPT_TOKEN(anon_sym_GT);
      END_STATE();
    case 53:
      ACCEPT_TOKEN(anon_sym_PIPE);
      END_STATE();
    case 54:
      ACCEPT_TOKEN(anon_sym_PIPE);
      if (!sym_regex_string_character_set_1(lookahead)) ADVANCE(67);
      END_STATE();
    case 55:
      ACCEPT_TOKEN(sym_colon);
      END_STATE();
    case 56:
      ACCEPT_TOKEN(sym_question_op);
      END_STATE();
    case 57:
      ACCEPT_TOKEN(sym_star_op);
      END_STATE();
    case 58:
      ACCEPT_TOKEN(sym_plus_op);
      END_STATE();
    case 59:
      ACCEPT_TOKEN(anon_sym_LPAREN);
      END_STATE();
    case 60:
      ACCEPT_TOKEN(anon_sym_LPAREN);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(13);
      END_STATE();
    case 61:
      ACCEPT_TOKEN(anon_sym_RPAREN);
      END_STATE();
    case 62:
      ACCEPT_TOKEN(anon_sym_DASH);
      END_STATE();
    case 63:
      ACCEPT_TOKEN(anon_sym_COMMA);
      END_STATE();
    case 64:
      ACCEPT_TOKEN(anon_sym_LBRACK);
      END_STATE();
    case 65:
      ACCEPT_TOKEN(anon_sym_RBRACK);
      END_STATE();
    case 66:
      ACCEPT_TOKEN(anon_sym_CARET);
      END_STATE();
    case 67:
      ACCEPT_TOKEN(sym_regex_string);
      if (!sym_regex_string_character_set_1(lookahead)) ADVANCE(67);
      END_STATE();
    case 68:
      ACCEPT_TOKEN(anon_sym_SLASH);
      END_STATE();
    case 69:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'A') ADVANCE(83);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 70:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'A') ADVANCE(81);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 71:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'C') ADVANCE(79);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 72:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'E') ADVANCE(84);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 73:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'E') ADVANCE(80);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 74:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'I') ADVANCE(71);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 75:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'I') ADVANCE(70);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 76:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'L') ADVANCE(75);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 77:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'N') ADVANCE(47);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 78:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'N') ADVANCE(46);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 79:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'O') ADVANCE(77);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 80:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'R') ADVANCE(78);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 81:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'S') ADVANCE(50);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 82:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'T') ADVANCE(73);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 83:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'T') ADVANCE(82);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 84:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'X') ADVANCE(74);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 85:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (!sym_lexicon_string_character_set_1(lookahead)) ADVANCE(85);
      END_STATE();
    case 86:
      ACCEPT_TOKEN(sym_tag_symbol);
      END_STATE();
    case 87:
      ACCEPT_TOKEN(sym_archiphoneme_symbol);
      END_STATE();
    case 88:
      ACCEPT_TOKEN(sym_escaped_char);
      END_STATE();
    case 89:
      ACCEPT_TOKEN(sym_comment);
      if (sym_comment_character_set_1(lookahead)) ADVANCE(90);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(89);
      END_STATE();
    case 90:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(90);
      END_STATE();
    case 91:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'A') ADVANCE(105);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 92:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'A') ADVANCE(103);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 93:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'C') ADVANCE(101);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 94:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'E') ADVANCE(106);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 95:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'E') ADVANCE(102);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 96:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'I') ADVANCE(93);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 97:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'I') ADVANCE(92);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 98:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'L') ADVANCE(97);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 99:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'N') ADVANCE(47);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 100:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'N') ADVANCE(46);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 101:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'O') ADVANCE(99);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 102:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'R') ADVANCE(100);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 103:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'S') ADVANCE(49);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 104:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'T') ADVANCE(95);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 105:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'T') ADVANCE(104);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 106:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'X') ADVANCE(96);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 107:
      ACCEPT_TOKEN(sym_identifier);
      if (!sym_identifier_character_set_1(lookahead)) ADVANCE(107);
      END_STATE();
    case 108:
      ACCEPT_TOKEN(sym_tag);
      if (!sym_tag_character_set_1(lookahead)) ADVANCE(108);
      END_STATE();
    case 109:
      ACCEPT_TOKEN(sym_number);
      END_STATE();
    case 110:
      ACCEPT_TOKEN(sym__real_nl);
      if (lookahead == '\n') ADVANCE(110);
      if (lookahead == 'L') ADVANCE(20);
      if (lookahead == 'P') ADVANCE(17);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(110);
      END_STATE();
    case 111:
      ACCEPT_TOKEN(sym__real_nl);
      if (lookahead == '\n') ADVANCE(111);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(111);
      END_STATE();
    case 112:
      ACCEPT_TOKEN(sym__ws);
      if (lookahead == '\n') ADVANCE(111);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(112);
      END_STATE();
    case 113:
      ACCEPT_TOKEN(sym__ws);
      if (lookahead == 'L') ADVANCE(20);
      if (lookahead == 'P') ADVANCE(17);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(113);
      END_STATE();
    case 114:
      ACCEPT_TOKEN(sym__ws);
      if (lookahead == 'L') ADVANCE(94);
      if (lookahead == 'P') ADVANCE(91);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(114);
      END_STATE();
    case 115:
      ACCEPT_TOKEN(sym__ws);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(115);
      END_STATE();
    default:
      return false;
  }
}

static const TSLexMode ts_lex_modes[STATE_COUNT] = {
  [0] = {.lex_state = 0},
  [1] = {.lex_state = 40},
  [2] = {.lex_state = 43},
  [3] = {.lex_state = 43},
  [4] = {.lex_state = 43},
  [5] = {.lex_state = 43},
  [6] = {.lex_state = 43},
  [7] = {.lex_state = 41},
  [8] = {.lex_state = 41},
  [9] = {.lex_state = 41},
  [10] = {.lex_state = 41},
  [11] = {.lex_state = 41},
  [12] = {.lex_state = 41},
  [13] = {.lex_state = 41},
  [14] = {.lex_state = 41},
  [15] = {.lex_state = 41},
  [16] = {.lex_state = 2},
  [17] = {.lex_state = 41},
  [18] = {.lex_state = 10},
  [19] = {.lex_state = 10},
  [20] = {.lex_state = 10},
  [21] = {.lex_state = 2},
  [22] = {.lex_state = 10},
  [23] = {.lex_state = 10},
  [24] = {.lex_state = 41},
  [25] = {.lex_state = 6},
  [26] = {.lex_state = 6},
  [27] = {.lex_state = 6},
  [28] = {.lex_state = 6},
  [29] = {.lex_state = 6},
  [30] = {.lex_state = 2},
  [31] = {.lex_state = 3},
  [32] = {.lex_state = 6},
  [33] = {.lex_state = 5},
  [34] = {.lex_state = 41},
  [35] = {.lex_state = 10},
  [36] = {.lex_state = 10},
  [37] = {.lex_state = 6},
  [38] = {.lex_state = 6},
  [39] = {.lex_state = 5},
  [40] = {.lex_state = 42},
  [41] = {.lex_state = 10},
  [42] = {.lex_state = 10},
  [43] = {.lex_state = 5},
  [44] = {.lex_state = 10},
  [45] = {.lex_state = 8},
  [46] = {.lex_state = 5},
  [47] = {.lex_state = 10},
  [48] = {.lex_state = 5},
  [49] = {.lex_state = 15},
  [50] = {.lex_state = 15},
  [51] = {.lex_state = 5},
  [52] = {.lex_state = 5},
  [53] = {.lex_state = 6},
  [54] = {.lex_state = 41},
  [55] = {.lex_state = 42},
  [56] = {.lex_state = 5},
  [57] = {.lex_state = 42},
  [58] = {.lex_state = 10},
  [59] = {.lex_state = 10},
  [60] = {.lex_state = 10},
  [61] = {.lex_state = 5},
  [62] = {.lex_state = 9},
  [63] = {.lex_state = 11},
  [64] = {.lex_state = 6},
  [65] = {.lex_state = 10},
  [66] = {.lex_state = 9},
  [67] = {.lex_state = 4},
  [68] = {.lex_state = 4},
  [69] = {.lex_state = 4},
  [70] = {.lex_state = 4},
  [71] = {.lex_state = 5},
  [72] = {.lex_state = 9},
  [73] = {.lex_state = 41},
  [74] = {.lex_state = 10},
  [75] = {.lex_state = 5},
  [76] = {.lex_state = 5},
  [77] = {.lex_state = 4},
  [78] = {.lex_state = 4},
  [79] = {.lex_state = 5},
  [80] = {.lex_state = 6},
  [81] = {.lex_state = 10},
  [82] = {.lex_state = 10},
  [83] = {.lex_state = 9},
  [84] = {.lex_state = 5},
  [85] = {.lex_state = 10},
  [86] = {.lex_state = 11},
  [87] = {.lex_state = 9},
  [88] = {.lex_state = 5},
  [89] = {.lex_state = 42},
  [90] = {.lex_state = 5},
  [91] = {.lex_state = 6},
  [92] = {.lex_state = 41},
  [93] = {.lex_state = 4},
  [94] = {.lex_state = 9},
  [95] = {.lex_state = 4},
  [96] = {.lex_state = 5},
  [97] = {.lex_state = 41},
  [98] = {.lex_state = 9},
  [99] = {.lex_state = 5},
  [100] = {.lex_state = 41},
  [101] = {.lex_state = 9},
  [102] = {.lex_state = 41},
  [103] = {.lex_state = 4},
  [104] = {.lex_state = 4},
  [105] = {.lex_state = 5},
  [106] = {.lex_state = 5},
  [107] = {.lex_state = 5},
  [108] = {.lex_state = 11},
  [109] = {.lex_state = 4},
  [110] = {.lex_state = 10},
  [111] = {.lex_state = 15},
  [112] = {.lex_state = 10},
  [113] = {.lex_state = 10},
  [114] = {.lex_state = 15},
  [115] = {.lex_state = 43},
  [116] = {.lex_state = 15},
  [117] = {.lex_state = 15},
  [118] = {.lex_state = 10},
  [119] = {.lex_state = 9},
  [120] = {.lex_state = 15},
  [121] = {.lex_state = 10},
  [122] = {.lex_state = 15},
  [123] = {.lex_state = 43},
  [124] = {.lex_state = 10},
  [125] = {.lex_state = 10},
  [126] = {.lex_state = 10},
  [127] = {.lex_state = 10},
  [128] = {.lex_state = 10},
  [129] = {.lex_state = 10},
  [130] = {.lex_state = 41},
  [131] = {.lex_state = 10},
  [132] = {.lex_state = 43},
  [133] = {.lex_state = 15},
  [134] = {.lex_state = 15},
  [135] = {.lex_state = 9},
  [136] = {.lex_state = 43},
  [137] = {.lex_state = 15},
  [138] = {.lex_state = 10},
  [139] = {.lex_state = 15},
  [140] = {.lex_state = 15},
  [141] = {.lex_state = 43},
  [142] = {.lex_state = 5},
  [143] = {.lex_state = 4},
  [144] = {.lex_state = 5},
  [145] = {.lex_state = 5},
  [146] = {.lex_state = 5},
  [147] = {.lex_state = 6},
  [148] = {.lex_state = 4},
  [149] = {.lex_state = 5},
  [150] = {.lex_state = 5},
  [151] = {.lex_state = 5},
  [152] = {.lex_state = 9},
  [153] = {.lex_state = 5},
  [154] = {.lex_state = 5},
  [155] = {.lex_state = 10},
  [156] = {.lex_state = 15},
  [157] = {.lex_state = 10},
  [158] = {.lex_state = 10},
  [159] = {.lex_state = 14},
  [160] = {.lex_state = 10},
  [161] = {.lex_state = 9},
  [162] = {.lex_state = 2},
  [163] = {.lex_state = 5},
  [164] = {.lex_state = 6},
  [165] = {.lex_state = 14},
  [166] = {.lex_state = 7},
  [167] = {.lex_state = 6},
  [168] = {.lex_state = 14},
  [169] = {.lex_state = 6},
  [170] = {.lex_state = 5},
  [171] = {.lex_state = 10},
  [172] = {.lex_state = 10},
  [173] = {.lex_state = 9},
  [174] = {.lex_state = 15},
  [175] = {.lex_state = 14},
  [176] = {.lex_state = 6},
  [177] = {.lex_state = 10},
  [178] = {.lex_state = 5},
  [179] = {.lex_state = 10},
  [180] = {.lex_state = 9},
  [181] = {.lex_state = 9},
  [182] = {.lex_state = 5},
  [183] = {.lex_state = 10},
  [184] = {.lex_state = 9},
  [185] = {.lex_state = 10},
  [186] = {.lex_state = 10},
  [187] = {.lex_state = 10},
  [188] = {.lex_state = 5},
  [189] = {.lex_state = 10},
  [190] = {.lex_state = 7},
  [191] = {.lex_state = 5},
  [192] = {.lex_state = 7},
  [193] = {.lex_state = 10},
  [194] = {.lex_state = 12},
  [195] = {.lex_state = 41},
  [196] = {.lex_state = 41},
  [197] = {.lex_state = 10},
  [198] = {.lex_state = 11},
  [199] = {.lex_state = 41},
  [200] = {.lex_state = 5},
  [201] = {.lex_state = 5},
  [202] = {.lex_state = 12},
  [203] = {.lex_state = 41},
  [204] = {.lex_state = 41},
  [205] = {.lex_state = 6},
  [206] = {.lex_state = 10},
  [207] = {.lex_state = 10},
  [208] = {.lex_state = 11},
  [209] = {.lex_state = 11},
  [210] = {.lex_state = 10},
  [211] = {.lex_state = 11},
  [212] = {.lex_state = 5},
  [213] = {.lex_state = 12},
  [214] = {.lex_state = 5},
  [215] = {.lex_state = 12},
  [216] = {.lex_state = 5},
  [217] = {.lex_state = 5},
  [218] = {.lex_state = 41},
  [219] = {.lex_state = 9},
  [220] = {.lex_state = 7},
  [221] = {.lex_state = 10},
  [222] = {.lex_state = 3},
  [223] = {.lex_state = 2},
  [224] = {.lex_state = 10},
  [225] = {.lex_state = 10},
  [226] = {.lex_state = 10},
  [227] = {.lex_state = 10},
  [228] = {.lex_state = 10},
  [229] = {.lex_state = 10},
  [230] = {.lex_state = 9},
  [231] = {.lex_state = 9},
  [232] = {.lex_state = 9},
  [233] = {.lex_state = 9},
  [234] = {.lex_state = 10},
  [235] = {.lex_state = 6},
  [236] = {.lex_state = 10},
  [237] = {.lex_state = 9},
  [238] = {.lex_state = 3},
  [239] = {.lex_state = 6},
  [240] = {.lex_state = 6},
  [241] = {.lex_state = 10},
  [242] = {.lex_state = 14},
  [243] = {.lex_state = 3},
  [244] = {.lex_state = 3},
  [245] = {.lex_state = 3},
  [246] = {.lex_state = 14},
  [247] = {.lex_state = 14},
  [248] = {.lex_state = 14},
  [249] = {.lex_state = 3},
  [250] = {.lex_state = 14},
  [251] = {.lex_state = 41},
  [252] = {.lex_state = 12},
  [253] = {.lex_state = 3},
  [254] = {.lex_state = 3},
  [255] = {.lex_state = 3},
  [256] = {.lex_state = 12},
  [257] = {.lex_state = 10},
  [258] = {.lex_state = 41},
  [259] = {.lex_state = 12},
  [260] = {.lex_state = 3},
  [261] = {.lex_state = 12},
  [262] = {.lex_state = 3},
  [263] = {.lex_state = 3},
  [264] = {.lex_state = 10},
  [265] = {.lex_state = 10},
  [266] = {.lex_state = 3},
  [267] = {.lex_state = 14},
  [268] = {.lex_state = 10},
  [269] = {.lex_state = 14},
  [270] = {.lex_state = 14},
  [271] = {.lex_state = 14},
  [272] = {.lex_state = 14},
  [273] = {.lex_state = 14},
  [274] = {.lex_state = 14},
  [275] = {.lex_state = 6},
  [276] = {.lex_state = 12},
  [277] = {.lex_state = 14},
  [278] = {.lex_state = 6},
  [279] = {.lex_state = 10},
  [280] = {.lex_state = 6},
  [281] = {.lex_state = 14},
  [282] = {.lex_state = 3},
  [283] = {.lex_state = 14},
  [284] = {.lex_state = 3},
  [285] = {.lex_state = 3},
  [286] = {.lex_state = 3},
  [287] = {.lex_state = 3},
  [288] = {.lex_state = 10},
  [289] = {.lex_state = 14},
  [290] = {.lex_state = 3},
  [291] = {.lex_state = 14},
  [292] = {.lex_state = 14},
  [293] = {.lex_state = 12},
  [294] = {.lex_state = 12},
  [295] = {.lex_state = 14},
  [296] = {.lex_state = 3},
  [297] = {.lex_state = 14},
  [298] = {.lex_state = 10},
  [299] = {.lex_state = 12},
  [300] = {.lex_state = 14},
  [301] = {.lex_state = 14},
  [302] = {.lex_state = 3},
  [303] = {.lex_state = 3},
  [304] = {.lex_state = 12},
  [305] = {.lex_state = 3},
  [306] = {.lex_state = 3},
  [307] = {.lex_state = 3},
  [308] = {.lex_state = 3},
  [309] = {.lex_state = 14},
  [310] = {.lex_state = 3},
  [311] = {.lex_state = 3},
  [312] = {.lex_state = 3},
  [313] = {.lex_state = 2},
  [314] = {.lex_state = 10},
  [315] = {.lex_state = 12},
  [316] = {.lex_state = 2},
  [317] = {.lex_state = 10},
  [318] = {.lex_state = 10},
  [319] = {.lex_state = 10},
  [320] = {.lex_state = 10},
  [321] = {.lex_state = 12},
  [322] = {.lex_state = 11},
  [323] = {.lex_state = 2},
  [324] = {.lex_state = 10},
  [325] = {.lex_state = 12},
  [326] = {.lex_state = 2},
  [327] = {.lex_state = 10},
  [328] = {.lex_state = 10},
  [329] = {.lex_state = 10},
  [330] = {.lex_state = 12},
  [331] = {.lex_state = 10},
  [332] = {.lex_state = 2},
  [333] = {.lex_state = 12},
  [334] = {.lex_state = 2},
  [335] = {.lex_state = 2},
  [336] = {.lex_state = 2},
  [337] = {.lex_state = 12},
  [338] = {.lex_state = 10},
  [339] = {.lex_state = 10},
  [340] = {.lex_state = 2},
  [341] = {.lex_state = 10},
  [342] = {.lex_state = 2},
  [343] = {.lex_state = 12},
  [344] = {.lex_state = 10},
  [345] = {.lex_state = 10},
  [346] = {.lex_state = 10},
  [347] = {.lex_state = 2},
  [348] = {.lex_state = 11},
  [349] = {.lex_state = 12},
  [350] = {.lex_state = 11},
  [351] = {.lex_state = 12},
  [352] = {.lex_state = 2},
  [353] = {.lex_state = 41},
  [354] = {.lex_state = 2},
  [355] = {.lex_state = 41},
  [356] = {.lex_state = 12},
  [357] = {.lex_state = 12},
  [358] = {.lex_state = 11},
  [359] = {.lex_state = 9},
  [360] = {.lex_state = 41},
  [361] = {.lex_state = 0},
  [362] = {.lex_state = 11},
  [363] = {.lex_state = 41},
  [364] = {.lex_state = 11},
  [365] = {.lex_state = 9},
  [366] = {.lex_state = 41},
  [367] = {.lex_state = 41},
  [368] = {.lex_state = 41},
  [369] = {.lex_state = 9},
  [370] = {.lex_state = 41},
  [371] = {.lex_state = 9},
  [372] = {.lex_state = 2},
  [373] = {.lex_state = 41},
  [374] = {.lex_state = 2},
  [375] = {.lex_state = 41},
  [376] = {.lex_state = 41},
  [377] = {.lex_state = 2},
  [378] = {.lex_state = 2},
  [379] = {.lex_state = 10},
  [380] = {.lex_state = 10},
  [381] = {.lex_state = 41},
  [382] = {.lex_state = 10},
  [383] = {.lex_state = 10},
  [384] = {.lex_state = 41},
  [385] = {.lex_state = 41},
  [386] = {.lex_state = 12},
  [387] = {.lex_state = 41},
};

static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
  [0] = {
    [ts_builtin_sym_end] = ACTIONS(1),
    [sym_pattern_start] = ACTIONS(1),
    [sym_named_pattern_start] = ACTIONS(1),
    [sym_lexicon_start] = ACTIONS(1),
    [sym_alias] = ACTIONS(1),
    [sym_left_sieve] = ACTIONS(1),
    [anon_sym_GT] = ACTIONS(1),
    [anon_sym_PIPE] = ACTIONS(1),
    [sym_colon] = ACTIONS(1),
    [sym_question_op] = ACTIONS(1),
    [sym_star_op] = ACTIONS(1),
    [sym_plus_op] = ACTIONS(1),
    [anon_sym_LPAREN] = ACTIONS(1),
    [anon_sym_RPAREN] = ACTIONS(1),
    [anon_sym_DASH] = ACTIONS(1),
    [anon_sym_COMMA] = ACTIONS(1),
    [anon_sym_LBRACK] = ACTIONS(1),
    [anon_sym_RBRACK] = ACTIONS(1),
    [anon_sym_CARET] = ACTIONS(1),
    [anon_sym_SLASH] = ACTIONS(1),
    [sym_archiphoneme_symbol] = ACTIONS(1),
    [sym_escaped_char] = ACTIONS(1),
    [sym_comment] = ACTIONS(1),
    [sym_number] = ACTIONS(1),
    [sym__ws] = ACTIONS(1),
  },
  [1] = {
    [sym_source_file] = STATE(361),
    [sym_pattern_block] = STATE(204),
    [sym_lexicon_block] = STATE(204),
    [sym_alias_command] = STATE(204),
    [sym_block_comment] = STATE(196),
    [aux_sym_source_file_repeat1] = STATE(204),
    [aux_sym_block_comment_repeat1] = STATE(34),
    [ts_builtin_sym_end] = ACTIONS(3),
    [sym_pattern_start] = ACTIONS(5),
    [sym_named_pattern_start] = ACTIONS(7),
    [sym_lexicon_start] = ACTIONS(9),
    [sym_alias] = ACTIONS(11),
    [sym_comment] = ACTIONS(13),
    [sym__real_nl] = ACTIONS(15),
  },
};

static const uint16_t ts_small_parse_table[] = {
  [0] = 15,
    ACTIONS(17), 1,
      ts_builtin_sym_end,
    ACTIONS(21), 1,
      sym_left_sieve,
    ACTIONS(23), 1,
      anon_sym_GT,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(33), 1,
      sym__ws,
    STATE(16), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(4), 2,
      sym_pattern_line,
      aux_sym_pattern_block_repeat1,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
    ACTIONS(19), 4,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
  [52] = 15,
    ACTIONS(21), 1,
      sym_left_sieve,
    ACTIONS(23), 1,
      anon_sym_GT,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(33), 1,
      sym__ws,
    ACTIONS(35), 1,
      ts_builtin_sym_end,
    STATE(16), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(4), 2,
      sym_pattern_line,
      aux_sym_pattern_block_repeat1,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
    ACTIONS(37), 4,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
  [104] = 15,
    ACTIONS(39), 1,
      ts_builtin_sym_end,
    ACTIONS(43), 1,
      sym_left_sieve,
    ACTIONS(46), 1,
      anon_sym_GT,
    ACTIONS(49), 1,
      sym_colon,
    ACTIONS(52), 1,
      anon_sym_LPAREN,
    ACTIONS(55), 1,
      anon_sym_LBRACK,
    ACTIONS(58), 1,
      sym_identifier,
    ACTIONS(61), 1,
      sym__ws,
    STATE(16), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(4), 2,
      sym_pattern_line,
      aux_sym_pattern_block_repeat1,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
    ACTIONS(41), 4,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
  [156] = 15,
    ACTIONS(21), 1,
      sym_left_sieve,
    ACTIONS(23), 1,
      anon_sym_GT,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(33), 1,
      sym__ws,
    ACTIONS(64), 1,
      ts_builtin_sym_end,
    STATE(16), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(4), 2,
      sym_pattern_line,
      aux_sym_pattern_block_repeat1,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
    ACTIONS(66), 4,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
  [208] = 15,
    ACTIONS(21), 1,
      sym_left_sieve,
    ACTIONS(23), 1,
      anon_sym_GT,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(33), 1,
      sym__ws,
    ACTIONS(68), 1,
      ts_builtin_sym_end,
    STATE(16), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(4), 2,
      sym_pattern_line,
      aux_sym_pattern_block_repeat1,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
    ACTIONS(70), 4,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
  [260] = 14,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    ACTIONS(84), 1,
      sym_lexicon_string,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    ACTIONS(74), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(12), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(72), 3,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
    ACTIONS(86), 3,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [309] = 14,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    ACTIONS(84), 1,
      sym_lexicon_string,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    ACTIONS(90), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(12), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 3,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(88), 3,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
  [358] = 14,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    ACTIONS(84), 1,
      sym_lexicon_string,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    ACTIONS(94), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(12), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 3,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(92), 3,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
  [407] = 14,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    ACTIONS(84), 1,
      sym_lexicon_string,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    ACTIONS(98), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(12), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 3,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(96), 3,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
  [456] = 14,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    ACTIONS(84), 1,
      sym_lexicon_string,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    ACTIONS(102), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(12), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 3,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(100), 3,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
  [505] = 14,
    ACTIONS(108), 1,
      anon_sym_GT,
    ACTIONS(111), 1,
      sym_colon,
    ACTIONS(114), 1,
      anon_sym_LBRACK,
    ACTIONS(117), 1,
      anon_sym_SLASH,
    ACTIONS(120), 1,
      sym_lexicon_string,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    ACTIONS(106), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(12), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(104), 3,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
    ACTIONS(123), 3,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [554] = 14,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    ACTIONS(84), 1,
      sym_lexicon_string,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    ACTIONS(128), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(12), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 3,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(126), 3,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
  [603] = 14,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    ACTIONS(84), 1,
      sym_lexicon_string,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    ACTIONS(132), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(12), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 3,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(130), 3,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
  [652] = 14,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    ACTIONS(84), 1,
      sym_lexicon_string,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    ACTIONS(136), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(12), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 3,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(134), 3,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
  [701] = 14,
    ACTIONS(21), 1,
      sym_left_sieve,
    ACTIONS(23), 1,
      anon_sym_GT,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(138), 1,
      sym_comment,
    ACTIONS(140), 1,
      sym__real_nl,
    STATE(30), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(141), 1,
      sym__nl,
    STATE(144), 1,
      sym_pattern_token,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
  [746] = 5,
    ACTIONS(146), 1,
      sym_comment,
    STATE(34), 1,
      aux_sym_block_comment_repeat1,
    STATE(73), 1,
      sym_block_comment,
    ACTIONS(144), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(142), 10,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [773] = 13,
    ACTIONS(21), 1,
      sym_left_sieve,
    ACTIONS(23), 1,
      anon_sym_GT,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(148), 1,
      sym__ws,
    STATE(16), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(2), 2,
      sym_pattern_line,
      aux_sym_pattern_block_repeat1,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
  [816] = 13,
    ACTIONS(21), 1,
      sym_left_sieve,
    ACTIONS(23), 1,
      anon_sym_GT,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(148), 1,
      sym__ws,
    STATE(16), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(3), 2,
      sym_pattern_line,
      aux_sym_pattern_block_repeat1,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
  [859] = 13,
    ACTIONS(21), 1,
      sym_left_sieve,
    ACTIONS(23), 1,
      anon_sym_GT,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(148), 1,
      sym__ws,
    STATE(16), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(5), 2,
      sym_pattern_line,
      aux_sym_pattern_block_repeat1,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
  [902] = 14,
    ACTIONS(21), 1,
      sym_left_sieve,
    ACTIONS(23), 1,
      anon_sym_GT,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(140), 1,
      sym__real_nl,
    ACTIONS(150), 1,
      sym_comment,
    STATE(30), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(115), 1,
      sym__nl,
    STATE(144), 1,
      sym_pattern_token,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
  [947] = 13,
    ACTIONS(21), 1,
      sym_left_sieve,
    ACTIONS(23), 1,
      anon_sym_GT,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(148), 1,
      sym__ws,
    STATE(16), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(6), 2,
      sym_pattern_line,
      aux_sym_pattern_block_repeat1,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
  [990] = 13,
    ACTIONS(152), 1,
      sym_left_sieve,
    ACTIONS(154), 1,
      anon_sym_GT,
    ACTIONS(156), 1,
      sym_colon,
    ACTIONS(158), 1,
      anon_sym_LPAREN,
    ACTIONS(160), 1,
      anon_sym_RPAREN,
    ACTIONS(162), 1,
      anon_sym_LBRACK,
    ACTIONS(164), 1,
      sym_identifier,
    ACTIONS(166), 1,
      sym__ws,
    STATE(41), 1,
      aux_sym_pattern_line_repeat1,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(155), 1,
      sym_pattern_token,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(227), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1032] = 4,
    ACTIONS(172), 1,
      sym_comment,
    STATE(24), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(170), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(168), 10,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1056] = 11,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    STATE(9), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1094] = 11,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    STATE(15), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1132] = 11,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    STATE(13), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1170] = 11,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    STATE(11), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1208] = 11,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    STATE(8), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1246] = 13,
    ACTIONS(175), 1,
      sym_left_sieve,
    ACTIONS(178), 1,
      anon_sym_GT,
    ACTIONS(181), 1,
      sym_colon,
    ACTIONS(184), 1,
      anon_sym_LPAREN,
    ACTIONS(187), 1,
      anon_sym_LBRACK,
    ACTIONS(190), 1,
      sym_comment,
    ACTIONS(192), 1,
      sym_identifier,
    ACTIONS(195), 1,
      sym__real_nl,
    STATE(30), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1288] = 5,
    ACTIONS(199), 1,
      sym_question_op,
    ACTIONS(202), 1,
      anon_sym_LBRACK,
    ACTIONS(205), 1,
      sym_number,
    STATE(71), 1,
      sym_tag_filter,
    ACTIONS(197), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [1314] = 11,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    STATE(14), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1352] = 5,
    ACTIONS(211), 1,
      anon_sym_LBRACK,
    STATE(56), 1,
      sym_tag_filter,
    STATE(163), 1,
      sym_pattern_operator,
    ACTIONS(209), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(207), 9,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [1378] = 4,
    ACTIONS(146), 1,
      sym_comment,
    STATE(24), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(216), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(214), 10,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1402] = 13,
    ACTIONS(152), 1,
      sym_left_sieve,
    ACTIONS(154), 1,
      anon_sym_GT,
    ACTIONS(156), 1,
      sym_colon,
    ACTIONS(158), 1,
      anon_sym_LPAREN,
    ACTIONS(162), 1,
      anon_sym_LBRACK,
    ACTIONS(164), 1,
      sym_identifier,
    ACTIONS(218), 1,
      anon_sym_RPAREN,
    ACTIONS(220), 1,
      sym__ws,
    STATE(41), 1,
      aux_sym_pattern_line_repeat1,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(155), 1,
      sym_pattern_token,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(227), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1444] = 13,
    ACTIONS(152), 1,
      sym_left_sieve,
    ACTIONS(154), 1,
      anon_sym_GT,
    ACTIONS(156), 1,
      sym_colon,
    ACTIONS(158), 1,
      anon_sym_LPAREN,
    ACTIONS(162), 1,
      anon_sym_LBRACK,
    ACTIONS(164), 1,
      sym_identifier,
    ACTIONS(222), 1,
      anon_sym_RPAREN,
    ACTIONS(224), 1,
      sym__ws,
    STATE(41), 1,
      aux_sym_pattern_line_repeat1,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(155), 1,
      sym_pattern_token,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(227), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1486] = 11,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    STATE(10), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1524] = 11,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(260), 1,
      sym_regex,
    STATE(7), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1562] = 5,
    ACTIONS(228), 1,
      sym_identifier,
    STATE(52), 1,
      sym_lexicon_reference,
    STATE(182), 1,
      sym_pattern_operator,
    ACTIONS(209), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(226), 9,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [1588] = 5,
    ACTIONS(142), 1,
      ts_builtin_sym_end,
    ACTIONS(231), 1,
      sym_comment,
    STATE(55), 1,
      aux_sym_block_comment_repeat1,
    STATE(136), 1,
      sym_block_comment,
    ACTIONS(144), 11,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
      sym__ws,
  [1614] = 13,
    ACTIONS(190), 1,
      anon_sym_RPAREN,
    ACTIONS(195), 1,
      sym__ws,
    ACTIONS(233), 1,
      sym_left_sieve,
    ACTIONS(236), 1,
      anon_sym_GT,
    ACTIONS(239), 1,
      sym_colon,
    ACTIONS(242), 1,
      anon_sym_LPAREN,
    ACTIONS(245), 1,
      anon_sym_LBRACK,
    ACTIONS(248), 1,
      sym_identifier,
    STATE(41), 1,
      aux_sym_pattern_line_repeat1,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(155), 1,
      sym_pattern_token,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(227), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1656] = 13,
    ACTIONS(152), 1,
      sym_left_sieve,
    ACTIONS(154), 1,
      anon_sym_GT,
    ACTIONS(156), 1,
      sym_colon,
    ACTIONS(158), 1,
      anon_sym_LPAREN,
    ACTIONS(162), 1,
      anon_sym_LBRACK,
    ACTIONS(164), 1,
      sym_identifier,
    ACTIONS(251), 1,
      anon_sym_RPAREN,
    ACTIONS(253), 1,
      sym__ws,
    STATE(41), 1,
      aux_sym_pattern_line_repeat1,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(155), 1,
      sym_pattern_token,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(227), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1698] = 3,
    ACTIONS(257), 1,
      anon_sym_LBRACK,
    STATE(76), 1,
      sym_tag_filter,
    ACTIONS(255), 12,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [1719] = 12,
    ACTIONS(152), 1,
      sym_left_sieve,
    ACTIONS(154), 1,
      anon_sym_GT,
    ACTIONS(156), 1,
      sym_colon,
    ACTIONS(158), 1,
      anon_sym_LPAREN,
    ACTIONS(162), 1,
      anon_sym_LBRACK,
    ACTIONS(164), 1,
      sym_identifier,
    ACTIONS(260), 1,
      sym__ws,
    STATE(42), 1,
      aux_sym_pattern_line_repeat1,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(155), 1,
      sym_pattern_token,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(227), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1758] = 6,
    ACTIONS(262), 1,
      sym_question_op,
    ACTIONS(265), 1,
      anon_sym_LBRACK,
    ACTIONS(268), 1,
      sym_number,
    ACTIONS(270), 1,
      sym__ws,
    STATE(138), 1,
      sym_tag_filter,
    ACTIONS(197), 9,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      sym_identifier,
  [1785] = 3,
    STATE(154), 1,
      sym_pattern_operator,
    ACTIONS(209), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(272), 10,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [1806] = 6,
    ACTIONS(276), 1,
      anon_sym_LBRACK,
    ACTIONS(279), 1,
      sym__ws,
    STATE(74), 1,
      sym_tag_filter,
    STATE(193), 1,
      sym_pattern_operator,
    ACTIONS(274), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(207), 7,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      sym_identifier,
  [1833] = 4,
    ACTIONS(281), 1,
      sym_colon,
    STATE(163), 1,
      sym_pattern_operator,
    ACTIONS(209), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(207), 9,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [1856] = 11,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(285), 1,
      sym_colon,
    ACTIONS(287), 1,
      anon_sym_LBRACK,
    ACTIONS(289), 1,
      anon_sym_SLASH,
    ACTIONS(293), 1,
      sym__ws,
    STATE(122), 1,
      sym_morpheme_boundary,
    STATE(169), 1,
      sym_tag_setting,
    STATE(264), 1,
      sym__lexicon_side_left,
    STATE(279), 1,
      sym_regex,
    STATE(314), 1,
      sym_lexicon_segment,
    ACTIONS(291), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1893] = 11,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(285), 1,
      sym_colon,
    ACTIONS(287), 1,
      anon_sym_LBRACK,
    ACTIONS(289), 1,
      anon_sym_SLASH,
    ACTIONS(295), 1,
      sym__ws,
    STATE(122), 1,
      sym_morpheme_boundary,
    STATE(169), 1,
      sym_tag_setting,
    STATE(264), 1,
      sym__lexicon_side_left,
    STATE(279), 1,
      sym_regex,
    STATE(341), 1,
      sym_lexicon_segment,
    ACTIONS(291), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1930] = 3,
    ACTIONS(299), 1,
      anon_sym_LBRACK,
    STATE(106), 1,
      sym_tag_filter,
    ACTIONS(297), 12,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [1951] = 3,
    STATE(170), 1,
      sym_pattern_operator,
    ACTIONS(209), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(302), 10,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [1972] = 11,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    ACTIONS(304), 1,
      sym_comment,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(260), 1,
      sym_regex,
    STATE(303), 1,
      sym_lexicon_segment,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2009] = 2,
    ACTIONS(170), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(168), 11,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
      sym_comment,
  [2028] = 4,
    ACTIONS(214), 1,
      ts_builtin_sym_end,
    ACTIONS(231), 1,
      sym_comment,
    STATE(57), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(216), 11,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
      sym__ws,
  [2051] = 3,
    STATE(178), 1,
      sym_pattern_operator,
    ACTIONS(209), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(306), 10,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [2072] = 4,
    ACTIONS(168), 1,
      ts_builtin_sym_end,
    ACTIONS(308), 1,
      sym_comment,
    STATE(57), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(170), 11,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
      sym__ws,
  [2095] = 12,
    ACTIONS(152), 1,
      sym_left_sieve,
    ACTIONS(154), 1,
      anon_sym_GT,
    ACTIONS(156), 1,
      sym_colon,
    ACTIONS(158), 1,
      anon_sym_LPAREN,
    ACTIONS(162), 1,
      anon_sym_LBRACK,
    ACTIONS(164), 1,
      sym_identifier,
    ACTIONS(311), 1,
      sym__ws,
    STATE(23), 1,
      aux_sym_pattern_line_repeat1,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(155), 1,
      sym_pattern_token,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(227), 2,
      sym_right_sieve,
      sym_pattern_option,
  [2134] = 6,
    ACTIONS(313), 1,
      sym_identifier,
    ACTIONS(316), 1,
      sym__ws,
    STATE(85), 1,
      sym_lexicon_reference,
    STATE(207), 1,
      sym_pattern_operator,
    ACTIONS(274), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(226), 7,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
  [2161] = 4,
    ACTIONS(318), 1,
      anon_sym_LBRACK,
    ACTIONS(321), 1,
      sym__ws,
    STATE(113), 1,
      sym_tag_filter,
    ACTIONS(297), 10,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      sym_identifier,
  [2183] = 1,
    ACTIONS(323), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [2199] = 9,
    ACTIONS(325), 1,
      anon_sym_PIPE,
    ACTIONS(327), 1,
      sym_colon,
    ACTIONS(329), 1,
      anon_sym_LPAREN,
    ACTIONS(331), 1,
      anon_sym_LBRACK,
    ACTIONS(333), 1,
      sym_regex_string,
    ACTIONS(335), 1,
      anon_sym_SLASH,
    ACTIONS(337), 1,
      sym_escaped_char,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(98), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_repeat1,
  [2231] = 11,
    ACTIONS(339), 1,
      sym_left_sieve,
    ACTIONS(341), 1,
      anon_sym_GT,
    ACTIONS(343), 1,
      sym_colon,
    ACTIONS(345), 1,
      anon_sym_LPAREN,
    ACTIONS(347), 1,
      anon_sym_LBRACK,
    ACTIONS(349), 1,
      sym_identifier,
    STATE(36), 1,
      aux_sym_pattern_line_repeat1,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(155), 1,
      sym_pattern_token,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(227), 2,
      sym_right_sieve,
      sym_pattern_option,
  [2267] = 10,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(351), 1,
      anon_sym_GT,
    ACTIONS(353), 1,
      sym_colon,
    ACTIONS(355), 1,
      anon_sym_SLASH,
    STATE(122), 1,
      sym_morpheme_boundary,
    STATE(169), 1,
      sym_tag_setting,
    STATE(264), 1,
      sym__lexicon_side_left,
    STATE(279), 1,
      sym_regex,
    STATE(344), 1,
      sym_lexicon_segment,
    ACTIONS(357), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2301] = 4,
    ACTIONS(359), 1,
      anon_sym_LBRACK,
    ACTIONS(362), 1,
      sym__ws,
    STATE(118), 1,
      sym_tag_filter,
    ACTIONS(255), 10,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      sym_identifier,
  [2323] = 9,
    ACTIONS(325), 1,
      anon_sym_PIPE,
    ACTIONS(327), 1,
      sym_colon,
    ACTIONS(329), 1,
      anon_sym_LPAREN,
    ACTIONS(331), 1,
      anon_sym_LBRACK,
    ACTIONS(333), 1,
      sym_regex_string,
    ACTIONS(337), 1,
      sym_escaped_char,
    ACTIONS(364), 1,
      anon_sym_SLASH,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(83), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_repeat1,
  [2355] = 7,
    ACTIONS(366), 1,
      anon_sym_GT,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(370), 1,
      anon_sym_SLASH,
    STATE(287), 1,
      sym_tag_setting,
    STATE(109), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(374), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(372), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2383] = 7,
    ACTIONS(366), 1,
      anon_sym_GT,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(370), 1,
      anon_sym_SLASH,
    STATE(310), 1,
      sym_tag_setting,
    STATE(103), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(378), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(376), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2411] = 5,
    ACTIONS(366), 1,
      anon_sym_GT,
    ACTIONS(370), 1,
      anon_sym_SLASH,
    STATE(93), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(382), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(380), 5,
      sym_colon,
      anon_sym_LBRACK,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [2435] = 7,
    ACTIONS(366), 1,
      anon_sym_GT,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(370), 1,
      anon_sym_SLASH,
    STATE(306), 1,
      sym_tag_setting,
    STATE(93), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(384), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(382), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2463] = 1,
    ACTIONS(386), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [2479] = 9,
    ACTIONS(325), 1,
      anon_sym_PIPE,
    ACTIONS(327), 1,
      sym_colon,
    ACTIONS(329), 1,
      anon_sym_LPAREN,
    ACTIONS(331), 1,
      anon_sym_LBRACK,
    ACTIONS(333), 1,
      sym_regex_string,
    ACTIONS(337), 1,
      sym_escaped_char,
    ACTIONS(388), 1,
      anon_sym_SLASH,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(66), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_repeat1,
  [2511] = 2,
    ACTIONS(392), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(390), 10,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2529] = 4,
    ACTIONS(394), 1,
      sym__ws,
    STATE(206), 1,
      sym_pattern_operator,
    ACTIONS(274), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(306), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [2551] = 1,
    ACTIONS(396), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [2567] = 1,
    ACTIONS(398), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [2583] = 5,
    ACTIONS(366), 1,
      anon_sym_GT,
    ACTIONS(370), 1,
      anon_sym_SLASH,
    STATE(69), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(402), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(400), 5,
      sym_colon,
      anon_sym_LBRACK,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [2607] = 7,
    ACTIONS(366), 1,
      anon_sym_GT,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(370), 1,
      anon_sym_SLASH,
    STATE(290), 1,
      sym_tag_setting,
    STATE(70), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(406), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(404), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2635] = 1,
    ACTIONS(408), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [2651] = 10,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(351), 1,
      anon_sym_GT,
    ACTIONS(353), 1,
      sym_colon,
    ACTIONS(355), 1,
      anon_sym_SLASH,
    STATE(122), 1,
      sym_morpheme_boundary,
    STATE(169), 1,
      sym_tag_setting,
    STATE(264), 1,
      sym__lexicon_side_left,
    STATE(279), 1,
      sym_regex,
    STATE(339), 1,
      sym_lexicon_segment,
    ACTIONS(357), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2685] = 4,
    ACTIONS(410), 1,
      sym__ws,
    STATE(197), 1,
      sym_pattern_operator,
    ACTIONS(274), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(272), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [2707] = 5,
    ACTIONS(279), 1,
      sym__ws,
    ACTIONS(412), 1,
      sym_colon,
    STATE(193), 1,
      sym_pattern_operator,
    ACTIONS(274), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(207), 7,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [2731] = 9,
    ACTIONS(414), 1,
      anon_sym_PIPE,
    ACTIONS(417), 1,
      sym_colon,
    ACTIONS(420), 1,
      anon_sym_LPAREN,
    ACTIONS(423), 1,
      anon_sym_LBRACK,
    ACTIONS(426), 1,
      sym_regex_string,
    ACTIONS(429), 1,
      anon_sym_SLASH,
    ACTIONS(431), 1,
      sym_escaped_char,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(83), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_repeat1,
  [2763] = 1,
    ACTIONS(434), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [2779] = 4,
    ACTIONS(436), 1,
      sym__ws,
    STATE(210), 1,
      sym_pattern_operator,
    ACTIONS(274), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(302), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [2801] = 11,
    ACTIONS(339), 1,
      sym_left_sieve,
    ACTIONS(341), 1,
      anon_sym_GT,
    ACTIONS(343), 1,
      sym_colon,
    ACTIONS(345), 1,
      anon_sym_LPAREN,
    ACTIONS(347), 1,
      anon_sym_LBRACK,
    ACTIONS(349), 1,
      sym_identifier,
    STATE(35), 1,
      aux_sym_pattern_line_repeat1,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(155), 1,
      sym_pattern_token,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(227), 2,
      sym_right_sieve,
      sym_pattern_option,
  [2837] = 9,
    ACTIONS(325), 1,
      anon_sym_PIPE,
    ACTIONS(327), 1,
      sym_colon,
    ACTIONS(329), 1,
      anon_sym_LPAREN,
    ACTIONS(331), 1,
      anon_sym_LBRACK,
    ACTIONS(333), 1,
      sym_regex_string,
    ACTIONS(337), 1,
      sym_escaped_char,
    ACTIONS(438), 1,
      anon_sym_RPAREN,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(101), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_group_repeat1,
  [2869] = 1,
    ACTIONS(440), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [2885] = 2,
    ACTIONS(168), 1,
      ts_builtin_sym_end,
    ACTIONS(170), 12,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__ws,
  [2903] = 1,
    ACTIONS(442), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [2919] = 10,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(78), 1,
      sym_colon,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(164), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(260), 1,
      sym_regex,
    STATE(303), 1,
      sym_lexicon_segment,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2953] = 2,
    ACTIONS(446), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(444), 10,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2971] = 5,
    ACTIONS(448), 1,
      anon_sym_GT,
    ACTIONS(453), 1,
      anon_sym_SLASH,
    STATE(93), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(456), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(451), 5,
      sym_colon,
      anon_sym_LBRACK,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [2995] = 9,
    ACTIONS(325), 1,
      anon_sym_PIPE,
    ACTIONS(327), 1,
      sym_colon,
    ACTIONS(329), 1,
      anon_sym_LPAREN,
    ACTIONS(331), 1,
      anon_sym_LBRACK,
    ACTIONS(333), 1,
      sym_regex_string,
    ACTIONS(337), 1,
      sym_escaped_char,
    ACTIONS(459), 1,
      anon_sym_RPAREN,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(87), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_group_repeat1,
  [3027] = 7,
    ACTIONS(366), 1,
      anon_sym_GT,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(370), 1,
      anon_sym_SLASH,
    STATE(311), 1,
      sym_tag_setting,
    STATE(93), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(461), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(382), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3055] = 1,
    ACTIONS(463), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [3071] = 2,
    ACTIONS(467), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(465), 10,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3089] = 9,
    ACTIONS(325), 1,
      anon_sym_PIPE,
    ACTIONS(327), 1,
      sym_colon,
    ACTIONS(329), 1,
      anon_sym_LPAREN,
    ACTIONS(331), 1,
      anon_sym_LBRACK,
    ACTIONS(333), 1,
      sym_regex_string,
    ACTIONS(337), 1,
      sym_escaped_char,
    ACTIONS(469), 1,
      anon_sym_SLASH,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(83), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_repeat1,
  [3121] = 1,
    ACTIONS(471), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [3137] = 2,
    ACTIONS(475), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(473), 10,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3155] = 9,
    ACTIONS(477), 1,
      anon_sym_PIPE,
    ACTIONS(480), 1,
      sym_colon,
    ACTIONS(483), 1,
      anon_sym_LPAREN,
    ACTIONS(486), 1,
      anon_sym_RPAREN,
    ACTIONS(488), 1,
      anon_sym_LBRACK,
    ACTIONS(491), 1,
      sym_regex_string,
    ACTIONS(494), 1,
      sym_escaped_char,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(101), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_group_repeat1,
  [3187] = 2,
    ACTIONS(499), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(497), 10,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3205] = 7,
    ACTIONS(366), 1,
      anon_sym_GT,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(370), 1,
      anon_sym_SLASH,
    STATE(305), 1,
      sym_tag_setting,
    STATE(93), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(501), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(382), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3233] = 7,
    ACTIONS(366), 1,
      anon_sym_GT,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(370), 1,
      anon_sym_SLASH,
    STATE(307), 1,
      sym_tag_setting,
    STATE(95), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(505), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(503), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3261] = 1,
    ACTIONS(507), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [3277] = 1,
    ACTIONS(509), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [3293] = 1,
    ACTIONS(511), 13,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [3309] = 11,
    ACTIONS(513), 1,
      sym_left_sieve,
    ACTIONS(515), 1,
      anon_sym_GT,
    ACTIONS(517), 1,
      sym_colon,
    ACTIONS(519), 1,
      anon_sym_LPAREN,
    ACTIONS(521), 1,
      anon_sym_LBRACK,
    ACTIONS(523), 1,
      sym_identifier,
    STATE(21), 1,
      aux_sym_pattern_line_repeat1,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(201), 2,
      sym_right_sieve,
      sym_pattern_option,
  [3345] = 7,
    ACTIONS(366), 1,
      anon_sym_GT,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(370), 1,
      anon_sym_SLASH,
    STATE(286), 1,
      sym_tag_setting,
    STATE(93), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(525), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(382), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3373] = 2,
    ACTIONS(527), 1,
      sym__ws,
    ACTIONS(442), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3390] = 8,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(525), 1,
      anon_sym_RBRACK,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(531), 1,
      anon_sym_SLASH,
    ACTIONS(535), 1,
      sym__ws,
    STATE(327), 1,
      sym_tag_setting,
    STATE(134), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(533), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3419] = 2,
    ACTIONS(537), 1,
      sym__ws,
    ACTIONS(440), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3436] = 2,
    ACTIONS(539), 1,
      sym__ws,
    ACTIONS(509), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3453] = 8,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(461), 1,
      anon_sym_RBRACK,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(531), 1,
      anon_sym_SLASH,
    ACTIONS(541), 1,
      sym__ws,
    STATE(331), 1,
      sym_tag_setting,
    STATE(134), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(533), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3482] = 2,
    ACTIONS(543), 1,
      ts_builtin_sym_end,
    ACTIONS(545), 11,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
      sym__ws,
  [3499] = 8,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(374), 1,
      anon_sym_RBRACK,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(531), 1,
      anon_sym_SLASH,
    ACTIONS(549), 1,
      sym__ws,
    STATE(320), 1,
      sym_tag_setting,
    STATE(111), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(547), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3528] = 8,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(378), 1,
      anon_sym_RBRACK,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(531), 1,
      anon_sym_SLASH,
    ACTIONS(553), 1,
      sym__ws,
    STATE(318), 1,
      sym_tag_setting,
    STATE(139), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(551), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3557] = 2,
    ACTIONS(555), 1,
      sym__ws,
    ACTIONS(398), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3574] = 4,
    STATE(233), 1,
      sym_pattern_operator,
    ACTIONS(557), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(561), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(559), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [3595] = 6,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(531), 1,
      anon_sym_SLASH,
    ACTIONS(563), 1,
      sym__ws,
    STATE(134), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(380), 3,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
    ACTIONS(533), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3620] = 2,
    ACTIONS(565), 1,
      sym__ws,
    ACTIONS(396), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3637] = 6,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(531), 1,
      anon_sym_SLASH,
    ACTIONS(569), 1,
      sym__ws,
    STATE(120), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(400), 3,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
    ACTIONS(567), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3662] = 2,
    ACTIONS(571), 1,
      ts_builtin_sym_end,
    ACTIONS(573), 11,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
      sym__ws,
  [3679] = 2,
    ACTIONS(575), 1,
      sym__ws,
    ACTIONS(471), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3696] = 2,
    ACTIONS(577), 1,
      sym__ws,
    ACTIONS(507), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3713] = 2,
    ACTIONS(579), 1,
      sym__ws,
    ACTIONS(408), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3730] = 2,
    ACTIONS(581), 1,
      sym__ws,
    ACTIONS(323), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3747] = 2,
    ACTIONS(583), 1,
      sym__ws,
    ACTIONS(511), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3764] = 2,
    ACTIONS(585), 1,
      sym__ws,
    ACTIONS(463), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3781] = 9,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(146), 1,
      sym_comment,
    ACTIONS(587), 1,
      ts_builtin_sym_end,
    ACTIONS(589), 1,
      sym_pattern_start,
    ACTIONS(591), 1,
      sym_lexicon_start,
    ACTIONS(593), 1,
      sym_alias,
    STATE(34), 1,
      aux_sym_block_comment_repeat1,
    STATE(203), 1,
      sym_block_comment,
    STATE(199), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [3812] = 2,
    ACTIONS(595), 1,
      sym__ws,
    ACTIONS(434), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3829] = 2,
    ACTIONS(597), 1,
      ts_builtin_sym_end,
    ACTIONS(599), 11,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
      sym__ws,
  [3846] = 8,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(384), 1,
      anon_sym_RBRACK,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(531), 1,
      anon_sym_SLASH,
    ACTIONS(601), 1,
      sym__ws,
    STATE(324), 1,
      sym_tag_setting,
    STATE(134), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(533), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3875] = 6,
    ACTIONS(603), 1,
      anon_sym_GT,
    ACTIONS(606), 1,
      anon_sym_SLASH,
    ACTIONS(612), 1,
      sym__ws,
    STATE(134), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(451), 3,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
    ACTIONS(609), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3900] = 4,
    STATE(231), 1,
      sym_pattern_operator,
    ACTIONS(614), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(561), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(616), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [3921] = 2,
    ACTIONS(390), 1,
      ts_builtin_sym_end,
    ACTIONS(392), 11,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
      sym__ws,
  [3938] = 8,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(406), 1,
      anon_sym_RBRACK,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(531), 1,
      anon_sym_SLASH,
    ACTIONS(620), 1,
      sym__ws,
    STATE(338), 1,
      sym_tag_setting,
    STATE(133), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(618), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3967] = 2,
    ACTIONS(622), 1,
      sym__ws,
    ACTIONS(386), 11,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [3984] = 8,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(501), 1,
      anon_sym_RBRACK,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(531), 1,
      anon_sym_SLASH,
    ACTIONS(624), 1,
      sym__ws,
    STATE(329), 1,
      sym_tag_setting,
    STATE(134), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(533), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4013] = 8,
    ACTIONS(283), 1,
      anon_sym_GT,
    ACTIONS(505), 1,
      anon_sym_RBRACK,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(531), 1,
      anon_sym_SLASH,
    ACTIONS(628), 1,
      sym__ws,
    STATE(328), 1,
      sym_tag_setting,
    STATE(114), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(626), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4042] = 2,
    ACTIONS(630), 1,
      ts_builtin_sym_end,
    ACTIONS(632), 11,
      sym_pattern_start,
      sym_named_pattern_start,
      sym_lexicon_start,
      sym_alias,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
      sym__ws,
  [4059] = 3,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    STATE(185), 1,
      sym_pattern_or,
    ACTIONS(634), 9,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [4077] = 1,
    ACTIONS(638), 11,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [4091] = 4,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    ACTIONS(642), 1,
      sym__ws,
    STATE(157), 1,
      sym_pattern_or,
    ACTIONS(640), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [4111] = 4,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    ACTIONS(646), 1,
      sym__ws,
    STATE(157), 1,
      sym_pattern_or,
    ACTIONS(644), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [4131] = 3,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    STATE(185), 1,
      sym_pattern_or,
    ACTIONS(644), 9,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [4149] = 4,
    ACTIONS(648), 1,
      sym_comment,
    STATE(176), 1,
      aux_sym_block_comment_repeat1,
    STATE(235), 1,
      sym_block_comment,
    ACTIONS(142), 8,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4169] = 1,
    ACTIONS(650), 11,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [4183] = 4,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    ACTIONS(652), 1,
      sym__ws,
    STATE(157), 1,
      sym_pattern_or,
    ACTIONS(634), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [4203] = 3,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    STATE(185), 1,
      sym_pattern_or,
    ACTIONS(654), 9,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [4221] = 4,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    ACTIONS(658), 1,
      sym__ws,
    STATE(157), 1,
      sym_pattern_or,
    ACTIONS(656), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [4241] = 7,
    ACTIONS(331), 1,
      anon_sym_LBRACK,
    ACTIONS(660), 1,
      anon_sym_PIPE,
    ACTIONS(662), 1,
      sym_colon,
    ACTIONS(666), 1,
      sym_regex_string,
    ACTIONS(668), 1,
      sym_escaped_char,
    STATE(181), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(664), 3,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [4266] = 1,
    ACTIONS(670), 10,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [4279] = 1,
    ACTIONS(672), 10,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [4292] = 4,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    ACTIONS(674), 1,
      sym__ws,
    STATE(160), 1,
      sym_pattern_or,
    ACTIONS(640), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4311] = 2,
    ACTIONS(676), 1,
      sym__ws,
    ACTIONS(650), 9,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4326] = 9,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(678), 1,
      sym__ws,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(151), 1,
      sym_pattern_token,
    STATE(191), 1,
      sym_pattern_option,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [4355] = 4,
    ACTIONS(195), 1,
      sym__ws,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    STATE(171), 1,
      sym_pattern_or,
    ACTIONS(190), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4374] = 6,
    ACTIONS(682), 1,
      anon_sym_DASH,
    ACTIONS(684), 1,
      sym_tag,
    ACTIONS(686), 1,
      sym__ws,
    STATE(385), 1,
      sym_tag_distribution_operator,
    ACTIONS(680), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(272), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [4397] = 9,
    ACTIONS(156), 1,
      sym_colon,
    ACTIONS(158), 1,
      anon_sym_LPAREN,
    ACTIONS(162), 1,
      anon_sym_LBRACK,
    ACTIONS(164), 1,
      sym_identifier,
    ACTIONS(688), 1,
      sym__ws,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(172), 1,
      sym_pattern_token,
    STATE(224), 1,
      sym_pattern_option,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [4426] = 6,
    ACTIONS(331), 1,
      anon_sym_LBRACK,
    ACTIONS(660), 1,
      anon_sym_PIPE,
    ACTIONS(690), 1,
      sym_regex_string,
    ACTIONS(692), 1,
      sym_escaped_char,
    STATE(173), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(664), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [4449] = 4,
    ACTIONS(195), 1,
      sym__real_nl,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    STATE(185), 1,
      sym_pattern_or,
    ACTIONS(190), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
  [4468] = 1,
    ACTIONS(694), 10,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [4481] = 7,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    ACTIONS(696), 1,
      sym_colon,
    STATE(77), 1,
      sym_morpheme_boundary,
    STATE(243), 1,
      sym__lexicon_side_left,
    STATE(254), 1,
      sym_regex,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4506] = 6,
    ACTIONS(682), 1,
      anon_sym_DASH,
    ACTIONS(698), 1,
      sym_tag,
    ACTIONS(700), 1,
      sym__ws,
    STATE(385), 1,
      sym_tag_distribution_operator,
    ACTIONS(680), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(300), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [4529] = 5,
    ACTIONS(142), 1,
      sym__ws,
    ACTIONS(702), 1,
      sym_comment,
    STATE(192), 1,
      aux_sym_block_comment_repeat1,
    STATE(241), 1,
      sym_block_comment,
    ACTIONS(144), 6,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4550] = 3,
    ACTIONS(704), 1,
      sym_comment,
    STATE(167), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(168), 8,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4567] = 6,
    ACTIONS(682), 1,
      anon_sym_DASH,
    ACTIONS(707), 1,
      sym_tag,
    ACTIONS(709), 1,
      sym__ws,
    STATE(385), 1,
      sym_tag_distribution_operator,
    ACTIONS(680), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(283), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [4590] = 7,
    ACTIONS(351), 1,
      anon_sym_GT,
    ACTIONS(355), 1,
      anon_sym_SLASH,
    ACTIONS(711), 1,
      sym_colon,
    STATE(122), 1,
      sym_morpheme_boundary,
    STATE(257), 1,
      sym__lexicon_side_left,
    STATE(268), 1,
      sym_regex,
    ACTIONS(357), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4615] = 1,
    ACTIONS(713), 10,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [4628] = 9,
    ACTIONS(156), 1,
      sym_colon,
    ACTIONS(158), 1,
      anon_sym_LPAREN,
    ACTIONS(162), 1,
      anon_sym_LBRACK,
    ACTIONS(164), 1,
      sym_identifier,
    ACTIONS(715), 1,
      sym__ws,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(177), 1,
      sym_pattern_token,
    STATE(229), 1,
      sym_pattern_option,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [4657] = 4,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    ACTIONS(717), 1,
      sym__ws,
    STATE(160), 1,
      sym_pattern_or,
    ACTIONS(656), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4676] = 6,
    ACTIONS(331), 1,
      anon_sym_LBRACK,
    ACTIONS(666), 1,
      sym_regex_string,
    ACTIONS(668), 1,
      sym_escaped_char,
    ACTIONS(719), 1,
      anon_sym_PIPE,
    STATE(181), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(721), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [4699] = 2,
    ACTIONS(723), 1,
      sym__ws,
    ACTIONS(638), 9,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4714] = 6,
    ACTIONS(682), 1,
      anon_sym_DASH,
    ACTIONS(725), 1,
      sym_tag,
    ACTIONS(727), 1,
      sym__ws,
    STATE(385), 1,
      sym_tag_distribution_operator,
    ACTIONS(680), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(291), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [4737] = 3,
    ACTIONS(648), 1,
      sym_comment,
    STATE(167), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(214), 8,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4754] = 4,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    ACTIONS(729), 1,
      sym__ws,
    STATE(160), 1,
      sym_pattern_or,
    ACTIONS(644), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4773] = 1,
    ACTIONS(731), 10,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [4786] = 4,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    ACTIONS(733), 1,
      sym__ws,
    STATE(171), 1,
      sym_pattern_or,
    ACTIONS(644), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4805] = 6,
    ACTIONS(331), 1,
      anon_sym_LBRACK,
    ACTIONS(719), 1,
      anon_sym_PIPE,
    ACTIONS(735), 1,
      sym_regex_string,
    ACTIONS(737), 1,
      sym_escaped_char,
    STATE(184), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(721), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [4828] = 6,
    ACTIONS(739), 1,
      anon_sym_PIPE,
    ACTIONS(743), 1,
      anon_sym_LBRACK,
    ACTIONS(746), 1,
      sym_regex_string,
    ACTIONS(749), 1,
      sym_escaped_char,
    STATE(181), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(741), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [4851] = 1,
    ACTIONS(752), 10,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [4864] = 4,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    ACTIONS(754), 1,
      sym__ws,
    STATE(171), 1,
      sym_pattern_or,
    ACTIONS(654), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4883] = 6,
    ACTIONS(331), 1,
      anon_sym_LBRACK,
    ACTIONS(666), 1,
      sym_regex_string,
    ACTIONS(668), 1,
      sym_escaped_char,
    ACTIONS(756), 1,
      anon_sym_PIPE,
    STATE(181), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(758), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [4906] = 9,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(760), 1,
      sym__ws,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(145), 1,
      sym_pattern_token,
    STATE(214), 1,
      sym_pattern_option,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [4935] = 4,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    ACTIONS(762), 1,
      sym__ws,
    STATE(171), 1,
      sym_pattern_or,
    ACTIONS(634), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4954] = 4,
    ACTIONS(636), 1,
      anon_sym_PIPE,
    ACTIONS(764), 1,
      sym__ws,
    STATE(160), 1,
      sym_pattern_or,
    ACTIONS(634), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4973] = 1,
    ACTIONS(766), 9,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [4985] = 2,
    ACTIONS(768), 1,
      sym__ws,
    ACTIONS(670), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4999] = 4,
    ACTIONS(168), 1,
      sym__ws,
    ACTIONS(770), 1,
      sym_comment,
    STATE(190), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(170), 6,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5017] = 2,
    ACTIONS(775), 1,
      sym__ws,
    ACTIONS(773), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [5031] = 4,
    ACTIONS(214), 1,
      sym__ws,
    ACTIONS(702), 1,
      sym_comment,
    STATE(190), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(216), 6,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5049] = 2,
    ACTIONS(777), 1,
      sym__ws,
    ACTIONS(694), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5063] = 5,
    ACTIONS(781), 1,
      anon_sym_DASH,
    ACTIONS(783), 1,
      sym_tag,
    STATE(385), 1,
      sym_tag_distribution_operator,
    ACTIONS(779), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(271), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [5083] = 6,
    ACTIONS(785), 1,
      ts_builtin_sym_end,
    ACTIONS(787), 1,
      sym_pattern_start,
    ACTIONS(790), 1,
      sym_named_pattern_start,
    ACTIONS(793), 1,
      sym_lexicon_start,
    ACTIONS(796), 1,
      sym_alias,
    STATE(195), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5105] = 6,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(587), 1,
      ts_builtin_sym_end,
    ACTIONS(589), 1,
      sym_pattern_start,
    ACTIONS(591), 1,
      sym_lexicon_start,
    ACTIONS(593), 1,
      sym_alias,
    STATE(199), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5127] = 2,
    ACTIONS(799), 1,
      sym__ws,
    ACTIONS(672), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5141] = 8,
    ACTIONS(517), 1,
      sym_colon,
    ACTIONS(519), 1,
      anon_sym_LPAREN,
    ACTIONS(521), 1,
      anon_sym_LBRACK,
    ACTIONS(523), 1,
      sym_identifier,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(145), 1,
      sym_pattern_token,
    STATE(214), 1,
      sym_pattern_option,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [5167] = 6,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(589), 1,
      sym_pattern_start,
    ACTIONS(591), 1,
      sym_lexicon_start,
    ACTIONS(593), 1,
      sym_alias,
    ACTIONS(801), 1,
      ts_builtin_sym_end,
    STATE(195), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5189] = 1,
    ACTIONS(803), 9,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [5201] = 2,
    ACTIONS(805), 1,
      sym__ws,
    ACTIONS(640), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [5215] = 5,
    ACTIONS(781), 1,
      anon_sym_DASH,
    ACTIONS(807), 1,
      sym_tag,
    STATE(385), 1,
      sym_tag_distribution_operator,
    ACTIONS(779), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(295), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [5235] = 6,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(589), 1,
      sym_pattern_start,
    ACTIONS(591), 1,
      sym_lexicon_start,
    ACTIONS(593), 1,
      sym_alias,
    ACTIONS(801), 1,
      ts_builtin_sym_end,
    STATE(218), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5257] = 6,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(587), 1,
      ts_builtin_sym_end,
    ACTIONS(589), 1,
      sym_pattern_start,
    ACTIONS(591), 1,
      sym_lexicon_start,
    ACTIONS(593), 1,
      sym_alias,
    STATE(195), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5279] = 1,
    ACTIONS(168), 9,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
      sym_comment,
  [5291] = 2,
    ACTIONS(809), 1,
      sym__ws,
    ACTIONS(731), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5305] = 2,
    ACTIONS(811), 1,
      sym__ws,
    ACTIONS(752), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5319] = 8,
    ACTIONS(517), 1,
      sym_colon,
    ACTIONS(519), 1,
      anon_sym_LPAREN,
    ACTIONS(521), 1,
      anon_sym_LBRACK,
    ACTIONS(523), 1,
      sym_identifier,
    STATE(48), 1,
      sym_lexicon_reference,
    STATE(149), 1,
      sym_pattern_token,
    STATE(217), 1,
      sym_pattern_option,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [5345] = 8,
    ACTIONS(343), 1,
      sym_colon,
    ACTIONS(345), 1,
      anon_sym_LPAREN,
    ACTIONS(347), 1,
      anon_sym_LBRACK,
    ACTIONS(349), 1,
      sym_identifier,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(187), 1,
      sym_pattern_token,
    STATE(228), 1,
      sym_pattern_option,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [5371] = 2,
    ACTIONS(813), 1,
      sym__ws,
    ACTIONS(713), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5385] = 8,
    ACTIONS(343), 1,
      sym_colon,
    ACTIONS(345), 1,
      anon_sym_LPAREN,
    ACTIONS(347), 1,
      anon_sym_LBRACK,
    ACTIONS(349), 1,
      sym_identifier,
    STATE(82), 1,
      sym_lexicon_reference,
    STATE(177), 1,
      sym_pattern_token,
    STATE(229), 1,
      sym_pattern_option,
    STATE(47), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [5411] = 1,
    ACTIONS(815), 9,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [5423] = 5,
    ACTIONS(781), 1,
      anon_sym_DASH,
    ACTIONS(817), 1,
      sym_tag,
    STATE(385), 1,
      sym_tag_distribution_operator,
    ACTIONS(779), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(291), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [5443] = 2,
    ACTIONS(821), 1,
      sym__ws,
    ACTIONS(819), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [5457] = 5,
    ACTIONS(781), 1,
      anon_sym_DASH,
    ACTIONS(823), 1,
      sym_tag,
    STATE(385), 1,
      sym_tag_distribution_operator,
    ACTIONS(779), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(273), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [5477] = 1,
    ACTIONS(825), 9,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [5489] = 2,
    ACTIONS(829), 1,
      sym__ws,
    ACTIONS(827), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [5503] = 6,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(589), 1,
      sym_pattern_start,
    ACTIONS(591), 1,
      sym_lexicon_start,
    ACTIONS(593), 1,
      sym_alias,
    ACTIONS(831), 1,
      ts_builtin_sym_end,
    STATE(195), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5525] = 2,
    ACTIONS(670), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(768), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [5538] = 2,
    ACTIONS(168), 1,
      sym__ws,
    ACTIONS(170), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
  [5551] = 2,
    ACTIONS(195), 1,
      sym__ws,
    ACTIONS(190), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5564] = 8,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(833), 1,
      sym_comment,
    ACTIONS(835), 1,
      sym_number,
    ACTIONS(837), 1,
      sym__real_nl,
    ACTIONS(839), 1,
      sym__ws,
    STATE(28), 1,
      sym__nl,
    STATE(266), 1,
      sym_tag_setting,
    STATE(323), 1,
      sym__end_com,
  [5589] = 2,
    ACTIONS(195), 1,
      sym__real_nl,
    ACTIONS(190), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
  [5602] = 2,
    ACTIONS(841), 1,
      sym__ws,
    ACTIONS(773), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5615] = 2,
    ACTIONS(843), 1,
      sym__ws,
    ACTIONS(766), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5628] = 2,
    ACTIONS(845), 1,
      sym__ws,
    ACTIONS(815), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5641] = 2,
    ACTIONS(847), 1,
      sym__ws,
    ACTIONS(640), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5654] = 2,
    ACTIONS(850), 1,
      sym__ws,
    ACTIONS(827), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5667] = 2,
    ACTIONS(852), 1,
      sym__ws,
    ACTIONS(819), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5680] = 2,
    ACTIONS(854), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(856), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [5693] = 2,
    ACTIONS(557), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(559), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [5706] = 2,
    ACTIONS(858), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(860), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [5719] = 2,
    ACTIONS(862), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(864), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [5732] = 2,
    ACTIONS(866), 1,
      sym__ws,
    ACTIONS(803), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5745] = 1,
    ACTIONS(390), 8,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [5756] = 2,
    ACTIONS(868), 1,
      sym__ws,
    ACTIONS(825), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5769] = 2,
    ACTIONS(870), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(872), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [5782] = 7,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(833), 1,
      sym_comment,
    ACTIONS(837), 1,
      sym__real_nl,
    ACTIONS(839), 1,
      sym__ws,
    STATE(26), 1,
      sym__nl,
    STATE(262), 1,
      sym_tag_setting,
    STATE(335), 1,
      sym__end_com,
  [5804] = 1,
    ACTIONS(874), 7,
      anon_sym_GT,
      sym_colon,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [5814] = 1,
    ACTIONS(876), 7,
      anon_sym_GT,
      sym_colon,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [5824] = 2,
    ACTIONS(390), 1,
      sym__ws,
    ACTIONS(392), 6,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5836] = 5,
    ACTIONS(682), 1,
      anon_sym_DASH,
    ACTIONS(878), 1,
      sym_tag,
    ACTIONS(880), 1,
      sym__ws,
    STATE(370), 1,
      sym__tag_list,
    STATE(277), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [5853] = 4,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(882), 1,
      sym_colon,
    STATE(312), 1,
      sym_tag_setting,
    ACTIONS(884), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [5868] = 4,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    ACTIONS(886), 1,
      sym_colon,
    STATE(296), 1,
      sym_tag_setting,
    ACTIONS(888), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [5883] = 6,
    ACTIONS(833), 1,
      sym_comment,
    ACTIONS(890), 1,
      sym__real_nl,
    ACTIONS(892), 1,
      sym__ws,
    STATE(97), 1,
      sym__nl,
    STATE(249), 1,
      aux_sym_lexicon_line_repeat1,
    STATE(336), 1,
      sym__end_com,
  [5902] = 5,
    ACTIONS(682), 1,
      anon_sym_DASH,
    ACTIONS(878), 1,
      sym_tag,
    ACTIONS(894), 1,
      sym__ws,
    STATE(375), 1,
      sym__tag_list,
    STATE(277), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [5919] = 5,
    ACTIONS(682), 1,
      anon_sym_DASH,
    ACTIONS(878), 1,
      sym_tag,
    ACTIONS(896), 1,
      sym__ws,
    STATE(373), 1,
      sym__tag_list,
    STATE(277), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [5936] = 5,
    ACTIONS(682), 1,
      anon_sym_DASH,
    ACTIONS(878), 1,
      sym_tag,
    ACTIONS(898), 1,
      sym__ws,
    STATE(360), 1,
      sym__tag_list,
    STATE(277), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [5953] = 6,
    ACTIONS(833), 1,
      sym_comment,
    ACTIONS(890), 1,
      sym__real_nl,
    ACTIONS(892), 1,
      sym__ws,
    STATE(100), 1,
      sym__nl,
    STATE(284), 1,
      aux_sym_lexicon_line_repeat1,
    STATE(316), 1,
      sym__end_com,
  [5972] = 4,
    ACTIONS(682), 1,
      anon_sym_DASH,
    ACTIONS(900), 1,
      sym_tag,
    ACTIONS(902), 1,
      sym__ws,
    STATE(309), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [5986] = 2,
    ACTIONS(906), 1,
      sym_named_pattern_start,
    ACTIONS(904), 4,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      sym_alias,
  [5996] = 4,
    ACTIONS(781), 1,
      anon_sym_DASH,
    ACTIONS(908), 1,
      sym_tag,
    STATE(384), 1,
      sym__tag_list,
    STATE(277), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [6010] = 5,
    ACTIONS(833), 1,
      sym_comment,
    ACTIONS(839), 1,
      sym__ws,
    ACTIONS(910), 1,
      sym__real_nl,
    STATE(18), 1,
      sym__nl,
    STATE(332), 1,
      sym__end_com,
  [6026] = 3,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    STATE(312), 1,
      sym_tag_setting,
    ACTIONS(884), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6038] = 5,
    ACTIONS(833), 1,
      sym_comment,
    ACTIONS(839), 1,
      sym__ws,
    ACTIONS(910), 1,
      sym__real_nl,
    STATE(20), 1,
      sym__nl,
    STATE(342), 1,
      sym__end_com,
  [6054] = 4,
    ACTIONS(781), 1,
      anon_sym_DASH,
    ACTIONS(908), 1,
      sym_tag,
    STATE(381), 1,
      sym__tag_list,
    STATE(277), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [6068] = 5,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(884), 1,
      anon_sym_RBRACK,
    ACTIONS(912), 1,
      sym_colon,
    ACTIONS(914), 1,
      sym__ws,
    STATE(319), 1,
      sym_tag_setting,
  [6084] = 2,
    ACTIONS(918), 1,
      sym_named_pattern_start,
    ACTIONS(916), 4,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      sym_alias,
  [6094] = 4,
    ACTIONS(781), 1,
      anon_sym_DASH,
    ACTIONS(908), 1,
      sym_tag,
    STATE(366), 1,
      sym__tag_list,
    STATE(277), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [6108] = 3,
    ACTIONS(368), 1,
      anon_sym_LBRACK,
    STATE(296), 1,
      sym_tag_setting,
    ACTIONS(888), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6120] = 4,
    ACTIONS(781), 1,
      anon_sym_DASH,
    ACTIONS(908), 1,
      sym_tag,
    STATE(376), 1,
      sym__tag_list,
    STATE(277), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [6134] = 5,
    ACTIONS(833), 1,
      sym_comment,
    ACTIONS(837), 1,
      sym__real_nl,
    ACTIONS(839), 1,
      sym__ws,
    STATE(37), 1,
      sym__nl,
    STATE(347), 1,
      sym__end_com,
  [6150] = 5,
    ACTIONS(833), 1,
      sym_comment,
    ACTIONS(839), 1,
      sym__ws,
    ACTIONS(890), 1,
      sym__real_nl,
    STATE(258), 1,
      sym__nl,
    STATE(334), 1,
      sym__end_com,
  [6166] = 5,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(888), 1,
      anon_sym_RBRACK,
    ACTIONS(920), 1,
      sym_colon,
    ACTIONS(922), 1,
      sym__ws,
    STATE(317), 1,
      sym_tag_setting,
  [6182] = 2,
    ACTIONS(856), 1,
      sym__ws,
    ACTIONS(854), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [6192] = 5,
    ACTIONS(833), 1,
      sym_comment,
    ACTIONS(837), 1,
      sym__real_nl,
    ACTIONS(839), 1,
      sym__ws,
    STATE(27), 1,
      sym__nl,
    STATE(313), 1,
      sym__end_com,
  [6208] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(926), 1,
      anon_sym_RBRACK,
    ACTIONS(928), 1,
      sym__ws,
    STATE(281), 1,
      aux_sym_tag_filter_repeat1,
  [6221] = 4,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(884), 1,
      anon_sym_RBRACK,
    ACTIONS(914), 1,
      sym__ws,
    STATE(319), 1,
      sym_tag_setting,
  [6234] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(930), 1,
      anon_sym_RBRACK,
    ACTIONS(932), 1,
      sym__ws,
    STATE(281), 1,
      aux_sym_tag_filter_repeat1,
  [6247] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(934), 1,
      anon_sym_RBRACK,
    ACTIONS(936), 1,
      sym__ws,
    STATE(281), 1,
      aux_sym_tag_filter_repeat1,
  [6260] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(934), 1,
      anon_sym_RBRACK,
    ACTIONS(936), 1,
      sym__ws,
    STATE(269), 1,
      aux_sym_tag_filter_repeat1,
  [6273] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(938), 1,
      anon_sym_RBRACK,
    ACTIONS(940), 1,
      sym__ws,
    STATE(270), 1,
      aux_sym_tag_filter_repeat1,
  [6286] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(942), 1,
      anon_sym_RBRACK,
    ACTIONS(944), 1,
      sym__ws,
    STATE(267), 1,
      aux_sym_tag_filter_repeat1,
  [6299] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(942), 1,
      anon_sym_RBRACK,
    ACTIONS(944), 1,
      sym__ws,
    STATE(281), 1,
      aux_sym_tag_filter_repeat1,
  [6312] = 3,
    ACTIONS(946), 1,
      anon_sym_RBRACK,
    STATE(278), 1,
      aux_sym_regex_char_class_repeat1,
    ACTIONS(948), 2,
      sym_lexicon_string,
      sym_escaped_char,
  [6323] = 3,
    ACTIONS(781), 1,
      anon_sym_DASH,
    ACTIONS(950), 1,
      sym_tag,
    STATE(301), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [6334] = 4,
    ACTIONS(952), 1,
      anon_sym_COMMA,
    ACTIONS(954), 1,
      anon_sym_RBRACK,
    ACTIONS(956), 1,
      sym__ws,
    STATE(294), 1,
      aux_sym__tag_list_repeat1,
  [6347] = 3,
    ACTIONS(958), 1,
      anon_sym_RBRACK,
    STATE(278), 1,
      aux_sym_regex_char_class_repeat1,
    ACTIONS(960), 2,
      sym_lexicon_string,
      sym_escaped_char,
  [6358] = 4,
    ACTIONS(529), 1,
      anon_sym_LBRACK,
    ACTIONS(888), 1,
      anon_sym_RBRACK,
    ACTIONS(922), 1,
      sym__ws,
    STATE(317), 1,
      sym_tag_setting,
  [6371] = 3,
    ACTIONS(963), 1,
      anon_sym_RBRACK,
    STATE(275), 1,
      aux_sym_regex_char_class_repeat1,
    ACTIONS(965), 2,
      sym_lexicon_string,
      sym_escaped_char,
  [6382] = 4,
    ACTIONS(967), 1,
      anon_sym_COMMA,
    ACTIONS(970), 1,
      anon_sym_RBRACK,
    ACTIONS(972), 1,
      sym__ws,
    STATE(281), 1,
      aux_sym_tag_filter_repeat1,
  [6395] = 1,
    ACTIONS(975), 4,
      anon_sym_LBRACK,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6402] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(977), 1,
      anon_sym_RBRACK,
    ACTIONS(979), 1,
      sym__ws,
    STATE(274), 1,
      aux_sym_tag_filter_repeat1,
  [6415] = 3,
    ACTIONS(983), 1,
      sym__ws,
    STATE(284), 1,
      aux_sym_lexicon_line_repeat1,
    ACTIONS(981), 2,
      sym_comment,
      sym__real_nl,
  [6426] = 1,
    ACTIONS(986), 4,
      anon_sym_LBRACK,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6433] = 1,
    ACTIONS(988), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6439] = 1,
    ACTIONS(990), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6445] = 2,
    ACTIONS(992), 1,
      sym__ws,
    ACTIONS(986), 2,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
  [6453] = 2,
    ACTIONS(996), 1,
      sym__ws,
    ACTIONS(994), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6461] = 1,
    ACTIONS(998), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6467] = 2,
    ACTIONS(1002), 1,
      sym__ws,
    ACTIONS(1000), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6475] = 2,
    ACTIONS(1006), 1,
      sym__ws,
    ACTIONS(1004), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6483] = 3,
    ACTIONS(1008), 1,
      anon_sym_COMMA,
    ACTIONS(1010), 1,
      anon_sym_RBRACK,
    STATE(304), 1,
      aux_sym__tag_list_repeat1,
  [6493] = 3,
    ACTIONS(1008), 1,
      anon_sym_COMMA,
    ACTIONS(1010), 1,
      anon_sym_RBRACK,
    STATE(299), 1,
      aux_sym__tag_list_repeat1,
  [6503] = 2,
    ACTIONS(1014), 1,
      sym__ws,
    ACTIONS(1012), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6511] = 1,
    ACTIONS(1016), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6517] = 2,
    ACTIONS(1020), 1,
      sym__ws,
    ACTIONS(1018), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6525] = 2,
    ACTIONS(1022), 1,
      sym__ws,
    ACTIONS(975), 2,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
  [6533] = 3,
    ACTIONS(1024), 1,
      anon_sym_COMMA,
    ACTIONS(1027), 1,
      anon_sym_RBRACK,
    STATE(299), 1,
      aux_sym__tag_list_repeat1,
  [6543] = 2,
    ACTIONS(1029), 1,
      sym__ws,
    ACTIONS(970), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6551] = 2,
    ACTIONS(1033), 1,
      sym__ws,
    ACTIONS(1031), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6559] = 1,
    ACTIONS(1035), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6565] = 1,
    ACTIONS(981), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6571] = 3,
    ACTIONS(1008), 1,
      anon_sym_COMMA,
    ACTIONS(1037), 1,
      anon_sym_RBRACK,
    STATE(299), 1,
      aux_sym__tag_list_repeat1,
  [6581] = 1,
    ACTIONS(1039), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6587] = 1,
    ACTIONS(1041), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6593] = 1,
    ACTIONS(1043), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6599] = 1,
    ACTIONS(1045), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6605] = 2,
    ACTIONS(1049), 1,
      sym__ws,
    ACTIONS(1047), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6613] = 1,
    ACTIONS(1051), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6619] = 1,
    ACTIONS(1053), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6625] = 1,
    ACTIONS(1055), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6631] = 2,
    ACTIONS(1057), 1,
      sym__real_nl,
    STATE(25), 1,
      sym__nl,
  [6638] = 2,
    ACTIONS(1059), 1,
      anon_sym_RBRACK,
    ACTIONS(1061), 1,
      sym__ws,
  [6645] = 1,
    ACTIONS(1063), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6650] = 2,
    ACTIONS(1065), 1,
      sym__real_nl,
    STATE(92), 1,
      sym__nl,
  [6657] = 2,
    ACTIONS(1016), 1,
      anon_sym_RBRACK,
    ACTIONS(1067), 1,
      sym__ws,
  [6664] = 2,
    ACTIONS(1051), 1,
      anon_sym_RBRACK,
    ACTIONS(1069), 1,
      sym__ws,
  [6671] = 2,
    ACTIONS(1055), 1,
      anon_sym_RBRACK,
    ACTIONS(1071), 1,
      sym__ws,
  [6678] = 2,
    ACTIONS(990), 1,
      anon_sym_RBRACK,
    ACTIONS(1073), 1,
      sym__ws,
  [6685] = 2,
    ACTIONS(1075), 1,
      anon_sym_COMMA,
    ACTIONS(1077), 1,
      anon_sym_RBRACK,
  [6692] = 2,
    ACTIONS(523), 1,
      sym_identifier,
    STATE(46), 1,
      sym_lexicon_reference,
  [6699] = 2,
    ACTIONS(1057), 1,
      sym__real_nl,
    STATE(32), 1,
      sym__nl,
  [6706] = 2,
    ACTIONS(1041), 1,
      anon_sym_RBRACK,
    ACTIONS(1079), 1,
      sym__ws,
  [6713] = 2,
    ACTIONS(1075), 1,
      anon_sym_COMMA,
    ACTIONS(1081), 1,
      anon_sym_RBRACK,
  [6720] = 2,
    ACTIONS(140), 1,
      sym__real_nl,
    STATE(132), 1,
      sym__nl,
  [6727] = 2,
    ACTIONS(988), 1,
      anon_sym_RBRACK,
    ACTIONS(1083), 1,
      sym__ws,
  [6734] = 2,
    ACTIONS(1043), 1,
      anon_sym_RBRACK,
    ACTIONS(1085), 1,
      sym__ws,
  [6741] = 2,
    ACTIONS(1039), 1,
      anon_sym_RBRACK,
    ACTIONS(1087), 1,
      sym__ws,
  [6748] = 2,
    ACTIONS(1075), 1,
      anon_sym_COMMA,
    ACTIONS(1089), 1,
      anon_sym_RBRACK,
  [6755] = 2,
    ACTIONS(1053), 1,
      anon_sym_RBRACK,
    ACTIONS(1091), 1,
      sym__ws,
  [6762] = 2,
    ACTIONS(1093), 1,
      sym__real_nl,
    STATE(22), 1,
      sym__nl,
  [6769] = 1,
    ACTIONS(1095), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6774] = 2,
    ACTIONS(1065), 1,
      sym__real_nl,
    STATE(251), 1,
      sym__nl,
  [6781] = 2,
    ACTIONS(1057), 1,
      sym__real_nl,
    STATE(38), 1,
      sym__nl,
  [6788] = 2,
    ACTIONS(1065), 1,
      sym__real_nl,
    STATE(102), 1,
      sym__nl,
  [6795] = 2,
    ACTIONS(1075), 1,
      anon_sym_COMMA,
    ACTIONS(1097), 1,
      anon_sym_RBRACK,
  [6802] = 2,
    ACTIONS(998), 1,
      anon_sym_RBRACK,
    ACTIONS(1099), 1,
      sym__ws,
  [6809] = 2,
    ACTIONS(1101), 1,
      anon_sym_RBRACK,
    ACTIONS(1103), 1,
      sym__ws,
  [6816] = 2,
    ACTIONS(140), 1,
      sym__real_nl,
    STATE(123), 1,
      sym__nl,
  [6823] = 2,
    ACTIONS(1105), 1,
      anon_sym_RBRACK,
    ACTIONS(1107), 1,
      sym__ws,
  [6830] = 2,
    ACTIONS(1093), 1,
      sym__real_nl,
    STATE(19), 1,
      sym__nl,
  [6837] = 2,
    ACTIONS(1075), 1,
      anon_sym_COMMA,
    ACTIONS(1109), 1,
      anon_sym_RBRACK,
  [6844] = 2,
    ACTIONS(1111), 1,
      anon_sym_RBRACK,
    ACTIONS(1113), 1,
      sym__ws,
  [6851] = 2,
    ACTIONS(874), 1,
      sym__ws,
    ACTIONS(1045), 1,
      anon_sym_RBRACK,
  [6858] = 2,
    ACTIONS(876), 1,
      sym__ws,
    ACTIONS(1035), 1,
      anon_sym_RBRACK,
  [6865] = 2,
    ACTIONS(1057), 1,
      sym__real_nl,
    STATE(29), 1,
      sym__nl,
  [6872] = 2,
    ACTIONS(349), 1,
      sym_identifier,
    STATE(81), 1,
      sym_lexicon_reference,
  [6879] = 2,
    ACTIONS(1075), 1,
      anon_sym_COMMA,
    ACTIONS(1115), 1,
      anon_sym_RBRACK,
  [6886] = 1,
    ACTIONS(1117), 1,
      sym_identifier,
  [6890] = 1,
    ACTIONS(1119), 1,
      sym_tag,
  [6894] = 1,
    ACTIONS(1121), 1,
      sym__real_nl,
  [6898] = 1,
    ACTIONS(1123), 1,
      anon_sym_RBRACK,
  [6902] = 1,
    ACTIONS(1125), 1,
      sym__real_nl,
  [6906] = 1,
    ACTIONS(304), 1,
      sym_comment,
  [6910] = 1,
    ACTIONS(1075), 1,
      anon_sym_COMMA,
  [6914] = 1,
    ACTIONS(1127), 1,
      sym_number,
  [6918] = 1,
    ACTIONS(1129), 1,
      sym_identifier,
  [6922] = 1,
    ACTIONS(1131), 1,
      anon_sym_RPAREN,
  [6926] = 1,
    ACTIONS(1133), 1,
      anon_sym_RBRACK,
  [6930] = 1,
    ACTIONS(1135), 1,
      ts_builtin_sym_end,
  [6934] = 1,
    ACTIONS(1137), 1,
      sym_identifier,
  [6938] = 1,
    ACTIONS(1139), 1,
      anon_sym_RBRACK,
  [6942] = 1,
    ACTIONS(1141), 1,
      sym_identifier,
  [6946] = 1,
    ACTIONS(1143), 1,
      anon_sym_RPAREN,
  [6950] = 1,
    ACTIONS(1145), 1,
      anon_sym_RBRACK,
  [6954] = 1,
    ACTIONS(1147), 1,
      anon_sym_RBRACK,
  [6958] = 1,
    ACTIONS(1149), 1,
      anon_sym_RBRACK,
  [6962] = 1,
    ACTIONS(1151), 1,
      anon_sym_RPAREN,
  [6966] = 1,
    ACTIONS(1153), 1,
      anon_sym_RBRACK,
  [6970] = 1,
    ACTIONS(1155), 1,
      anon_sym_RPAREN,
  [6974] = 1,
    ACTIONS(1157), 1,
      sym__real_nl,
  [6978] = 1,
    ACTIONS(1159), 1,
      anon_sym_RBRACK,
  [6982] = 1,
    ACTIONS(1161), 1,
      sym__real_nl,
  [6986] = 1,
    ACTIONS(1163), 1,
      anon_sym_RBRACK,
  [6990] = 1,
    ACTIONS(1165), 1,
      anon_sym_RBRACK,
  [6994] = 1,
    ACTIONS(1167), 1,
      sym__real_nl,
  [6998] = 1,
    ACTIONS(1169), 1,
      sym__real_nl,
  [7002] = 1,
    ACTIONS(1171), 1,
      sym__ws,
  [7006] = 1,
    ACTIONS(1173), 1,
      sym__ws,
  [7010] = 1,
    ACTIONS(1175), 1,
      anon_sym_RBRACK,
  [7014] = 1,
    ACTIONS(1177), 1,
      sym__ws,
  [7018] = 1,
    ACTIONS(1179), 1,
      sym__ws,
  [7022] = 1,
    ACTIONS(1181), 1,
      anon_sym_RBRACK,
  [7026] = 1,
    ACTIONS(1183), 1,
      anon_sym_LBRACK,
  [7030] = 1,
    ACTIONS(1185), 1,
      sym_number,
  [7034] = 1,
    ACTIONS(1187), 1,
      anon_sym_LBRACK,
};

static const uint32_t ts_small_parse_table_map[] = {
  [SMALL_STATE(2)] = 0,
  [SMALL_STATE(3)] = 52,
  [SMALL_STATE(4)] = 104,
  [SMALL_STATE(5)] = 156,
  [SMALL_STATE(6)] = 208,
  [SMALL_STATE(7)] = 260,
  [SMALL_STATE(8)] = 309,
  [SMALL_STATE(9)] = 358,
  [SMALL_STATE(10)] = 407,
  [SMALL_STATE(11)] = 456,
  [SMALL_STATE(12)] = 505,
  [SMALL_STATE(13)] = 554,
  [SMALL_STATE(14)] = 603,
  [SMALL_STATE(15)] = 652,
  [SMALL_STATE(16)] = 701,
  [SMALL_STATE(17)] = 746,
  [SMALL_STATE(18)] = 773,
  [SMALL_STATE(19)] = 816,
  [SMALL_STATE(20)] = 859,
  [SMALL_STATE(21)] = 902,
  [SMALL_STATE(22)] = 947,
  [SMALL_STATE(23)] = 990,
  [SMALL_STATE(24)] = 1032,
  [SMALL_STATE(25)] = 1056,
  [SMALL_STATE(26)] = 1094,
  [SMALL_STATE(27)] = 1132,
  [SMALL_STATE(28)] = 1170,
  [SMALL_STATE(29)] = 1208,
  [SMALL_STATE(30)] = 1246,
  [SMALL_STATE(31)] = 1288,
  [SMALL_STATE(32)] = 1314,
  [SMALL_STATE(33)] = 1352,
  [SMALL_STATE(34)] = 1378,
  [SMALL_STATE(35)] = 1402,
  [SMALL_STATE(36)] = 1444,
  [SMALL_STATE(37)] = 1486,
  [SMALL_STATE(38)] = 1524,
  [SMALL_STATE(39)] = 1562,
  [SMALL_STATE(40)] = 1588,
  [SMALL_STATE(41)] = 1614,
  [SMALL_STATE(42)] = 1656,
  [SMALL_STATE(43)] = 1698,
  [SMALL_STATE(44)] = 1719,
  [SMALL_STATE(45)] = 1758,
  [SMALL_STATE(46)] = 1785,
  [SMALL_STATE(47)] = 1806,
  [SMALL_STATE(48)] = 1833,
  [SMALL_STATE(49)] = 1856,
  [SMALL_STATE(50)] = 1893,
  [SMALL_STATE(51)] = 1930,
  [SMALL_STATE(52)] = 1951,
  [SMALL_STATE(53)] = 1972,
  [SMALL_STATE(54)] = 2009,
  [SMALL_STATE(55)] = 2028,
  [SMALL_STATE(56)] = 2051,
  [SMALL_STATE(57)] = 2072,
  [SMALL_STATE(58)] = 2095,
  [SMALL_STATE(59)] = 2134,
  [SMALL_STATE(60)] = 2161,
  [SMALL_STATE(61)] = 2183,
  [SMALL_STATE(62)] = 2199,
  [SMALL_STATE(63)] = 2231,
  [SMALL_STATE(64)] = 2267,
  [SMALL_STATE(65)] = 2301,
  [SMALL_STATE(66)] = 2323,
  [SMALL_STATE(67)] = 2355,
  [SMALL_STATE(68)] = 2383,
  [SMALL_STATE(69)] = 2411,
  [SMALL_STATE(70)] = 2435,
  [SMALL_STATE(71)] = 2463,
  [SMALL_STATE(72)] = 2479,
  [SMALL_STATE(73)] = 2511,
  [SMALL_STATE(74)] = 2529,
  [SMALL_STATE(75)] = 2551,
  [SMALL_STATE(76)] = 2567,
  [SMALL_STATE(77)] = 2583,
  [SMALL_STATE(78)] = 2607,
  [SMALL_STATE(79)] = 2635,
  [SMALL_STATE(80)] = 2651,
  [SMALL_STATE(81)] = 2685,
  [SMALL_STATE(82)] = 2707,
  [SMALL_STATE(83)] = 2731,
  [SMALL_STATE(84)] = 2763,
  [SMALL_STATE(85)] = 2779,
  [SMALL_STATE(86)] = 2801,
  [SMALL_STATE(87)] = 2837,
  [SMALL_STATE(88)] = 2869,
  [SMALL_STATE(89)] = 2885,
  [SMALL_STATE(90)] = 2903,
  [SMALL_STATE(91)] = 2919,
  [SMALL_STATE(92)] = 2953,
  [SMALL_STATE(93)] = 2971,
  [SMALL_STATE(94)] = 2995,
  [SMALL_STATE(95)] = 3027,
  [SMALL_STATE(96)] = 3055,
  [SMALL_STATE(97)] = 3071,
  [SMALL_STATE(98)] = 3089,
  [SMALL_STATE(99)] = 3121,
  [SMALL_STATE(100)] = 3137,
  [SMALL_STATE(101)] = 3155,
  [SMALL_STATE(102)] = 3187,
  [SMALL_STATE(103)] = 3205,
  [SMALL_STATE(104)] = 3233,
  [SMALL_STATE(105)] = 3261,
  [SMALL_STATE(106)] = 3277,
  [SMALL_STATE(107)] = 3293,
  [SMALL_STATE(108)] = 3309,
  [SMALL_STATE(109)] = 3345,
  [SMALL_STATE(110)] = 3373,
  [SMALL_STATE(111)] = 3390,
  [SMALL_STATE(112)] = 3419,
  [SMALL_STATE(113)] = 3436,
  [SMALL_STATE(114)] = 3453,
  [SMALL_STATE(115)] = 3482,
  [SMALL_STATE(116)] = 3499,
  [SMALL_STATE(117)] = 3528,
  [SMALL_STATE(118)] = 3557,
  [SMALL_STATE(119)] = 3574,
  [SMALL_STATE(120)] = 3595,
  [SMALL_STATE(121)] = 3620,
  [SMALL_STATE(122)] = 3637,
  [SMALL_STATE(123)] = 3662,
  [SMALL_STATE(124)] = 3679,
  [SMALL_STATE(125)] = 3696,
  [SMALL_STATE(126)] = 3713,
  [SMALL_STATE(127)] = 3730,
  [SMALL_STATE(128)] = 3747,
  [SMALL_STATE(129)] = 3764,
  [SMALL_STATE(130)] = 3781,
  [SMALL_STATE(131)] = 3812,
  [SMALL_STATE(132)] = 3829,
  [SMALL_STATE(133)] = 3846,
  [SMALL_STATE(134)] = 3875,
  [SMALL_STATE(135)] = 3900,
  [SMALL_STATE(136)] = 3921,
  [SMALL_STATE(137)] = 3938,
  [SMALL_STATE(138)] = 3967,
  [SMALL_STATE(139)] = 3984,
  [SMALL_STATE(140)] = 4013,
  [SMALL_STATE(141)] = 4042,
  [SMALL_STATE(142)] = 4059,
  [SMALL_STATE(143)] = 4077,
  [SMALL_STATE(144)] = 4091,
  [SMALL_STATE(145)] = 4111,
  [SMALL_STATE(146)] = 4131,
  [SMALL_STATE(147)] = 4149,
  [SMALL_STATE(148)] = 4169,
  [SMALL_STATE(149)] = 4183,
  [SMALL_STATE(150)] = 4203,
  [SMALL_STATE(151)] = 4221,
  [SMALL_STATE(152)] = 4241,
  [SMALL_STATE(153)] = 4266,
  [SMALL_STATE(154)] = 4279,
  [SMALL_STATE(155)] = 4292,
  [SMALL_STATE(156)] = 4311,
  [SMALL_STATE(157)] = 4326,
  [SMALL_STATE(158)] = 4355,
  [SMALL_STATE(159)] = 4374,
  [SMALL_STATE(160)] = 4397,
  [SMALL_STATE(161)] = 4426,
  [SMALL_STATE(162)] = 4449,
  [SMALL_STATE(163)] = 4468,
  [SMALL_STATE(164)] = 4481,
  [SMALL_STATE(165)] = 4506,
  [SMALL_STATE(166)] = 4529,
  [SMALL_STATE(167)] = 4550,
  [SMALL_STATE(168)] = 4567,
  [SMALL_STATE(169)] = 4590,
  [SMALL_STATE(170)] = 4615,
  [SMALL_STATE(171)] = 4628,
  [SMALL_STATE(172)] = 4657,
  [SMALL_STATE(173)] = 4676,
  [SMALL_STATE(174)] = 4699,
  [SMALL_STATE(175)] = 4714,
  [SMALL_STATE(176)] = 4737,
  [SMALL_STATE(177)] = 4754,
  [SMALL_STATE(178)] = 4773,
  [SMALL_STATE(179)] = 4786,
  [SMALL_STATE(180)] = 4805,
  [SMALL_STATE(181)] = 4828,
  [SMALL_STATE(182)] = 4851,
  [SMALL_STATE(183)] = 4864,
  [SMALL_STATE(184)] = 4883,
  [SMALL_STATE(185)] = 4906,
  [SMALL_STATE(186)] = 4935,
  [SMALL_STATE(187)] = 4954,
  [SMALL_STATE(188)] = 4973,
  [SMALL_STATE(189)] = 4985,
  [SMALL_STATE(190)] = 4999,
  [SMALL_STATE(191)] = 5017,
  [SMALL_STATE(192)] = 5031,
  [SMALL_STATE(193)] = 5049,
  [SMALL_STATE(194)] = 5063,
  [SMALL_STATE(195)] = 5083,
  [SMALL_STATE(196)] = 5105,
  [SMALL_STATE(197)] = 5127,
  [SMALL_STATE(198)] = 5141,
  [SMALL_STATE(199)] = 5167,
  [SMALL_STATE(200)] = 5189,
  [SMALL_STATE(201)] = 5201,
  [SMALL_STATE(202)] = 5215,
  [SMALL_STATE(203)] = 5235,
  [SMALL_STATE(204)] = 5257,
  [SMALL_STATE(205)] = 5279,
  [SMALL_STATE(206)] = 5291,
  [SMALL_STATE(207)] = 5305,
  [SMALL_STATE(208)] = 5319,
  [SMALL_STATE(209)] = 5345,
  [SMALL_STATE(210)] = 5371,
  [SMALL_STATE(211)] = 5385,
  [SMALL_STATE(212)] = 5411,
  [SMALL_STATE(213)] = 5423,
  [SMALL_STATE(214)] = 5443,
  [SMALL_STATE(215)] = 5457,
  [SMALL_STATE(216)] = 5477,
  [SMALL_STATE(217)] = 5489,
  [SMALL_STATE(218)] = 5503,
  [SMALL_STATE(219)] = 5525,
  [SMALL_STATE(220)] = 5538,
  [SMALL_STATE(221)] = 5551,
  [SMALL_STATE(222)] = 5564,
  [SMALL_STATE(223)] = 5589,
  [SMALL_STATE(224)] = 5602,
  [SMALL_STATE(225)] = 5615,
  [SMALL_STATE(226)] = 5628,
  [SMALL_STATE(227)] = 5641,
  [SMALL_STATE(228)] = 5654,
  [SMALL_STATE(229)] = 5667,
  [SMALL_STATE(230)] = 5680,
  [SMALL_STATE(231)] = 5693,
  [SMALL_STATE(232)] = 5706,
  [SMALL_STATE(233)] = 5719,
  [SMALL_STATE(234)] = 5732,
  [SMALL_STATE(235)] = 5745,
  [SMALL_STATE(236)] = 5756,
  [SMALL_STATE(237)] = 5769,
  [SMALL_STATE(238)] = 5782,
  [SMALL_STATE(239)] = 5804,
  [SMALL_STATE(240)] = 5814,
  [SMALL_STATE(241)] = 5824,
  [SMALL_STATE(242)] = 5836,
  [SMALL_STATE(243)] = 5853,
  [SMALL_STATE(244)] = 5868,
  [SMALL_STATE(245)] = 5883,
  [SMALL_STATE(246)] = 5902,
  [SMALL_STATE(247)] = 5919,
  [SMALL_STATE(248)] = 5936,
  [SMALL_STATE(249)] = 5953,
  [SMALL_STATE(250)] = 5972,
  [SMALL_STATE(251)] = 5986,
  [SMALL_STATE(252)] = 5996,
  [SMALL_STATE(253)] = 6010,
  [SMALL_STATE(254)] = 6026,
  [SMALL_STATE(255)] = 6038,
  [SMALL_STATE(256)] = 6054,
  [SMALL_STATE(257)] = 6068,
  [SMALL_STATE(258)] = 6084,
  [SMALL_STATE(259)] = 6094,
  [SMALL_STATE(260)] = 6108,
  [SMALL_STATE(261)] = 6120,
  [SMALL_STATE(262)] = 6134,
  [SMALL_STATE(263)] = 6150,
  [SMALL_STATE(264)] = 6166,
  [SMALL_STATE(265)] = 6182,
  [SMALL_STATE(266)] = 6192,
  [SMALL_STATE(267)] = 6208,
  [SMALL_STATE(268)] = 6221,
  [SMALL_STATE(269)] = 6234,
  [SMALL_STATE(270)] = 6247,
  [SMALL_STATE(271)] = 6260,
  [SMALL_STATE(272)] = 6273,
  [SMALL_STATE(273)] = 6286,
  [SMALL_STATE(274)] = 6299,
  [SMALL_STATE(275)] = 6312,
  [SMALL_STATE(276)] = 6323,
  [SMALL_STATE(277)] = 6334,
  [SMALL_STATE(278)] = 6347,
  [SMALL_STATE(279)] = 6358,
  [SMALL_STATE(280)] = 6371,
  [SMALL_STATE(281)] = 6382,
  [SMALL_STATE(282)] = 6395,
  [SMALL_STATE(283)] = 6402,
  [SMALL_STATE(284)] = 6415,
  [SMALL_STATE(285)] = 6426,
  [SMALL_STATE(286)] = 6433,
  [SMALL_STATE(287)] = 6439,
  [SMALL_STATE(288)] = 6445,
  [SMALL_STATE(289)] = 6453,
  [SMALL_STATE(290)] = 6461,
  [SMALL_STATE(291)] = 6467,
  [SMALL_STATE(292)] = 6475,
  [SMALL_STATE(293)] = 6483,
  [SMALL_STATE(294)] = 6493,
  [SMALL_STATE(295)] = 6503,
  [SMALL_STATE(296)] = 6511,
  [SMALL_STATE(297)] = 6517,
  [SMALL_STATE(298)] = 6525,
  [SMALL_STATE(299)] = 6533,
  [SMALL_STATE(300)] = 6543,
  [SMALL_STATE(301)] = 6551,
  [SMALL_STATE(302)] = 6559,
  [SMALL_STATE(303)] = 6565,
  [SMALL_STATE(304)] = 6571,
  [SMALL_STATE(305)] = 6581,
  [SMALL_STATE(306)] = 6587,
  [SMALL_STATE(307)] = 6593,
  [SMALL_STATE(308)] = 6599,
  [SMALL_STATE(309)] = 6605,
  [SMALL_STATE(310)] = 6613,
  [SMALL_STATE(311)] = 6619,
  [SMALL_STATE(312)] = 6625,
  [SMALL_STATE(313)] = 6631,
  [SMALL_STATE(314)] = 6638,
  [SMALL_STATE(315)] = 6645,
  [SMALL_STATE(316)] = 6650,
  [SMALL_STATE(317)] = 6657,
  [SMALL_STATE(318)] = 6664,
  [SMALL_STATE(319)] = 6671,
  [SMALL_STATE(320)] = 6678,
  [SMALL_STATE(321)] = 6685,
  [SMALL_STATE(322)] = 6692,
  [SMALL_STATE(323)] = 6699,
  [SMALL_STATE(324)] = 6706,
  [SMALL_STATE(325)] = 6713,
  [SMALL_STATE(326)] = 6720,
  [SMALL_STATE(327)] = 6727,
  [SMALL_STATE(328)] = 6734,
  [SMALL_STATE(329)] = 6741,
  [SMALL_STATE(330)] = 6748,
  [SMALL_STATE(331)] = 6755,
  [SMALL_STATE(332)] = 6762,
  [SMALL_STATE(333)] = 6769,
  [SMALL_STATE(334)] = 6774,
  [SMALL_STATE(335)] = 6781,
  [SMALL_STATE(336)] = 6788,
  [SMALL_STATE(337)] = 6795,
  [SMALL_STATE(338)] = 6802,
  [SMALL_STATE(339)] = 6809,
  [SMALL_STATE(340)] = 6816,
  [SMALL_STATE(341)] = 6823,
  [SMALL_STATE(342)] = 6830,
  [SMALL_STATE(343)] = 6837,
  [SMALL_STATE(344)] = 6844,
  [SMALL_STATE(345)] = 6851,
  [SMALL_STATE(346)] = 6858,
  [SMALL_STATE(347)] = 6865,
  [SMALL_STATE(348)] = 6872,
  [SMALL_STATE(349)] = 6879,
  [SMALL_STATE(350)] = 6886,
  [SMALL_STATE(351)] = 6890,
  [SMALL_STATE(352)] = 6894,
  [SMALL_STATE(353)] = 6898,
  [SMALL_STATE(354)] = 6902,
  [SMALL_STATE(355)] = 6906,
  [SMALL_STATE(356)] = 6910,
  [SMALL_STATE(357)] = 6914,
  [SMALL_STATE(358)] = 6918,
  [SMALL_STATE(359)] = 6922,
  [SMALL_STATE(360)] = 6926,
  [SMALL_STATE(361)] = 6930,
  [SMALL_STATE(362)] = 6934,
  [SMALL_STATE(363)] = 6938,
  [SMALL_STATE(364)] = 6942,
  [SMALL_STATE(365)] = 6946,
  [SMALL_STATE(366)] = 6950,
  [SMALL_STATE(367)] = 6954,
  [SMALL_STATE(368)] = 6958,
  [SMALL_STATE(369)] = 6962,
  [SMALL_STATE(370)] = 6966,
  [SMALL_STATE(371)] = 6970,
  [SMALL_STATE(372)] = 6974,
  [SMALL_STATE(373)] = 6978,
  [SMALL_STATE(374)] = 6982,
  [SMALL_STATE(375)] = 6986,
  [SMALL_STATE(376)] = 6990,
  [SMALL_STATE(377)] = 6994,
  [SMALL_STATE(378)] = 6998,
  [SMALL_STATE(379)] = 7002,
  [SMALL_STATE(380)] = 7006,
  [SMALL_STATE(381)] = 7010,
  [SMALL_STATE(382)] = 7014,
  [SMALL_STATE(383)] = 7018,
  [SMALL_STATE(384)] = 7022,
  [SMALL_STATE(385)] = 7026,
  [SMALL_STATE(386)] = 7030,
  [SMALL_STATE(387)] = 7034,
};

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(255),
  [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(382),
  [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380),
  [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379),
  [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(378),
  [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130),
  [17] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_block, 5, .production_id = 24),
  [19] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_block, 5, .production_id = 24),
  [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201),
  [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(212),
  [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(322),
  [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44),
  [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49),
  [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31),
  [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108),
  [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_block, 4, .production_id = 5),
  [37] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_block, 4, .production_id = 5),
  [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pattern_block_repeat1, 2),
  [41] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2),
  [43] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2), SHIFT_REPEAT(201),
  [46] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2), SHIFT_REPEAT(212),
  [49] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2), SHIFT_REPEAT(322),
  [52] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2), SHIFT_REPEAT(44),
  [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2), SHIFT_REPEAT(49),
  [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2), SHIFT_REPEAT(31),
  [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2), SHIFT_REPEAT(108),
  [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_block, 3),
  [66] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_block, 3),
  [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_block, 6, .production_id = 36),
  [70] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_block, 6, .production_id = 36),
  [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 7, .production_id = 46),
  [74] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 7, .production_id = 46),
  [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143),
  [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
  [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242),
  [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
  [84] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77),
  [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
  [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 8, .production_id = 51),
  [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 8, .production_id = 51),
  [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 7, .production_id = 47),
  [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 7, .production_id = 47),
  [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 7, .production_id = 45),
  [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 7, .production_id = 45),
  [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 5, .production_id = 24),
  [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 5, .production_id = 24),
  [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2),
  [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_lexicon_block_repeat1, 2),
  [108] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2), SHIFT_REPEAT(143),
  [111] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2), SHIFT_REPEAT(78),
  [114] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2), SHIFT_REPEAT(242),
  [117] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2), SHIFT_REPEAT(72),
  [120] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_lexicon_block_repeat1, 2), SHIFT_REPEAT(77),
  [123] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2), SHIFT_REPEAT(77),
  [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 6, .production_id = 38),
  [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 6, .production_id = 38),
  [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 6, .production_id = 36),
  [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 6, .production_id = 36),
  [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 6, .production_id = 37),
  [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 6, .production_id = 37),
  [138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(340),
  [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
  [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nl, 1),
  [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__nl, 1),
  [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378),
  [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108),
  [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326),
  [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(227),
  [154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226),
  [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348),
  [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58),
  [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131),
  [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50),
  [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45),
  [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359),
  [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_comment_repeat1, 2),
  [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_comment_repeat1, 2),
  [172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_comment_repeat1, 2), SHIFT_REPEAT(378),
  [175] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(201),
  [178] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(212),
  [181] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(322),
  [184] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(44),
  [187] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(49),
  [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2),
  [192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(31),
  [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pattern_line_repeat1, 2),
  [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 1, .production_id = 3),
  [199] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 1, .production_id = 3), SHIFT(386),
  [202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 1, .production_id = 3), SHIFT(168),
  [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51),
  [207] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 1, .production_id = 4),
  [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153),
  [211] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_pattern_token, 1, .production_id = 4), SHIFT(168),
  [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 1),
  [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_comment, 1),
  [218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88),
  [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369),
  [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112),
  [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365),
  [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 2, .production_id = 11),
  [228] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_pattern_token, 2, .production_id = 11), SHIFT(31),
  [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374),
  [233] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(227),
  [236] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(226),
  [239] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(348),
  [242] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(58),
  [245] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(50),
  [248] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2), SHIFT_REPEAT(45),
  [251] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84),
  [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371),
  [255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 3, .dynamic_precedence = 2, .production_id = 18),
  [257] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 3, .dynamic_precedence = 2, .production_id = 18), SHIFT(168),
  [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
  [262] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 1, .production_id = 3), SHIFT(357),
  [265] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 1, .production_id = 3), SHIFT(159),
  [268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60),
  [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 1, .production_id = 3),
  [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 2, .production_id = 6),
  [274] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189),
  [276] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_pattern_token, 1, .production_id = 4), SHIFT(159),
  [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 1, .production_id = 4),
  [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39),
  [283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(174),
  [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137),
  [287] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242),
  [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62),
  [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122),
  [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
  [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
  [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 2, .production_id = 7),
  [299] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 2, .production_id = 7), SHIFT(168),
  [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 3, .production_id = 22),
  [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372),
  [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 2, .production_id = 10),
  [308] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_comment_repeat1, 2), SHIFT_REPEAT(374),
  [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
  [313] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_pattern_token, 2, .production_id = 11), SHIFT(45),
  [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 2, .production_id = 11),
  [318] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 2, .production_id = 7), SHIFT(159),
  [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 2, .production_id = 7),
  [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_lexicon, 3),
  [325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(230),
  [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
  [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
  [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280),
  [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152),
  [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288),
  [337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152),
  [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
  [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226),
  [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348),
  [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
  [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
  [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
  [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
  [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137),
  [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
  [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
  [359] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 3, .dynamic_precedence = 2, .production_id = 18), SHIFT(159),
  [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 3, .dynamic_precedence = 2, .production_id = 18),
  [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282),
  [366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143),
  [368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(248),
  [370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148),
  [372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109),
  [374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, .production_id = 11),
  [376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103),
  [378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, .production_id = 15),
  [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lexicon_side_left, 2),
  [382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93),
  [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, .production_id = 6),
  [386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 2, .production_id = 8),
  [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285),
  [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nl, 2),
  [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__nl, 2),
  [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 2, .production_id = 10),
  [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_filter, 3),
  [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 4, .dynamic_precedence = 2, .production_id = 32),
  [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lexicon_side_left, 1),
  [402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69),
  [404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70),
  [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 1),
  [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_lexicon, 4),
  [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 2, .production_id = 6),
  [412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59),
  [414] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_regex_repeat1, 2), SHIFT_REPEAT(230),
  [417] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_repeat1, 2), SHIFT_REPEAT(161),
  [420] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_repeat1, 2), SHIFT_REPEAT(94),
  [423] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_repeat1, 2), SHIFT_REPEAT(280),
  [426] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_regex_repeat1, 2), SHIFT_REPEAT(152),
  [429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_regex_repeat1, 2),
  [431] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_repeat1, 2), SHIFT_REPEAT(152),
  [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_pattern, 3, .dynamic_precedence = 20),
  [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 3, .production_id = 22),
  [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119),
  [440] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_pattern, 4, .dynamic_precedence = 20),
  [442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_filter, 6),
  [444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_line, 4, .production_id = 52),
  [446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_line, 4, .production_id = 52),
  [448] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2), SHIFT_REPEAT(143),
  [451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2),
  [453] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2), SHIFT_REPEAT(148),
  [456] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2), SHIFT_REPEAT(93),
  [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
  [461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 4, .production_id = 42),
  [463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_filter, 5),
  [465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_line, 2),
  [467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_line, 2),
  [469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298),
  [471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_pattern, 5, .dynamic_precedence = 20),
  [473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_line, 3),
  [475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_line, 3),
  [477] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_regex_group_repeat1, 2), SHIFT_REPEAT(230),
  [480] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_group_repeat1, 2), SHIFT_REPEAT(161),
  [483] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_group_repeat1, 2), SHIFT_REPEAT(94),
  [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_regex_group_repeat1, 2),
  [488] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_group_repeat1, 2), SHIFT_REPEAT(280),
  [491] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_regex_group_repeat1, 2), SHIFT_REPEAT(152),
  [494] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_group_repeat1, 2), SHIFT_REPEAT(152),
  [497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_line, 3, .production_id = 5),
  [499] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_line, 3, .production_id = 5),
  [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, .production_id = 28),
  [503] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95),
  [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, .production_id = 30),
  [507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_lexicon, 5),
  [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 3, .production_id = 19),
  [511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_filter, 4),
  [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201),
  [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212),
  [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322),
  [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
  [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
  [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
  [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, .production_id = 22),
  [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_filter, 6),
  [529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246),
  [531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156),
  [533] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134),
  [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, .production_id = 22),
  [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_pattern, 4, .dynamic_precedence = 20),
  [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 3, .production_id = 19),
  [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 4, .production_id = 42),
  [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_line, 3),
  [545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_line, 3),
  [547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111),
  [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, .production_id = 11),
  [551] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139),
  [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, .production_id = 15),
  [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 4, .dynamic_precedence = 2, .production_id = 32),
  [557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_group, 3),
  [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_group, 3),
  [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219),
  [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lexicon_side_left, 2),
  [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_filter, 3),
  [567] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120),
  [569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lexicon_side_left, 1),
  [571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_line, 3, .production_id = 2),
  [573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_line, 3, .production_id = 2),
  [575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_pattern, 5, .dynamic_precedence = 20),
  [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_lexicon, 5),
  [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_lexicon, 4),
  [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_lexicon, 3),
  [583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_filter, 4),
  [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_filter, 5),
  [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1),
  [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255),
  [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380),
  [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379),
  [595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_pattern, 3, .dynamic_precedence = 20),
  [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_line, 4, .production_id = 33),
  [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_line, 4, .production_id = 33),
  [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, .production_id = 6),
  [603] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2), SHIFT_REPEAT(174),
  [606] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2), SHIFT_REPEAT(156),
  [609] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2), SHIFT_REPEAT(134),
  [612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__lexicon_side_right, 2),
  [614] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_group, 2),
  [616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_group, 2),
  [618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133),
  [620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 1),
  [622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 2, .production_id = 8),
  [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, .production_id = 28),
  [626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114),
  [628] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, .production_id = 30),
  [630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_line, 2),
  [632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_line, 2),
  [634] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 5, .dynamic_precedence = 30),
  [636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(265),
  [638] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_morpheme_boundary, 1),
  [640] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 1),
  [642] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162),
  [644] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 4, .dynamic_precedence = 30),
  [646] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142),
  [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377),
  [650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 1, .production_id = 13),
  [652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150),
  [654] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 6, .dynamic_precedence = 30),
  [656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 3, .dynamic_precedence = 30),
  [658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146),
  [660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_line, 1),
  [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180),
  [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_line, 1),
  [666] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181),
  [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181),
  [670] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_operator, 1, .dynamic_precedence = 3),
  [672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 3, .production_id = 12),
  [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158),
  [676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__lexicon_side_right, 1, .production_id = 13),
  [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198),
  [680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(387),
  [682] = {.entry = {.count = 1, .reusable = false}}, SHIFT(351),
  [684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(272),
  [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194),
  [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211),
  [690] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173),
  [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173),
  [694] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 2, .production_id = 9),
  [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
  [698] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300),
  [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213),
  [702] = {.entry = {.count = 1, .reusable = false}}, SHIFT(352),
  [704] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_comment_repeat1, 2), SHIFT_REPEAT(377),
  [707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283),
  [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215),
  [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117),
  [713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 4, .production_id = 34),
  [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209),
  [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
  [719] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_line, 2),
  [721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_line, 2),
  [723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_morpheme_boundary, 1),
  [725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(291),
  [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
  [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
  [731] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 3, .production_id = 20),
  [733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 4, .dynamic_precedence = 30),
  [735] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184),
  [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184),
  [739] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__plain_regex_string, 2),
  [741] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__plain_regex_string, 2),
  [743] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__plain_regex_string, 2), SHIFT_REPEAT(280),
  [746] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__plain_regex_string, 2), SHIFT_REPEAT(181),
  [749] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__plain_regex_string, 2), SHIFT_REPEAT(181),
  [752] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 3, .production_id = 21),
  [754] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 6, .dynamic_precedence = 30),
  [756] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_line, 3),
  [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_line, 3),
  [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208),
  [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 5, .dynamic_precedence = 30),
  [764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183),
  [766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 5, .dynamic_precedence = 30, .production_id = 35),
  [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_operator, 1, .dynamic_precedence = 3),
  [770] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_comment_repeat1, 2), SHIFT_REPEAT(352),
  [773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 3, .dynamic_precedence = 30, .production_id = 23),
  [775] = {.entry = {.count = 1, .reusable = false}}, SHIFT(216),
  [777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 2, .production_id = 9),
  [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387),
  [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351),
  [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271),
  [785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
  [787] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(255),
  [790] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(382),
  [793] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(380),
  [796] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(379),
  [799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 3, .production_id = 12),
  [801] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2),
  [803] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 6, .dynamic_precedence = 30, .production_id = 44),
  [805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(223),
  [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295),
  [809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 3, .production_id = 20),
  [811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 3, .production_id = 21),
  [813] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 4, .production_id = 34),
  [815] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_right_sieve, 1),
  [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291),
  [819] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 4, .dynamic_precedence = 30, .production_id = 35),
  [821] = {.entry = {.count = 1, .reusable = false}}, SHIFT(188),
  [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273),
  [825] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 4, .dynamic_precedence = 30, .production_id = 23),
  [827] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 5, .dynamic_precedence = 30, .production_id = 44),
  [829] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200),
  [831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 3),
  [833] = {.entry = {.count = 1, .reusable = false}}, SHIFT(354),
  [835] = {.entry = {.count = 1, .reusable = false}}, SHIFT(238),
  [837] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147),
  [839] = {.entry = {.count = 1, .reusable = false}}, SHIFT(355),
  [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236),
  [843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 5, .dynamic_precedence = 30, .production_id = 35),
  [845] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_right_sieve, 1),
  [847] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_line_repeat1, 1), SHIFT_REPEAT(221),
  [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
  [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225),
  [854] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_or, 1),
  [856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_or, 1),
  [858] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_char_class, 3),
  [860] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_char_class, 3),
  [862] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_group, 4),
  [864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_group, 4),
  [866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 6, .dynamic_precedence = 30, .production_id = 44),
  [868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 4, .dynamic_precedence = 30, .production_id = 23),
  [870] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_char_class, 2),
  [872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_char_class, 2),
  [874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_setting, 3),
  [876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_setting, 4),
  [878] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277),
  [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252),
  [882] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104),
  [884] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, .production_id = 16),
  [886] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67),
  [888] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 1, .production_id = 4),
  [890] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17),
  [892] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53),
  [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261),
  [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256),
  [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259),
  [900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(309),
  [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276),
  [904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_command, 7, .production_id = 48),
  [906] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_command, 7, .production_id = 48),
  [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277),
  [910] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166),
  [912] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140),
  [914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, .production_id = 16),
  [916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_command, 6, .production_id = 39),
  [918] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_command, 6, .production_id = 39),
  [920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116),
  [922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 1, .production_id = 4),
  [924] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165),
  [926] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96),
  [928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343),
  [930] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129),
  [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321),
  [934] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128),
  [936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330),
  [938] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121),
  [940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337),
  [942] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107),
  [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325),
  [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
  [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278),
  [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301),
  [952] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250),
  [954] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tag_list, 1),
  [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293),
  [958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_regex_char_class_repeat1, 2),
  [960] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_char_class_repeat1, 2), SHIFT_REPEAT(278),
  [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
  [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275),
  [967] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tag_filter_repeat1, 2), SHIFT_REPEAT(165),
  [970] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_tag_filter_repeat1, 2),
  [972] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tag_filter_repeat1, 2), SHIFT_REPEAT(356),
  [975] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex, 3),
  [977] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75),
  [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349),
  [981] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_lexicon_line_repeat1, 2),
  [983] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_lexicon_line_repeat1, 2), SHIFT_REPEAT(91),
  [986] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex, 2),
  [988] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 4, .production_id = 43),
  [990] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, .production_id = 31),
  [992] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex, 2),
  [994] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_neg_tag, 2, .production_id = 26),
  [996] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_neg_tag, 2, .production_id = 26),
  [998] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, .production_id = 14),
  [1000] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_tag_filter_repeat1, 3),
  [1002] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tag_filter_repeat1, 3),
  [1004] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_distribution, 4, .production_id = 50),
  [1006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_distribution, 4, .production_id = 50),
  [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250),
  [1010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tag_list, 2),
  [1012] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_tag_filter_repeat1, 4),
  [1014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tag_filter_repeat1, 4),
  [1016] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, .production_id = 17),
  [1018] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_distribution, 5, .production_id = 50),
  [1020] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_distribution, 5, .production_id = 50),
  [1022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex, 3),
  [1024] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__tag_list_repeat1, 2), SHIFT_REPEAT(250),
  [1027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__tag_list_repeat1, 2),
  [1029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tag_filter_repeat1, 2),
  [1031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__tag_list_repeat1, 3),
  [1033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333),
  [1035] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_setting, 4),
  [1037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tag_list, 3),
  [1039] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 4, .production_id = 40),
  [1041] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, .production_id = 25),
  [1043] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 4, .production_id = 41),
  [1045] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_setting, 3),
  [1047] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__tag_list_repeat1, 2),
  [1049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315),
  [1051] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, .production_id = 27),
  [1053] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 5, .production_id = 49),
  [1055] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, .production_id = 29),
  [1057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
  [1059] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61),
  [1061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353),
  [1063] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__tag_list_repeat1, 3),
  [1065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
  [1067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, .production_id = 17),
  [1069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, .production_id = 27),
  [1071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, .production_id = 29),
  [1073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, .production_id = 31),
  [1075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175),
  [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110),
  [1079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, .production_id = 25),
  [1081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
  [1083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 4, .production_id = 43),
  [1085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 4, .production_id = 41),
  [1087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 4, .production_id = 40),
  [1089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129),
  [1091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 5, .production_id = 49),
  [1093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166),
  [1095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__tag_list_repeat1, 4),
  [1097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
  [1099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, .production_id = 14),
  [1101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126),
  [1103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367),
  [1105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127),
  [1107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363),
  [1109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
  [1111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79),
  [1113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368),
  [1115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
  [1117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263),
  [1119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289),
  [1121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220),
  [1123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
  [1125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__end_com, 1, .production_id = 1),
  [1127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
  [1129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253),
  [1131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112),
  [1133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308),
  [1135] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
  [1137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222),
  [1139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126),
  [1141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383),
  [1143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
  [1145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302),
  [1147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
  [1149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
  [1151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99),
  [1153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239),
  [1155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
  [1157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__end_com, 2, .production_id = 2),
  [1159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292),
  [1161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
  [1163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345),
  [1165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346),
  [1167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
  [1169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
  [1171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364),
  [1173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362),
  [1175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297),
  [1177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358),
  [1179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350),
  [1181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240),
  [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247),
  [1185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
  [1187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_distribution_operator, 1),
};

#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#define extern __declspec(dllexport)
#endif

extern const TSLanguage *tree_sitter_lexd(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,
    .field_names = ts_field_names,
    .field_map_slices = ts_field_map_slices,
    .field_map_entries = ts_field_map_entries,
    .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,
    .primary_state_ids = ts_primary_state_ids,
  };
  return &language;
}
#ifdef __cplusplus
}
#endif
