diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-21 20:22:09 +0100 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-21 20:22:09 +0100 |
| commit | 5a8dbc6347b3541e84fe669b22c17ad3b715e258 (patch) | |
| tree | b148c450939688caaaeb4adac6f2faa1eaffe649 /vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar.go | |
| download | qwe-editor-5a8dbc6347b3541e84fe669b22c17ad3b715e258.tar.gz | |
Engage!
Diffstat (limited to 'vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar.go')
| -rw-r--r-- | vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar.go | 553 |
1 files changed, 553 insertions, 0 deletions
diff --git a/vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar.go b/vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar.go new file mode 100644 index 0000000..c727c24 --- /dev/null +++ b/vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar.go @@ -0,0 +1,553 @@ +//Code generated by test_grammar_generate.sh; DO NOT EDIT. +package sitter +//#ifndef TREE_SITTER_PARSER_H_ +//#define TREE_SITTER_PARSER_H_ +// +//#ifdef __cplusplus +//extern "C" { +//#endif +// +//#include <stdbool.h> +//#include <stdint.h> +//#include <stdlib.h> +// +//#define ts_builtin_sym_error ((TSSymbol)-1) +//#define ts_builtin_sym_end 0 +//#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 +// +//typedef uint16_t TSStateId; +// +//#ifndef TREE_SITTER_API_H_ +//typedef uint16_t TSSymbol; +//typedef uint16_t TSFieldId; +//typedef struct TSLanguage TSLanguage; +//#endif +// +//typedef struct { +// TSFieldId field_id; +// uint8_t child_index; +// bool inherited; +//} TSFieldMapEntry; +// +//typedef struct { +// uint16_t index; +// uint16_t length; +//} TSFieldMapSlice; +// +//typedef struct { +// bool visible; +// bool named; +// bool supertype; +//} TSSymbolMetadata; +// +//typedef struct TSLexer TSLexer; +// +//struct TSLexer { +// int32_t lookahead; +// TSSymbol result_symbol; +// void (*advance)(TSLexer *, bool); +// void (*mark_end)(TSLexer *); +// uint32_t (*get_column)(TSLexer *); +// bool (*is_at_included_range_start)(const TSLexer *); +// bool (*eof)(const TSLexer *); +//}; +// +//typedef enum { +// TSParseActionTypeShift, +// TSParseActionTypeReduce, +// TSParseActionTypeAccept, +// TSParseActionTypeRecover, +//} TSParseActionType; +// +//typedef union { +// struct { +// uint8_t type; +// TSStateId state; +// bool extra; +// bool repetition; +// } shift; +// struct { +// uint8_t type; +// uint8_t child_count; +// TSSymbol symbol; +// int16_t dynamic_precedence; +// uint16_t production_id; +// } reduce; +// uint8_t type; +//} TSParseAction; +// +//typedef struct { +// uint16_t lex_state; +// uint16_t external_lex_state; +//} TSLexMode; +// +//typedef union { +// TSParseAction action; +// struct { +// uint8_t count; +// bool reusable; +// } entry; +//} TSParseActionEntry; +// +//struct TSLanguage { +// uint32_t version; +// uint32_t symbol_count; +// uint32_t alias_count; +// uint32_t token_count; +// uint32_t external_token_count; +// uint32_t state_count; +// uint32_t large_state_count; +// uint32_t production_id_count; +// uint32_t field_count; +// uint16_t max_alias_sequence_length; +// const uint16_t *parse_table; +// const uint16_t *small_parse_table; +// const uint32_t *small_parse_table_map; +// const TSParseActionEntry *parse_actions; +// const char * const *symbol_names; +// const char * const *field_names; +// const TSFieldMapSlice *field_map_slices; +// const TSFieldMapEntry *field_map_entries; +// const TSSymbolMetadata *symbol_metadata; +// const TSSymbol *public_symbol_map; +// const uint16_t *alias_map; +// const TSSymbol *alias_sequences; +// const TSLexMode *lex_modes; +// bool (*lex_fn)(TSLexer *, TSStateId); +// bool (*keyword_lex_fn)(TSLexer *, TSStateId); +// TSSymbol keyword_capture_token; +// struct { +// const bool *states; +// const TSSymbol *symbol_map; +// void *(*create)(void); +// void (*destroy)(void *); +// bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); +// unsigned (*serialize)(void *, char *); +// void (*deserialize)(void *, const char *, unsigned); +// } external_scanner; +//}; +// +///* +// * Lexer Macros +// */ +// +//#define START_LEXER() \ +// bool result = false; \ +// bool skip = false; \ +// bool eof = false; \ +// int32_t lookahead; \ +// goto start; \ +// next_state: \ +// lexer->advance(lexer, skip); \ +// start: \ +// skip = false; \ +// lookahead = lexer->lookahead; +// +//#define ADVANCE(state_value) \ +// { \ +// state = state_value; \ +// goto next_state; \ +// } +// +//#define SKIP(state_value) \ +// { \ +// skip = true; \ +// state = state_value; \ +// goto next_state; \ +// } +// +//#define ACCEPT_TOKEN(symbol_value) \ +// result = true; \ +// lexer->result_symbol = symbol_value; \ +// lexer->mark_end(lexer); +// +//#define END_STATE() return result; +// +///* +// * Parse Table Macros +// */ +// +//#define SMALL_STATE(id) id - LARGE_STATE_COUNT +// +//#define STATE(id) id +// +//#define ACTIONS(id) id +// +//#define SHIFT(state_value) \ +// {{ \ +// .shift = { \ +// .type = TSParseActionTypeShift, \ +// .state = state_value \ +// } \ +// }} +// +//#define SHIFT_REPEAT(state_value) \ +// {{ \ +// .shift = { \ +// .type = TSParseActionTypeShift, \ +// .state = state_value, \ +// .repetition = true \ +// } \ +// }} +// +//#define SHIFT_EXTRA() \ +// {{ \ +// .shift = { \ +// .type = TSParseActionTypeShift, \ +// .extra = true \ +// } \ +// }} +// +//#define REDUCE(symbol_val, child_count_val, ...) \ +// {{ \ +// .reduce = { \ +// .type = TSParseActionTypeReduce, \ +// .symbol = symbol_val, \ +// .child_count = child_count_val, \ +// __VA_ARGS__ \ +// }, \ +// }} +// +//#define RECOVER() \ +// {{ \ +// .type = TSParseActionTypeRecover \ +// }} +// +//#define ACCEPT_INPUT() \ +// {{ \ +// .type = TSParseActionTypeAccept \ +// }} +// +//#ifdef __cplusplus +//} +//#endif +// +//#endif // TREE_SITTER_PARSER_H_ +// +//#if defined(__GNUC__) || defined(__clang__) +//#pragma GCC diagnostic push +//#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +//#endif +// +//#define LANGUAGE_VERSION 13 +//#define STATE_COUNT 9 +//#define LARGE_STATE_COUNT 4 +//#define SYMBOL_COUNT 9 +//#define ALIAS_COUNT 0 +//#define TOKEN_COUNT 7 +//#define EXTERNAL_TOKEN_COUNT 0 +//#define FIELD_COUNT 2 +//#define MAX_ALIAS_SEQUENCE_LENGTH 3 +//#define PRODUCTION_ID_COUNT 2 +// +//enum { +// anon_sym_LPAREN = 1, +// anon_sym_RPAREN = 2, +// anon_sym_PLUS = 3, +// sym_number = 4, +// sym_comment = 5, +// sym_variable = 6, +// sym_expression = 7, +// sym_sum = 8, +//}; +// +//static const char * const ts_symbol_names[] = { +// [ts_builtin_sym_end] = "end", +// [anon_sym_LPAREN] = "(", +// [anon_sym_RPAREN] = ")", +// [anon_sym_PLUS] = "+", +// [sym_number] = "number", +// [sym_comment] = "comment", +// [sym_variable] = "variable", +// [sym_expression] = "expression", +// [sym_sum] = "sum", +//}; +// +//static const TSSymbol ts_symbol_map[] = { +// [ts_builtin_sym_end] = ts_builtin_sym_end, +// [anon_sym_LPAREN] = anon_sym_LPAREN, +// [anon_sym_RPAREN] = anon_sym_RPAREN, +// [anon_sym_PLUS] = anon_sym_PLUS, +// [sym_number] = sym_number, +// [sym_comment] = sym_comment, +// [sym_variable] = sym_variable, +// [sym_expression] = sym_expression, +// [sym_sum] = sym_sum, +//}; +// +//static const TSSymbolMetadata ts_symbol_metadata[] = { +// [ts_builtin_sym_end] = { +// .visible = false, +// .named = true, +// }, +// [anon_sym_LPAREN] = { +// .visible = true, +// .named = false, +// }, +// [anon_sym_RPAREN] = { +// .visible = true, +// .named = false, +// }, +// [anon_sym_PLUS] = { +// .visible = true, +// .named = false, +// }, +// [sym_number] = { +// .visible = true, +// .named = true, +// }, +// [sym_comment] = { +// .visible = true, +// .named = true, +// }, +// [sym_variable] = { +// .visible = true, +// .named = true, +// }, +// [sym_expression] = { +// .visible = true, +// .named = true, +// }, +// [sym_sum] = { +// .visible = true, +// .named = true, +// }, +//}; +// +//enum { +// field_left = 1, +// field_right = 2, +//}; +// +//static const char * const ts_field_names[] = { +// [0] = NULL, +// [field_left] = "left", +// [field_right] = "right", +//}; +// +//static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { +// [1] = {.index = 0, .length = 2}, +//}; +// +//static const TSFieldMapEntry ts_field_map_entries[] = { +// [0] = +// {field_left, 0}, +// {field_right, 2}, +//}; +// +//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 bool ts_lex(TSLexer *lexer, TSStateId state) { +// START_LEXER(); +// eof = lexer->eof(lexer); +// switch (state) { +// case 0: +// if (eof) ADVANCE(3); +// if (lookahead == '(') ADVANCE(4); +// if (lookahead == ')') ADVANCE(5); +// if (lookahead == '+') ADVANCE(6); +// if (lookahead == '/') ADVANCE(1); +// if (lookahead == '\t' || +// lookahead == '\n' || +// lookahead == '\r' || +// lookahead == ' ') SKIP(0) +// if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); +// if (('A' <= lookahead && lookahead <= 'Z') || +// ('a' <= lookahead && lookahead <= 'z')) ADVANCE(2); +// END_STATE(); +// case 1: +// if (lookahead == '/') ADVANCE(8); +// END_STATE(); +// case 2: +// if (lookahead == '\\') ADVANCE(9); +// END_STATE(); +// case 3: +// ACCEPT_TOKEN(ts_builtin_sym_end); +// END_STATE(); +// case 4: +// ACCEPT_TOKEN(anon_sym_LPAREN); +// END_STATE(); +// case 5: +// ACCEPT_TOKEN(anon_sym_RPAREN); +// END_STATE(); +// case 6: +// ACCEPT_TOKEN(anon_sym_PLUS); +// END_STATE(); +// case 7: +// ACCEPT_TOKEN(sym_number); +// if (('0' <= lookahead && lookahead <= '9')) ADVANCE(7); +// END_STATE(); +// case 8: +// ACCEPT_TOKEN(sym_comment); +// if (lookahead != 0 && +// lookahead != '\n') ADVANCE(8); +// END_STATE(); +// case 9: +// ACCEPT_TOKEN(sym_variable); +// if (lookahead == 'w') ADVANCE(9); +// END_STATE(); +// default: +// return false; +// } +//} +// +//static const TSLexMode ts_lex_modes[STATE_COUNT] = { +// [0] = {.lex_state = 0}, +// [1] = {.lex_state = 0}, +// [2] = {.lex_state = 0}, +// [3] = {.lex_state = 0}, +// [4] = {.lex_state = 0}, +// [5] = {.lex_state = 0}, +// [6] = {.lex_state = 0}, +// [7] = {.lex_state = 0}, +// [8] = {.lex_state = 0}, +//}; +// +//static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { +// [0] = { +// [ts_builtin_sym_end] = ACTIONS(1), +// [anon_sym_LPAREN] = ACTIONS(1), +// [anon_sym_RPAREN] = ACTIONS(1), +// [anon_sym_PLUS] = ACTIONS(1), +// [sym_number] = ACTIONS(1), +// [sym_comment] = ACTIONS(3), +// [sym_variable] = ACTIONS(1), +// }, +// [1] = { +// [sym_expression] = STATE(7), +// [sym_sum] = STATE(4), +// [anon_sym_LPAREN] = ACTIONS(5), +// [sym_number] = ACTIONS(7), +// [sym_comment] = ACTIONS(3), +// [sym_variable] = ACTIONS(7), +// }, +// [2] = { +// [sym_expression] = STATE(8), +// [sym_sum] = STATE(4), +// [anon_sym_LPAREN] = ACTIONS(5), +// [sym_number] = ACTIONS(7), +// [sym_comment] = ACTIONS(3), +// [sym_variable] = ACTIONS(7), +// }, +// [3] = { +// [sym_expression] = STATE(6), +// [sym_sum] = STATE(4), +// [anon_sym_LPAREN] = ACTIONS(5), +// [sym_number] = ACTIONS(7), +// [sym_comment] = ACTIONS(3), +// [sym_variable] = ACTIONS(7), +// }, +//}; +// +//static const uint16_t ts_small_parse_table[] = { +// [0] = 2, +// ACTIONS(3), 1, +// sym_comment, +// ACTIONS(9), 3, +// ts_builtin_sym_end, +// anon_sym_RPAREN, +// anon_sym_PLUS, +// [9] = 2, +// ACTIONS(3), 1, +// sym_comment, +// ACTIONS(11), 3, +// ts_builtin_sym_end, +// anon_sym_RPAREN, +// anon_sym_PLUS, +// [18] = 2, +// ACTIONS(3), 1, +// sym_comment, +// ACTIONS(13), 3, +// ts_builtin_sym_end, +// anon_sym_RPAREN, +// anon_sym_PLUS, +// [27] = 3, +// ACTIONS(3), 1, +// sym_comment, +// ACTIONS(15), 1, +// ts_builtin_sym_end, +// ACTIONS(17), 1, +// anon_sym_PLUS, +// [37] = 3, +// ACTIONS(3), 1, +// sym_comment, +// ACTIONS(17), 1, +// anon_sym_PLUS, +// ACTIONS(19), 1, +// anon_sym_RPAREN, +//}; +// +//static const uint32_t ts_small_parse_table_map[] = { +// [SMALL_STATE(4)] = 0, +// [SMALL_STATE(5)] = 9, +// [SMALL_STATE(6)] = 18, +// [SMALL_STATE(7)] = 27, +// [SMALL_STATE(8)] = 37, +//}; +// +//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}}, SHIFT_EXTRA(), +// [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), +// [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), +// [9] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), +// [11] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3), +// [13] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sum, 3, .production_id = 1), +// [15] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), +// [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), +// [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), +//}; +// +//#ifdef __cplusplus +//extern "C" { +//#endif +//#ifdef _WIN32 +//#define extern __declspec(dllexport) +//#endif +// +//extern const TSLanguage *tree_sitter_test_grammar(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, +// }; +// return &language; +//} +//#ifdef __cplusplus +//} +//#endif +import "C" +import "unsafe" + +func getTestGrammar() *Language { + ptr := unsafe.Pointer(C.tree_sitter_test_grammar()) + return NewLanguage(ptr) +} |
