Class: TreeSitter::Parser
- Inherits:
-
Object
- Object
- TreeSitter::Parser
- Defined in:
- ext/tree_sitter/parser.c
Instance Method Summary collapse
-
#parse(old_tree, input) ⇒ Object
Class methods.
- #parse_string(old_tree, string) ⇒ Object
- #parse_string_encoding(old_tree, string, encoding) ⇒ Object
- #print_dot_graphs(file) ⇒ Object
- #reset ⇒ Object
Instance Method Details
#parse(old_tree, input) ⇒ Object
Class methods
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'ext/tree_sitter/parser.c', line 105
static VALUE parser_parse(VALUE self, VALUE old_tree, VALUE input) {
if (NIL_P(input)) {
return Qnil;
}
TSTree *tree = NULL;
if (!NIL_P(old_tree)) {
tree = value_to_tree(old_tree);
}
TSTree *ret = ts_parser_parse(SELF, tree, value_to_input(input));
if (ret == NULL) {
return Qnil;
} else {
return new_tree(ret);
}
}
|
#parse_string(old_tree, string) ⇒ Object
123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'ext/tree_sitter/parser.c', line 123
static VALUE parser_parse_string(VALUE self, VALUE old_tree, VALUE string) {
if (NIL_P(string)) {
return Qnil;
}
const char *str = StringValuePtr(string);
uint32_t len = (uint32_t)RSTRING_LEN(string);
TSTree *tree = NULL;
if (!NIL_P(old_tree)) {
tree = value_to_tree(old_tree);
}
TSTree *ret = ts_parser_parse_string(SELF, tree, str, len);
if (ret == NULL) {
return Qnil;
} else {
return new_tree(ret);
}
}
|
#parse_string_encoding(old_tree, string, encoding) ⇒ Object
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
# File 'ext/tree_sitter/parser.c', line 143
static VALUE parser_parse_string_encoding(VALUE self, VALUE old_tree,
VALUE string, VALUE encoding) {
if (NIL_P(string)) {
return Qnil;
}
const char *str = StringValuePtr(string);
uint32_t len = (uint32_t)RSTRING_LEN(string);
TSTree *tree = NULL;
if (!NIL_P(old_tree)) {
tree = value_to_tree(old_tree);
}
TSTree *ret = ts_parser_parse_string_encoding(SELF, tree, str, len,
value_to_encoding(encoding));
if (ret == NULL) {
return Qnil;
} else {
return new_tree(ret);
}
}
|
#print_dot_graphs(file) ⇒ Object
171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'ext/tree_sitter/parser.c', line 171
static VALUE parser_print_dot_graphs(VALUE self, VALUE file) {
if (NIL_P(file)) {
ts_parser_print_dot_graphs(SELF, -1);
} else if (rb_integer_type_p(file) && NUM2INT(file) < 0) {
ts_parser_print_dot_graphs(SELF, NUM2INT(file));
} else {
Check_Type(file, T_STRING);
char *path = StringValueCStr(file);
int fd = open(path, O_WRONLY | O_CREAT | O_TRUNC,
0644); // 0644 = all read + user write
ts_parser_print_dot_graphs(SELF, fd);
}
return Qnil;
}
|
#reset ⇒ Object
166 167 168 169 |
# File 'ext/tree_sitter/parser.c', line 166 static VALUE parser_reset(VALUE self) { ts_parser_reset(SELF); return Qnil; } |