#include "tree_sitter/parser.h"

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

static TSCharacterRange sym_regex_string_character_set_1[] = {
  {0, 0x08}, {0x0e, 0x1f}, {'!', '"'}, {'$', '\''}, {',', '.'}, {'0', '9'}, {';', '>'}, {'@', 'Z'},
  {'^', 0x10ffff},
};

static TSCharacterRange sym_lexicon_string_character_set_1[] = {
  {0, 0x08}, {0x0e, 0x1f}, {'!', '"'}, {'$', '.'}, {'0', '9'}, {';', ';'}, {'=', '='}, {'?', 'Z'},
  {'^', 'z'}, {'|', 0x10ffff},
};

static TSCharacterRange sym_identifier_character_set_1[] = {
  {0, 0x08}, {0x0e, 0x1f}, {'!', '\''}, {',', '9'}, {';', ';'}, {'=', '='}, {'@', 'Z'}, {'\\', '\\'},
  {'^', '{'}, {'}', 0x10ffff},
};

static TSCharacterRange sym_tag_character_set_2[] = {
  {0, 0x08}, {0x0e, 0x1f}, {'!', '\''}, {'-', ';'}, {'=', '='}, {'@', 'Z'}, {'\\', '\\'}, {'_', '{'},
  {'}', 0x10ffff},
};

