aboutsummaryrefslogtreecommitdiff
path: root/vendor/tree-sitter-cuda/src/tree_sitter/runtime.h
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-01-22 13:09:29 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-01-22 13:09:29 +0100
commitda973be545d6da3b2d42023f96bcfd79f751eba9 (patch)
treeb1b86be33ff9e65e6979a0a3a04a391338311f5b /vendor/tree-sitter-cuda/src/tree_sitter/runtime.h
parentc4923c47ffc2309fc3844be80ee0d8392e2fad2b (diff)
downloadcrep-da973be545d6da3b2d42023f96bcfd79f751eba9.tar.gz
Add CUDA grammar
Diffstat (limited to 'vendor/tree-sitter-cuda/src/tree_sitter/runtime.h')
-rw-r--r--vendor/tree-sitter-cuda/src/tree_sitter/runtime.h112
1 files changed, 112 insertions, 0 deletions
diff --git a/vendor/tree-sitter-cuda/src/tree_sitter/runtime.h b/vendor/tree-sitter-cuda/src/tree_sitter/runtime.h
new file mode 100644
index 0000000..d57e60d
--- /dev/null
+++ b/vendor/tree-sitter-cuda/src/tree_sitter/runtime.h
@@ -0,0 +1,112 @@
1#ifndef TREE_SITTER_RUNTIME_H_
2#define TREE_SITTER_RUNTIME_H_
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#include <stdlib.h>
9#include <stdbool.h>
10
11typedef unsigned short TSSymbol;
12typedef struct TSLanguage TSLanguage;
13typedef struct TSDocument TSDocument;
14
15typedef enum {
16 TSInputEncodingUTF8,
17 TSInputEncodingUTF16,
18} TSInputEncoding;
19
20typedef struct {
21 void *payload;
22 const char *(*read_fn)(void *payload, size_t *bytes_read);
23 int (*seek_fn)(void *payload, size_t character, size_t byte);
24 TSInputEncoding encoding;
25} TSInput;
26
27typedef enum {
28 TSDebugTypeParse,
29 TSDebugTypeLex,
30} TSDebugType;
31
32typedef struct {
33 void *payload;
34 void (*debug_fn)(void *payload, TSDebugType, const char *);
35} TSDebugger;
36
37typedef struct {
38 size_t position;
39 size_t chars_inserted;
40 size_t chars_removed;
41} TSInputEdit;
42
43typedef struct {
44 size_t row;
45 size_t column;
46} TSPoint;
47
48typedef struct {
49 const void *data;
50 size_t offset[3];
51} TSNode;
52
53typedef struct {
54 TSSymbol value;
55 bool done;
56 void *data;
57} TSSymbolIterator;
58
59size_t ts_node_start_char(TSNode);
60size_t ts_node_start_byte(TSNode);
61TSPoint ts_node_start_point(TSNode);
62size_t ts_node_end_char(TSNode);
63size_t ts_node_end_byte(TSNode);
64TSPoint ts_node_end_point(TSNode);
65TSSymbol ts_node_symbol(TSNode);
66TSSymbolIterator ts_node_symbols(TSNode);
67void ts_symbol_iterator_next(TSSymbolIterator *);
68const char *ts_node_name(TSNode, const TSDocument *);
69char *ts_node_string(TSNode, const TSDocument *);
70bool ts_node_eq(TSNode, TSNode);
71bool ts_node_is_named(TSNode);
72bool ts_node_has_changes(TSNode);
73TSNode ts_node_parent(TSNode);
74TSNode ts_node_child(TSNode, size_t);
75TSNode ts_node_named_child(TSNode, size_t);
76size_t ts_node_child_count(TSNode);
77size_t ts_node_named_child_count(TSNode);
78TSNode ts_node_next_sibling(TSNode);
79TSNode ts_node_next_named_sibling(TSNode);
80TSNode ts_node_prev_sibling(TSNode);
81TSNode ts_node_prev_named_sibling(TSNode);
82TSNode ts_node_descendant_for_range(TSNode, size_t, size_t);
83TSNode ts_node_named_descendant_for_range(TSNode, size_t, size_t);
84
85TSDocument *ts_document_make();
86void ts_document_free(TSDocument *);
87const TSLanguage *ts_document_language(TSDocument *);
88void ts_document_set_language(TSDocument *, const TSLanguage *);
89TSInput ts_document_input(TSDocument *);
90void ts_document_set_input(TSDocument *, TSInput);
91void ts_document_set_input_string(TSDocument *, const char *);
92TSDebugger ts_document_debugger(const TSDocument *);
93void ts_document_set_debugger(TSDocument *, TSDebugger);
94void ts_document_print_debugging_graphs(TSDocument *, bool);
95void ts_document_edit(TSDocument *, TSInputEdit);
96int ts_document_parse(TSDocument *);
97void ts_document_invalidate(TSDocument *);
98TSNode ts_document_root_node(const TSDocument *);
99size_t ts_document_parse_count(const TSDocument *);
100
101size_t ts_language_symbol_count(const TSLanguage *);
102const char *ts_language_symbol_name(const TSLanguage *, TSSymbol);
103
104#define ts_builtin_sym_error ((TSSymbol)-1)
105#define ts_builtin_sym_end 0
106#define ts_builtin_sym_start 1
107
108#ifdef __cplusplus
109}
110#endif
111
112#endif // TREE_SITTER_RUNTIME_H_