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; } |