static bool ts_lex(TSLexer *lexer, TSStateId state) {
  START_LEXER();
  eof = lexer->eof(lexer);
  switch (state) {
    case 0:
      if (eof) ADVANCE(44);
      ADVANCE_MAP(
        '#', 90,
        '(', 60,
        ')', 61,
        '*', 57,
        '+', 58,
        ',', 63,
        '-', 62,
        '/', 68,
        ':', 55,
        '<', 51,
        '>', 52,
        '?', 56,
        'A', 24,
        'L', 20,
        'P', 17,
        '[', 64,
        '\\', 37,
        ']', 65,
        '^', 66,
        '{', 34,
        '|', 53,
        '\t', 113,
        ' ', 113,
      );
      if (('\n' <= lookahead && lookahead <= '\r')) SKIP(0);
      END_STATE();
    case 1:
      if (lookahead == '\n') ADVANCE(110);
      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);
      if ((0x0b <= lookahead && lookahead <= '\r')) SKIP(1);
      END_STATE();
    case 2:
      ADVANCE_MAP(
        '\n', 111,
        '#', 90,
        '/', 68,
        ':', 55,
        '<', 35,
        '>', 52,
        '[', 64,
        '\\', 37,
        '{', 34,
        '\t', 112,
        ' ', 112,
      );
      if ((0x0b <= lookahead && lookahead <= '\r')) SKIP(2);
      if (lookahead != 0 &&
          (lookahead < '[' || ']' < lookahead)) ADVANCE(85);
      END_STATE();
    case 3:
      ADVANCE_MAP(
        '\n', 111,
        '#', 89,
        '(', 60,
        '*', 57,
        '+', 58,
        ':', 55,
        '<', 51,
        '>', 52,
        '?', 56,
        '[', 64,
        '|', 53,
        '\t', 112,
        ' ', 112,
      );
      if ((0x0b <= lookahead && lookahead <= '\r')) SKIP(3);
      if (lookahead != 0 &&
          (lookahead < '(' || '+' < lookahead) &&
          lookahead != ']') ADVANCE(107);
      END_STATE();
    case 4:
      ADVANCE_MAP(
        '\n', 111,
        '#', 89,
        '(', 59,
        '*', 57,
        '+', 58,
        ':', 55,
        '<', 51,
        '>', 52,
        '?', 56,
        '[', 64,
        '|', 53,
        '\t', 112,
        ' ', 112,
      );
      if ((0x0b <= lookahead && lookahead <= '\r')) SKIP(4);
      if (lookahead != 0 &&
          (lookahead < '(' || '+' < lookahead) &&
          lookahead != ']') ADVANCE(107);
      END_STATE();
    case 5:
      ADVANCE_MAP(
        '\n', 111,
        '#', 89,
        '(', 59,
        ':', 55,
        '<', 51,
        '>', 52,
        '[', 64,
        '|', 53,
        '\t', 5,
        ' ', 5,
      );
      if ((0x0b <= lookahead && lookahead <= '\r')) SKIP(5);
      if (lookahead != 0 &&
          (lookahead < '(' || '+' < lookahead) &&
          lookahead != '>' &&
          lookahead != '?' &&
          lookahead != ']') ADVANCE(107);
      END_STATE();
    case 6:
      ADVANCE_MAP(
        '#', 90,
        '/', 68,
        ':', 55,
        '<', 35,
        '>', 52,
        '[', 64,
        '\\', 37,
        ']', 65,
        '{', 34,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(6);
      if (lookahead != 0) ADVANCE(85);
      END_STATE();
    case 7:
      ADVANCE_MAP(
        '#', 89,
        '(', 59,
        ':', 55,
        '<', 51,
        '>', 52,
        '[', 64,
        '\t', 115,
        ' ', 115,
      );
      if (('\n' <= lookahead && lookahead <= '\r')) SKIP(7);
      if (lookahead != 0 &&
          (lookahead < '(' || '+' < lookahead) &&
          lookahead != '>' &&
          lookahead != '?' &&
          lookahead != ']' &&
          lookahead != '|') ADVANCE(107);
      END_STATE();
    case 8:
      ADVANCE_MAP(
        '(', 60,
        ')', 61,
        '*', 57,
        '+', 58,
        ':', 55,
        '<', 51,
        '>', 52,
        '?', 56,
        '[', 64,
        '|', 53,
        '\t', 115,
        ' ', 115,
      );
      if (('\n' <= lookahead && lookahead <= '\r')) SKIP(8);
      if (lookahead != 0 &&
          lookahead != ']') ADVANCE(107);
      END_STATE();
    case 9:
      ADVANCE_MAP(
        '(', 59,
        ')', 61,
        '*', 57,
        '+', 58,
        '/', 68,
        ':', 55,
        '?', 56,
        '[', 64,
        '\\', 37,
        '|', 54,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(9);
      if (lookahead != 0 &&
          lookahead != '#' &&
          (lookahead < '[' || ']' < lookahead)) ADVANCE(67);
      END_STATE();
    case 10:
      ADVANCE_MAP(
        '(', 59,
        ')', 61,
        '*', 57,
        '+', 58,
        ':', 55,
        '<', 51,
        '>', 52,
        '?', 56,
        '[', 64,
        ']', 65,
        '|', 53,
        '\t', 115,
        ' ', 115,
      );
      if (('\n' <= lookahead && 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 (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(11);
      if (lookahead != 0 &&
          (lookahead < '(' || '+' < 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 (('\t' <= lookahead && 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 (('\n' <= lookahead && lookahead <= '\r')) SKIP(14);
      if (lookahead != 0 &&
          (lookahead < '(' || '-' < lookahead) &&
          lookahead != '<' &&
          lookahead != '>' &&
          lookahead != '?' &&
          lookahead != '[') ADVANCE(108);
      END_STATE();
    case 15:
      ADVANCE_MAP(
        '/', 68,
        ':', 55,
        '<', 35,
        '>', 52,
        '[', 64,
        '\\', 37,
        ']', 65,
        '{', 34,
        '\t', 115,
        ' ', 115,
      );
      if (('\n' <= lookahead && 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 == '#') ADVANCE(90);
      if (lookahead == 'A') ADVANCE(24);
      if (lookahead == 'L') ADVANCE(20);
      if (lookahead == 'P') ADVANCE(17);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(1);
      if ((0x0b <= lookahead && lookahead <= '\r')) SKIP(40);
      END_STATE();
    case 41:
      if (eof) ADVANCE(44);
      ADVANCE_MAP(
        '#', 90,
        '/', 68,
        ':', 55,
        '<', 35,
        '>', 52,
        'A', 76,
        'L', 72,
        'P', 69,
        '[', 64,
        '\\', 37,
        ']', 65,
        '{', 34,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(41);
      if (lookahead != 0) ADVANCE(85);
      END_STATE();
    case 42:
      if (eof) ADVANCE(44);
      ADVANCE_MAP(
        '#', 89,
        '(', 59,
        ':', 55,
        '<', 51,
        '>', 52,
        'A', 98,
        'L', 94,
        'P', 91,
        '[', 64,
        '\t', 114,
        ' ', 114,
      );
      if (('\n' <= lookahead && lookahead <= '\r')) SKIP(42);
      if (lookahead != 0 &&
          (lookahead < '(' || '+' < lookahead) &&
          lookahead != '>' &&
          lookahead != '?' &&
          lookahead != ']' &&
          lookahead != '|') ADVANCE(107);
      END_STATE();
    case 43:
      if (eof) ADVANCE(44);
      ADVANCE_MAP(
        '(', 59,
        ':', 55,
        '<', 51,
        '>', 52,
        'A', 98,
        'L', 94,
        'P', 91,
        '[', 64,
        '\t', 114,
        ' ', 114,
      );
      if (('\n' <= lookahead && lookahead <= '\r')) SKIP(43);
      if (lookahead != 0 &&
          (lookahead < '(' || '+' < 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 ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 50:
      ACCEPT_TOKEN(sym_alias);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, 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 ((!eof && set_contains(sym_regex_string_character_set_1, 9, 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 ((!eof && set_contains(sym_regex_string_character_set_1, 9, 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 ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 70:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'A') ADVANCE(81);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 71:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'C') ADVANCE(79);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 72:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'E') ADVANCE(84);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 73:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'E') ADVANCE(80);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 74:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'I') ADVANCE(71);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 75:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'I') ADVANCE(70);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 76:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'L') ADVANCE(75);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 77:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'N') ADVANCE(47);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 78:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'N') ADVANCE(46);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 79:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'O') ADVANCE(77);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 80:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'R') ADVANCE(78);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 81:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'S') ADVANCE(50);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 82:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'T') ADVANCE(73);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 83:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'T') ADVANCE(82);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 84:
      ACCEPT_TOKEN(sym_lexicon_string);
      if (lookahead == 'X') ADVANCE(74);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, lookahead))) ADVANCE(85);
      END_STATE();
    case 85:
      ACCEPT_TOKEN(sym_lexicon_string);
      if ((!eof && set_contains(sym_lexicon_string_character_set_1, 10, 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 (lookahead == '\t' ||
          (0x0b <= lookahead && lookahead <= '\r') ||
          lookahead == ' ' ||
          ('(' <= lookahead && lookahead <= '+') ||
          lookahead == ':' ||
          lookahead == '<' ||
          lookahead == '>' ||
          lookahead == '?' ||
          lookahead == '[' ||
          lookahead == ']' ||
          lookahead == '|') ADVANCE(90);
      if (lookahead != 0 &&
          (lookahead < '\t' || '\r' < lookahead)) 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 ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 92:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'A') ADVANCE(103);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 93:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'C') ADVANCE(101);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 94:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'E') ADVANCE(106);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 95:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'E') ADVANCE(102);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 96:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'I') ADVANCE(93);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 97:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'I') ADVANCE(92);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 98:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'L') ADVANCE(97);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 99:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'N') ADVANCE(47);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 100:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'N') ADVANCE(46);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 101:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'O') ADVANCE(99);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 102:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'R') ADVANCE(100);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 103:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'S') ADVANCE(49);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 104:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'T') ADVANCE(95);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 105:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'T') ADVANCE(104);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 106:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == 'X') ADVANCE(96);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 107:
      ACCEPT_TOKEN(sym_identifier);
      if ((!eof && set_contains(sym_identifier_character_set_1, 10, lookahead))) ADVANCE(107);
      END_STATE();
    case 108:
      ACCEPT_TOKEN(sym_tag);
      if ((!eof && set_contains(sym_tag_character_set_2, 9, 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 = 10},
  [17] = {.lex_state = 41},
  [18] = {.lex_state = 5},
  [19] = {.lex_state = 5},
  [20] = {.lex_state = 10},
  [21] = {.lex_state = 10},
  [22] = {.lex_state = 10},
  [23] = {.lex_state = 6},
  [24] = {.lex_state = 10},
  [25] = {.lex_state = 4},
  [26] = {.lex_state = 5},
  [27] = {.lex_state = 41},
  [28] = {.lex_state = 6},
  [29] = {.lex_state = 10},
  [30] = {.lex_state = 10},
  [31] = {.lex_state = 6},
  [32] = {.lex_state = 6},
  [33] = {.lex_state = 4},
  [34] = {.lex_state = 6},
  [35] = {.lex_state = 6},
  [36] = {.lex_state = 41},
  [37] = {.lex_state = 6},
  [38] = {.lex_state = 42},
  [39] = {.lex_state = 10},
  [40] = {.lex_state = 3},
  [41] = {.lex_state = 10},
  [42] = {.lex_state = 6},
  [43] = {.lex_state = 4},
  [44] = {.lex_state = 6},
  [45] = {.lex_state = 4},
  [46] = {.lex_state = 10},
  [47] = {.lex_state = 15},
  [48] = {.lex_state = 41},
  [49] = {.lex_state = 8},
  [50] = {.lex_state = 10},
  [51] = {.lex_state = 10},
  [52] = {.lex_state = 4},
  [53] = {.lex_state = 4},
  [54] = {.lex_state = 42},
  [55] = {.lex_state = 42},
  [56] = {.lex_state = 4},
  [57] = {.lex_state = 4},
  [58] = {.lex_state = 15},
  [59] = {.lex_state = 10},
  [60] = {.lex_state = 6},
  [61] = {.lex_state = 4},
  [62] = {.lex_state = 6},
  [63] = {.lex_state = 4},
  [64] = {.lex_state = 4},
  [65] = {.lex_state = 4},
  [66] = {.lex_state = 9},
  [67] = {.lex_state = 9},
  [68] = {.lex_state = 4},
  [69] = {.lex_state = 4},
  [70] = {.lex_state = 4},
  [71] = {.lex_state = 11},
  [72] = {.lex_state = 41},
  [73] = {.lex_state = 4},
  [74] = {.lex_state = 9},
  [75] = {.lex_state = 4},
  [76] = {.lex_state = 4},
  [77] = {.lex_state = 41},
  [78] = {.lex_state = 41},
  [79] = {.lex_state = 4},
  [80] = {.lex_state = 11},
  [81] = {.lex_state = 4},
  [82] = {.lex_state = 9},
  [83] = {.lex_state = 10},
  [84] = {.lex_state = 10},
  [85] = {.lex_state = 2},
  [86] = {.lex_state = 2},
  [87] = {.lex_state = 10},
  [88] = {.lex_state = 10},
  [89] = {.lex_state = 4},
  [90] = {.lex_state = 2},
  [91] = {.lex_state = 2},
  [92] = {.lex_state = 2},
  [93] = {.lex_state = 2},
  [94] = {.lex_state = 10},
  [95] = {.lex_state = 10},
  [96] = {.lex_state = 2},
  [97] = {.lex_state = 2},
  [98] = {.lex_state = 2},
  [99] = {.lex_state = 2},
  [100] = {.lex_state = 2},
  [101] = {.lex_state = 42},
  [102] = {.lex_state = 9},
  [103] = {.lex_state = 41},
  [104] = {.lex_state = 9},
  [105] = {.lex_state = 9},
  [106] = {.lex_state = 9},
  [107] = {.lex_state = 11},
  [108] = {.lex_state = 6},
  [109] = {.lex_state = 41},
  [110] = {.lex_state = 43},
  [111] = {.lex_state = 9},
  [112] = {.lex_state = 15},
  [113] = {.lex_state = 43},
  [114] = {.lex_state = 15},
  [115] = {.lex_state = 43},
  [116] = {.lex_state = 41},
  [117] = {.lex_state = 15},
  [118] = {.lex_state = 43},
  [119] = {.lex_state = 15},
  [120] = {.lex_state = 9},
  [121] = {.lex_state = 10},
  [122] = {.lex_state = 15},
  [123] = {.lex_state = 10},
  [124] = {.lex_state = 15},
  [125] = {.lex_state = 15},
  [126] = {.lex_state = 10},
  [127] = {.lex_state = 10},
  [128] = {.lex_state = 43},
  [129] = {.lex_state = 10},
  [130] = {.lex_state = 10},
  [131] = {.lex_state = 10},
  [132] = {.lex_state = 10},
  [133] = {.lex_state = 10},
  [134] = {.lex_state = 10},
  [135] = {.lex_state = 10},
  [136] = {.lex_state = 10},
  [137] = {.lex_state = 15},
  [138] = {.lex_state = 10},
  [139] = {.lex_state = 15},
  [140] = {.lex_state = 15},
  [141] = {.lex_state = 15},
  [142] = {.lex_state = 2},
  [143] = {.lex_state = 4},
  [144] = {.lex_state = 4},
  [145] = {.lex_state = 4},
  [146] = {.lex_state = 2},
  [147] = {.lex_state = 6},
  [148] = {.lex_state = 4},
  [149] = {.lex_state = 4},
  [150] = {.lex_state = 4},
  [151] = {.lex_state = 4},
  [152] = {.lex_state = 9},
  [153] = {.lex_state = 14},
  [154] = {.lex_state = 6},
  [155] = {.lex_state = 15},
  [156] = {.lex_state = 10},
  [157] = {.lex_state = 10},
  [158] = {.lex_state = 15},
  [159] = {.lex_state = 4},
  [160] = {.lex_state = 4},
  [161] = {.lex_state = 10},
  [162] = {.lex_state = 14},
  [163] = {.lex_state = 10},
  [164] = {.lex_state = 10},
  [165] = {.lex_state = 14},
  [166] = {.lex_state = 4},
  [167] = {.lex_state = 14},
  [168] = {.lex_state = 4},
  [169] = {.lex_state = 10},
  [170] = {.lex_state = 10},
  [171] = {.lex_state = 4},
  [172] = {.lex_state = 10},
  [173] = {.lex_state = 10},
  [174] = {.lex_state = 9},
  [175] = {.lex_state = 10},
  [176] = {.lex_state = 10},
  [177] = {.lex_state = 9},
  [178] = {.lex_state = 4},
  [179] = {.lex_state = 6},
  [180] = {.lex_state = 7},
  [181] = {.lex_state = 6},
  [182] = {.lex_state = 9},
  [183] = {.lex_state = 5},
  [184] = {.lex_state = 9},
  [185] = {.lex_state = 6},
  [186] = {.lex_state = 10},
  [187] = {.lex_state = 9},
  [188] = {.lex_state = 4},
  [189] = {.lex_state = 12},
  [190] = {.lex_state = 7},
  [191] = {.lex_state = 4},
  [192] = {.lex_state = 4},
  [193] = {.lex_state = 10},
  [194] = {.lex_state = 10},
  [195] = {.lex_state = 12},
  [196] = {.lex_state = 10},
  [197] = {.lex_state = 41},
  [198] = {.lex_state = 11},
  [199] = {.lex_state = 10},
  [200] = {.lex_state = 12},
  [201] = {.lex_state = 10},
  [202] = {.lex_state = 4},
  [203] = {.lex_state = 41},
  [204] = {.lex_state = 4},
  [205] = {.lex_state = 11},
  [206] = {.lex_state = 6},
  [207] = {.lex_state = 4},
  [208] = {.lex_state = 4},
  [209] = {.lex_state = 41},
  [210] = {.lex_state = 41},
  [211] = {.lex_state = 41},
  [212] = {.lex_state = 7},
  [213] = {.lex_state = 4},
  [214] = {.lex_state = 10},
  [215] = {.lex_state = 41},
  [216] = {.lex_state = 11},
  [217] = {.lex_state = 11},
  [218] = {.lex_state = 12},
  [219] = {.lex_state = 10},
  [220] = {.lex_state = 7},
  [221] = {.lex_state = 10},
  [222] = {.lex_state = 9},
  [223] = {.lex_state = 10},
  [224] = {.lex_state = 10},
  [225] = {.lex_state = 9},
  [226] = {.lex_state = 9},
  [227] = {.lex_state = 10},
  [228] = {.lex_state = 3},
  [229] = {.lex_state = 5},
  [230] = {.lex_state = 10},
  [231] = {.lex_state = 10},
  [232] = {.lex_state = 6},
  [233] = {.lex_state = 10},
  [234] = {.lex_state = 10},
  [235] = {.lex_state = 9},
  [236] = {.lex_state = 9},
  [237] = {.lex_state = 9},
  [238] = {.lex_state = 6},
  [239] = {.lex_state = 6},
  [240] = {.lex_state = 10},
  [241] = {.lex_state = 4},
  [242] = {.lex_state = 14},
  [243] = {.lex_state = 14},
  [244] = {.lex_state = 4},
  [245] = {.lex_state = 4},
  [246] = {.lex_state = 14},
  [247] = {.lex_state = 4},
  [248] = {.lex_state = 4},
  [249] = {.lex_state = 14},
  [250] = {.lex_state = 12},
  [251] = {.lex_state = 10},
  [252] = {.lex_state = 41},
  [253] = {.lex_state = 4},
  [254] = {.lex_state = 4},
  [255] = {.lex_state = 4},
  [256] = {.lex_state = 4},
  [257] = {.lex_state = 12},
  [258] = {.lex_state = 41},
  [259] = {.lex_state = 4},
  [260] = {.lex_state = 10},
  [261] = {.lex_state = 10},
  [262] = {.lex_state = 12},
  [263] = {.lex_state = 4},
  [264] = {.lex_state = 12},
  [265] = {.lex_state = 14},
  [266] = {.lex_state = 4},
  [267] = {.lex_state = 14},
  [268] = {.lex_state = 14},
  [269] = {.lex_state = 6},
  [270] = {.lex_state = 4},
  [271] = {.lex_state = 6},
  [272] = {.lex_state = 6},
  [273] = {.lex_state = 4},
  [274] = {.lex_state = 14},
  [275] = {.lex_state = 14},
  [276] = {.lex_state = 14},
  [277] = {.lex_state = 14},
  [278] = {.lex_state = 14},
  [279] = {.lex_state = 14},
  [280] = {.lex_state = 14},
  [281] = {.lex_state = 14},
  [282] = {.lex_state = 12},
  [283] = {.lex_state = 4},
  [284] = {.lex_state = 10},
  [285] = {.lex_state = 10},
  [286] = {.lex_state = 4},
  [287] = {.lex_state = 14},
  [288] = {.lex_state = 4},
  [289] = {.lex_state = 12},
  [290] = {.lex_state = 14},
  [291] = {.lex_state = 12},
  [292] = {.lex_state = 4},
  [293] = {.lex_state = 4},
  [294] = {.lex_state = 4},
  [295] = {.lex_state = 4},
  [296] = {.lex_state = 4},
  [297] = {.lex_state = 4},
  [298] = {.lex_state = 4},
  [299] = {.lex_state = 4},
  [300] = {.lex_state = 14},
  [301] = {.lex_state = 10},
  [302] = {.lex_state = 12},
  [303] = {.lex_state = 12},
  [304] = {.lex_state = 4},
  [305] = {.lex_state = 14},
  [306] = {.lex_state = 14},
  [307] = {.lex_state = 4},
  [308] = {.lex_state = 14},
  [309] = {.lex_state = 14},
  [310] = {.lex_state = 4},
  [311] = {.lex_state = 10},
  [312] = {.lex_state = 14},
  [313] = {.lex_state = 10},
  [314] = {.lex_state = 5},
  [315] = {.lex_state = 12},
  [316] = {.lex_state = 5},
  [317] = {.lex_state = 10},
  [318] = {.lex_state = 10},
  [319] = {.lex_state = 10},
  [320] = {.lex_state = 5},
  [321] = {.lex_state = 10},
  [322] = {.lex_state = 12},
  [323] = {.lex_state = 5},
  [324] = {.lex_state = 5},
  [325] = {.lex_state = 10},
  [326] = {.lex_state = 5},
  [327] = {.lex_state = 10},
  [328] = {.lex_state = 10},
  [329] = {.lex_state = 12},
  [330] = {.lex_state = 10},
  [331] = {.lex_state = 10},
  [332] = {.lex_state = 5},
  [333] = {.lex_state = 12},
  [334] = {.lex_state = 11},
  [335] = {.lex_state = 10},
  [336] = {.lex_state = 10},
  [337] = {.lex_state = 5},
  [338] = {.lex_state = 10},
  [339] = {.lex_state = 10},
  [340] = {.lex_state = 12},
  [341] = {.lex_state = 12},
  [342] = {.lex_state = 12},
  [343] = {.lex_state = 5},
  [344] = {.lex_state = 5},
  [345] = {.lex_state = 12},
  [346] = {.lex_state = 10},
  [347] = {.lex_state = 5},
  [348] = {.lex_state = 11},
  [349] = {.lex_state = 10},
  [350] = {.lex_state = 12},
  [351] = {.lex_state = 5},
  [352] = {.lex_state = 41},
  [353] = {.lex_state = 10},
  [354] = {.lex_state = 11},
  [355] = {.lex_state = 41},
  [356] = {.lex_state = 0},
  [357] = {.lex_state = 41},
  [358] = {.lex_state = 9},
  [359] = {.lex_state = 41},
  [360] = {.lex_state = 41},
  [361] = {.lex_state = 5},
  [362] = {.lex_state = 41},
  [363] = {.lex_state = 9},
  [364] = {.lex_state = 9},
  [365] = {.lex_state = 41},
  [366] = {.lex_state = 9},
  [367] = {.lex_state = 12},
  [368] = {.lex_state = 12},
  [369] = {.lex_state = 11},
  [370] = {.lex_state = 10},
  [371] = {.lex_state = 41},
  [372] = {.lex_state = 41},
  [373] = {.lex_state = 5},
  [374] = {.lex_state = 41},
  [375] = {.lex_state = 41},
  [376] = {.lex_state = 5},
  [377] = {.lex_state = 5},
  [378] = {.lex_state = 10},
  [379] = {.lex_state = 12},
  [380] = {.lex_state = 5},
  [381] = {.lex_state = 41},
  [382] = {.lex_state = 11},
  [383] = {.lex_state = 11},
  [384] = {.lex_state = 41},
  [385] = {.lex_state = 10},
  [386] = {.lex_state = 41},
  [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(356),
    [sym_pattern_block] = STATE(197),
    [sym_lexicon_block] = STATE(197),
    [sym_alias_command] = STATE(197),
    [sym_block_comment] = STATE(211),
    [aux_sym_source_file_repeat1] = STATE(197),
    [aux_sym_block_comment_repeat1] = STATE(27),
    [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(18), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 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(202), 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(18), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 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(202), 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(18), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 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(202), 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(18), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 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(202), 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(18), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 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(202), 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 1,
      sym_regex,
    ACTIONS(74), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(11), 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 1,
      sym_regex,
    ACTIONS(90), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(11), 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 1,
      sym_regex,
    ACTIONS(94), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(11), 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 1,
      sym_regex,
    ACTIONS(98), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(11), 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(104), 1,
      anon_sym_GT,
    ACTIONS(107), 1,
      sym_colon,
    ACTIONS(110), 1,
      anon_sym_LBRACK,
    ACTIONS(113), 1,
      anon_sym_SLASH,
    ACTIONS(116), 1,
      sym_lexicon_string,
    STATE(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 1,
      sym_regex,
    ACTIONS(102), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(11), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(100), 3,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
    ACTIONS(119), 3,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [505] = 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 1,
      sym_regex,
    ACTIONS(124), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(11), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 3,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(122), 3,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
  [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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 1,
      sym_regex,
    ACTIONS(128), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(11), 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 1,
      sym_regex,
    ACTIONS(132), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(11), 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 1,
      sym_regex,
    ACTIONS(136), 2,
      sym_named_pattern_start,
      sym_alias,
    STATE(11), 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] = 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(138), 1,
      sym__ws,
    STATE(18), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 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(202), 2,
      sym_right_sieve,
      sym_pattern_option,
  [744] = 5,
    ACTIONS(144), 1,
      sym_comment,
    STATE(27), 1,
      aux_sym_block_comment_repeat1,
    STATE(103), 1,
      sym_block_comment,
    ACTIONS(142), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(140), 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,
  [771] = 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(146), 1,
      sym_comment,
    ACTIONS(148), 1,
      sym__real_nl,
    STATE(26), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 1,
      sym_lexicon_reference,
    STATE(113), 1,
      sym__nl,
    STATE(144), 1,
      sym_pattern_token,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(202), 2,
      sym_right_sieve,
      sym_pattern_option,
  [816] = 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(148), 1,
      sym__real_nl,
    ACTIONS(150), 1,
      sym_comment,
    STATE(26), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 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(202), 2,
      sym_right_sieve,
      sym_pattern_option,
  [861] = 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(138), 1,
      sym__ws,
    STATE(18), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 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(202), 2,
      sym_right_sieve,
      sym_pattern_option,
  [904] = 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(138), 1,
      sym__ws,
    STATE(18), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 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(202), 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(138), 1,
      sym__ws,
    STATE(18), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 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(202), 2,
      sym_right_sieve,
      sym_pattern_option,
  [990] = 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 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,
  [1028] = 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(39), 1,
      aux_sym_pattern_line_repeat1,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(176), 1,
      sym_pattern_token,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(221), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1070] = 5,
    ACTIONS(172), 1,
      sym_identifier,
    STATE(45), 1,
      sym_lexicon_reference,
    STATE(168), 1,
      sym_pattern_operator,
    ACTIONS(170), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(168), 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,
  [1096] = 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(26), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(202), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1138] = 4,
    ACTIONS(144), 1,
      sym_comment,
    STATE(36), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(199), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(197), 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,
  [1162] = 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 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,
  [1200] = 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(201), 1,
      anon_sym_RPAREN,
    ACTIONS(203), 1,
      sym__ws,
    STATE(39), 1,
      aux_sym_pattern_line_repeat1,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(176), 1,
      sym_pattern_token,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(221), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1242] = 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(205), 1,
      anon_sym_RPAREN,
    ACTIONS(207), 1,
      sym__ws,
    STATE(39), 1,
      aux_sym_pattern_line_repeat1,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(176), 1,
      sym_pattern_token,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(221), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1284] = 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 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,
  [1322] = 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 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,
  [1360] = 5,
    ACTIONS(211), 1,
      anon_sym_LBRACK,
    STATE(53), 1,
      sym_tag_filter,
    STATE(160), 1,
      sym_pattern_operator,
    ACTIONS(170), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(209), 9,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [1386] = 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 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,
  [1424] = 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 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,
  [1462] = 4,
    ACTIONS(218), 1,
      sym_comment,
    STATE(36), 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,
  [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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 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,
  [1524] = 5,
    ACTIONS(140), 1,
      ts_builtin_sym_end,
    ACTIONS(221), 1,
      sym_comment,
    STATE(54), 1,
      aux_sym_block_comment_repeat1,
    STATE(118), 1,
      sym_block_comment,
    ACTIONS(142), 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,
  [1550] = 13,
    ACTIONS(190), 1,
      anon_sym_RPAREN,
    ACTIONS(195), 1,
      sym__ws,
    ACTIONS(223), 1,
      sym_left_sieve,
    ACTIONS(226), 1,
      anon_sym_GT,
    ACTIONS(229), 1,
      sym_colon,
    ACTIONS(232), 1,
      anon_sym_LPAREN,
    ACTIONS(235), 1,
      anon_sym_LBRACK,
    ACTIONS(238), 1,
      sym_identifier,
    STATE(39), 1,
      aux_sym_pattern_line_repeat1,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(176), 1,
      sym_pattern_token,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(221), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1592] = 5,
    ACTIONS(243), 1,
      sym_question_op,
    ACTIONS(246), 1,
      anon_sym_LBRACK,
    ACTIONS(249), 1,
      sym_number,
    STATE(64), 1,
      sym_tag_filter,
    ACTIONS(241), 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,
  [1618] = 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(39), 1,
      aux_sym_pattern_line_repeat1,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(176), 1,
      sym_pattern_token,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(221), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1660] = 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(245), 1,
      sym_lexicon_segment,
    STATE(255), 1,
      sym_regex,
    STATE(12), 2,
      sym_lexicon_line,
      aux_sym_lexicon_block_repeat1,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1698] = 4,
    ACTIONS(255), 1,
      sym_colon,
    STATE(160), 1,
      sym_pattern_operator,
    ACTIONS(170), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(209), 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,
  [1721] = 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(257), 1,
      sym_comment,
    STATE(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(255), 1,
      sym_regex,
    STATE(307), 1,
      sym_lexicon_segment,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1758] = 3,
    STATE(166), 1,
      sym_pattern_operator,
    ACTIONS(170), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(259), 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,
  [1779] = 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(261), 1,
      sym__ws,
    STATE(30), 1,
      aux_sym_pattern_line_repeat1,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(176), 1,
      sym_pattern_token,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(221), 2,
      sym_right_sieve,
      sym_pattern_option,
  [1818] = 11,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(265), 1,
      sym_colon,
    ACTIONS(267), 1,
      anon_sym_LBRACK,
    ACTIONS(269), 1,
      anon_sym_SLASH,
    ACTIONS(273), 1,
      sym__ws,
    STATE(119), 1,
      sym_morpheme_boundary,
    STATE(154), 1,
      sym_tag_setting,
    STATE(260), 1,
      sym__lexicon_side_left,
    STATE(284), 1,
      sym_regex,
    STATE(317), 1,
      sym_lexicon_segment,
    ACTIONS(271), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [1855] = 2,
    ACTIONS(216), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(214), 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,
  [1874] = 6,
    ACTIONS(275), 1,
      sym_question_op,
    ACTIONS(278), 1,
      anon_sym_LBRACK,
    ACTIONS(281), 1,
      sym_number,
    ACTIONS(283), 1,
      sym__ws,
    STATE(121), 1,
      sym_tag_filter,
    ACTIONS(241), 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,
  [1901] = 6,
    ACTIONS(287), 1,
      anon_sym_LBRACK,
    ACTIONS(290), 1,
      sym__ws,
    STATE(88), 1,
      sym_tag_filter,
    STATE(196), 1,
      sym_pattern_operator,
    ACTIONS(285), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(209), 7,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      sym_identifier,
  [1928] = 6,
    ACTIONS(292), 1,
      sym_identifier,
    ACTIONS(295), 1,
      sym__ws,
    STATE(95), 1,
      sym_lexicon_reference,
    STATE(194), 1,
      sym_pattern_operator,
    ACTIONS(285), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(168), 7,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
  [1955] = 3,
    STATE(171), 1,
      sym_pattern_operator,
    ACTIONS(170), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(297), 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,
  [1976] = 3,
    STATE(178), 1,
      sym_pattern_operator,
    ACTIONS(170), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(299), 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,
  [1997] = 4,
    ACTIONS(197), 1,
      ts_builtin_sym_end,
    ACTIONS(221), 1,
      sym_comment,
    STATE(55), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(199), 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,
  [2020] = 4,
    ACTIONS(214), 1,
      ts_builtin_sym_end,
    ACTIONS(301), 1,
      sym_comment,
    STATE(55), 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,
  [2043] = 3,
    ACTIONS(306), 1,
      anon_sym_LBRACK,
    STATE(63), 1,
      sym_tag_filter,
    ACTIONS(304), 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,
  [2064] = 3,
    ACTIONS(311), 1,
      anon_sym_LBRACK,
    STATE(69), 1,
      sym_tag_filter,
    ACTIONS(309), 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,
  [2085] = 11,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(265), 1,
      sym_colon,
    ACTIONS(267), 1,
      anon_sym_LBRACK,
    ACTIONS(269), 1,
      anon_sym_SLASH,
    ACTIONS(314), 1,
      sym__ws,
    STATE(119), 1,
      sym_morpheme_boundary,
    STATE(154), 1,
      sym_tag_setting,
    STATE(260), 1,
      sym__lexicon_side_left,
    STATE(284), 1,
      sym_regex,
    STATE(336), 1,
      sym_lexicon_segment,
    ACTIONS(271), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2122] = 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(316), 1,
      sym__ws,
    STATE(41), 1,
      aux_sym_pattern_line_repeat1,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(176), 1,
      sym_pattern_token,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(221), 2,
      sym_right_sieve,
      sym_pattern_option,
  [2161] = 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(86), 1,
      sym_morpheme_boundary,
    STATE(185), 1,
      sym_tag_setting,
    STATE(244), 1,
      sym__lexicon_side_left,
    STATE(255), 1,
      sym_regex,
    STATE(307), 1,
      sym_lexicon_segment,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2195] = 1,
    ACTIONS(318), 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,
  [2211] = 10,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(320), 1,
      anon_sym_GT,
    ACTIONS(322), 1,
      sym_colon,
    ACTIONS(324), 1,
      anon_sym_SLASH,
    STATE(119), 1,
      sym_morpheme_boundary,
    STATE(154), 1,
      sym_tag_setting,
    STATE(260), 1,
      sym__lexicon_side_left,
    STATE(284), 1,
      sym_regex,
    STATE(321), 1,
      sym_lexicon_segment,
    ACTIONS(326), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2245] = 1,
    ACTIONS(328), 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,
  [2261] = 1,
    ACTIONS(330), 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,
  [2277] = 1,
    ACTIONS(332), 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,
  [2293] = 9,
    ACTIONS(334), 1,
      anon_sym_PIPE,
    ACTIONS(336), 1,
      sym_colon,
    ACTIONS(338), 1,
      anon_sym_LPAREN,
    ACTIONS(340), 1,
      anon_sym_RPAREN,
    ACTIONS(342), 1,
      anon_sym_LBRACK,
    ACTIONS(344), 1,
      sym_regex_string,
    ACTIONS(346), 1,
      sym_escaped_char,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(74), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_group_repeat1,
  [2325] = 9,
    ACTIONS(348), 1,
      anon_sym_PIPE,
    ACTIONS(351), 1,
      sym_colon,
    ACTIONS(354), 1,
      anon_sym_LPAREN,
    ACTIONS(357), 1,
      anon_sym_LBRACK,
    ACTIONS(360), 1,
      sym_regex_string,
    ACTIONS(363), 1,
      anon_sym_SLASH,
    ACTIONS(365), 1,
      sym_escaped_char,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(67), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_repeat1,
  [2357] = 1,
    ACTIONS(368), 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,
  [2373] = 1,
    ACTIONS(370), 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,
  [2389] = 1,
    ACTIONS(372), 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,
  [2405] = 11,
    ACTIONS(374), 1,
      sym_left_sieve,
    ACTIONS(376), 1,
      anon_sym_GT,
    ACTIONS(378), 1,
      sym_colon,
    ACTIONS(380), 1,
      anon_sym_LPAREN,
    ACTIONS(382), 1,
      anon_sym_LBRACK,
    ACTIONS(384), 1,
      sym_identifier,
    STATE(29), 1,
      aux_sym_pattern_line_repeat1,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(176), 1,
      sym_pattern_token,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(221), 2,
      sym_right_sieve,
      sym_pattern_option,
  [2441] = 2,
    ACTIONS(388), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(386), 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,
  [2459] = 1,
    ACTIONS(390), 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,
  [2475] = 9,
    ACTIONS(392), 1,
      anon_sym_PIPE,
    ACTIONS(395), 1,
      sym_colon,
    ACTIONS(398), 1,
      anon_sym_LPAREN,
    ACTIONS(401), 1,
      anon_sym_RPAREN,
    ACTIONS(403), 1,
      anon_sym_LBRACK,
    ACTIONS(406), 1,
      sym_regex_string,
    ACTIONS(409), 1,
      sym_escaped_char,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(74), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_group_repeat1,
  [2507] = 1,
    ACTIONS(412), 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,
  [2523] = 1,
    ACTIONS(414), 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,
  [2539] = 2,
    ACTIONS(418), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(416), 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,
  [2557] = 2,
    ACTIONS(422), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(420), 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,
  [2575] = 1,
    ACTIONS(424), 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,
  [2591] = 11,
    ACTIONS(426), 1,
      sym_left_sieve,
    ACTIONS(428), 1,
      anon_sym_GT,
    ACTIONS(430), 1,
      sym_colon,
    ACTIONS(432), 1,
      anon_sym_LPAREN,
    ACTIONS(434), 1,
      anon_sym_LBRACK,
    ACTIONS(436), 1,
      sym_identifier,
    STATE(19), 1,
      aux_sym_pattern_line_repeat1,
    STATE(43), 1,
      sym_lexicon_reference,
    STATE(144), 1,
      sym_pattern_token,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(202), 2,
      sym_right_sieve,
      sym_pattern_option,
  [2627] = 1,
    ACTIONS(438), 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,
  [2643] = 9,
    ACTIONS(334), 1,
      anon_sym_PIPE,
    ACTIONS(336), 1,
      sym_colon,
    ACTIONS(338), 1,
      anon_sym_LPAREN,
    ACTIONS(342), 1,
      anon_sym_LBRACK,
    ACTIONS(344), 1,
      sym_regex_string,
    ACTIONS(346), 1,
      sym_escaped_char,
    ACTIONS(440), 1,
      anon_sym_SLASH,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(104), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_repeat1,
  [2675] = 5,
    ACTIONS(290), 1,
      sym__ws,
    ACTIONS(442), 1,
      sym_colon,
    STATE(196), 1,
      sym_pattern_operator,
    ACTIONS(285), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(209), 7,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [2699] = 4,
    ACTIONS(444), 1,
      sym__ws,
    STATE(201), 1,
      sym_pattern_operator,
    ACTIONS(285), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(297), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [2721] = 7,
    ACTIONS(446), 1,
      anon_sym_GT,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(450), 1,
      anon_sym_SLASH,
    STATE(310), 1,
      sym_tag_setting,
    STATE(90), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(454), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(452), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2749] = 5,
    ACTIONS(446), 1,
      anon_sym_GT,
    ACTIONS(450), 1,
      anon_sym_SLASH,
    STATE(91), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(458), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(456), 5,
      sym_colon,
      anon_sym_LBRACK,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [2773] = 4,
    ACTIONS(460), 1,
      anon_sym_LBRACK,
    ACTIONS(463), 1,
      sym__ws,
    STATE(127), 1,
      sym_tag_filter,
    ACTIONS(304), 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,
  [2795] = 4,
    ACTIONS(465), 1,
      sym__ws,
    STATE(193), 1,
      sym_pattern_operator,
    ACTIONS(285), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(299), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [2817] = 1,
    ACTIONS(467), 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,
  [2833] = 7,
    ACTIONS(446), 1,
      anon_sym_GT,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(450), 1,
      anon_sym_SLASH,
    STATE(292), 1,
      sym_tag_setting,
    STATE(96), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(471), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(469), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2861] = 5,
    ACTIONS(446), 1,
      anon_sym_GT,
    ACTIONS(450), 1,
      anon_sym_SLASH,
    STATE(96), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(469), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(473), 5,
      sym_colon,
      anon_sym_LBRACK,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [2885] = 7,
    ACTIONS(446), 1,
      anon_sym_GT,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(450), 1,
      anon_sym_SLASH,
    STATE(294), 1,
      sym_tag_setting,
    STATE(97), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(477), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(475), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2913] = 7,
    ACTIONS(446), 1,
      anon_sym_GT,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(450), 1,
      anon_sym_SLASH,
    STATE(286), 1,
      sym_tag_setting,
    STATE(99), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(481), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(479), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [2941] = 4,
    ACTIONS(483), 1,
      anon_sym_LBRACK,
    ACTIONS(486), 1,
      sym__ws,
    STATE(131), 1,
      sym_tag_filter,
    ACTIONS(309), 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,
  [2963] = 4,
    ACTIONS(488), 1,
      sym__ws,
    STATE(214), 1,
      sym_pattern_operator,
    ACTIONS(285), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(259), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [2985] = 5,
    ACTIONS(490), 1,
      anon_sym_GT,
    ACTIONS(495), 1,
      anon_sym_SLASH,
    STATE(96), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(498), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
    ACTIONS(493), 5,
      sym_colon,
      anon_sym_LBRACK,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [3009] = 7,
    ACTIONS(446), 1,
      anon_sym_GT,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(450), 1,
      anon_sym_SLASH,
    STATE(297), 1,
      sym_tag_setting,
    STATE(96), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(501), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(469), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3037] = 7,
    ACTIONS(446), 1,
      anon_sym_GT,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(450), 1,
      anon_sym_SLASH,
    STATE(298), 1,
      sym_tag_setting,
    STATE(100), 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,
  [3065] = 7,
    ACTIONS(446), 1,
      anon_sym_GT,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(450), 1,
      anon_sym_SLASH,
    STATE(299), 1,
      sym_tag_setting,
    STATE(96), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(507), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(469), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3093] = 7,
    ACTIONS(446), 1,
      anon_sym_GT,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(450), 1,
      anon_sym_SLASH,
    STATE(304), 1,
      sym_tag_setting,
    STATE(96), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(509), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
    ACTIONS(469), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3121] = 2,
    ACTIONS(214), 1,
      ts_builtin_sym_end,
    ACTIONS(216), 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,
  [3139] = 9,
    ACTIONS(334), 1,
      anon_sym_PIPE,
    ACTIONS(336), 1,
      sym_colon,
    ACTIONS(338), 1,
      anon_sym_LPAREN,
    ACTIONS(342), 1,
      anon_sym_LBRACK,
    ACTIONS(344), 1,
      sym_regex_string,
    ACTIONS(346), 1,
      sym_escaped_char,
    ACTIONS(511), 1,
      anon_sym_RPAREN,
    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_group_repeat1,
  [3171] = 2,
    ACTIONS(515), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(513), 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,
  [3189] = 9,
    ACTIONS(334), 1,
      anon_sym_PIPE,
    ACTIONS(336), 1,
      sym_colon,
    ACTIONS(338), 1,
      anon_sym_LPAREN,
    ACTIONS(342), 1,
      anon_sym_LBRACK,
    ACTIONS(344), 1,
      sym_regex_string,
    ACTIONS(346), 1,
      sym_escaped_char,
    ACTIONS(517), 1,
      anon_sym_SLASH,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(67), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_repeat1,
  [3221] = 9,
    ACTIONS(334), 1,
      anon_sym_PIPE,
    ACTIONS(336), 1,
      sym_colon,
    ACTIONS(338), 1,
      anon_sym_LPAREN,
    ACTIONS(342), 1,
      anon_sym_LBRACK,
    ACTIONS(344), 1,
      sym_regex_string,
    ACTIONS(346), 1,
      sym_escaped_char,
    ACTIONS(519), 1,
      anon_sym_SLASH,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(106), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_repeat1,
  [3253] = 9,
    ACTIONS(334), 1,
      anon_sym_PIPE,
    ACTIONS(336), 1,
      sym_colon,
    ACTIONS(338), 1,
      anon_sym_LPAREN,
    ACTIONS(342), 1,
      anon_sym_LBRACK,
    ACTIONS(344), 1,
      sym_regex_string,
    ACTIONS(346), 1,
      sym_escaped_char,
    ACTIONS(521), 1,
      anon_sym_SLASH,
    STATE(152), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    STATE(67), 4,
      sym_pattern_or,
      sym_regex_line,
      sym_regex_group,
      aux_sym_regex_repeat1,
  [3285] = 11,
    ACTIONS(374), 1,
      sym_left_sieve,
    ACTIONS(376), 1,
      anon_sym_GT,
    ACTIONS(378), 1,
      sym_colon,
    ACTIONS(380), 1,
      anon_sym_LPAREN,
    ACTIONS(382), 1,
      anon_sym_LBRACK,
    ACTIONS(384), 1,
      sym_identifier,
    STATE(24), 1,
      aux_sym_pattern_line_repeat1,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(176), 1,
      sym_pattern_token,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
    STATE(221), 2,
      sym_right_sieve,
      sym_pattern_option,
  [3321] = 10,
    ACTIONS(80), 1,
      anon_sym_LBRACK,
    ACTIONS(320), 1,
      anon_sym_GT,
    ACTIONS(322), 1,
      sym_colon,
    ACTIONS(324), 1,
      anon_sym_SLASH,
    STATE(119), 1,
      sym_morpheme_boundary,
    STATE(154), 1,
      sym_tag_setting,
    STATE(260), 1,
      sym__lexicon_side_left,
    STATE(284), 1,
      sym_regex,
    STATE(338), 1,
      sym_lexicon_segment,
    ACTIONS(326), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3355] = 2,
    ACTIONS(525), 3,
      sym_named_pattern_start,
      sym_alias,
      sym_lexicon_string,
    ACTIONS(523), 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,
  [3373] = 2,
    ACTIONS(527), 1,
      ts_builtin_sym_end,
    ACTIONS(529), 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,
  [3390] = 4,
    STATE(222), 1,
      sym_pattern_operator,
    ACTIONS(531), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(535), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(533), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [3411] = 8,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(509), 1,
      anon_sym_RBRACK,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(539), 1,
      anon_sym_SLASH,
    ACTIONS(543), 1,
      sym__ws,
    STATE(346), 1,
      sym_tag_setting,
    STATE(117), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(541), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3440] = 2,
    ACTIONS(545), 1,
      ts_builtin_sym_end,
    ACTIONS(547), 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,
  [3457] = 8,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(454), 1,
      anon_sym_RBRACK,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(539), 1,
      anon_sym_SLASH,
    ACTIONS(551), 1,
      sym__ws,
    STATE(318), 1,
      sym_tag_setting,
    STATE(137), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(549), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3486] = 2,
    ACTIONS(553), 1,
      ts_builtin_sym_end,
    ACTIONS(555), 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,
  [3503] = 9,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(144), 1,
      sym_comment,
    ACTIONS(557), 1,
      ts_builtin_sym_end,
    ACTIONS(559), 1,
      sym_pattern_start,
    ACTIONS(561), 1,
      sym_lexicon_start,
    ACTIONS(563), 1,
      sym_alias,
    STATE(27), 1,
      aux_sym_block_comment_repeat1,
    STATE(203), 1,
      sym_block_comment,
    STATE(210), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [3534] = 6,
    ACTIONS(565), 1,
      anon_sym_GT,
    ACTIONS(568), 1,
      anon_sym_SLASH,
    ACTIONS(574), 1,
      sym__ws,
    STATE(117), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(493), 3,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
    ACTIONS(571), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3559] = 2,
    ACTIONS(513), 1,
      ts_builtin_sym_end,
    ACTIONS(515), 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,
  [3576] = 6,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(539), 1,
      anon_sym_SLASH,
    ACTIONS(578), 1,
      sym__ws,
    STATE(139), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(456), 3,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
    ACTIONS(576), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3601] = 4,
    STATE(235), 1,
      sym_pattern_operator,
    ACTIONS(580), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(535), 3,
      sym_question_op,
      sym_star_op,
      sym_plus_op,
    ACTIONS(582), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [3622] = 2,
    ACTIONS(584), 1,
      sym__ws,
    ACTIONS(330), 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,
  [3639] = 8,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(501), 1,
      anon_sym_RBRACK,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(539), 1,
      anon_sym_SLASH,
    ACTIONS(586), 1,
      sym__ws,
    STATE(313), 1,
      sym_tag_setting,
    STATE(117), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(541), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3668] = 2,
    ACTIONS(588), 1,
      sym__ws,
    ACTIONS(467), 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,
  [3685] = 8,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(505), 1,
      anon_sym_RBRACK,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(539), 1,
      anon_sym_SLASH,
    ACTIONS(592), 1,
      sym__ws,
    STATE(330), 1,
      sym_tag_setting,
    STATE(112), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(590), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3714] = 8,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(507), 1,
      anon_sym_RBRACK,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(539), 1,
      anon_sym_SLASH,
    ACTIONS(594), 1,
      sym__ws,
    STATE(331), 1,
      sym_tag_setting,
    STATE(117), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(541), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3743] = 2,
    ACTIONS(596), 1,
      sym__ws,
    ACTIONS(318), 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,
  [3760] = 2,
    ACTIONS(598), 1,
      sym__ws,
    ACTIONS(328), 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,
  [3777] = 2,
    ACTIONS(600), 1,
      ts_builtin_sym_end,
    ACTIONS(602), 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,
  [3794] = 2,
    ACTIONS(604), 1,
      sym__ws,
    ACTIONS(332), 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,
  [3811] = 2,
    ACTIONS(606), 1,
      sym__ws,
    ACTIONS(368), 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,
  [3828] = 2,
    ACTIONS(608), 1,
      sym__ws,
    ACTIONS(370), 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,
  [3845] = 2,
    ACTIONS(610), 1,
      sym__ws,
    ACTIONS(372), 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,
  [3862] = 2,
    ACTIONS(612), 1,
      sym__ws,
    ACTIONS(390), 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,
  [3879] = 2,
    ACTIONS(614), 1,
      sym__ws,
    ACTIONS(412), 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,
  [3896] = 2,
    ACTIONS(616), 1,
      sym__ws,
    ACTIONS(414), 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,
  [3913] = 2,
    ACTIONS(618), 1,
      sym__ws,
    ACTIONS(424), 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,
  [3930] = 8,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(471), 1,
      anon_sym_RBRACK,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(539), 1,
      anon_sym_SLASH,
    ACTIONS(620), 1,
      sym__ws,
    STATE(339), 1,
      sym_tag_setting,
    STATE(117), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(541), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [3959] = 2,
    ACTIONS(622), 1,
      sym__ws,
    ACTIONS(438), 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,
  [3976] = 6,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(539), 1,
      anon_sym_SLASH,
    ACTIONS(624), 1,
      sym__ws,
    STATE(117), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(473), 3,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
    ACTIONS(541), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4001] = 8,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(477), 1,
      anon_sym_RBRACK,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(539), 1,
      anon_sym_SLASH,
    ACTIONS(628), 1,
      sym__ws,
    STATE(325), 1,
      sym_tag_setting,
    STATE(122), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(626), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4030] = 8,
    ACTIONS(263), 1,
      anon_sym_GT,
    ACTIONS(481), 1,
      anon_sym_RBRACK,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(539), 1,
      anon_sym_SLASH,
    ACTIONS(632), 1,
      sym__ws,
    STATE(335), 1,
      sym_tag_setting,
    STATE(125), 2,
      aux_sym__lexicon_side_right,
      sym_morpheme_boundary,
    ACTIONS(630), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4059] = 1,
    ACTIONS(634), 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,
  [4073] = 4,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    ACTIONS(640), 1,
      sym__ws,
    STATE(186), 1,
      sym_pattern_or,
    ACTIONS(636), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [4093] = 4,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    ACTIONS(644), 1,
      sym__ws,
    STATE(186), 1,
      sym_pattern_or,
    ACTIONS(642), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [4113] = 4,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    ACTIONS(648), 1,
      sym__ws,
    STATE(186), 1,
      sym_pattern_or,
    ACTIONS(646), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [4133] = 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,
  [4147] = 4,
    ACTIONS(652), 1,
      sym_comment,
    STATE(179), 1,
      aux_sym_block_comment_repeat1,
    STATE(232), 1,
      sym_block_comment,
    ACTIONS(140), 8,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4167] = 3,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    STATE(161), 1,
      sym_pattern_or,
    ACTIONS(646), 9,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [4185] = 3,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    STATE(161), 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,
  [4203] = 3,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    STATE(161), 1,
      sym_pattern_or,
    ACTIONS(656), 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(638), 1,
      anon_sym_PIPE,
    ACTIONS(658), 1,
      sym__ws,
    STATE(186), 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(342), 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(184), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(664), 3,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [4266] = 6,
    ACTIONS(672), 1,
      anon_sym_DASH,
    ACTIONS(674), 1,
      sym_tag,
    ACTIONS(676), 1,
      sym__ws,
    STATE(386), 1,
      sym_tag_distribution_operator,
    ACTIONS(670), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(277), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [4289] = 7,
    ACTIONS(320), 1,
      anon_sym_GT,
    ACTIONS(324), 1,
      anon_sym_SLASH,
    ACTIONS(678), 1,
      sym_colon,
    STATE(119), 1,
      sym_morpheme_boundary,
    STATE(251), 1,
      sym__lexicon_side_left,
    STATE(285), 1,
      sym_regex,
    ACTIONS(326), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4314] = 2,
    ACTIONS(680), 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,
  [4329] = 4,
    ACTIONS(195), 1,
      sym__ws,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    STATE(163), 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,
  [4348] = 9,
    ACTIONS(156), 1,
      sym_colon,
    ACTIONS(158), 1,
      anon_sym_LPAREN,
    ACTIONS(162), 1,
      anon_sym_LBRACK,
    ACTIONS(164), 1,
      sym_identifier,
    ACTIONS(682), 1,
      sym__ws,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(164), 1,
      sym_pattern_token,
    STATE(227), 1,
      sym_pattern_option,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [4377] = 2,
    ACTIONS(684), 1,
      sym__ws,
    ACTIONS(634), 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,
  [4392] = 1,
    ACTIONS(686), 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,
  [4405] = 1,
    ACTIONS(688), 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,
  [4418] = 9,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(690), 1,
      sym__ws,
    STATE(43), 1,
      sym_lexicon_reference,
    STATE(145), 1,
      sym_pattern_token,
    STATE(207), 1,
      sym_pattern_option,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [4447] = 6,
    ACTIONS(672), 1,
      anon_sym_DASH,
    ACTIONS(692), 1,
      sym_tag,
    ACTIONS(694), 1,
      sym__ws,
    STATE(386), 1,
      sym_tag_distribution_operator,
    ACTIONS(670), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(309), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [4470] = 9,
    ACTIONS(156), 1,
      sym_colon,
    ACTIONS(158), 1,
      anon_sym_LPAREN,
    ACTIONS(162), 1,
      anon_sym_LBRACK,
    ACTIONS(164), 1,
      sym_identifier,
    ACTIONS(696), 1,
      sym__ws,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(169), 1,
      sym_pattern_token,
    STATE(230), 1,
      sym_pattern_option,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [4499] = 4,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    ACTIONS(698), 1,
      sym__ws,
    STATE(157), 1,
      sym_pattern_or,
    ACTIONS(636), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4518] = 6,
    ACTIONS(672), 1,
      anon_sym_DASH,
    ACTIONS(700), 1,
      sym_tag,
    ACTIONS(702), 1,
      sym__ws,
    STATE(386), 1,
      sym_tag_distribution_operator,
    ACTIONS(670), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(306), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [4541] = 1,
    ACTIONS(704), 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,
  [4554] = 6,
    ACTIONS(672), 1,
      anon_sym_DASH,
    ACTIONS(706), 1,
      sym_tag,
    ACTIONS(708), 1,
      sym__ws,
    STATE(386), 1,
      sym_tag_distribution_operator,
    ACTIONS(670), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(267), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [4577] = 1,
    ACTIONS(710), 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,
  [4590] = 4,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    ACTIONS(712), 1,
      sym__ws,
    STATE(157), 1,
      sym_pattern_or,
    ACTIONS(646), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4609] = 4,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    ACTIONS(714), 1,
      sym__ws,
    STATE(163), 1,
      sym_pattern_or,
    ACTIONS(646), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4628] = 1,
    ACTIONS(716), 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,
  [4641] = 4,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    ACTIONS(718), 1,
      sym__ws,
    STATE(157), 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,
  [4660] = 4,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    ACTIONS(720), 1,
      sym__ws,
    STATE(163), 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,
  [4679] = 6,
    ACTIONS(342), 1,
      anon_sym_LBRACK,
    ACTIONS(666), 1,
      sym_regex_string,
    ACTIONS(668), 1,
      sym_escaped_char,
    ACTIONS(722), 1,
      anon_sym_PIPE,
    STATE(184), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(724), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [4702] = 4,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    ACTIONS(726), 1,
      sym__ws,
    STATE(163), 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,
  [4721] = 4,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    ACTIONS(728), 1,
      sym__ws,
    STATE(157), 1,
      sym_pattern_or,
    ACTIONS(642), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4740] = 6,
    ACTIONS(342), 1,
      anon_sym_LBRACK,
    ACTIONS(660), 1,
      anon_sym_PIPE,
    ACTIONS(730), 1,
      sym_regex_string,
    ACTIONS(732), 1,
      sym_escaped_char,
    STATE(187), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(664), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [4763] = 1,
    ACTIONS(734), 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,
  [4776] = 3,
    ACTIONS(652), 1,
      sym_comment,
    STATE(181), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(197), 8,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4793] = 5,
    ACTIONS(140), 1,
      sym__ws,
    ACTIONS(736), 1,
      sym_comment,
    STATE(212), 1,
      aux_sym_block_comment_repeat1,
    STATE(240), 1,
      sym_block_comment,
    ACTIONS(142), 6,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [4814] = 3,
    ACTIONS(738), 1,
      sym_comment,
    STATE(181), 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,
  [4831] = 6,
    ACTIONS(342), 1,
      anon_sym_LBRACK,
    ACTIONS(741), 1,
      anon_sym_PIPE,
    ACTIONS(745), 1,
      sym_regex_string,
    ACTIONS(747), 1,
      sym_escaped_char,
    STATE(174), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(743), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [4854] = 4,
    ACTIONS(195), 1,
      sym__real_nl,
    ACTIONS(638), 1,
      anon_sym_PIPE,
    STATE(161), 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,
  [4873] = 6,
    ACTIONS(749), 1,
      anon_sym_PIPE,
    ACTIONS(753), 1,
      anon_sym_LBRACK,
    ACTIONS(756), 1,
      sym_regex_string,
    ACTIONS(759), 1,
      sym_escaped_char,
    STATE(184), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(751), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [4896] = 7,
    ACTIONS(76), 1,
      anon_sym_GT,
    ACTIONS(82), 1,
      anon_sym_SLASH,
    ACTIONS(762), 1,
      sym_colon,
    STATE(86), 1,
      sym_morpheme_boundary,
    STATE(247), 1,
      sym__lexicon_side_left,
    STATE(263), 1,
      sym_regex,
    ACTIONS(86), 4,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [4921] = 9,
    ACTIONS(25), 1,
      sym_colon,
    ACTIONS(27), 1,
      anon_sym_LPAREN,
    ACTIONS(29), 1,
      anon_sym_LBRACK,
    ACTIONS(31), 1,
      sym_identifier,
    ACTIONS(764), 1,
      sym__ws,
    STATE(43), 1,
      sym_lexicon_reference,
    STATE(143), 1,
      sym_pattern_token,
    STATE(208), 1,
      sym_pattern_option,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [4950] = 6,
    ACTIONS(342), 1,
      anon_sym_LBRACK,
    ACTIONS(666), 1,
      sym_regex_string,
    ACTIONS(668), 1,
      sym_escaped_char,
    ACTIONS(741), 1,
      anon_sym_PIPE,
    STATE(184), 2,
      sym_regex_char_class,
      aux_sym__plain_regex_string,
    ACTIONS(743), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_SLASH,
  [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] = 5,
    ACTIONS(770), 1,
      anon_sym_DASH,
    ACTIONS(772), 1,
      sym_tag,
    STATE(386), 1,
      sym_tag_distribution_operator,
    ACTIONS(768), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(268), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [5005] = 4,
    ACTIONS(214), 1,
      sym__ws,
    ACTIONS(774), 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,
  [5023] = 1,
    ACTIONS(777), 9,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [5035] = 1,
    ACTIONS(779), 9,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [5047] = 2,
    ACTIONS(781), 1,
      sym__ws,
    ACTIONS(734), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5061] = 2,
    ACTIONS(783), 1,
      sym__ws,
    ACTIONS(710), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5075] = 5,
    ACTIONS(770), 1,
      anon_sym_DASH,
    ACTIONS(785), 1,
      sym_tag,
    STATE(386), 1,
      sym_tag_distribution_operator,
    ACTIONS(768), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(306), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [5095] = 2,
    ACTIONS(787), 1,
      sym__ws,
    ACTIONS(688), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5109] = 6,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(557), 1,
      ts_builtin_sym_end,
    ACTIONS(559), 1,
      sym_pattern_start,
    ACTIONS(561), 1,
      sym_lexicon_start,
    ACTIONS(563), 1,
      sym_alias,
    STATE(215), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5131] = 8,
    ACTIONS(378), 1,
      sym_colon,
    ACTIONS(380), 1,
      anon_sym_LPAREN,
    ACTIONS(382), 1,
      anon_sym_LBRACK,
    ACTIONS(384), 1,
      sym_identifier,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(169), 1,
      sym_pattern_token,
    STATE(230), 1,
      sym_pattern_option,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [5157] = 2,
    ACTIONS(789), 1,
      sym__ws,
    ACTIONS(686), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5171] = 5,
    ACTIONS(770), 1,
      anon_sym_DASH,
    ACTIONS(791), 1,
      sym_tag,
    STATE(386), 1,
      sym_tag_distribution_operator,
    ACTIONS(768), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(287), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [5191] = 2,
    ACTIONS(793), 1,
      sym__ws,
    ACTIONS(716), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5205] = 2,
    ACTIONS(795), 1,
      sym__ws,
    ACTIONS(642), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [5219] = 6,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(559), 1,
      sym_pattern_start,
    ACTIONS(561), 1,
      sym_lexicon_start,
    ACTIONS(563), 1,
      sym_alias,
    ACTIONS(797), 1,
      ts_builtin_sym_end,
    STATE(209), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5241] = 2,
    ACTIONS(801), 1,
      sym__ws,
    ACTIONS(799), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [5255] = 8,
    ACTIONS(430), 1,
      sym_colon,
    ACTIONS(432), 1,
      anon_sym_LPAREN,
    ACTIONS(434), 1,
      anon_sym_LBRACK,
    ACTIONS(436), 1,
      sym_identifier,
    STATE(43), 1,
      sym_lexicon_reference,
    STATE(151), 1,
      sym_pattern_token,
    STATE(204), 1,
      sym_pattern_option,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [5281] = 1,
    ACTIONS(214), 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,
  [5293] = 2,
    ACTIONS(805), 1,
      sym__ws,
    ACTIONS(803), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [5307] = 2,
    ACTIONS(809), 1,
      sym__ws,
    ACTIONS(807), 8,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
  [5321] = 6,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(559), 1,
      sym_pattern_start,
    ACTIONS(561), 1,
      sym_lexicon_start,
    ACTIONS(563), 1,
      sym_alias,
    ACTIONS(811), 1,
      ts_builtin_sym_end,
    STATE(215), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5343] = 6,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(559), 1,
      sym_pattern_start,
    ACTIONS(561), 1,
      sym_lexicon_start,
    ACTIONS(563), 1,
      sym_alias,
    ACTIONS(797), 1,
      ts_builtin_sym_end,
    STATE(215), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5365] = 6,
    ACTIONS(7), 1,
      sym_named_pattern_start,
    ACTIONS(557), 1,
      ts_builtin_sym_end,
    ACTIONS(559), 1,
      sym_pattern_start,
    ACTIONS(561), 1,
      sym_lexicon_start,
    ACTIONS(563), 1,
      sym_alias,
    STATE(210), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5387] = 4,
    ACTIONS(197), 1,
      sym__ws,
    ACTIONS(736), 1,
      sym_comment,
    STATE(190), 1,
      aux_sym_block_comment_repeat1,
    ACTIONS(199), 6,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5405] = 1,
    ACTIONS(813), 9,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
      sym__real_nl,
      sym__ws,
  [5417] = 2,
    ACTIONS(815), 1,
      sym__ws,
    ACTIONS(704), 8,
      sym_left_sieve,
      anon_sym_GT,
      anon_sym_PIPE,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5431] = 6,
    ACTIONS(817), 1,
      ts_builtin_sym_end,
    ACTIONS(819), 1,
      sym_pattern_start,
    ACTIONS(822), 1,
      sym_named_pattern_start,
    ACTIONS(825), 1,
      sym_lexicon_start,
    ACTIONS(828), 1,
      sym_alias,
    STATE(215), 4,
      sym_pattern_block,
      sym_lexicon_block,
      sym_alias_command,
      aux_sym_source_file_repeat1,
  [5453] = 8,
    ACTIONS(378), 1,
      sym_colon,
    ACTIONS(380), 1,
      anon_sym_LPAREN,
    ACTIONS(382), 1,
      anon_sym_LBRACK,
    ACTIONS(384), 1,
      sym_identifier,
    STATE(83), 1,
      sym_lexicon_reference,
    STATE(172), 1,
      sym_pattern_token,
    STATE(233), 1,
      sym_pattern_option,
    STATE(50), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [5479] = 8,
    ACTIONS(430), 1,
      sym_colon,
    ACTIONS(432), 1,
      anon_sym_LPAREN,
    ACTIONS(434), 1,
      anon_sym_LBRACK,
    ACTIONS(436), 1,
      sym_identifier,
    STATE(43), 1,
      sym_lexicon_reference,
    STATE(145), 1,
      sym_pattern_token,
    STATE(207), 1,
      sym_pattern_option,
    STATE(33), 2,
      sym_anonymous_pattern,
      sym_anonymous_lexicon,
  [5505] = 5,
    ACTIONS(770), 1,
      anon_sym_DASH,
    ACTIONS(831), 1,
      sym_tag,
    STATE(386), 1,
      sym_tag_distribution_operator,
    ACTIONS(768), 2,
      anon_sym_PIPE,
      anon_sym_CARET,
    STATE(278), 4,
      sym_neg_tag,
      sym__tag_or_neg,
      sym_tag_distribution,
      sym__tag_filter_segment,
  [5525] = 2,
    ACTIONS(833), 1,
      sym__ws,
    ACTIONS(813), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5538] = 2,
    ACTIONS(214), 1,
      sym__ws,
    ACTIONS(216), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_comment,
      sym_identifier,
  [5551] = 2,
    ACTIONS(835), 1,
      sym__ws,
    ACTIONS(642), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5564] = 2,
    ACTIONS(838), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(840), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [5577] = 2,
    ACTIONS(842), 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,
  [5590] = 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,
  [5603] = 2,
    ACTIONS(844), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(846), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [5616] = 2,
    ACTIONS(848), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(850), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [5629] = 2,
    ACTIONS(852), 1,
      sym__ws,
    ACTIONS(807), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5642] = 8,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(854), 1,
      sym_comment,
    ACTIONS(856), 1,
      sym_number,
    ACTIONS(858), 1,
      sym__real_nl,
    ACTIONS(860), 1,
      sym__ws,
    STATE(28), 1,
      sym__nl,
    STATE(266), 1,
      sym_tag_setting,
    STATE(324), 1,
      sym__end_com,
  [5667] = 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,
  [5680] = 2,
    ACTIONS(862), 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,
  [5693] = 2,
    ACTIONS(864), 1,
      sym__ws,
    ACTIONS(779), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5706] = 1,
    ACTIONS(513), 8,
      anon_sym_GT,
      sym_colon,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [5717] = 2,
    ACTIONS(866), 1,
      sym__ws,
    ACTIONS(799), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5730] = 2,
    ACTIONS(868), 1,
      sym__ws,
    ACTIONS(777), 7,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5743] = 2,
    ACTIONS(531), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(533), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [5756] = 2,
    ACTIONS(686), 2,
      anon_sym_PIPE,
      sym_regex_string,
    ACTIONS(789), 6,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      sym_escaped_char,
  [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] = 1,
    ACTIONS(874), 7,
      anon_sym_GT,
      sym_colon,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [5792] = 1,
    ACTIONS(876), 7,
      anon_sym_GT,
      sym_colon,
      anon_sym_SLASH,
      sym_lexicon_string,
      sym_tag_symbol,
      sym_archiphoneme_symbol,
      sym_escaped_char,
  [5802] = 2,
    ACTIONS(513), 1,
      sym__ws,
    ACTIONS(515), 6,
      sym_left_sieve,
      anon_sym_GT,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [5814] = 7,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(854), 1,
      sym_comment,
    ACTIONS(858), 1,
      sym__real_nl,
    ACTIONS(860), 1,
      sym__ws,
    STATE(31), 1,
      sym__nl,
    STATE(254), 1,
      sym_tag_setting,
    STATE(326), 1,
      sym__end_com,
  [5836] = 5,
    ACTIONS(672), 1,
      anon_sym_DASH,
    ACTIONS(878), 1,
      sym_tag,
    ACTIONS(880), 1,
      sym__ws,
    STATE(374), 1,
      sym__tag_list,
    STATE(276), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [5853] = 5,
    ACTIONS(672), 1,
      anon_sym_DASH,
    ACTIONS(878), 1,
      sym_tag,
    ACTIONS(882), 1,
      sym__ws,
    STATE(372), 1,
      sym__tag_list,
    STATE(276), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [5870] = 4,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(884), 1,
      sym_colon,
    STATE(288), 1,
      sym_tag_setting,
    ACTIONS(886), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [5885] = 6,
    ACTIONS(854), 1,
      sym_comment,
    ACTIONS(888), 1,
      sym__real_nl,
    ACTIONS(890), 1,
      sym__ws,
    STATE(72), 1,
      sym__nl,
    STATE(248), 1,
      aux_sym_lexicon_line_repeat1,
    STATE(337), 1,
      sym__end_com,
  [5904] = 5,
    ACTIONS(672), 1,
      anon_sym_DASH,
    ACTIONS(878), 1,
      sym_tag,
    ACTIONS(892), 1,
      sym__ws,
    STATE(357), 1,
      sym__tag_list,
    STATE(276), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [5921] = 4,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    ACTIONS(894), 1,
      sym_colon,
    STATE(295), 1,
      sym_tag_setting,
    ACTIONS(896), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [5936] = 6,
    ACTIONS(854), 1,
      sym_comment,
    ACTIONS(888), 1,
      sym__real_nl,
    ACTIONS(890), 1,
      sym__ws,
    STATE(78), 1,
      sym__nl,
    STATE(270), 1,
      aux_sym_lexicon_line_repeat1,
    STATE(323), 1,
      sym__end_com,
  [5955] = 5,
    ACTIONS(672), 1,
      anon_sym_DASH,
    ACTIONS(878), 1,
      sym_tag,
    ACTIONS(898), 1,
      sym__ws,
    STATE(359), 1,
      sym__tag_list,
    STATE(276), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [5972] = 4,
    ACTIONS(770), 1,
      anon_sym_DASH,
    ACTIONS(900), 1,
      sym_tag,
    STATE(352), 1,
      sym__tag_list,
    STATE(276), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [5986] = 5,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(896), 1,
      anon_sym_RBRACK,
    ACTIONS(902), 1,
      sym_colon,
    ACTIONS(904), 1,
      sym__ws,
    STATE(327), 1,
      sym_tag_setting,
  [6002] = 2,
    ACTIONS(908), 1,
      sym_named_pattern_start,
    ACTIONS(906), 4,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      sym_alias,
  [6012] = 5,
    ACTIONS(854), 1,
      sym_comment,
    ACTIONS(860), 1,
      sym__ws,
    ACTIONS(910), 1,
      sym__real_nl,
    STATE(20), 1,
      sym__nl,
    STATE(347), 1,
      sym__end_com,
  [6028] = 5,
    ACTIONS(854), 1,
      sym_comment,
    ACTIONS(858), 1,
      sym__real_nl,
    ACTIONS(860), 1,
      sym__ws,
    STATE(42), 1,
      sym__nl,
    STATE(320), 1,
      sym__end_com,
  [6044] = 3,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    STATE(288), 1,
      sym_tag_setting,
    ACTIONS(886), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6056] = 5,
    ACTIONS(854), 1,
      sym_comment,
    ACTIONS(860), 1,
      sym__ws,
    ACTIONS(910), 1,
      sym__real_nl,
    STATE(22), 1,
      sym__nl,
    STATE(344), 1,
      sym__end_com,
  [6072] = 4,
    ACTIONS(770), 1,
      anon_sym_DASH,
    ACTIONS(900), 1,
      sym_tag,
    STATE(384), 1,
      sym__tag_list,
    STATE(276), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [6086] = 2,
    ACTIONS(914), 1,
      sym_named_pattern_start,
    ACTIONS(912), 4,
      ts_builtin_sym_end,
      sym_pattern_start,
      sym_lexicon_start,
      sym_alias,
  [6096] = 5,
    ACTIONS(854), 1,
      sym_comment,
    ACTIONS(860), 1,
      sym__ws,
    ACTIONS(888), 1,
      sym__real_nl,
    STATE(258), 1,
      sym__nl,
    STATE(314), 1,
      sym__end_com,
  [6112] = 5,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(886), 1,
      anon_sym_RBRACK,
    ACTIONS(916), 1,
      sym_colon,
    ACTIONS(918), 1,
      sym__ws,
    STATE(319), 1,
      sym_tag_setting,
  [6128] = 2,
    ACTIONS(846), 1,
      sym__ws,
    ACTIONS(844), 4,
      sym_colon,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      sym_identifier,
  [6138] = 4,
    ACTIONS(770), 1,
      anon_sym_DASH,
    ACTIONS(900), 1,
      sym_tag,
    STATE(375), 1,
      sym__tag_list,
    STATE(276), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [6152] = 3,
    ACTIONS(448), 1,
      anon_sym_LBRACK,
    STATE(295), 1,
      sym_tag_setting,
    ACTIONS(896), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6164] = 4,
    ACTIONS(770), 1,
      anon_sym_DASH,
    ACTIONS(900), 1,
      sym_tag,
    STATE(365), 1,
      sym__tag_list,
    STATE(276), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [6178] = 4,
    ACTIONS(672), 1,
      anon_sym_DASH,
    ACTIONS(920), 1,
      sym_tag,
    ACTIONS(922), 1,
      sym__ws,
    STATE(300), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [6192] = 5,
    ACTIONS(854), 1,
      sym_comment,
    ACTIONS(858), 1,
      sym__real_nl,
    ACTIONS(860), 1,
      sym__ws,
    STATE(23), 1,
      sym__nl,
    STATE(343), 1,
      sym__end_com,
  [6208] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(926), 1,
      anon_sym_RBRACK,
    ACTIONS(928), 1,
      sym__ws,
    STATE(274), 1,
      aux_sym_tag_filter_repeat1,
  [6221] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(930), 1,
      anon_sym_RBRACK,
    ACTIONS(932), 1,
      sym__ws,
    STATE(275), 1,
      aux_sym_tag_filter_repeat1,
  [6234] = 3,
    ACTIONS(934), 1,
      anon_sym_RBRACK,
    STATE(271), 1,
      aux_sym_regex_char_class_repeat1,
    ACTIONS(936), 2,
      sym_lexicon_string,
      sym_escaped_char,
  [6245] = 3,
    ACTIONS(940), 1,
      sym__ws,
    STATE(270), 1,
      aux_sym_lexicon_line_repeat1,
    ACTIONS(938), 2,
      sym_comment,
      sym__real_nl,
  [6256] = 3,
    ACTIONS(943), 1,
      anon_sym_RBRACK,
    STATE(271), 1,
      aux_sym_regex_char_class_repeat1,
    ACTIONS(945), 2,
      sym_lexicon_string,
      sym_escaped_char,
  [6267] = 3,
    ACTIONS(948), 1,
      anon_sym_RBRACK,
    STATE(269), 1,
      aux_sym_regex_char_class_repeat1,
    ACTIONS(950), 2,
      sym_lexicon_string,
      sym_escaped_char,
  [6278] = 1,
    ACTIONS(952), 4,
      anon_sym_LBRACK,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6285] = 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,
  [6298] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(954), 1,
      anon_sym_RBRACK,
    ACTIONS(956), 1,
      sym__ws,
    STATE(281), 1,
      aux_sym_tag_filter_repeat1,
  [6311] = 4,
    ACTIONS(958), 1,
      anon_sym_COMMA,
    ACTIONS(960), 1,
      anon_sym_RBRACK,
    ACTIONS(962), 1,
      sym__ws,
    STATE(291), 1,
      aux_sym__tag_list_repeat1,
  [6324] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(964), 1,
      anon_sym_RBRACK,
    ACTIONS(966), 1,
      sym__ws,
    STATE(279), 1,
      aux_sym_tag_filter_repeat1,
  [6337] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(968), 1,
      anon_sym_RBRACK,
    ACTIONS(970), 1,
      sym__ws,
    STATE(280), 1,
      aux_sym_tag_filter_repeat1,
  [6350] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(968), 1,
      anon_sym_RBRACK,
    ACTIONS(970), 1,
      sym__ws,
    STATE(281), 1,
      aux_sym_tag_filter_repeat1,
  [6363] = 4,
    ACTIONS(924), 1,
      anon_sym_COMMA,
    ACTIONS(972), 1,
      anon_sym_RBRACK,
    ACTIONS(974), 1,
      sym__ws,
    STATE(281), 1,
      aux_sym_tag_filter_repeat1,
  [6376] = 4,
    ACTIONS(976), 1,
      anon_sym_COMMA,
    ACTIONS(979), 1,
      anon_sym_RBRACK,
    ACTIONS(981), 1,
      sym__ws,
    STATE(281), 1,
      aux_sym_tag_filter_repeat1,
  [6389] = 3,
    ACTIONS(770), 1,
      anon_sym_DASH,
    ACTIONS(984), 1,
      sym_tag,
    STATE(290), 2,
      sym_neg_tag,
      sym__tag_or_neg,
  [6400] = 1,
    ACTIONS(986), 4,
      anon_sym_LBRACK,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6407] = 4,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(886), 1,
      anon_sym_RBRACK,
    ACTIONS(918), 1,
      sym__ws,
    STATE(319), 1,
      sym_tag_setting,
  [6420] = 4,
    ACTIONS(537), 1,
      anon_sym_LBRACK,
    ACTIONS(896), 1,
      anon_sym_RBRACK,
    ACTIONS(904), 1,
      sym__ws,
    STATE(327), 1,
      sym_tag_setting,
  [6433] = 1,
    ACTIONS(988), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6439] = 2,
    ACTIONS(992), 1,
      sym__ws,
    ACTIONS(990), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6447] = 1,
    ACTIONS(994), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6453] = 3,
    ACTIONS(996), 1,
      anon_sym_COMMA,
    ACTIONS(998), 1,
      anon_sym_RBRACK,
    STATE(302), 1,
      aux_sym__tag_list_repeat1,
  [6463] = 2,
    ACTIONS(1002), 1,
      sym__ws,
    ACTIONS(1000), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6471] = 3,
    ACTIONS(996), 1,
      anon_sym_COMMA,
    ACTIONS(998), 1,
      anon_sym_RBRACK,
    STATE(303), 1,
      aux_sym__tag_list_repeat1,
  [6481] = 1,
    ACTIONS(1004), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6487] = 1,
    ACTIONS(1006), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6493] = 1,
    ACTIONS(1008), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6499] = 1,
    ACTIONS(1010), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6505] = 1,
    ACTIONS(1012), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6511] = 1,
    ACTIONS(1014), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6517] = 1,
    ACTIONS(1016), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6523] = 1,
    ACTIONS(1018), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6529] = 2,
    ACTIONS(1022), 1,
      sym__ws,
    ACTIONS(1020), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6537] = 2,
    ACTIONS(1024), 1,
      sym__ws,
    ACTIONS(986), 2,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
  [6545] = 3,
    ACTIONS(996), 1,
      anon_sym_COMMA,
    ACTIONS(1026), 1,
      anon_sym_RBRACK,
    STATE(303), 1,
      aux_sym__tag_list_repeat1,
  [6555] = 3,
    ACTIONS(1028), 1,
      anon_sym_COMMA,
    ACTIONS(1031), 1,
      anon_sym_RBRACK,
    STATE(303), 1,
      aux_sym__tag_list_repeat1,
  [6565] = 1,
    ACTIONS(1033), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6571] = 2,
    ACTIONS(1037), 1,
      sym__ws,
    ACTIONS(1035), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6579] = 2,
    ACTIONS(1041), 1,
      sym__ws,
    ACTIONS(1039), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6587] = 1,
    ACTIONS(938), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6593] = 2,
    ACTIONS(1045), 1,
      sym__ws,
    ACTIONS(1043), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6601] = 2,
    ACTIONS(1047), 1,
      sym__ws,
    ACTIONS(979), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6609] = 1,
    ACTIONS(1049), 3,
      sym_comment,
      sym__real_nl,
      sym__ws,
  [6615] = 2,
    ACTIONS(1051), 1,
      sym__ws,
    ACTIONS(952), 2,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
  [6623] = 2,
    ACTIONS(1055), 1,
      sym__ws,
    ACTIONS(1053), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6631] = 2,
    ACTIONS(1014), 1,
      anon_sym_RBRACK,
    ACTIONS(1057), 1,
      sym__ws,
  [6638] = 2,
    ACTIONS(1059), 1,
      sym__real_nl,
    STATE(252), 1,
      sym__nl,
  [6645] = 2,
    ACTIONS(1061), 1,
      anon_sym_COMMA,
    ACTIONS(1063), 1,
      anon_sym_RBRACK,
  [6652] = 2,
    ACTIONS(148), 1,
      sym__real_nl,
    STATE(128), 1,
      sym__nl,
  [6659] = 2,
    ACTIONS(1065), 1,
      anon_sym_RBRACK,
    ACTIONS(1067), 1,
      sym__ws,
  [6666] = 2,
    ACTIONS(1049), 1,
      anon_sym_RBRACK,
    ACTIONS(1069), 1,
      sym__ws,
  [6673] = 2,
    ACTIONS(994), 1,
      anon_sym_RBRACK,
    ACTIONS(1071), 1,
      sym__ws,
  [6680] = 2,
    ACTIONS(1073), 1,
      sym__real_nl,
    STATE(37), 1,
      sym__nl,
  [6687] = 2,
    ACTIONS(1075), 1,
      anon_sym_RBRACK,
    ACTIONS(1077), 1,
      sym__ws,
  [6694] = 1,
    ACTIONS(1079), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6699] = 2,
    ACTIONS(1059), 1,
      sym__real_nl,
    STATE(109), 1,
      sym__nl,
  [6706] = 2,
    ACTIONS(1073), 1,
      sym__real_nl,
    STATE(32), 1,
      sym__nl,
  [6713] = 2,
    ACTIONS(1008), 1,
      anon_sym_RBRACK,
    ACTIONS(1081), 1,
      sym__ws,
  [6720] = 2,
    ACTIONS(1073), 1,
      sym__real_nl,
    STATE(34), 1,
      sym__nl,
  [6727] = 2,
    ACTIONS(1010), 1,
      anon_sym_RBRACK,
    ACTIONS(1083), 1,
      sym__ws,
  [6734] = 2,
    ACTIONS(874), 1,
      sym__ws,
    ACTIONS(1006), 1,
      anon_sym_RBRACK,
  [6741] = 2,
    ACTIONS(1061), 1,
      anon_sym_COMMA,
    ACTIONS(1085), 1,
      anon_sym_RBRACK,
  [6748] = 2,
    ACTIONS(1016), 1,
      anon_sym_RBRACK,
    ACTIONS(1087), 1,
      sym__ws,
  [6755] = 2,
    ACTIONS(1018), 1,
      anon_sym_RBRACK,
    ACTIONS(1089), 1,
      sym__ws,
  [6762] = 2,
    ACTIONS(148), 1,
      sym__real_nl,
    STATE(110), 1,
      sym__nl,
  [6769] = 2,
    ACTIONS(1061), 1,
      anon_sym_COMMA,
    ACTIONS(1091), 1,
      anon_sym_RBRACK,
  [6776] = 2,
    ACTIONS(384), 1,
      sym_identifier,
    STATE(84), 1,
      sym_lexicon_reference,
  [6783] = 2,
    ACTIONS(988), 1,
      anon_sym_RBRACK,
    ACTIONS(1093), 1,
      sym__ws,
  [6790] = 2,
    ACTIONS(1095), 1,
      anon_sym_RBRACK,
    ACTIONS(1097), 1,
      sym__ws,
  [6797] = 2,
    ACTIONS(1059), 1,
      sym__real_nl,
    STATE(77), 1,
      sym__nl,
  [6804] = 2,
    ACTIONS(1099), 1,
      anon_sym_RBRACK,
    ACTIONS(1101), 1,
      sym__ws,
  [6811] = 2,
    ACTIONS(1004), 1,
      anon_sym_RBRACK,
    ACTIONS(1103), 1,
      sym__ws,
  [6818] = 2,
    ACTIONS(1061), 1,
      anon_sym_COMMA,
    ACTIONS(1105), 1,
      anon_sym_RBRACK,
  [6825] = 2,
    ACTIONS(1061), 1,
      anon_sym_COMMA,
    ACTIONS(1107), 1,
      anon_sym_RBRACK,
  [6832] = 2,
    ACTIONS(1061), 1,
      anon_sym_COMMA,
    ACTIONS(1109), 1,
      anon_sym_RBRACK,
  [6839] = 2,
    ACTIONS(1073), 1,
      sym__real_nl,
    STATE(35), 1,
      sym__nl,
  [6846] = 2,
    ACTIONS(1111), 1,
      sym__real_nl,
    STATE(16), 1,
      sym__nl,
  [6853] = 1,
    ACTIONS(1113), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [6858] = 2,
    ACTIONS(1033), 1,
      anon_sym_RBRACK,
    ACTIONS(1115), 1,
      sym__ws,
  [6865] = 2,
    ACTIONS(1111), 1,
      sym__real_nl,
    STATE(21), 1,
      sym__nl,
  [6872] = 2,
    ACTIONS(436), 1,
      sym_identifier,
    STATE(52), 1,
      sym_lexicon_reference,
  [6879] = 2,
    ACTIONS(876), 1,
      sym__ws,
    ACTIONS(1012), 1,
      anon_sym_RBRACK,
  [6886] = 1,
    ACTIONS(1117), 1,
      sym_number,
  [6890] = 1,
    ACTIONS(1119), 1,
      sym__real_nl,
  [6894] = 1,
    ACTIONS(1121), 1,
      anon_sym_RBRACK,
  [6898] = 1,
    ACTIONS(1123), 1,
      sym__ws,
  [6902] = 1,
    ACTIONS(1125), 1,
      sym_identifier,
  [6906] = 1,
    ACTIONS(1127), 1,
      anon_sym_RBRACK,
  [6910] = 1,
    ACTIONS(1129), 1,
      ts_builtin_sym_end,
  [6914] = 1,
    ACTIONS(1131), 1,
      anon_sym_RBRACK,
  [6918] = 1,
    ACTIONS(1133), 1,
      anon_sym_RPAREN,
  [6922] = 1,
    ACTIONS(1135), 1,
      anon_sym_RBRACK,
  [6926] = 1,
    ACTIONS(257), 1,
      sym_comment,
  [6930] = 1,
    ACTIONS(1137), 1,
      sym__real_nl,
  [6934] = 1,
    ACTIONS(1139), 1,
      anon_sym_RBRACK,
  [6938] = 1,
    ACTIONS(1141), 1,
      anon_sym_RPAREN,
  [6942] = 1,
    ACTIONS(1143), 1,
      anon_sym_RPAREN,
  [6946] = 1,
    ACTIONS(1145), 1,
      anon_sym_RBRACK,
  [6950] = 1,
    ACTIONS(1147), 1,
      anon_sym_RPAREN,
  [6954] = 1,
    ACTIONS(1061), 1,
      anon_sym_COMMA,
  [6958] = 1,
    ACTIONS(1149), 1,
      sym_number,
  [6962] = 1,
    ACTIONS(1151), 1,
      sym_identifier,
  [6966] = 1,
    ACTIONS(1153), 1,
      sym__ws,
  [6970] = 1,
    ACTIONS(1155), 1,
      anon_sym_LBRACK,
  [6974] = 1,
    ACTIONS(1157), 1,
      anon_sym_RBRACK,
  [6978] = 1,
    ACTIONS(1159), 1,
      sym__real_nl,
  [6982] = 1,
    ACTIONS(1161), 1,
      anon_sym_RBRACK,
  [6986] = 1,
    ACTIONS(1163), 1,
      anon_sym_RBRACK,
  [6990] = 1,
    ACTIONS(1165), 1,
      sym__real_nl,
  [6994] = 1,
    ACTIONS(1167), 1,
      sym__real_nl,
  [6998] = 1,
    ACTIONS(1169), 1,
      sym__ws,
  [7002] = 1,
    ACTIONS(1171), 1,
      sym_tag,
  [7006] = 1,
    ACTIONS(1173), 1,
      sym__real_nl,
  [7010] = 1,
    ACTIONS(1175), 1,
      anon_sym_RBRACK,
  [7014] = 1,
    ACTIONS(1177), 1,
      sym_identifier,
  [7018] = 1,
    ACTIONS(1179), 1,
      sym_identifier,
  [7022] = 1,
    ACTIONS(1181), 1,
      anon_sym_RBRACK,
  [7026] = 1,
    ACTIONS(1183), 1,
      sym__ws,
  [7030] = 1,
    ACTIONS(1185), 1,
      anon_sym_LBRACK,
  [7034] = 1,
    ACTIONS(1187), 1,
      anon_sym_RBRACK,
};

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)] = 744,
  [SMALL_STATE(18)] = 771,
  [SMALL_STATE(19)] = 816,
  [SMALL_STATE(20)] = 861,
  [SMALL_STATE(21)] = 904,
  [SMALL_STATE(22)] = 947,
  [SMALL_STATE(23)] = 990,
  [SMALL_STATE(24)] = 1028,
  [SMALL_STATE(25)] = 1070,
  [SMALL_STATE(26)] = 1096,
  [SMALL_STATE(27)] = 1138,
  [SMALL_STATE(28)] = 1162,
  [SMALL_STATE(29)] = 1200,
  [SMALL_STATE(30)] = 1242,
  [SMALL_STATE(31)] = 1284,
  [SMALL_STATE(32)] = 1322,
  [SMALL_STATE(33)] = 1360,
  [SMALL_STATE(34)] = 1386,
  [SMALL_STATE(35)] = 1424,
  [SMALL_STATE(36)] = 1462,
  [SMALL_STATE(37)] = 1486,
  [SMALL_STATE(38)] = 1524,
  [SMALL_STATE(39)] = 1550,
  [SMALL_STATE(40)] = 1592,
  [SMALL_STATE(41)] = 1618,
  [SMALL_STATE(42)] = 1660,
  [SMALL_STATE(43)] = 1698,
  [SMALL_STATE(44)] = 1721,
  [SMALL_STATE(45)] = 1758,
  [SMALL_STATE(46)] = 1779,
  [SMALL_STATE(47)] = 1818,
  [SMALL_STATE(48)] = 1855,
  [SMALL_STATE(49)] = 1874,
  [SMALL_STATE(50)] = 1901,
  [SMALL_STATE(51)] = 1928,
  [SMALL_STATE(52)] = 1955,
  [SMALL_STATE(53)] = 1976,
  [SMALL_STATE(54)] = 1997,
  [SMALL_STATE(55)] = 2020,
  [SMALL_STATE(56)] = 2043,
  [SMALL_STATE(57)] = 2064,
  [SMALL_STATE(58)] = 2085,
  [SMALL_STATE(59)] = 2122,
  [SMALL_STATE(60)] = 2161,
  [SMALL_STATE(61)] = 2195,
  [SMALL_STATE(62)] = 2211,
  [SMALL_STATE(63)] = 2245,
  [SMALL_STATE(64)] = 2261,
  [SMALL_STATE(65)] = 2277,
  [SMALL_STATE(66)] = 2293,
  [SMALL_STATE(67)] = 2325,
  [SMALL_STATE(68)] = 2357,
  [SMALL_STATE(69)] = 2373,
  [SMALL_STATE(70)] = 2389,
  [SMALL_STATE(71)] = 2405,
  [SMALL_STATE(72)] = 2441,
  [SMALL_STATE(73)] = 2459,
  [SMALL_STATE(74)] = 2475,
  [SMALL_STATE(75)] = 2507,
  [SMALL_STATE(76)] = 2523,
  [SMALL_STATE(77)] = 2539,
  [SMALL_STATE(78)] = 2557,
  [SMALL_STATE(79)] = 2575,
  [SMALL_STATE(80)] = 2591,
  [SMALL_STATE(81)] = 2627,
  [SMALL_STATE(82)] = 2643,
  [SMALL_STATE(83)] = 2675,
  [SMALL_STATE(84)] = 2699,
  [SMALL_STATE(85)] = 2721,
  [SMALL_STATE(86)] = 2749,
  [SMALL_STATE(87)] = 2773,
  [SMALL_STATE(88)] = 2795,
  [SMALL_STATE(89)] = 2817,
  [SMALL_STATE(90)] = 2833,
  [SMALL_STATE(91)] = 2861,
  [SMALL_STATE(92)] = 2885,
  [SMALL_STATE(93)] = 2913,
  [SMALL_STATE(94)] = 2941,
  [SMALL_STATE(95)] = 2963,
  [SMALL_STATE(96)] = 2985,
  [SMALL_STATE(97)] = 3009,
  [SMALL_STATE(98)] = 3037,
  [SMALL_STATE(99)] = 3065,
  [SMALL_STATE(100)] = 3093,
  [SMALL_STATE(101)] = 3121,
  [SMALL_STATE(102)] = 3139,
  [SMALL_STATE(103)] = 3171,
  [SMALL_STATE(104)] = 3189,
  [SMALL_STATE(105)] = 3221,
  [SMALL_STATE(106)] = 3253,
  [SMALL_STATE(107)] = 3285,
  [SMALL_STATE(108)] = 3321,
  [SMALL_STATE(109)] = 3355,
  [SMALL_STATE(110)] = 3373,
  [SMALL_STATE(111)] = 3390,
  [SMALL_STATE(112)] = 3411,
  [SMALL_STATE(113)] = 3440,
  [SMALL_STATE(114)] = 3457,
  [SMALL_STATE(115)] = 3486,
  [SMALL_STATE(116)] = 3503,
  [SMALL_STATE(117)] = 3534,
  [SMALL_STATE(118)] = 3559,
  [SMALL_STATE(119)] = 3576,
  [SMALL_STATE(120)] = 3601,
  [SMALL_STATE(121)] = 3622,
  [SMALL_STATE(122)] = 3639,
  [SMALL_STATE(123)] = 3668,
  [SMALL_STATE(124)] = 3685,
  [SMALL_STATE(125)] = 3714,
  [SMALL_STATE(126)] = 3743,
  [SMALL_STATE(127)] = 3760,
  [SMALL_STATE(128)] = 3777,
  [SMALL_STATE(129)] = 3794,
  [SMALL_STATE(130)] = 3811,
  [SMALL_STATE(131)] = 3828,
  [SMALL_STATE(132)] = 3845,
  [SMALL_STATE(133)] = 3862,
  [SMALL_STATE(134)] = 3879,
  [SMALL_STATE(135)] = 3896,
  [SMALL_STATE(136)] = 3913,
  [SMALL_STATE(137)] = 3930,
  [SMALL_STATE(138)] = 3959,
  [SMALL_STATE(139)] = 3976,
  [SMALL_STATE(140)] = 4001,
  [SMALL_STATE(141)] = 4030,
  [SMALL_STATE(142)] = 4059,
  [SMALL_STATE(143)] = 4073,
  [SMALL_STATE(144)] = 4093,
  [SMALL_STATE(145)] = 4113,
  [SMALL_STATE(146)] = 4133,
  [SMALL_STATE(147)] = 4147,
  [SMALL_STATE(148)] = 4167,
  [SMALL_STATE(149)] = 4185,
  [SMALL_STATE(150)] = 4203,
  [SMALL_STATE(151)] = 4221,
  [SMALL_STATE(152)] = 4241,
  [SMALL_STATE(153)] = 4266,
  [SMALL_STATE(154)] = 4289,
  [SMALL_STATE(155)] = 4314,
  [SMALL_STATE(156)] = 4329,
  [SMALL_STATE(157)] = 4348,
  [SMALL_STATE(158)] = 4377,
  [SMALL_STATE(159)] = 4392,
  [SMALL_STATE(160)] = 4405,
  [SMALL_STATE(161)] = 4418,
  [SMALL_STATE(162)] = 4447,
  [SMALL_STATE(163)] = 4470,
  [SMALL_STATE(164)] = 4499,
  [SMALL_STATE(165)] = 4518,
  [SMALL_STATE(166)] = 4541,
  [SMALL_STATE(167)] = 4554,
  [SMALL_STATE(168)] = 4577,
  [SMALL_STATE(169)] = 4590,
  [SMALL_STATE(170)] = 4609,
  [SMALL_STATE(171)] = 4628,
  [SMALL_STATE(172)] = 4641,
  [SMALL_STATE(173)] = 4660,
  [SMALL_STATE(174)] = 4679,
  [SMALL_STATE(175)] = 4702,
  [SMALL_STATE(176)] = 4721,
  [SMALL_STATE(177)] = 4740,
  [SMALL_STATE(178)] = 4763,
  [SMALL_STATE(179)] = 4776,
  [SMALL_STATE(180)] = 4793,
  [SMALL_STATE(181)] = 4814,
  [SMALL_STATE(182)] = 4831,
  [SMALL_STATE(183)] = 4854,
  [SMALL_STATE(184)] = 4873,
  [SMALL_STATE(185)] = 4896,
  [SMALL_STATE(186)] = 4921,
  [SMALL_STATE(187)] = 4950,
  [SMALL_STATE(188)] = 4973,
  [SMALL_STATE(189)] = 4985,
  [SMALL_STATE(190)] = 5005,
  [SMALL_STATE(191)] = 5023,
  [SMALL_STATE(192)] = 5035,
  [SMALL_STATE(193)] = 5047,
  [SMALL_STATE(194)] = 5061,
  [SMALL_STATE(195)] = 5075,
  [SMALL_STATE(196)] = 5095,
  [SMALL_STATE(197)] = 5109,
  [SMALL_STATE(198)] = 5131,
  [SMALL_STATE(199)] = 5157,
  [SMALL_STATE(200)] = 5171,
  [SMALL_STATE(201)] = 5191,
  [SMALL_STATE(202)] = 5205,
  [SMALL_STATE(203)] = 5219,
  [SMALL_STATE(204)] = 5241,
  [SMALL_STATE(205)] = 5255,
  [SMALL_STATE(206)] = 5281,
  [SMALL_STATE(207)] = 5293,
  [SMALL_STATE(208)] = 5307,
  [SMALL_STATE(209)] = 5321,
  [SMALL_STATE(210)] = 5343,
  [SMALL_STATE(211)] = 5365,
  [SMALL_STATE(212)] = 5387,
  [SMALL_STATE(213)] = 5405,
  [SMALL_STATE(214)] = 5417,
  [SMALL_STATE(215)] = 5431,
  [SMALL_STATE(216)] = 5453,
  [SMALL_STATE(217)] = 5479,
  [SMALL_STATE(218)] = 5505,
  [SMALL_STATE(219)] = 5525,
  [SMALL_STATE(220)] = 5538,
  [SMALL_STATE(221)] = 5551,
  [SMALL_STATE(222)] = 5564,
  [SMALL_STATE(223)] = 5577,
  [SMALL_STATE(224)] = 5590,
  [SMALL_STATE(225)] = 5603,
  [SMALL_STATE(226)] = 5616,
  [SMALL_STATE(227)] = 5629,
  [SMALL_STATE(228)] = 5642,
  [SMALL_STATE(229)] = 5667,
  [SMALL_STATE(230)] = 5680,
  [SMALL_STATE(231)] = 5693,
  [SMALL_STATE(232)] = 5706,
  [SMALL_STATE(233)] = 5717,
  [SMALL_STATE(234)] = 5730,
  [SMALL_STATE(235)] = 5743,
  [SMALL_STATE(236)] = 5756,
  [SMALL_STATE(237)] = 5769,
  [SMALL_STATE(238)] = 5782,
  [SMALL_STATE(239)] = 5792,
  [SMALL_STATE(240)] = 5802,
  [SMALL_STATE(241)] = 5814,
  [SMALL_STATE(242)] = 5836,
  [SMALL_STATE(243)] = 5853,
  [SMALL_STATE(244)] = 5870,
  [SMALL_STATE(245)] = 5885,
  [SMALL_STATE(246)] = 5904,
  [SMALL_STATE(247)] = 5921,
  [SMALL_STATE(248)] = 5936,
  [SMALL_STATE(249)] = 5955,
  [SMALL_STATE(250)] = 5972,
  [SMALL_STATE(251)] = 5986,
  [SMALL_STATE(252)] = 6002,
  [SMALL_STATE(253)] = 6012,
  [SMALL_STATE(254)] = 6028,
  [SMALL_STATE(255)] = 6044,
  [SMALL_STATE(256)] = 6056,
  [SMALL_STATE(257)] = 6072,
  [SMALL_STATE(258)] = 6086,
  [SMALL_STATE(259)] = 6096,
  [SMALL_STATE(260)] = 6112,
  [SMALL_STATE(261)] = 6128,
  [SMALL_STATE(262)] = 6138,
  [SMALL_STATE(263)] = 6152,
  [SMALL_STATE(264)] = 6164,
  [SMALL_STATE(265)] = 6178,
  [SMALL_STATE(266)] = 6192,
  [SMALL_STATE(267)] = 6208,
  [SMALL_STATE(268)] = 6221,
  [SMALL_STATE(269)] = 6234,
  [SMALL_STATE(270)] = 6245,
  [SMALL_STATE(271)] = 6256,
  [SMALL_STATE(272)] = 6267,
  [SMALL_STATE(273)] = 6278,
  [SMALL_STATE(274)] = 6285,
  [SMALL_STATE(275)] = 6298,
  [SMALL_STATE(276)] = 6311,
  [SMALL_STATE(277)] = 6324,
  [SMALL_STATE(278)] = 6337,
  [SMALL_STATE(279)] = 6350,
  [SMALL_STATE(280)] = 6363,
  [SMALL_STATE(281)] = 6376,
  [SMALL_STATE(282)] = 6389,
  [SMALL_STATE(283)] = 6400,
  [SMALL_STATE(284)] = 6407,
  [SMALL_STATE(285)] = 6420,
  [SMALL_STATE(286)] = 6433,
  [SMALL_STATE(287)] = 6439,
  [SMALL_STATE(288)] = 6447,
  [SMALL_STATE(289)] = 6453,
  [SMALL_STATE(290)] = 6463,
  [SMALL_STATE(291)] = 6471,
  [SMALL_STATE(292)] = 6481,
  [SMALL_STATE(293)] = 6487,
  [SMALL_STATE(294)] = 6493,
  [SMALL_STATE(295)] = 6499,
  [SMALL_STATE(296)] = 6505,
  [SMALL_STATE(297)] = 6511,
  [SMALL_STATE(298)] = 6517,
  [SMALL_STATE(299)] = 6523,
  [SMALL_STATE(300)] = 6529,
  [SMALL_STATE(301)] = 6537,
  [SMALL_STATE(302)] = 6545,
  [SMALL_STATE(303)] = 6555,
  [SMALL_STATE(304)] = 6565,
  [SMALL_STATE(305)] = 6571,
  [SMALL_STATE(306)] = 6579,
  [SMALL_STATE(307)] = 6587,
  [SMALL_STATE(308)] = 6593,
  [SMALL_STATE(309)] = 6601,
  [SMALL_STATE(310)] = 6609,
  [SMALL_STATE(311)] = 6615,
  [SMALL_STATE(312)] = 6623,
  [SMALL_STATE(313)] = 6631,
  [SMALL_STATE(314)] = 6638,
  [SMALL_STATE(315)] = 6645,
  [SMALL_STATE(316)] = 6652,
  [SMALL_STATE(317)] = 6659,
  [SMALL_STATE(318)] = 6666,
  [SMALL_STATE(319)] = 6673,
  [SMALL_STATE(320)] = 6680,
  [SMALL_STATE(321)] = 6687,
  [SMALL_STATE(322)] = 6694,
  [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)] = 6776,
  [SMALL_STATE(335)] = 6783,
  [SMALL_STATE(336)] = 6790,
  [SMALL_STATE(337)] = 6797,
  [SMALL_STATE(338)] = 6804,
  [SMALL_STATE(339)] = 6811,
  [SMALL_STATE(340)] = 6818,
  [SMALL_STATE(341)] = 6825,
  [SMALL_STATE(342)] = 6832,
  [SMALL_STATE(343)] = 6839,
  [SMALL_STATE(344)] = 6846,
  [SMALL_STATE(345)] = 6853,
  [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, 0, 0),
  [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(256),
  [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(378),
  [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(353),
  [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(370),
  [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380),
  [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116),
  [17] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_block, 3, 0, 0),
  [19] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_block, 3, 0, 0),
  [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202),
  [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(188),
  [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348),
  [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46),
  [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47),
  [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40),
  [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80),
  [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_block, 4, 0, 5),
  [37] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_block, 4, 0, 5),
  [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pattern_block_repeat1, 2, 0, 0),
  [41] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2, 0, 0),
  [43] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2, 0, 0), SHIFT_REPEAT(202),
  [46] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2, 0, 0), SHIFT_REPEAT(188),
  [49] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2, 0, 0), SHIFT_REPEAT(348),
  [52] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2, 0, 0), SHIFT_REPEAT(46),
  [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2, 0, 0), SHIFT_REPEAT(47),
  [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2, 0, 0), SHIFT_REPEAT(40),
  [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_block_repeat1, 2, 0, 0), SHIFT_REPEAT(80),
  [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_block, 5, 0, 24),
  [66] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_block, 5, 0, 24),
  [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_block, 6, 0, 36),
  [70] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_block, 6, 0, 36),
  [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 5, 0, 24),
  [74] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 5, 0, 24),
  [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146),
  [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
  [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243),
  [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
  [84] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86),
  [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
  [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 6, 0, 37),
  [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 6, 0, 37),
  [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 6, 0, 38),
  [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 6, 0, 38),
  [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 6, 0, 36),
  [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 6, 0, 36),
  [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2, 0, 0),
  [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_lexicon_block_repeat1, 2, 0, 0),
  [104] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2, 0, 0), SHIFT_REPEAT(146),
  [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2, 0, 0), SHIFT_REPEAT(85),
  [110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2, 0, 0), SHIFT_REPEAT(243),
  [113] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2, 0, 0), SHIFT_REPEAT(105),
  [116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_lexicon_block_repeat1, 2, 0, 0), SHIFT_REPEAT(86),
  [119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lexicon_block_repeat1, 2, 0, 0), SHIFT_REPEAT(86),
  [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 7, 0, 45),
  [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 7, 0, 45),
  [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 7, 0, 46),
  [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 7, 0, 46),
  [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 7, 0, 47),
  [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 7, 0, 47),
  [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_block, 8, 0, 51),
  [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_block, 8, 0, 51),
  [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
  [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nl, 1, 0, 0),
  [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__nl, 1, 0, 0),
  [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380),
  [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(332),
  [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
  [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(316),
  [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221),
  [154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(223),
  [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(334),
  [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59),
  [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129),
  [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58),
  [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49),
  [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364),
  [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 2, 0, 11),
  [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(159),
  [172] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_pattern_token, 2, 0, 11), SHIFT(40),
  [175] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(202),
  [178] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(188),
  [181] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(348),
  [184] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(46),
  [187] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(47),
  [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0),
  [192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(40),
  [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0),
  [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 1, 0, 0),
  [199] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_comment, 1, 0, 0),
  [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65),
  [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363),
  [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89),
  [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366),
  [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 1, 0, 4),
  [211] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_pattern_token, 1, 0, 4), SHIFT(167),
  [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_comment_repeat1, 2, 0, 0),
  [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_comment_repeat1, 2, 0, 0),
  [218] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(380),
  [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(373),
  [223] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(221),
  [226] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(223),
  [229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(334),
  [232] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(59),
  [235] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(58),
  [238] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 2, 0, 0), SHIFT_REPEAT(49),
  [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 1, 0, 3),
  [243] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 1, 0, 3), SHIFT(368),
  [246] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 1, 0, 3), SHIFT(167),
  [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56),
  [251] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123),
  [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358),
  [255] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25),
  [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361),
  [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 3, 0, 22),
  [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
  [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155),
  [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114),
  [267] = {.entry = {.count = 1, .reusable = false}}, SHIFT(243),
  [269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82),
  [271] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119),
  [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
  [275] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 1, 0, 3), SHIFT(350),
  [278] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 1, 0, 3), SHIFT(153),
  [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87),
  [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 1, 0, 3),
  [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199),
  [287] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_pattern_token, 1, 0, 4), SHIFT(153),
  [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 1, 0, 4),
  [292] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_pattern_token, 2, 0, 11), SHIFT(49),
  [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 2, 0, 11),
  [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 2, 0, 6),
  [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 2, 0, 10),
  [301] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(373),
  [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 2, 0, 7),
  [306] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 2, 0, 7), SHIFT(167),
  [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 3, 2, 18),
  [311] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 3, 2, 18), SHIFT(167),
  [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108),
  [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
  [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_lexicon, 3, 0, 0),
  [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155),
  [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114),
  [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
  [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119),
  [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 3, 0, 19),
  [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 2, 0, 8),
  [332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_pattern, 4, 20, 0),
  [334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(225),
  [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177),
  [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102),
  [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111),
  [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272),
  [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152),
  [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152),
  [348] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_regex_repeat1, 2, 0, 0), SHIFT_REPEAT(225),
  [351] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_repeat1, 2, 0, 0), SHIFT_REPEAT(177),
  [354] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_repeat1, 2, 0, 0), SHIFT_REPEAT(102),
  [357] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_repeat1, 2, 0, 0), SHIFT_REPEAT(272),
  [360] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_regex_repeat1, 2, 0, 0), SHIFT_REPEAT(152),
  [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_regex_repeat1, 2, 0, 0),
  [365] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_repeat1, 2, 0, 0), SHIFT_REPEAT(152),
  [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_lexicon, 4, 0, 0),
  [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_reference, 4, 2, 32),
  [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_filter, 3, 0, 0),
  [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221),
  [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223),
  [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334),
  [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
  [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
  [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
  [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_line, 2, 0, 0),
  [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_line, 2, 0, 0),
  [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_pattern, 5, 20, 0),
  [392] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_regex_group_repeat1, 2, 0, 0), SHIFT_REPEAT(225),
  [395] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_group_repeat1, 2, 0, 0), SHIFT_REPEAT(177),
  [398] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_group_repeat1, 2, 0, 0), SHIFT_REPEAT(102),
  [401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_regex_group_repeat1, 2, 0, 0),
  [403] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_group_repeat1, 2, 0, 0), SHIFT_REPEAT(272),
  [406] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_regex_group_repeat1, 2, 0, 0), SHIFT_REPEAT(152),
  [409] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_group_repeat1, 2, 0, 0), SHIFT_REPEAT(152),
  [412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_lexicon, 5, 0, 0),
  [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_filter, 4, 0, 0),
  [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_line, 3, 0, 5),
  [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_line, 3, 0, 5),
  [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_line, 3, 0, 0),
  [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_line, 3, 0, 0),
  [424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_filter, 5, 0, 0),
  [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
  [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
  [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348),
  [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
  [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
  [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
  [438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_filter, 6, 0, 0),
  [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311),
  [442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51),
  [444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 2, 0, 6),
  [446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146),
  [448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(249),
  [450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142),
  [452] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90),
  [454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 1, 0, 0),
  [456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lexicon_side_left, 1, 0, 0),
  [458] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91),
  [460] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 2, 0, 7), SHIFT(153),
  [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 2, 0, 7),
  [465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 2, 0, 10),
  [467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_pattern, 3, 20, 0),
  [469] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96),
  [471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, 0, 6),
  [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lexicon_side_left, 2, 0, 0),
  [475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97),
  [477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, 0, 15),
  [479] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99),
  [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, 0, 11),
  [483] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_lexicon_reference, 3, 2, 18), SHIFT(153),
  [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 3, 2, 18),
  [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 3, 0, 22),
  [490] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2, 0, 0), SHIFT_REPEAT(146),
  [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2, 0, 0),
  [495] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2, 0, 0), SHIFT_REPEAT(142),
  [498] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2, 0, 0), SHIFT_REPEAT(96),
  [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, 0, 28),
  [503] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100),
  [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, 0, 30),
  [507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, 0, 22),
  [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 4, 0, 42),
  [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120),
  [513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nl, 2, 0, 0),
  [515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__nl, 2, 0, 0),
  [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301),
  [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273),
  [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283),
  [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_line, 4, 0, 52),
  [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_line, 4, 0, 52),
  [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_line, 3, 0, 2),
  [529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_line, 3, 0, 2),
  [531] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_group, 3, 0, 0),
  [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_group, 3, 0, 0),
  [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236),
  [537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242),
  [539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158),
  [541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117),
  [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 4, 0, 42),
  [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_line, 2, 0, 0),
  [547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_line, 2, 0, 0),
  [549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137),
  [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 1, 0, 0),
  [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_line, 3, 0, 0),
  [555] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_line, 3, 0, 0),
  [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0),
  [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256),
  [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353),
  [563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370),
  [565] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2, 0, 0), SHIFT_REPEAT(155),
  [568] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2, 0, 0), SHIFT_REPEAT(158),
  [571] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 2, 0, 0), SHIFT_REPEAT(117),
  [574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__lexicon_side_right, 2, 0, 0),
  [576] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139),
  [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lexicon_side_left, 1, 0, 0),
  [580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_group, 2, 0, 0),
  [582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_group, 2, 0, 0),
  [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 2, 0, 8),
  [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, 0, 28),
  [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_pattern, 3, 20, 0),
  [590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112),
  [592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, 0, 30),
  [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, 0, 22),
  [596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_lexicon, 3, 0, 0),
  [598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 3, 0, 19),
  [600] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_line, 4, 0, 33),
  [602] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_line, 4, 0, 33),
  [604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_pattern, 4, 20, 0),
  [606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_lexicon, 4, 0, 0),
  [608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_reference, 4, 2, 32),
  [610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_filter, 3, 0, 0),
  [612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_pattern, 5, 20, 0),
  [614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_lexicon, 5, 0, 0),
  [616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_filter, 4, 0, 0),
  [618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_filter, 5, 0, 0),
  [620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, 0, 6),
  [622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_filter, 6, 0, 0),
  [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lexicon_side_left, 2, 0, 0),
  [626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122),
  [628] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, 0, 15),
  [630] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125),
  [632] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, 0, 11),
  [634] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__lexicon_side_right, 1, 0, 13),
  [636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 3, 30, 0),
  [638] = {.entry = {.count = 1, .reusable = false}}, SHIFT(261),
  [640] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148),
  [642] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pattern_line_repeat1, 1, 0, 0),
  [644] = {.entry = {.count = 1, .reusable = false}}, SHIFT(183),
  [646] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 4, 30, 0),
  [648] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150),
  [650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_morpheme_boundary, 1, 0, 0),
  [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376),
  [654] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 6, 30, 0),
  [656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 5, 30, 0),
  [658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149),
  [660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_line, 1, 0, 0),
  [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182),
  [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_line, 1, 0, 0),
  [666] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184),
  [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184),
  [670] = {.entry = {.count = 1, .reusable = false}}, SHIFT(371),
  [672] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379),
  [674] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277),
  [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218),
  [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140),
  [680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_morpheme_boundary, 1, 0, 0),
  [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198),
  [684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__lexicon_side_right, 1, 0, 13),
  [686] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_operator, 1, 3, 0),
  [688] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 2, 0, 9),
  [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
  [692] = {.entry = {.count = 1, .reusable = false}}, SHIFT(309),
  [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
  [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216),
  [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170),
  [700] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306),
  [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200),
  [704] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 4, 0, 34),
  [706] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267),
  [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189),
  [710] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 3, 0, 21),
  [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173),
  [714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 4, 30, 0),
  [716] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 3, 0, 12),
  [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175),
  [720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 5, 30, 0),
  [722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_line, 3, 0, 0),
  [724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_line, 3, 0, 0),
  [726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 6, 30, 0),
  [728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156),
  [730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187),
  [732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187),
  [734] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_token, 3, 0, 20),
  [736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(351),
  [738] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(376),
  [741] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_line, 2, 0, 0),
  [743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_line, 2, 0, 0),
  [745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(174),
  [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
  [749] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__plain_regex_string, 2, 0, 0),
  [751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__plain_regex_string, 2, 0, 0),
  [753] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__plain_regex_string, 2, 0, 0), SHIFT_REPEAT(272),
  [756] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__plain_regex_string, 2, 0, 0), SHIFT_REPEAT(184),
  [759] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__plain_regex_string, 2, 0, 0), SHIFT_REPEAT(184),
  [762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
  [764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217),
  [766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_right_sieve, 1, 0, 0),
  [768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371),
  [770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379),
  [772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268),
  [774] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(351),
  [777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 5, 30, 35),
  [779] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 4, 30, 23),
  [781] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 3, 0, 20),
  [783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 3, 0, 21),
  [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306),
  [787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 2, 0, 9),
  [789] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_operator, 1, 3, 0),
  [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287),
  [793] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 3, 0, 12),
  [795] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229),
  [797] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2, 0, 0),
  [799] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 5, 30, 44),
  [801] = {.entry = {.count = 1, .reusable = false}}, SHIFT(213),
  [803] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 4, 30, 35),
  [805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191),
  [807] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 3, 30, 23),
  [809] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192),
  [811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 3, 0, 0),
  [813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_option, 6, 30, 44),
  [815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_token, 4, 0, 34),
  [817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0),
  [819] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(256),
  [822] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(378),
  [825] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(353),
  [828] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(370),
  [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278),
  [833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 6, 30, 44),
  [835] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_line_repeat1, 1, 0, 0), SHIFT_REPEAT(224),
  [838] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_group, 4, 0, 0),
  [840] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_group, 4, 0, 0),
  [842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_right_sieve, 1, 0, 0),
  [844] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_or, 1, 0, 0),
  [846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_or, 1, 0, 0),
  [848] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_char_class, 2, 0, 0),
  [850] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_char_class, 2, 0, 0),
  [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
  [854] = {.entry = {.count = 1, .reusable = false}}, SHIFT(377),
  [856] = {.entry = {.count = 1, .reusable = false}}, SHIFT(241),
  [858] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147),
  [860] = {.entry = {.count = 1, .reusable = false}}, SHIFT(360),
  [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
  [864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 4, 30, 23),
  [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219),
  [868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_option, 5, 30, 35),
  [870] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_char_class, 3, 0, 0),
  [872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_char_class, 3, 0, 0),
  [874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_setting, 3, 0, 0),
  [876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_setting, 4, 0, 0),
  [878] = {.entry = {.count = 1, .reusable = false}}, SHIFT(276),
  [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262),
  [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257),
  [884] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93),
  [886] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 1, 0, 4),
  [888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17),
  [890] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44),
  [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250),
  [894] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98),
  [896] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, 0, 16),
  [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264),
  [900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276),
  [902] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124),
  [904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, 0, 16),
  [906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_command, 7, 0, 48),
  [908] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_command, 7, 0, 48),
  [910] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180),
  [912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_command, 6, 0, 39),
  [914] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_command, 6, 0, 39),
  [916] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141),
  [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 1, 0, 4),
  [920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300),
  [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282),
  [924] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162),
  [926] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70),
  [928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329),
  [930] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76),
  [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333),
  [934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
  [936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271),
  [938] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_lexicon_line_repeat1, 2, 0, 0),
  [940] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_lexicon_line_repeat1, 2, 0, 0), SHIFT_REPEAT(60),
  [943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_regex_char_class_repeat1, 2, 0, 0),
  [945] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_regex_char_class_repeat1, 2, 0, 0), SHIFT_REPEAT(271),
  [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226),
  [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269),
  [952] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex, 2, 0, 0),
  [954] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79),
  [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315),
  [958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(265),
  [960] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tag_list, 1, 0, 0),
  [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289),
  [964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132),
  [966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340),
  [968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135),
  [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341),
  [972] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136),
  [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342),
  [976] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tag_filter_repeat1, 2, 0, 0), SHIFT_REPEAT(162),
  [979] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_tag_filter_repeat1, 2, 0, 0),
  [981] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tag_filter_repeat1, 2, 0, 0), SHIFT_REPEAT(367),
  [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290),
  [986] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex, 3, 0, 0),
  [988] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, 0, 31),
  [990] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_tag_filter_repeat1, 4, 0, 0),
  [992] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tag_filter_repeat1, 4, 0, 0),
  [994] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, 0, 17),
  [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265),
  [998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tag_list, 2, 0, 0),
  [1000] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__tag_list_repeat1, 3, 0, 0),
  [1002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345),
  [1004] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, 0, 25),
  [1006] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_setting, 3, 0, 0),
  [1008] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, 0, 27),
  [1010] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 3, 0, 29),
  [1012] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_setting, 4, 0, 0),
  [1014] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 4, 0, 40),
  [1016] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 4, 0, 41),
  [1018] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 4, 0, 43),
  [1020] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__tag_list_repeat1, 2, 0, 0),
  [1022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322),
  [1024] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex, 3, 0, 0),
  [1026] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tag_list, 3, 0, 0),
  [1028] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__tag_list_repeat1, 2, 0, 0), SHIFT_REPEAT(265),
  [1031] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__tag_list_repeat1, 2, 0, 0),
  [1033] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 5, 0, 49),
  [1035] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_distribution, 4, 0, 50),
  [1037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_distribution, 4, 0, 50),
  [1039] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_tag_filter_repeat1, 3, 0, 0),
  [1041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tag_filter_repeat1, 3, 0, 0),
  [1043] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_neg_tag, 2, 0, 26),
  [1045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_neg_tag, 2, 0, 26),
  [1047] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tag_filter_repeat1, 2, 0, 0),
  [1049] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lexicon_segment, 2, 0, 14),
  [1051] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex, 2, 0, 0),
  [1053] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_distribution, 5, 0, 50),
  [1055] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_distribution, 5, 0, 50),
  [1057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 4, 0, 40),
  [1059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
  [1061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165),
  [1063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
  [1065] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61),
  [1067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381),
  [1069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, 0, 14),
  [1071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 2, 0, 17),
  [1073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
  [1075] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68),
  [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355),
  [1079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__tag_list_repeat1, 3, 0, 0),
  [1081] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, 0, 27),
  [1083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, 0, 29),
  [1085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
  [1087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 4, 0, 41),
  [1089] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 4, 0, 43),
  [1091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
  [1093] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, 0, 31),
  [1095] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126),
  [1097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362),
  [1099] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130),
  [1101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387),
  [1103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 3, 0, 25),
  [1105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
  [1107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136),
  [1109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
  [1111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180),
  [1113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__tag_list_repeat1, 4, 0, 0),
  [1115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lexicon_segment, 5, 0, 49),
  [1117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
  [1119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220),
  [1121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312),
  [1123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383),
  [1125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259),
  [1127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
  [1129] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
  [1131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305),
  [1133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129),
  [1135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293),
  [1137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__end_com, 2, 0, 2),
  [1139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
  [1141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
  [1143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133),
  [1145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296),
  [1147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
  [1149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
  [1151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253),
  [1153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382),
  [1155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_distribution_operator, 1, 0, 0),
  [1157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238),
  [1159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
  [1161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328),
  [1163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349),
  [1165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
  [1167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__end_com, 1, 0, 1),
  [1169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369),
  [1171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308),
  [1173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
  [1175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
  [1177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385),
  [1179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
  [1181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239),
  [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354),
  [1185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246),
  [1187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134),
};

#ifdef __cplusplus
extern "C" {
#endif
#ifdef TREE_SITTER_HIDE_SYMBOLS
#define TS_PUBLIC
#elif defined(_WIN32)
#define TS_PUBLIC __declspec(dllexport)
#else
#define TS_PUBLIC __attribute__((visibility("default")))
#endif

TS_PUBLIC 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
