#include "tree_sitter/parser.h"
#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif
#define LANGUAGE_VERSION 15
#define STATE_COUNT 171
#define LARGE_STATE_COUNT 2
#define SYMBOL_COUNT 63
#define ALIAS_COUNT 0
#define TOKEN_COUNT 29
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 17
#define MAX_ALIAS_SEQUENCE_LENGTH 6
#define MAX_RESERVED_WORD_SET_SIZE 0
#define PRODUCTION_ID_COUNT 34
#define SUPERTYPE_COUNT 2
enum ts_symbol_identifiers {
sym_line_comment = 1,
sym_block_comment = 2,
anon_sym_COLON_DASH = 3,
anon_sym_DOT = 4,
anon_sym_COLON_TILDE = 5,
anon_sym_LBRACK = 6,
anon_sym_RBRACK = 7,
anon_sym_AT = 8,
anon_sym_COMMA = 9,
anon_sym_PIPE = 10,
anon_sym_LBRACE = 11,
anon_sym_RBRACE = 12,
anon_sym_SEMI = 13,
sym_aggregate_function = 14,
anon_sym_COLON = 15,
anon_sym_DASH = 16,
anon_sym_LPAREN = 17,
anon_sym_RPAREN = 18,
sym_relation = 19,
sym_identifier = 20,
anon_sym_PLUS = 21,
anon_sym_STAR = 22,
anon_sym_SLASH = 23,
sym_number = 24,
sym_string = 25,
sym_variable = 26,
sym_anonymous_variable = 27,
sym_naf = 28,
sym_source_file = 29,
sym_statement = 30,
sym_integrity_constraint = 31,
sym_rule = 32,
sym_weak_constraint = 33,
sym_weight_at_level = 34,
sym_head = 35,
sym_body = 36,
sym_disjunction = 37,
sym_choice = 38,
sym_lower = 39,
sym_upper = 40,
sym_choice_elements = 41,
sym_choice_element = 42,
sym_aggregate = 43,
sym_aggregate_elements = 44,
sym_aggregate_element = 45,
sym_naf_literals = 46,
sym_naf_literal = 47,
sym_classical_atom = 48,
sym_builtin_atom = 49,
sym_terms = 50,
sym_term = 51,
sym_function = 52,
sym_parenthesized_term = 53,
sym_unary_operation = 54,
sym_binary_operation = 55,
aux_sym_source_file_repeat1 = 56,
aux_sym_body_repeat1 = 57,
aux_sym_disjunction_repeat1 = 58,
aux_sym_choice_elements_repeat1 = 59,
aux_sym_aggregate_elements_repeat1 = 60,
aux_sym_naf_literals_repeat1 = 61,
aux_sym_terms_repeat1 = 62,
};
static const char * const ts_symbol_names[] = {
[ts_builtin_sym_end] = "end",
[sym_line_comment] = "line_comment",
[sym_block_comment] = "block_comment",
[anon_sym_COLON_DASH] = ":-",
[anon_sym_DOT] = ".",
[anon_sym_COLON_TILDE] = ":~",
[anon_sym_LBRACK] = "[",
[anon_sym_RBRACK] = "]",
[anon_sym_AT] = "@",
[anon_sym_COMMA] = ",",
[anon_sym_PIPE] = "|",
[anon_sym_LBRACE] = "{",
[anon_sym_RBRACE] = "}",
[anon_sym_SEMI] = ";",
[sym_aggregate_function] = "aggregate_function",
[anon_sym_COLON] = ":",
[anon_sym_DASH] = "-",
[anon_sym_LPAREN] = "(",
[anon_sym_RPAREN] = ")",
[sym_relation] = "relation",
[sym_identifier] = "identifier",
[anon_sym_PLUS] = "+",
[anon_sym_STAR] = "*",
[anon_sym_SLASH] = "/",
[sym_number] = "number",
[sym_string] = "string",
[sym_variable] = "variable",
[sym_anonymous_variable] = "anonymous_variable",
[sym_naf] = "naf",
[sym_source_file] = "source_file",
[sym_statement] = "statement",
[sym_integrity_constraint] = "integrity_constraint",
[sym_rule] = "rule",
[sym_weak_constraint] = "weak_constraint",
[sym_weight_at_level] = "weight_at_level",
[sym_head] = "head",
[sym_body] = "body",
[sym_disjunction] = "disjunction",
[sym_choice] = "choice",
[sym_lower] = "lower",
[sym_upper] = "upper",
[sym_choice_elements] = "choice_elements",
[sym_choice_element] = "choice_element",
[sym_aggregate] = "aggregate",
[sym_aggregate_elements] = "aggregate_elements",
[sym_aggregate_element] = "aggregate_element",
[sym_naf_literals] = "naf_literals",
[sym_naf_literal] = "naf_literal",
[sym_classical_atom] = "classical_atom",
[sym_builtin_atom] = "builtin_atom",
[sym_terms] = "terms",
[sym_term] = "term",
[sym_function] = "function",
[sym_parenthesized_term] = "parenthesized_term",
[sym_unary_operation] = "unary_operation",
[sym_binary_operation] = "binary_operation",
[aux_sym_source_file_repeat1] = "source_file_repeat1",
[aux_sym_body_repeat1] = "body_repeat1",
[aux_sym_disjunction_repeat1] = "disjunction_repeat1",
[aux_sym_choice_elements_repeat1] = "choice_elements_repeat1",
[aux_sym_aggregate_elements_repeat1] = "aggregate_elements_repeat1",
[aux_sym_naf_literals_repeat1] = "naf_literals_repeat1",
[aux_sym_terms_repeat1] = "terms_repeat1",
};
static const TSSymbol ts_symbol_map[] = {
[ts_builtin_sym_end] = ts_builtin_sym_end,
[sym_line_comment] = sym_line_comment,
[sym_block_comment] = sym_block_comment,
[anon_sym_COLON_DASH] = anon_sym_COLON_DASH,
[anon_sym_DOT] = anon_sym_DOT,
[anon_sym_COLON_TILDE] = anon_sym_COLON_TILDE,
[anon_sym_LBRACK] = anon_sym_LBRACK,
[anon_sym_RBRACK] = anon_sym_RBRACK,
[anon_sym_AT] = anon_sym_AT,
[anon_sym_COMMA] = anon_sym_COMMA,
[anon_sym_PIPE] = anon_sym_PIPE,
[anon_sym_LBRACE] = anon_sym_LBRACE,
[anon_sym_RBRACE] = anon_sym_RBRACE,
[anon_sym_SEMI] = anon_sym_SEMI,
[sym_aggregate_function] = sym_aggregate_function,
[anon_sym_COLON] = anon_sym_COLON,
[anon_sym_DASH] = anon_sym_DASH,
[anon_sym_LPAREN] = anon_sym_LPAREN,
[anon_sym_RPAREN] = anon_sym_RPAREN,
[sym_relation] = sym_relation,
[sym_identifier] = sym_identifier,
[anon_sym_PLUS] = anon_sym_PLUS,
[anon_sym_STAR] = anon_sym_STAR,
[anon_sym_SLASH] = anon_sym_SLASH,
[sym_number] = sym_number,
[sym_string] = sym_string,
[sym_variable] = sym_variable,
[sym_anonymous_variable] = sym_anonymous_variable,
[sym_naf] = sym_naf,
[sym_source_file] = sym_source_file,
[sym_statement] = sym_statement,
[sym_integrity_constraint] = sym_integrity_constraint,
[sym_rule] = sym_rule,
[sym_weak_constraint] = sym_weak_constraint,
[sym_weight_at_level] = sym_weight_at_level,
[sym_head] = sym_head,
[sym_body] = sym_body,
[sym_disjunction] = sym_disjunction,
[sym_choice] = sym_choice,
[sym_lower] = sym_lower,
[sym_upper] = sym_upper,
[sym_choice_elements] = sym_choice_elements,
[sym_choice_element] = sym_choice_element,
[sym_aggregate] = sym_aggregate,
[sym_aggregate_elements] = sym_aggregate_elements,
[sym_aggregate_element] = sym_aggregate_element,
[sym_naf_literals] = sym_naf_literals,
[sym_naf_literal] = sym_naf_literal,
[sym_classical_atom] = sym_classical_atom,
[sym_builtin_atom] = sym_builtin_atom,
[sym_terms] = sym_terms,
[sym_term] = sym_term,
[sym_function] = sym_function,
[sym_parenthesized_term] = sym_parenthesized_term,
[sym_unary_operation] = sym_unary_operation,
[sym_binary_operation] = sym_binary_operation,
[aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
[aux_sym_body_repeat1] = aux_sym_body_repeat1,
[aux_sym_disjunction_repeat1] = aux_sym_disjunction_repeat1,
[aux_sym_choice_elements_repeat1] = aux_sym_choice_elements_repeat1,
[aux_sym_aggregate_elements_repeat1] = aux_sym_aggregate_elements_repeat1,
[aux_sym_naf_literals_repeat1] = aux_sym_naf_literals_repeat1,
[aux_sym_terms_repeat1] = aux_sym_terms_repeat1,
};
static const TSSymbolMetadata ts_symbol_metadata[] = {
[ts_builtin_sym_end] = {
.visible = false,
.named = true,
},
[sym_line_comment] = {
.visible = true,
.named = true,
},
[sym_block_comment] = {
.visible = true,
.named = true,
},
[anon_sym_COLON_DASH] = {
.visible = true,
.named = false,
},
[anon_sym_DOT] = {
.visible = true,
.named = false,
},
[anon_sym_COLON_TILDE] = {
.visible = true,
.named = false,
},
[anon_sym_LBRACK] = {
.visible = true,
.named = false,
},
[anon_sym_RBRACK] = {
.visible = true,
.named = false,
},
[anon_sym_AT] = {
.visible = true,
.named = false,
},
[anon_sym_COMMA] = {
.visible = true,
.named = false,
},
[anon_sym_PIPE] = {
.visible = true,
.named = false,
},
[anon_sym_LBRACE] = {
.visible = true,
.named = false,
},
[anon_sym_RBRACE] = {
.visible = true,
.named = false,
},
[anon_sym_SEMI] = {
.visible = true,
.named = false,
},
[sym_aggregate_function] = {
.visible = true,
.named = true,
},
[anon_sym_COLON] = {
.visible = true,
.named = false,
},
[anon_sym_DASH] = {
.visible = true,
.named = false,
},
[anon_sym_LPAREN] = {
.visible = true,
.named = false,
},
[anon_sym_RPAREN] = {
.visible = true,
.named = false,
},
[sym_relation] = {
.visible = true,
.named = true,
},
[sym_identifier] = {
.visible = true,
.named = true,
},
[anon_sym_PLUS] = {
.visible = true,
.named = false,
},
[anon_sym_STAR] = {
.visible = true,
.named = false,
},
[anon_sym_SLASH] = {
.visible = true,
.named = false,
},
[sym_number] = {
.visible = true,
.named = true,
},
[sym_string] = {
.visible = true,
.named = true,
},
[sym_variable] = {
.visible = true,
.named = true,
},
[sym_anonymous_variable] = {
.visible = true,
.named = true,
},
[sym_naf] = {
.visible = true,
.named = true,
},
[sym_source_file] = {
.visible = true,
.named = true,
},
[sym_statement] = {
.visible = true,
.named = true,
},
[sym_integrity_constraint] = {
.visible = true,
.named = true,
},
[sym_rule] = {
.visible = true,
.named = true,
},
[sym_weak_constraint] = {
.visible = true,
.named = true,
},
[sym_weight_at_level] = {
.visible = true,
.named = true,
},
[sym_head] = {
.visible = false,
.named = true,
.supertype = true,
},
[sym_body] = {
.visible = true,
.named = true,
},
[sym_disjunction] = {
.visible = true,
.named = true,
},
[sym_choice] = {
.visible = true,
.named = true,
},
[sym_lower] = {
.visible = true,
.named = true,
},
[sym_upper] = {
.visible = true,
.named = true,
},
[sym_choice_elements] = {
.visible = true,
.named = true,
},
[sym_choice_element] = {
.visible = true,
.named = true,
},
[sym_aggregate] = {
.visible = true,
.named = true,
},
[sym_aggregate_elements] = {
.visible = true,
.named = true,
},
[sym_aggregate_element] = {
.visible = true,
.named = true,
},
[sym_naf_literals] = {
.visible = true,
.named = true,
},
[sym_naf_literal] = {
.visible = true,
.named = true,
},
[sym_classical_atom] = {
.visible = true,
.named = true,
},
[sym_builtin_atom] = {
.visible = true,
.named = true,
},
[sym_terms] = {
.visible = true,
.named = true,
},
[sym_term] = {
.visible = false,
.named = true,
.supertype = true,
},
[sym_function] = {
.visible = true,
.named = true,
},
[sym_parenthesized_term] = {
.visible = true,
.named = true,
},
[sym_unary_operation] = {
.visible = true,
.named = true,
},
[sym_binary_operation] = {
.visible = true,
.named = true,
},
[aux_sym_source_file_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_body_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_disjunction_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_choice_elements_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_aggregate_elements_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_naf_literals_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_terms_repeat1] = {
.visible = false,
.named = false,
},
};
enum ts_field_identifiers {
field_arguments = 1,
field_atom = 2,
field_body = 3,
field_condition = 4,
field_elements = 5,
field_function = 6,
field_head = 7,
field_left = 8,
field_literal = 9,
field_name = 10,
field_operator = 11,
field_priority = 12,
field_right = 13,
field_sign = 14,
field_term = 15,
field_terms = 16,
field_weight = 17,
};
static const char * const ts_field_names[] = {
[0] = NULL,
[field_arguments] = "arguments",
[field_atom] = "atom",
[field_body] = "body",
[field_condition] = "condition",
[field_elements] = "elements",
[field_function] = "function",
[field_head] = "head",
[field_left] = "left",
[field_literal] = "literal",
[field_name] = "name",
[field_operator] = "operator",
[field_priority] = "priority",
[field_right] = "right",
[field_sign] = "sign",
[field_term] = "term",
[field_terms] = "terms",
[field_weight] = "weight",
};
static const TSMapSlice 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 = 2},
[5] = {.index = 5, .length = 2},
[6] = {.index = 7, .length = 1},
[7] = {.index = 8, .length = 2},
[8] = {.index = 10, .length = 1},
[9] = {.index = 11, .length = 3},
[10] = {.index = 14, .length = 2},
[11] = {.index = 16, .length = 1},
[12] = {.index = 17, .length = 3},
[13] = {.index = 20, .length = 1},
[14] = {.index = 21, .length = 4},
[15] = {.index = 25, .length = 1},
[16] = {.index = 26, .length = 4},
[17] = {.index = 30, .length = 2},
[18] = {.index = 32, .length = 2},
[19] = {.index = 34, .length = 2},
[20] = {.index = 36, .length = 2},
[21] = {.index = 38, .length = 2},
[22] = {.index = 40, .length = 1},
[23] = {.index = 41, .length = 2},
[24] = {.index = 43, .length = 2},
[25] = {.index = 45, .length = 3},
[26] = {.index = 48, .length = 3},
[27] = {.index = 51, .length = 3},
[28] = {.index = 54, .length = 2},
[29] = {.index = 56, .length = 3},
[30] = {.index = 59, .length = 2},
[31] = {.index = 61, .length = 4},
[32] = {.index = 65, .length = 2},
[33] = {.index = 67, .length = 3},
};
static const TSFieldMapEntry ts_field_map_entries[] = {
[0] =
{field_name, 0},
[1] =
{field_atom, 0},
[2] =
{field_literal, 0},
[3] =
{field_name, 1},
{field_sign, 0},
[5] =
{field_operator, 0},
{field_right, 1},
[7] =
{field_head, 0},
[8] =
{field_atom, 1},
{field_sign, 0},
[10] =
{field_body, 1},
[11] =
{field_atom, 0},
{field_atom, 1, .inherited = true},
{field_sign, 1, .inherited = true},
[14] =
{field_atom, 1, .inherited = true},
{field_sign, 1, .inherited = true},
[16] =
{field_elements, 1},
[17] =
{field_left, 0},
{field_operator, 1},
{field_right, 2},
[20] =
{field_terms, 0},
[21] =
{field_atom, 1},
{field_atom, 2, .inherited = true},
{field_sign, 0},
{field_sign, 2, .inherited = true},
[25] =
{field_atom, 1},
[26] =
{field_atom, 0, .inherited = true},
{field_atom, 1, .inherited = true},
{field_sign, 0, .inherited = true},
{field_sign, 1, .inherited = true},
[30] =
{field_elements, 1},
{field_right, 3},
[32] =
{field_condition, 2},
{field_literal, 0},
[34] =
{field_arguments, 2},
{field_name, 0},
[36] =
{field_body, 2},
{field_head, 0},
[38] =
{field_elements, 2},
{field_left, 0},
[40] =
{field_condition, 1},
[41] =
{field_elements, 2},
{field_function, 0},
[43] =
{field_atom, 2},
{field_sign, 1},
[45] =
{field_arguments, 3},
{field_name, 1},
{field_sign, 0},
[48] =
{field_elements, 2},
{field_left, 0},
{field_right, 4},
[51] =
{field_elements, 2},
{field_function, 0},
{field_right, 4},
[54] =
{field_condition, 2},
{field_terms, 0},
[56] =
{field_elements, 3},
{field_function, 1},
{field_left, 0},
[59] =
{field_body, 1},
{field_weight, 4},
[61] =
{field_elements, 3},
{field_function, 1},
{field_left, 0},
{field_right, 5},
[65] =
{field_term, 0},
{field_terms, 2},
[67] =
{field_priority, 2},
{field_term, 0},
{field_terms, 4},
};
static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
[0] = {0},
};
static const uint16_t ts_non_terminal_alias_map[] = {
0,
};
static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[0] = 0,
[1] = 1,
[2] = 2,
[3] = 3,
[4] = 4,
[5] = 5,
[6] = 6,
[7] = 7,
[8] = 8,
[9] = 9,
[10] = 10,
[11] = 11,
[12] = 12,
[13] = 13,
[14] = 14,
[15] = 15,
[16] = 16,
[17] = 17,
[18] = 18,
[19] = 19,
[20] = 20,
[21] = 21,
[22] = 22,
[23] = 17,
[24] = 18,
[25] = 20,
[26] = 26,
[27] = 27,
[28] = 28,
[29] = 29,
[30] = 30,
[31] = 31,
[32] = 32,
[33] = 33,
[34] = 34,
[35] = 35,
[36] = 36,
[37] = 37,
[38] = 38,
[39] = 39,
[40] = 40,
[41] = 41,
[42] = 42,
[43] = 43,
[44] = 44,
[45] = 45,
[46] = 46,
[47] = 47,
[48] = 40,
[49] = 41,
[50] = 37,
[51] = 42,
[52] = 44,
[53] = 53,
[54] = 54,
[55] = 55,
[56] = 56,
[57] = 57,
[58] = 58,
[59] = 59,
[60] = 60,
[61] = 61,
[62] = 62,
[63] = 63,
[64] = 64,
[65] = 22,
[66] = 66,
[67] = 67,
[68] = 35,
[69] = 69,
[70] = 70,
[71] = 30,
[72] = 32,
[73] = 27,
[74] = 28,
[75] = 29,
[76] = 36,
[77] = 69,
[78] = 78,
[79] = 79,
[80] = 80,
[81] = 81,
[82] = 82,
[83] = 83,
[84] = 84,
[85] = 85,
[86] = 86,
[87] = 80,
[88] = 88,
[89] = 89,
[90] = 90,
[91] = 91,
[92] = 92,
[93] = 93,
[94] = 94,
[95] = 95,
[96] = 96,
[97] = 97,
[98] = 98,
[99] = 99,
[100] = 84,
[101] = 101,
[102] = 102,
[103] = 78,
[104] = 104,
[105] = 105,
[106] = 106,
[107] = 95,
[108] = 108,
[109] = 109,
[110] = 110,
[111] = 111,
[112] = 112,
[113] = 113,
[114] = 114,
[115] = 115,
[116] = 116,
[117] = 117,
[118] = 118,
[119] = 119,
[120] = 120,
[121] = 121,
[122] = 97,
[123] = 88,
[124] = 90,
[125] = 125,
[126] = 126,
[127] = 127,
[128] = 128,
[129] = 129,
[130] = 130,
[131] = 131,
[132] = 132,
[133] = 133,
[134] = 134,
[135] = 135,
[136] = 136,
[137] = 137,
[138] = 138,
[139] = 139,
[140] = 140,
[141] = 141,
[142] = 142,
[143] = 143,
[144] = 144,
[145] = 145,
[146] = 146,
[147] = 147,
[148] = 148,
[149] = 149,
[150] = 150,
[151] = 151,
[152] = 152,
[153] = 153,
[154] = 154,
[155] = 155,
[156] = 156,
[157] = 157,
[158] = 158,
[159] = 159,
[160] = 160,
[161] = 161,
[162] = 155,
[163] = 163,
[164] = 164,
[165] = 165,
[166] = 166,
[167] = 158,
[168] = 150,
[169] = 149,
[170] = 170,
};
static const TSSymbol ts_supertype_symbols[SUPERTYPE_COUNT] = {
sym_head,
sym_term,
};
static const TSMapSlice ts_supertype_map_slices[] = {
[sym_head] = {.index = 0, .length = 2},
[sym_term] = {.index = 2, .length = 8},
};
static const TSSymbol ts_supertype_map_entries[] = {
[0] =
sym_choice,
sym_disjunction,
[2] =
sym_anonymous_variable,
sym_binary_operation,
sym_function,
sym_number,
sym_parenthesized_term,
sym_string,
sym_unary_operation,
sym_variable,
};
static bool ts_lex(TSLexer *lexer, TSStateId state) {
START_LEXER();
eof = lexer->eof(lexer);
switch (state) {
case 0:
if (eof) ADVANCE(19);
ADVANCE_MAP(
'!', 7,
'"', 2,
'#', 9,
'%', 20,
'(', 39,
')', 40,
'*', 48,
'+', 47,
',', 29,
'-', 38,
'.', 24,
'/', 49,
'0', 50,
':', 37,
';', 33,
'<', 43,
'=', 41,
'>', 42,
'@', 28,
'[', 26,
']', 27,
'_', 55,
'n', 44,
'{', 31,
'|', 30,
'}', 32,
);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(0);
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(51);
if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(46);
if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(54);
END_STATE();
case 1:
ADVANCE_MAP(
'!', 7,
'"', 2,
'%', 20,
'(', 39,
')', 40,
'*', 48,
'+', 47,
',', 29,
'-', 38,
'.', 24,
'/', 49,
'0', 50,
':', 36,
';', 33,
'<', 43,
'=', 41,
'>', 42,
'@', 28,
']', 27,
'_', 55,
'}', 32,
);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(1);
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(51);
if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(54);
if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(46);
END_STATE();
case 2:
if (lookahead == '"') ADVANCE(52);
if (lookahead == '\\') ADVANCE(3);
if (lookahead != 0) ADVANCE(2);
END_STATE();
case 3:
if (lookahead == '"') ADVANCE(53);
if (lookahead == '\\') ADVANCE(3);
if (lookahead != 0) ADVANCE(2);
END_STATE();
case 4:
if (lookahead == '%') ADVANCE(22);
if (lookahead == '*') ADVANCE(4);
if (lookahead != 0) ADVANCE(5);
END_STATE();
case 5:
if (lookahead == '*') ADVANCE(4);
if (lookahead != 0) ADVANCE(5);
END_STATE();
case 6:
if (lookahead == '-') ADVANCE(23);
if (lookahead == '~') ADVANCE(25);
END_STATE();
case 7:
if (lookahead == '=') ADVANCE(41);
END_STATE();
case 8:
if (lookahead == 'a') ADVANCE(17);
if (lookahead == 'i') ADVANCE(11);
END_STATE();
case 9:
if (lookahead == 'c') ADVANCE(13);
if (lookahead == 'm') ADVANCE(8);
if (lookahead == 's') ADVANCE(15);
END_STATE();
case 10:
if (lookahead == 'm') ADVANCE(35);
END_STATE();
case 11:
if (lookahead == 'n') ADVANCE(34);
END_STATE();
case 12:
if (lookahead == 'n') ADVANCE(14);
END_STATE();
case 13:
if (lookahead == 'o') ADVANCE(16);
END_STATE();
case 14:
if (lookahead == 't') ADVANCE(34);
END_STATE();
case 15:
if (lookahead == 'u') ADVANCE(10);
END_STATE();
case 16:
if (lookahead == 'u') ADVANCE(12);
END_STATE();
case 17:
if (lookahead == 'x') ADVANCE(34);
END_STATE();
case 18:
if (eof) ADVANCE(19);
ADVANCE_MAP(
'!', 7,
'"', 2,
'#', 9,
'%', 20,
'(', 39,
')', 40,
'*', 48,
'+', 47,
',', 29,
'-', 38,
'.', 24,
'/', 49,
'0', 50,
':', 6,
';', 33,
'<', 43,
'=', 41,
'>', 42,
'_', 55,
'{', 31,
'|', 30,
'}', 32,
);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(18);
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(51);
if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(54);
if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(46);
END_STATE();
case 19:
ACCEPT_TOKEN(ts_builtin_sym_end);
END_STATE();
case 20:
ACCEPT_TOKEN(sym_line_comment);
if (lookahead == '*') ADVANCE(5);
if (lookahead != 0 &&
lookahead != '\n' &&
lookahead != '\r') ADVANCE(21);
END_STATE();
case 21:
ACCEPT_TOKEN(sym_line_comment);
if (lookahead != 0 &&
lookahead != '\n' &&
lookahead != '\r') ADVANCE(21);
END_STATE();
case 22:
ACCEPT_TOKEN(sym_block_comment);
END_STATE();
case 23:
ACCEPT_TOKEN(anon_sym_COLON_DASH);
END_STATE();
case 24:
ACCEPT_TOKEN(anon_sym_DOT);
END_STATE();
case 25:
ACCEPT_TOKEN(anon_sym_COLON_TILDE);
END_STATE();
case 26:
ACCEPT_TOKEN(anon_sym_LBRACK);
END_STATE();
case 27:
ACCEPT_TOKEN(anon_sym_RBRACK);
END_STATE();
case 28:
ACCEPT_TOKEN(anon_sym_AT);
END_STATE();
case 29:
ACCEPT_TOKEN(anon_sym_COMMA);
END_STATE();
case 30:
ACCEPT_TOKEN(anon_sym_PIPE);
END_STATE();
case 31:
ACCEPT_TOKEN(anon_sym_LBRACE);
END_STATE();
case 32:
ACCEPT_TOKEN(anon_sym_RBRACE);
END_STATE();
case 33:
ACCEPT_TOKEN(anon_sym_SEMI);
END_STATE();
case 34:
ACCEPT_TOKEN(sym_aggregate_function);
END_STATE();
case 35:
ACCEPT_TOKEN(sym_aggregate_function);
if (lookahead == '+') ADVANCE(34);
END_STATE();
case 36:
ACCEPT_TOKEN(anon_sym_COLON);
END_STATE();
case 37:
ACCEPT_TOKEN(anon_sym_COLON);
if (lookahead == '~') ADVANCE(25);
END_STATE();
case 38:
ACCEPT_TOKEN(anon_sym_DASH);
END_STATE();
case 39:
ACCEPT_TOKEN(anon_sym_LPAREN);
END_STATE();
case 40:
ACCEPT_TOKEN(anon_sym_RPAREN);
END_STATE();
case 41:
ACCEPT_TOKEN(sym_relation);
END_STATE();
case 42:
ACCEPT_TOKEN(sym_relation);
if (lookahead == '=') ADVANCE(41);
END_STATE();
case 43:
ACCEPT_TOKEN(sym_relation);
if (lookahead == '=' ||
lookahead == '>') ADVANCE(41);
END_STATE();
case 44:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'o') ADVANCE(45);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(46);
END_STATE();
case 45:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 't') ADVANCE(56);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(46);
END_STATE();
case 46:
ACCEPT_TOKEN(sym_identifier);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(46);
END_STATE();
case 47:
ACCEPT_TOKEN(anon_sym_PLUS);
END_STATE();
case 48:
ACCEPT_TOKEN(anon_sym_STAR);
END_STATE();
case 49:
ACCEPT_TOKEN(anon_sym_SLASH);
END_STATE();
case 50:
ACCEPT_TOKEN(sym_number);
END_STATE();
case 51:
ACCEPT_TOKEN(sym_number);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(51);
END_STATE();
case 52:
ACCEPT_TOKEN(sym_string);
END_STATE();
case 53:
ACCEPT_TOKEN(sym_string);
if (lookahead == '"') ADVANCE(52);
if (lookahead == '\\') ADVANCE(3);
if (lookahead != 0) ADVANCE(2);
END_STATE();
case 54:
ACCEPT_TOKEN(sym_variable);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(54);
END_STATE();
case 55:
ACCEPT_TOKEN(sym_anonymous_variable);
END_STATE();
case 56:
ACCEPT_TOKEN(sym_naf);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(46);
END_STATE();
default:
return false;
}
}
static const TSLexerMode ts_lex_modes[STATE_COUNT] = {
[0] = {.lex_state = 0},
[1] = {.lex_state = 18},
[2] = {.lex_state = 18},
[3] = {.lex_state = 18},
[4] = {.lex_state = 0},
[5] = {.lex_state = 0},
[6] = {.lex_state = 0},
[7] = {.lex_state = 0},
[8] = {.lex_state = 0},
[9] = {.lex_state = 0},
[10] = {.lex_state = 0},
[11] = {.lex_state = 1},
[12] = {.lex_state = 18},
[13] = {.lex_state = 1},
[14] = {.lex_state = 18},
[15] = {.lex_state = 0},
[16] = {.lex_state = 1},
[17] = {.lex_state = 18},
[18] = {.lex_state = 18},
[19] = {.lex_state = 18},
[20] = {.lex_state = 18},
[21] = {.lex_state = 18},
[22] = {.lex_state = 1},
[23] = {.lex_state = 18},
[24] = {.lex_state = 18},
[25] = {.lex_state = 18},
[26] = {.lex_state = 18},
[27] = {.lex_state = 1},
[28] = {.lex_state = 1},
[29] = {.lex_state = 1},
[30] = {.lex_state = 1},
[31] = {.lex_state = 18},
[32] = {.lex_state = 1},
[33] = {.lex_state = 18},
[34] = {.lex_state = 18},
[35] = {.lex_state = 1},
[36] = {.lex_state = 1},
[37] = {.lex_state = 18},
[38] = {.lex_state = 18},
[39] = {.lex_state = 18},
[40] = {.lex_state = 18},
[41] = {.lex_state = 18},
[42] = {.lex_state = 18},
[43] = {.lex_state = 18},
[44] = {.lex_state = 18},
[45] = {.lex_state = 18},
[46] = {.lex_state = 18},
[47] = {.lex_state = 18},
[48] = {.lex_state = 18},
[49] = {.lex_state = 18},
[50] = {.lex_state = 18},
[51] = {.lex_state = 18},
[52] = {.lex_state = 18},
[53] = {.lex_state = 18},
[54] = {.lex_state = 18},
[55] = {.lex_state = 18},
[56] = {.lex_state = 1},
[57] = {.lex_state = 18},
[58] = {.lex_state = 18},
[59] = {.lex_state = 18},
[60] = {.lex_state = 18},
[61] = {.lex_state = 18},
[62] = {.lex_state = 18},
[63] = {.lex_state = 1},
[64] = {.lex_state = 0},
[65] = {.lex_state = 18},
[66] = {.lex_state = 1},
[67] = {.lex_state = 1},
[68] = {.lex_state = 18},
[69] = {.lex_state = 18},
[70] = {.lex_state = 0},
[71] = {.lex_state = 18},
[72] = {.lex_state = 18},
[73] = {.lex_state = 18},
[74] = {.lex_state = 18},
[75] = {.lex_state = 18},
[76] = {.lex_state = 18},
[77] = {.lex_state = 0},
[78] = {.lex_state = 1},
[79] = {.lex_state = 0},
[80] = {.lex_state = 0},
[81] = {.lex_state = 0},
[82] = {.lex_state = 18},
[83] = {.lex_state = 0},
[84] = {.lex_state = 1},
[85] = {.lex_state = 18},
[86] = {.lex_state = 0},
[87] = {.lex_state = 0},
[88] = {.lex_state = 1},
[89] = {.lex_state = 0},
[90] = {.lex_state = 1},
[91] = {.lex_state = 18},
[92] = {.lex_state = 0},
[93] = {.lex_state = 0},
[94] = {.lex_state = 0},
[95] = {.lex_state = 1},
[96] = {.lex_state = 0},
[97] = {.lex_state = 1},
[98] = {.lex_state = 18},
[99] = {.lex_state = 18},
[100] = {.lex_state = 18},
[101] = {.lex_state = 0},
[102] = {.lex_state = 18},
[103] = {.lex_state = 18},
[104] = {.lex_state = 18},
[105] = {.lex_state = 18},
[106] = {.lex_state = 0},
[107] = {.lex_state = 18},
[108] = {.lex_state = 0},
[109] = {.lex_state = 0},
[110] = {.lex_state = 0},
[111] = {.lex_state = 0},
[112] = {.lex_state = 0},
[113] = {.lex_state = 0},
[114] = {.lex_state = 18},
[115] = {.lex_state = 0},
[116] = {.lex_state = 0},
[117] = {.lex_state = 18},
[118] = {.lex_state = 0},
[119] = {.lex_state = 1},
[120] = {.lex_state = 0},
[121] = {.lex_state = 0},
[122] = {.lex_state = 18},
[123] = {.lex_state = 18},
[124] = {.lex_state = 18},
[125] = {.lex_state = 18},
[126] = {.lex_state = 0},
[127] = {.lex_state = 0},
[128] = {.lex_state = 1},
[129] = {.lex_state = 0},
[130] = {.lex_state = 0},
[131] = {.lex_state = 18},
[132] = {.lex_state = 0},
[133] = {.lex_state = 18},
[134] = {.lex_state = 0},
[135] = {.lex_state = 0},
[136] = {.lex_state = 18},
[137] = {.lex_state = 0},
[138] = {.lex_state = 0},
[139] = {.lex_state = 18},
[140] = {.lex_state = 0},
[141] = {.lex_state = 0},
[142] = {.lex_state = 0},
[143] = {.lex_state = 0},
[144] = {.lex_state = 0},
[145] = {.lex_state = 0},
[146] = {.lex_state = 0},
[147] = {.lex_state = 0},
[148] = {.lex_state = 0},
[149] = {.lex_state = 0},
[150] = {.lex_state = 0},
[151] = {.lex_state = 0},
[152] = {.lex_state = 0},
[153] = {.lex_state = 0},
[154] = {.lex_state = 0},
[155] = {.lex_state = 18},
[156] = {.lex_state = 0},
[157] = {.lex_state = 0},
[158] = {.lex_state = 0},
[159] = {.lex_state = 0},
[160] = {.lex_state = 0},
[161] = {.lex_state = 0},
[162] = {.lex_state = 18},
[163] = {.lex_state = 0},
[164] = {.lex_state = 0},
[165] = {.lex_state = 0},
[166] = {.lex_state = 0},
[167] = {.lex_state = 0},
[168] = {.lex_state = 0},
[169] = {.lex_state = 0},
[170] = {.lex_state = 0},
};
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[STATE(0)] = {
[ts_builtin_sym_end] = ACTIONS(1),
[sym_line_comment] = ACTIONS(3),
[sym_block_comment] = ACTIONS(5),
[anon_sym_DOT] = ACTIONS(1),
[anon_sym_COLON_TILDE] = ACTIONS(1),
[anon_sym_LBRACK] = ACTIONS(1),
[anon_sym_RBRACK] = ACTIONS(1),
[anon_sym_AT] = ACTIONS(1),
[anon_sym_COMMA] = ACTIONS(1),
[anon_sym_PIPE] = ACTIONS(1),
[anon_sym_LBRACE] = ACTIONS(1),
[anon_sym_RBRACE] = ACTIONS(1),
[anon_sym_SEMI] = ACTIONS(1),
[sym_aggregate_function] = ACTIONS(1),
[anon_sym_COLON] = ACTIONS(1),
[anon_sym_DASH] = ACTIONS(1),
[anon_sym_LPAREN] = ACTIONS(1),
[anon_sym_RPAREN] = ACTIONS(1),
[sym_relation] = ACTIONS(1),
[sym_identifier] = ACTIONS(1),
[anon_sym_PLUS] = ACTIONS(1),
[anon_sym_STAR] = ACTIONS(1),
[anon_sym_SLASH] = ACTIONS(1),
[sym_number] = ACTIONS(1),
[sym_string] = ACTIONS(1),
[sym_variable] = ACTIONS(1),
[sym_anonymous_variable] = ACTIONS(1),
[sym_naf] = ACTIONS(1),
},
[STATE(1)] = {
[sym_source_file] = STATE(151),
[sym_statement] = STATE(2),
[sym_integrity_constraint] = STATE(62),
[sym_rule] = STATE(62),
[sym_weak_constraint] = STATE(62),
[sym_head] = STATE(133),
[sym_disjunction] = STATE(136),
[sym_choice] = STATE(136),
[sym_lower] = STATE(154),
[sym_classical_atom] = STATE(104),
[sym_term] = STATE(79),
[sym_function] = STATE(30),
[sym_parenthesized_term] = STATE(30),
[sym_unary_operation] = STATE(30),
[sym_binary_operation] = STATE(30),
[aux_sym_source_file_repeat1] = STATE(2),
[ts_builtin_sym_end] = ACTIONS(7),
[sym_line_comment] = ACTIONS(3),
[sym_block_comment] = ACTIONS(5),
[anon_sym_COLON_DASH] = ACTIONS(9),
[anon_sym_COLON_TILDE] = ACTIONS(11),
[anon_sym_LBRACE] = ACTIONS(13),
[anon_sym_DASH] = ACTIONS(15),
[anon_sym_LPAREN] = ACTIONS(17),
[sym_identifier] = ACTIONS(19),
[sym_number] = ACTIONS(21),
[sym_string] = ACTIONS(21),
[sym_variable] = ACTIONS(21),
[sym_anonymous_variable] = ACTIONS(21),
},
};
static const uint16_t ts_small_parse_table[] = {
[0] = 18,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(9), 1,
anon_sym_COLON_DASH,
ACTIONS(11), 1,
anon_sym_COLON_TILDE,
ACTIONS(13), 1,
anon_sym_LBRACE,
ACTIONS(15), 1,
anon_sym_DASH,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(19), 1,
sym_identifier,
ACTIONS(23), 1,
ts_builtin_sym_end,
STATE(79), 1,
sym_term,
STATE(104), 1,
sym_classical_atom,
STATE(133), 1,
sym_head,
STATE(154), 1,
sym_lower,
STATE(3), 2,
sym_statement,
aux_sym_source_file_repeat1,
STATE(136), 2,
sym_disjunction,
sym_choice,
STATE(62), 3,
sym_integrity_constraint,
sym_rule,
sym_weak_constraint,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[65] = 18,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(25), 1,
ts_builtin_sym_end,
ACTIONS(27), 1,
anon_sym_COLON_DASH,
ACTIONS(30), 1,
anon_sym_COLON_TILDE,
ACTIONS(33), 1,
anon_sym_LBRACE,
ACTIONS(36), 1,
anon_sym_DASH,
ACTIONS(39), 1,
anon_sym_LPAREN,
ACTIONS(42), 1,
sym_identifier,
STATE(79), 1,
sym_term,
STATE(104), 1,
sym_classical_atom,
STATE(133), 1,
sym_head,
STATE(154), 1,
sym_lower,
STATE(3), 2,
sym_statement,
aux_sym_source_file_repeat1,
STATE(136), 2,
sym_disjunction,
sym_choice,
STATE(62), 3,
sym_integrity_constraint,
sym_rule,
sym_weak_constraint,
ACTIONS(45), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[130] = 15,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(15), 1,
anon_sym_DASH,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(48), 1,
sym_aggregate_function,
ACTIONS(50), 1,
sym_identifier,
ACTIONS(52), 1,
sym_naf,
STATE(81), 1,
sym_term,
STATE(111), 1,
sym_naf_literal,
STATE(126), 1,
sym_aggregate,
STATE(156), 1,
sym_lower,
STATE(170), 1,
sym_body,
STATE(92), 2,
sym_classical_atom,
sym_builtin_atom,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[183] = 15,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(15), 1,
anon_sym_DASH,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(48), 1,
sym_aggregate_function,
ACTIONS(50), 1,
sym_identifier,
ACTIONS(52), 1,
sym_naf,
STATE(81), 1,
sym_term,
STATE(111), 1,
sym_naf_literal,
STATE(126), 1,
sym_aggregate,
STATE(156), 1,
sym_lower,
STATE(163), 1,
sym_body,
STATE(92), 2,
sym_classical_atom,
sym_builtin_atom,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[236] = 15,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(15), 1,
anon_sym_DASH,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(48), 1,
sym_aggregate_function,
ACTIONS(50), 1,
sym_identifier,
ACTIONS(52), 1,
sym_naf,
STATE(81), 1,
sym_term,
STATE(111), 1,
sym_naf_literal,
STATE(126), 1,
sym_aggregate,
STATE(152), 1,
sym_body,
STATE(156), 1,
sym_lower,
STATE(92), 2,
sym_classical_atom,
sym_builtin_atom,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[289] = 13,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(15), 1,
anon_sym_DASH,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(50), 1,
sym_identifier,
ACTIONS(56), 1,
sym_naf,
STATE(86), 1,
sym_term,
STATE(101), 1,
sym_naf_literal,
STATE(142), 1,
sym_naf_literals,
ACTIONS(54), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
STATE(92), 2,
sym_classical_atom,
sym_builtin_atom,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[337] = 13,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(15), 1,
anon_sym_DASH,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(50), 1,
sym_identifier,
ACTIONS(56), 1,
sym_naf,
STATE(86), 1,
sym_term,
STATE(101), 1,
sym_naf_literal,
STATE(140), 1,
sym_naf_literals,
ACTIONS(58), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
STATE(92), 2,
sym_classical_atom,
sym_builtin_atom,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[385] = 13,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(15), 1,
anon_sym_DASH,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(50), 1,
sym_identifier,
ACTIONS(56), 1,
sym_naf,
STATE(86), 1,
sym_term,
STATE(101), 1,
sym_naf_literal,
STATE(135), 1,
sym_naf_literals,
ACTIONS(60), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
STATE(92), 2,
sym_classical_atom,
sym_builtin_atom,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[433] = 14,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(15), 1,
anon_sym_DASH,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(48), 1,
sym_aggregate_function,
ACTIONS(50), 1,
sym_identifier,
ACTIONS(62), 1,
sym_naf,
STATE(81), 1,
sym_term,
STATE(130), 1,
sym_naf_literal,
STATE(144), 1,
sym_aggregate,
STATE(156), 1,
sym_lower,
STATE(92), 2,
sym_classical_atom,
sym_builtin_atom,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[483] = 12,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(64), 1,
anon_sym_COLON,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(56), 1,
sym_term,
STATE(118), 1,
sym_aggregate_element,
STATE(119), 1,
sym_terms,
STATE(166), 1,
sym_aggregate_elements,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[526] = 12,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(15), 1,
anon_sym_DASH,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(19), 1,
sym_identifier,
ACTIONS(48), 1,
sym_aggregate_function,
STATE(79), 1,
sym_term,
STATE(89), 1,
sym_classical_atom,
STATE(109), 1,
sym_aggregate,
STATE(156), 1,
sym_lower,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[569] = 12,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(64), 1,
anon_sym_COLON,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(56), 1,
sym_term,
STATE(118), 1,
sym_aggregate_element,
STATE(119), 1,
sym_terms,
STATE(148), 1,
sym_aggregate_elements,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[612] = 12,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(15), 1,
anon_sym_DASH,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(19), 1,
sym_identifier,
ACTIONS(48), 1,
sym_aggregate_function,
STATE(79), 1,
sym_term,
STATE(89), 1,
sym_classical_atom,
STATE(137), 1,
sym_aggregate,
STATE(156), 1,
sym_lower,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[655] = 11,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(15), 1,
anon_sym_DASH,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(50), 1,
sym_identifier,
ACTIONS(56), 1,
sym_naf,
STATE(86), 1,
sym_term,
STATE(129), 1,
sym_naf_literal,
STATE(92), 2,
sym_classical_atom,
sym_builtin_atom,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[696] = 11,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(64), 1,
anon_sym_COLON,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(56), 1,
sym_term,
STATE(119), 1,
sym_terms,
STATE(143), 1,
sym_aggregate_element,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[736] = 10,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
ACTIONS(70), 1,
anon_sym_RPAREN,
STATE(56), 1,
sym_term,
STATE(158), 1,
sym_terms,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[773] = 10,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
ACTIONS(72), 1,
anon_sym_RPAREN,
STATE(56), 1,
sym_term,
STATE(150), 1,
sym_terms,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[810] = 10,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
ACTIONS(74), 1,
anon_sym_RPAREN,
STATE(56), 1,
sym_term,
STATE(147), 1,
sym_terms,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[847] = 10,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
ACTIONS(76), 1,
anon_sym_RPAREN,
STATE(56), 1,
sym_term,
STATE(149), 1,
sym_terms,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[884] = 10,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
ACTIONS(78), 1,
anon_sym_RPAREN,
STATE(56), 1,
sym_term,
STATE(161), 1,
sym_terms,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[921] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(82), 1,
anon_sym_LPAREN,
ACTIONS(80), 13,
anon_sym_DOT,
anon_sym_RBRACK,
anon_sym_AT,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_DASH,
anon_sym_RPAREN,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[946] = 10,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
ACTIONS(84), 1,
anon_sym_RPAREN,
STATE(56), 1,
sym_term,
STATE(167), 1,
sym_terms,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[983] = 10,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
ACTIONS(86), 1,
anon_sym_RPAREN,
STATE(56), 1,
sym_term,
STATE(168), 1,
sym_terms,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1020] = 10,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
ACTIONS(88), 1,
anon_sym_RPAREN,
STATE(56), 1,
sym_term,
STATE(169), 1,
sym_terms,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1057] = 9,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
ACTIONS(90), 1,
sym_aggregate_function,
STATE(64), 1,
sym_term,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1091] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(92), 13,
anon_sym_DOT,
anon_sym_RBRACK,
anon_sym_AT,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_DASH,
anon_sym_RPAREN,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[1113] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(94), 11,
anon_sym_DOT,
anon_sym_RBRACK,
anon_sym_AT,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_DASH,
anon_sym_RPAREN,
sym_relation,
anon_sym_PLUS,
[1137] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(94), 13,
anon_sym_DOT,
anon_sym_RBRACK,
anon_sym_AT,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_DASH,
anon_sym_RPAREN,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[1159] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(98), 13,
anon_sym_DOT,
anon_sym_RBRACK,
anon_sym_AT,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_DASH,
anon_sym_RPAREN,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[1181] = 9,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(70), 1,
sym_term,
STATE(157), 1,
sym_weight_at_level,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1215] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(100), 13,
anon_sym_DOT,
anon_sym_RBRACK,
anon_sym_AT,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_DASH,
anon_sym_RPAREN,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[1237] = 9,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(56), 1,
sym_term,
STATE(159), 1,
sym_terms,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1271] = 9,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(56), 1,
sym_term,
STATE(164), 1,
sym_terms,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1305] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(102), 13,
anon_sym_DOT,
anon_sym_RBRACK,
anon_sym_AT,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_DASH,
anon_sym_RPAREN,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[1327] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(104), 13,
anon_sym_DOT,
anon_sym_RBRACK,
anon_sym_AT,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_DASH,
anon_sym_RPAREN,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[1349] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(106), 1,
anon_sym_DASH,
ACTIONS(108), 1,
anon_sym_LPAREN,
ACTIONS(110), 1,
sym_identifier,
STATE(69), 1,
sym_term,
ACTIONS(112), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(71), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1380] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(116), 1,
anon_sym_LPAREN,
ACTIONS(80), 5,
anon_sym_DASH,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(114), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_COMMA,
anon_sym_PIPE,
anon_sym_RBRACE,
anon_sym_SEMI,
[1405] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(64), 1,
sym_term,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1436] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(28), 1,
sym_term,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1467] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(32), 1,
sym_term,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1498] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(29), 1,
sym_term,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1529] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(63), 1,
sym_term,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1560] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(80), 1,
sym_term,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1591] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(118), 1,
sym_identifier,
STATE(32), 1,
sym_term,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1622] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(83), 1,
sym_term,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1653] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(122), 1,
anon_sym_LPAREN,
ACTIONS(80), 5,
anon_sym_DASH,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(120), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_COMMA,
anon_sym_PIPE,
anon_sym_RBRACE,
anon_sym_SEMI,
[1678] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(106), 1,
anon_sym_DASH,
ACTIONS(108), 1,
anon_sym_LPAREN,
ACTIONS(110), 1,
sym_identifier,
STATE(74), 1,
sym_term,
ACTIONS(112), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(71), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1709] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(106), 1,
anon_sym_DASH,
ACTIONS(108), 1,
anon_sym_LPAREN,
ACTIONS(110), 1,
sym_identifier,
STATE(72), 1,
sym_term,
ACTIONS(112), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(71), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1740] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(77), 1,
sym_term,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1771] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(106), 1,
anon_sym_DASH,
ACTIONS(108), 1,
anon_sym_LPAREN,
ACTIONS(110), 1,
sym_identifier,
STATE(75), 1,
sym_term,
ACTIONS(112), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(71), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1802] = 8,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(17), 1,
anon_sym_LPAREN,
ACTIONS(66), 1,
anon_sym_DASH,
ACTIONS(68), 1,
sym_identifier,
STATE(87), 1,
sym_term,
ACTIONS(21), 4,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
STATE(30), 4,
sym_function,
sym_parenthesized_term,
sym_unary_operation,
sym_binary_operation,
[1833] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(124), 11,
ts_builtin_sym_end,
anon_sym_COLON_DASH,
anon_sym_COLON_TILDE,
anon_sym_LBRACE,
anon_sym_DASH,
anon_sym_LPAREN,
sym_identifier,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
[1853] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(102), 5,
anon_sym_DASH,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(126), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_COMMA,
anon_sym_PIPE,
anon_sym_RBRACE,
anon_sym_SEMI,
[1875] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(104), 5,
anon_sym_DASH,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(128), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_COMMA,
anon_sym_PIPE,
anon_sym_RBRACE,
anon_sym_SEMI,
[1897] = 7,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(132), 1,
anon_sym_COMMA,
STATE(67), 1,
aux_sym_terms_repeat1,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(134), 2,
anon_sym_DASH,
anon_sym_PLUS,
ACTIONS(130), 5,
anon_sym_RBRACK,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_RPAREN,
[1925] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(136), 11,
ts_builtin_sym_end,
anon_sym_COLON_DASH,
anon_sym_COLON_TILDE,
anon_sym_LBRACE,
anon_sym_DASH,
anon_sym_LPAREN,
sym_identifier,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
[1945] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(104), 5,
anon_sym_DASH,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(138), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_COMMA,
anon_sym_PIPE,
anon_sym_RBRACE,
anon_sym_SEMI,
[1967] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(102), 5,
anon_sym_DASH,
sym_relation,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(140), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_COMMA,
anon_sym_PIPE,
anon_sym_RBRACE,
anon_sym_SEMI,
[1989] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(142), 11,
ts_builtin_sym_end,
anon_sym_COLON_DASH,
anon_sym_COLON_TILDE,
anon_sym_LBRACE,
anon_sym_DASH,
anon_sym_LPAREN,
sym_identifier,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
[2009] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(144), 11,
ts_builtin_sym_end,
anon_sym_COLON_DASH,
anon_sym_COLON_TILDE,
anon_sym_LBRACE,
anon_sym_DASH,
anon_sym_LPAREN,
sym_identifier,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
[2029] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(146), 11,
ts_builtin_sym_end,
anon_sym_COLON_DASH,
anon_sym_COLON_TILDE,
anon_sym_LBRACE,
anon_sym_DASH,
anon_sym_LPAREN,
sym_identifier,
sym_number,
sym_string,
sym_variable,
sym_anonymous_variable,
[2049] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(134), 2,
anon_sym_DASH,
anon_sym_PLUS,
ACTIONS(148), 6,
anon_sym_RBRACK,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_RPAREN,
[2072] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(134), 2,
anon_sym_DASH,
anon_sym_PLUS,
ACTIONS(150), 4,
anon_sym_DOT,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
[2093] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(152), 1,
anon_sym_LPAREN,
ACTIONS(80), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_DASH,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[2111] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(154), 1,
anon_sym_COMMA,
STATE(66), 1,
aux_sym_terms_repeat1,
ACTIONS(148), 5,
anon_sym_RBRACK,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_RPAREN,
[2131] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(132), 1,
anon_sym_COMMA,
STATE(66), 1,
aux_sym_terms_repeat1,
ACTIONS(157), 5,
anon_sym_RBRACK,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
anon_sym_RPAREN,
[2151] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(102), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_DASH,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[2166] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(159), 2,
anon_sym_COLON_DASH,
anon_sym_DOT,
ACTIONS(161), 2,
anon_sym_DASH,
anon_sym_PLUS,
ACTIONS(163), 2,
anon_sym_STAR,
anon_sym_SLASH,
[2185] = 6,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(165), 1,
anon_sym_AT,
ACTIONS(167), 1,
anon_sym_COMMA,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(134), 2,
anon_sym_DASH,
anon_sym_PLUS,
[2206] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(98), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_DASH,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[2221] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(100), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_DASH,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[2236] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(92), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_DASH,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[2251] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(163), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(94), 4,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_DASH,
anon_sym_PLUS,
[2268] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(94), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_DASH,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[2283] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(104), 6,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_DASH,
anon_sym_PLUS,
anon_sym_STAR,
anon_sym_SLASH,
[2298] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(134), 2,
anon_sym_DASH,
anon_sym_PLUS,
ACTIONS(159), 2,
anon_sym_DOT,
anon_sym_COMMA,
[2317] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(169), 1,
anon_sym_LPAREN,
ACTIONS(114), 4,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
[2333] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(171), 1,
sym_relation,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(134), 2,
anon_sym_DASH,
anon_sym_PLUS,
[2351] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(173), 1,
anon_sym_RPAREN,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(134), 2,
anon_sym_DASH,
anon_sym_PLUS,
[2369] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(175), 1,
sym_relation,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(134), 2,
anon_sym_DASH,
anon_sym_PLUS,
[2387] = 7,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(177), 1,
anon_sym_DASH,
ACTIONS(179), 1,
sym_identifier,
STATE(127), 1,
sym_choice_element,
STATE(128), 1,
sym_classical_atom,
STATE(165), 1,
sym_choice_elements,
[2409] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(181), 1,
anon_sym_COMMA,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(134), 2,
anon_sym_DASH,
anon_sym_PLUS,
[2427] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(183), 1,
anon_sym_LPAREN,
ACTIONS(120), 4,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
[2443] = 7,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(177), 1,
anon_sym_DASH,
ACTIONS(179), 1,
sym_identifier,
STATE(127), 1,
sym_choice_element,
STATE(128), 1,
sym_classical_atom,
STATE(145), 1,
sym_choice_elements,
[2465] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(185), 1,
sym_relation,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(134), 2,
anon_sym_DASH,
anon_sym_PLUS,
[2483] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(187), 1,
anon_sym_RPAREN,
ACTIONS(96), 2,
anon_sym_STAR,
anon_sym_SLASH,
ACTIONS(134), 2,
anon_sym_DASH,
anon_sym_PLUS,
[2501] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(128), 4,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
[2514] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(189), 4,
anon_sym_DOT,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
[2527] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(126), 4,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
[2540] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(193), 1,
anon_sym_PIPE,
STATE(91), 1,
aux_sym_disjunction_repeat1,
ACTIONS(191), 2,
anon_sym_COLON_DASH,
anon_sym_DOT,
[2557] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(196), 4,
anon_sym_DOT,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
[2570] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(200), 1,
sym_relation,
STATE(134), 1,
sym_upper,
ACTIONS(198), 2,
anon_sym_DOT,
anon_sym_COMMA,
[2587] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(202), 1,
anon_sym_COMMA,
STATE(96), 1,
aux_sym_naf_literals_repeat1,
ACTIONS(204), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
[2604] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(140), 4,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
[2617] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(206), 1,
anon_sym_COMMA,
STATE(96), 1,
aux_sym_naf_literals_repeat1,
ACTIONS(209), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
[2634] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(138), 4,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COLON,
[2647] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(213), 1,
sym_relation,
STATE(131), 1,
sym_upper,
ACTIONS(211), 2,
anon_sym_COLON_DASH,
anon_sym_DOT,
[2664] = 6,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(177), 1,
anon_sym_DASH,
ACTIONS(179), 1,
sym_identifier,
STATE(128), 1,
sym_classical_atom,
STATE(132), 1,
sym_choice_element,
[2683] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(215), 1,
anon_sym_LPAREN,
ACTIONS(120), 3,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_PIPE,
[2698] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(202), 1,
anon_sym_COMMA,
STATE(94), 1,
aux_sym_naf_literals_repeat1,
ACTIONS(217), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
[2715] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(221), 1,
anon_sym_PIPE,
STATE(91), 1,
aux_sym_disjunction_repeat1,
ACTIONS(219), 2,
anon_sym_COLON_DASH,
anon_sym_DOT,
[2732] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(223), 1,
anon_sym_LPAREN,
ACTIONS(114), 3,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_PIPE,
[2747] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(221), 1,
anon_sym_PIPE,
STATE(102), 1,
aux_sym_disjunction_repeat1,
ACTIONS(225), 2,
anon_sym_COLON_DASH,
anon_sym_DOT,
[2764] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(213), 1,
sym_relation,
STATE(139), 1,
sym_upper,
ACTIONS(227), 2,
anon_sym_COLON_DASH,
anon_sym_DOT,
[2781] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(200), 1,
sym_relation,
STATE(141), 1,
sym_upper,
ACTIONS(229), 2,
anon_sym_DOT,
anon_sym_COMMA,
[2798] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(140), 3,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_PIPE,
[2810] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(231), 1,
anon_sym_RBRACE,
ACTIONS(233), 1,
anon_sym_SEMI,
STATE(113), 1,
aux_sym_aggregate_elements_repeat1,
[2826] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(235), 1,
anon_sym_DOT,
ACTIONS(237), 1,
anon_sym_COMMA,
STATE(121), 1,
aux_sym_body_repeat1,
[2842] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(239), 1,
anon_sym_DOT,
ACTIONS(241), 1,
anon_sym_COMMA,
STATE(110), 1,
aux_sym_body_repeat1,
[2858] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(237), 1,
anon_sym_COMMA,
ACTIONS(244), 1,
anon_sym_DOT,
STATE(115), 1,
aux_sym_body_repeat1,
[2874] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(237), 1,
anon_sym_COMMA,
ACTIONS(246), 1,
anon_sym_DOT,
STATE(110), 1,
aux_sym_body_repeat1,
[2890] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(248), 1,
anon_sym_RBRACE,
ACTIONS(250), 1,
anon_sym_SEMI,
STATE(113), 1,
aux_sym_aggregate_elements_repeat1,
[2906] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(253), 1,
anon_sym_DASH,
ACTIONS(255), 1,
sym_identifier,
STATE(125), 1,
sym_classical_atom,
[2922] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(237), 1,
anon_sym_COMMA,
ACTIONS(257), 1,
anon_sym_DOT,
STATE(110), 1,
aux_sym_body_repeat1,
[2938] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(259), 1,
anon_sym_RBRACE,
ACTIONS(261), 1,
anon_sym_SEMI,
STATE(116), 1,
aux_sym_choice_elements_repeat1,
[2954] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(177), 1,
anon_sym_DASH,
ACTIONS(179), 1,
sym_identifier,
STATE(89), 1,
sym_classical_atom,
[2970] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(233), 1,
anon_sym_SEMI,
ACTIONS(264), 1,
anon_sym_RBRACE,
STATE(108), 1,
aux_sym_aggregate_elements_repeat1,
[2986] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(268), 1,
anon_sym_COLON,
ACTIONS(266), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
[3000] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(270), 1,
anon_sym_RBRACE,
ACTIONS(272), 1,
anon_sym_SEMI,
STATE(116), 1,
aux_sym_choice_elements_repeat1,
[3016] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(237), 1,
anon_sym_COMMA,
ACTIONS(274), 1,
anon_sym_DOT,
STATE(110), 1,
aux_sym_body_repeat1,
[3032] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(138), 3,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_PIPE,
[3044] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(128), 3,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_PIPE,
[3056] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(126), 3,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_PIPE,
[3068] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(191), 3,
anon_sym_COLON_DASH,
anon_sym_DOT,
anon_sym_PIPE,
[3080] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(237), 1,
anon_sym_COMMA,
ACTIONS(276), 1,
anon_sym_DOT,
STATE(112), 1,
aux_sym_body_repeat1,
[3096] = 5,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(272), 1,
anon_sym_SEMI,
ACTIONS(278), 1,
anon_sym_RBRACE,
STATE(120), 1,
aux_sym_choice_elements_repeat1,
[3112] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(282), 1,
anon_sym_COLON,
ACTIONS(280), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
[3126] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(209), 3,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_SEMI,
[3138] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(284), 2,
anon_sym_DOT,
anon_sym_COMMA,
[3149] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(286), 2,
anon_sym_COLON_DASH,
anon_sym_DOT,
[3160] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(259), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
[3171] = 4,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(288), 1,
anon_sym_COLON_DASH,
ACTIONS(290), 1,
anon_sym_DOT,
[3184] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(292), 2,
anon_sym_DOT,
anon_sym_COMMA,
[3195] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(294), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
[3206] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(296), 2,
anon_sym_COLON_DASH,
anon_sym_DOT,
[3217] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(298), 2,
anon_sym_DOT,
anon_sym_COMMA,
[3228] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(90), 2,
anon_sym_LBRACE,
sym_aggregate_function,
[3239] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(300), 2,
anon_sym_COLON_DASH,
anon_sym_DOT,
[3250] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(302), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
[3261] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(304), 2,
anon_sym_DOT,
anon_sym_COMMA,
[3272] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(306), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
[3283] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(248), 2,
anon_sym_RBRACE,
anon_sym_SEMI,
[3294] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(308), 2,
anon_sym_DOT,
anon_sym_COMMA,
[3305] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(310), 1,
anon_sym_RBRACE,
[3315] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(312), 1,
anon_sym_LBRACE,
[3325] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(314), 1,
anon_sym_RPAREN,
[3335] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(316), 1,
anon_sym_RBRACE,
[3345] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(318), 1,
anon_sym_RPAREN,
[3355] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(320), 1,
anon_sym_RPAREN,
[3365] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(322), 1,
ts_builtin_sym_end,
[3375] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(324), 1,
anon_sym_DOT,
[3385] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(326), 1,
anon_sym_LBRACE,
[3395] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(328), 1,
anon_sym_LBRACE,
[3405] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(330), 1,
sym_identifier,
[3415] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(332), 1,
sym_aggregate_function,
[3425] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(334), 1,
anon_sym_RBRACK,
[3435] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(336), 1,
anon_sym_RPAREN,
[3445] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(338), 1,
anon_sym_RBRACK,
[3455] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(340), 1,
anon_sym_LBRACK,
[3465] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(342), 1,
anon_sym_RPAREN,
[3475] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(344), 1,
sym_identifier,
[3485] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(346), 1,
anon_sym_DOT,
[3495] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(348), 1,
anon_sym_RBRACK,
[3505] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(350), 1,
anon_sym_RBRACE,
[3515] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(352), 1,
anon_sym_RBRACE,
[3525] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(354), 1,
anon_sym_RPAREN,
[3535] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(356), 1,
anon_sym_RPAREN,
[3545] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(358), 1,
anon_sym_RPAREN,
[3555] = 3,
ACTIONS(3), 1,
sym_line_comment,
ACTIONS(5), 1,
sym_block_comment,
ACTIONS(360), 1,
anon_sym_DOT,
};
static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE(2)] = 0,
[SMALL_STATE(3)] = 65,
[SMALL_STATE(4)] = 130,
[SMALL_STATE(5)] = 183,
[SMALL_STATE(6)] = 236,
[SMALL_STATE(7)] = 289,
[SMALL_STATE(8)] = 337,
[SMALL_STATE(9)] = 385,
[SMALL_STATE(10)] = 433,
[SMALL_STATE(11)] = 483,
[SMALL_STATE(12)] = 526,
[SMALL_STATE(13)] = 569,
[SMALL_STATE(14)] = 612,
[SMALL_STATE(15)] = 655,
[SMALL_STATE(16)] = 696,
[SMALL_STATE(17)] = 736,
[SMALL_STATE(18)] = 773,
[SMALL_STATE(19)] = 810,
[SMALL_STATE(20)] = 847,
[SMALL_STATE(21)] = 884,
[SMALL_STATE(22)] = 921,
[SMALL_STATE(23)] = 946,
[SMALL_STATE(24)] = 983,
[SMALL_STATE(25)] = 1020,
[SMALL_STATE(26)] = 1057,
[SMALL_STATE(27)] = 1091,
[SMALL_STATE(28)] = 1113,
[SMALL_STATE(29)] = 1137,
[SMALL_STATE(30)] = 1159,
[SMALL_STATE(31)] = 1181,
[SMALL_STATE(32)] = 1215,
[SMALL_STATE(33)] = 1237,
[SMALL_STATE(34)] = 1271,
[SMALL_STATE(35)] = 1305,
[SMALL_STATE(36)] = 1327,
[SMALL_STATE(37)] = 1349,
[SMALL_STATE(38)] = 1380,
[SMALL_STATE(39)] = 1405,
[SMALL_STATE(40)] = 1436,
[SMALL_STATE(41)] = 1467,
[SMALL_STATE(42)] = 1498,
[SMALL_STATE(43)] = 1529,
[SMALL_STATE(44)] = 1560,
[SMALL_STATE(45)] = 1591,
[SMALL_STATE(46)] = 1622,
[SMALL_STATE(47)] = 1653,
[SMALL_STATE(48)] = 1678,
[SMALL_STATE(49)] = 1709,
[SMALL_STATE(50)] = 1740,
[SMALL_STATE(51)] = 1771,
[SMALL_STATE(52)] = 1802,
[SMALL_STATE(53)] = 1833,
[SMALL_STATE(54)] = 1853,
[SMALL_STATE(55)] = 1875,
[SMALL_STATE(56)] = 1897,
[SMALL_STATE(57)] = 1925,
[SMALL_STATE(58)] = 1945,
[SMALL_STATE(59)] = 1967,
[SMALL_STATE(60)] = 1989,
[SMALL_STATE(61)] = 2009,
[SMALL_STATE(62)] = 2029,
[SMALL_STATE(63)] = 2049,
[SMALL_STATE(64)] = 2072,
[SMALL_STATE(65)] = 2093,
[SMALL_STATE(66)] = 2111,
[SMALL_STATE(67)] = 2131,
[SMALL_STATE(68)] = 2151,
[SMALL_STATE(69)] = 2166,
[SMALL_STATE(70)] = 2185,
[SMALL_STATE(71)] = 2206,
[SMALL_STATE(72)] = 2221,
[SMALL_STATE(73)] = 2236,
[SMALL_STATE(74)] = 2251,
[SMALL_STATE(75)] = 2268,
[SMALL_STATE(76)] = 2283,
[SMALL_STATE(77)] = 2298,
[SMALL_STATE(78)] = 2317,
[SMALL_STATE(79)] = 2333,
[SMALL_STATE(80)] = 2351,
[SMALL_STATE(81)] = 2369,
[SMALL_STATE(82)] = 2387,
[SMALL_STATE(83)] = 2409,
[SMALL_STATE(84)] = 2427,
[SMALL_STATE(85)] = 2443,
[SMALL_STATE(86)] = 2465,
[SMALL_STATE(87)] = 2483,
[SMALL_STATE(88)] = 2501,
[SMALL_STATE(89)] = 2514,
[SMALL_STATE(90)] = 2527,
[SMALL_STATE(91)] = 2540,
[SMALL_STATE(92)] = 2557,
[SMALL_STATE(93)] = 2570,
[SMALL_STATE(94)] = 2587,
[SMALL_STATE(95)] = 2604,
[SMALL_STATE(96)] = 2617,
[SMALL_STATE(97)] = 2634,
[SMALL_STATE(98)] = 2647,
[SMALL_STATE(99)] = 2664,
[SMALL_STATE(100)] = 2683,
[SMALL_STATE(101)] = 2698,
[SMALL_STATE(102)] = 2715,
[SMALL_STATE(103)] = 2732,
[SMALL_STATE(104)] = 2747,
[SMALL_STATE(105)] = 2764,
[SMALL_STATE(106)] = 2781,
[SMALL_STATE(107)] = 2798,
[SMALL_STATE(108)] = 2810,
[SMALL_STATE(109)] = 2826,
[SMALL_STATE(110)] = 2842,
[SMALL_STATE(111)] = 2858,
[SMALL_STATE(112)] = 2874,
[SMALL_STATE(113)] = 2890,
[SMALL_STATE(114)] = 2906,
[SMALL_STATE(115)] = 2922,
[SMALL_STATE(116)] = 2938,
[SMALL_STATE(117)] = 2954,
[SMALL_STATE(118)] = 2970,
[SMALL_STATE(119)] = 2986,
[SMALL_STATE(120)] = 3000,
[SMALL_STATE(121)] = 3016,
[SMALL_STATE(122)] = 3032,
[SMALL_STATE(123)] = 3044,
[SMALL_STATE(124)] = 3056,
[SMALL_STATE(125)] = 3068,
[SMALL_STATE(126)] = 3080,
[SMALL_STATE(127)] = 3096,
[SMALL_STATE(128)] = 3112,
[SMALL_STATE(129)] = 3126,
[SMALL_STATE(130)] = 3138,
[SMALL_STATE(131)] = 3149,
[SMALL_STATE(132)] = 3160,
[SMALL_STATE(133)] = 3171,
[SMALL_STATE(134)] = 3184,
[SMALL_STATE(135)] = 3195,
[SMALL_STATE(136)] = 3206,
[SMALL_STATE(137)] = 3217,
[SMALL_STATE(138)] = 3228,
[SMALL_STATE(139)] = 3239,
[SMALL_STATE(140)] = 3250,
[SMALL_STATE(141)] = 3261,
[SMALL_STATE(142)] = 3272,
[SMALL_STATE(143)] = 3283,
[SMALL_STATE(144)] = 3294,
[SMALL_STATE(145)] = 3305,
[SMALL_STATE(146)] = 3315,
[SMALL_STATE(147)] = 3325,
[SMALL_STATE(148)] = 3335,
[SMALL_STATE(149)] = 3345,
[SMALL_STATE(150)] = 3355,
[SMALL_STATE(151)] = 3365,
[SMALL_STATE(152)] = 3375,
[SMALL_STATE(153)] = 3385,
[SMALL_STATE(154)] = 3395,
[SMALL_STATE(155)] = 3405,
[SMALL_STATE(156)] = 3415,
[SMALL_STATE(157)] = 3425,
[SMALL_STATE(158)] = 3435,
[SMALL_STATE(159)] = 3445,
[SMALL_STATE(160)] = 3455,
[SMALL_STATE(161)] = 3465,
[SMALL_STATE(162)] = 3475,
[SMALL_STATE(163)] = 3485,
[SMALL_STATE(164)] = 3495,
[SMALL_STATE(165)] = 3505,
[SMALL_STATE(166)] = 3515,
[SMALL_STATE(167)] = 3525,
[SMALL_STATE(168)] = 3535,
[SMALL_STATE(169)] = 3545,
[SMALL_STATE(170)] = 3555,
};
static const TSParseActionEntry ts_parse_actions[] = {
[0] = {.entry = {.count = 0, .reusable = false}},
[1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
[3] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
[5] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(),
[7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0),
[9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
[11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
[13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
[15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
[17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
[19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
[21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
[23] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0),
[25] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0),
[27] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(6),
[30] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(4),
[33] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(85),
[36] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(45),
[39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(44),
[42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(38),
[45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(30),
[48] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146),
[50] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38),
[52] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12),
[54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate_element, 2, 0, 13),
[56] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117),
[58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate_element, 1, 0, 0),
[60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_choice_element, 2, 0, 3),
[62] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14),
[64] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
[66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
[68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
[70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
[72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
[74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
[76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
[78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
[80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 1, 0, 1),
[82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
[84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
[86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
[88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123),
[90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lower, 2, 0, 0),
[92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_term, 3, 0, 0),
[94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_operation, 3, 0, 12),
[96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
[98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 1, 0, 0),
[100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_operation, 2, 0, 5),
[102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4, 0, 19),
[104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 3, 0, 1),
[106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
[108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
[110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
[112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
[114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_classical_atom, 1, 0, 1),
[116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
[118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
[120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_classical_atom, 2, 0, 4),
[122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
[124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule, 4, 0, 20),
[126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_classical_atom, 4, 0, 19),
[128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_classical_atom, 4, 0, 4),
[130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_terms, 1, 0, 0),
[132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
[134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
[136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule, 2, 0, 6),
[138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_classical_atom, 3, 0, 1),
[140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_classical_atom, 5, 0, 25),
[142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integrity_constraint, 3, 0, 8),
[144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_weak_constraint, 6, 0, 30),
[146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0),
[148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_terms_repeat1, 2, 0, 0),
[150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_atom, 3, 0, 0),
[152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
[154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_terms_repeat1, 2, 0, 0), SHIFT_REPEAT(43),
[157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_terms, 2, 0, 0),
[159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_upper, 2, 0, 0),
[161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
[163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
[165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
[167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
[169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
[171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
[173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
[175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
[177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155),
[179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
[181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
[183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
[185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
[187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
[189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_naf_literal, 2, 0, 7),
[191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_disjunction_repeat1, 2, 0, 0),
[193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_disjunction_repeat1, 2, 0, 0), SHIFT_REPEAT(114),
[196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_naf_literal, 1, 0, 2),
[198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 5, 0, 29),
[200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
[202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
[204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_naf_literals, 2, 0, 0),
[206] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_naf_literals_repeat1, 2, 0, 0), SHIFT_REPEAT(15),
[209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_naf_literals_repeat1, 2, 0, 0),
[211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_choice, 3, 0, 11),
[213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
[215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
[217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_naf_literals, 1, 0, 0),
[219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_disjunction, 2, 0, 0),
[221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114),
[223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
[225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_disjunction, 1, 0, 0),
[227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_choice, 4, 0, 21),
[229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 4, 0, 23),
[231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate_elements, 2, 0, 0),
[233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
[235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 2, 0, 7),
[237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
[239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2, 0, 16),
[241] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2, 0, 16), SHIFT_REPEAT(10),
[244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1, 0, 0),
[246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 2, 0, 9),
[248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_aggregate_elements_repeat1, 2, 0, 0),
[250] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_aggregate_elements_repeat1, 2, 0, 0), SHIFT_REPEAT(16),
[253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162),
[255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103),
[257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 2, 0, 10),
[259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_choice_elements_repeat1, 2, 0, 0),
[261] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_choice_elements_repeat1, 2, 0, 0), SHIFT_REPEAT(99),
[264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate_elements, 1, 0, 0),
[266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate_element, 1, 0, 13),
[268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
[270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_choice_elements, 2, 0, 0),
[272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99),
[274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 3, 0, 14),
[276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1, 0, 2),
[278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_choice_elements, 1, 0, 0),
[280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_choice_element, 1, 0, 3),
[282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
[284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2, 0, 0),
[286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_choice, 4, 0, 17),
[288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
[290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
[292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 6, 0, 31),
[294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_choice_element, 3, 0, 18),
[296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_head, 1, 0, 0),
[298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 3, 0, 24),
[300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_choice, 5, 0, 26),
[302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate_element, 2, 0, 22),
[304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate, 5, 0, 27),
[306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aggregate_element, 3, 0, 28),
[308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2, 0, 15),
[310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98),
[312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
[314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
[316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
[318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
[320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
[322] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
[324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
[326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
[328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
[330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
[332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153),
[334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
[336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
[338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_weight_at_level, 3, 0, 32),
[340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
[342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
[344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
[346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
[348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_weight_at_level, 5, 0, 33),
[350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
[352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106),
[354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
[356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
[358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
[360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160),
};
#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_aspcore2(void) {
static const TSLanguage language = {
.abi_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,
.supertype_count = SUPERTYPE_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,
.supertype_map_slices = ts_supertype_map_slices,
.supertype_map_entries = ts_supertype_map_entries,
.supertype_symbols = ts_supertype_symbols,
.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 = (const void*)ts_lex_modes,
.lex_fn = ts_lex,
.primary_state_ids = ts_primary_state_ids,
.name = "aspcore2",
.max_reserved_word_set_size = 0,
.metadata = {
.major_version = 0,
.minor_version = 1,
.patch_version = 0,
},
};
return &language;
}
#ifdef __cplusplus
}
#endif