summaryrefslogtreecommitdiff
path: root/vendor/tree-sitter-cuda/src/tree_sitter/runtime.h
diff options
context:
space:
mode:
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 @@
+#ifndef TREE_SITTER_RUNTIME_H_
+#define TREE_SITTER_RUNTIME_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdlib.h>
+#include <stdbool.h>
+
+typedef unsigned short TSSymbol;
+typedef struct TSLanguage TSLanguage;
+typedef struct TSDocument TSDocument;
+
+typedef enum {
+ TSInputEncodingUTF8,
+ TSInputEncodingUTF16,
+} TSInputEncoding;
+
+typedef struct {
+ void *payload;
+ const char *(*read_fn)(void *payload, size_t *bytes_read);
+ int (*seek_fn)(void *payload, size_t character, size_t byte);
+ TSInputEncoding encoding;
+} TSInput;
+
+typedef enum {
+ TSDebugTypeParse,
+ TSDebugTypeLex,
+} TSDebugType;
+
+typedef struct {
+ void *payload;
+ void (*debug_fn)(void *payload, TSDebugType, const char *);
+} TSDebugger;
+
+typedef struct {
+ size_t position;
+ size_t chars_inserted;
+ size_t chars_removed;
+} TSInputEdit;
+
+typedef struct {
+ size_t row;
+ size_t column;
+} TSPoint;
+
+typedef struct {
+ const void *data;
+ size_t offset[3];
+} TSNode;
+
+typedef struct {
+ TSSymbol value;
+ bool done;
+ void *data;
+} TSSymbolIterator;
+
+size_t ts_node_start_char(TSNode);
+size_t ts_node_start_byte(TSNode);
+TSPoint ts_node_start_point(TSNode);
+size_t ts_node_end_char(TSNode);
+size_t ts_node_end_byte(TSNode);
+TSPoint ts_node_end_point(TSNode);
+TSSymbol ts_node_symbol(TSNode);
+TSSymbolIterator ts_node_symbols(TSNode);
+void ts_symbol_iterator_next(TSSymbolIterator *);
+const char *ts_node_name(TSNode, const TSDocument *);
+char *ts_node_string(TSNode, const TSDocument *);
+bool ts_node_eq(TSNode, TSNode);
+bool ts_node_is_named(TSNode);
+bool ts_node_has_changes(TSNode);
+TSNode ts_node_parent(TSNode);
+TSNode ts_node_child(TSNode, size_t);
+TSNode ts_node_named_child(TSNode, size_t);
+size_t ts_node_child_count(TSNode);
+size_t ts_node_named_child_count(TSNode);
+TSNode ts_node_next_sibling(TSNode);
+TSNode ts_node_next_named_sibling(TSNode);
+TSNode ts_node_prev_sibling(TSNode);
+TSNode ts_node_prev_named_sibling(TSNode);
+TSNode ts_node_descendant_for_range(TSNode, size_t, size_t);
+TSNode ts_node_named_descendant_for_range(TSNode, size_t, size_t);
+
+TSDocument *ts_document_make();
+void ts_document_free(TSDocument *);
+const TSLanguage *ts_document_language(TSDocument *);
+void ts_document_set_language(TSDocument *, const TSLanguage *);
+TSInput ts_document_input(TSDocument *);
+void ts_document_set_input(TSDocument *, TSInput);
+void ts_document_set_input_string(TSDocument *, const char *);
+TSDebugger ts_document_debugger(const TSDocument *);
+void ts_document_set_debugger(TSDocument *, TSDebugger);
+void ts_document_print_debugging_graphs(TSDocument *, bool);
+void ts_document_edit(TSDocument *, TSInputEdit);
+int ts_document_parse(TSDocument *);
+void ts_document_invalidate(TSDocument *);
+TSNode ts_document_root_node(const TSDocument *);
+size_t ts_document_parse_count(const TSDocument *);
+
+size_t ts_language_symbol_count(const TSLanguage *);
+const char *ts_language_symbol_name(const TSLanguage *, TSSymbol);
+
+#define ts_builtin_sym_error ((TSSymbol)-1)
+#define ts_builtin_sym_end 0
+#define ts_builtin_sym_start 1
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // TREE_SITTER_RUNTIME_H_