[tokenization] tokenized string with source
This commit is contained in:
@@ -19,6 +19,12 @@ tokenized_string_t *tokenized_string_new_size(size_t len, size_t num_tokens) {
|
|||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline tokenized_string_t *tokenized_string_new_from_str_size(char *src, size_t len, size_t num_tokens) {
|
||||||
|
tokenized_string_t *self = tokenized_string_new_size(len, num_tokens);
|
||||||
|
self->str = src;
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void tokenized_string_add_token(tokenized_string_t *self, const char *src, size_t len, uint16_t token_type, size_t position) {
|
void tokenized_string_add_token(tokenized_string_t *self, const char *src, size_t len, uint16_t token_type, size_t position) {
|
||||||
char *ptr = (char *) (src + position);
|
char *ptr = (char *) (src + position);
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ typedef struct tokenized_string {
|
|||||||
|
|
||||||
tokenized_string_t *tokenized_string_new(void);
|
tokenized_string_t *tokenized_string_new(void);
|
||||||
tokenized_string_t *tokenized_string_new_size(size_t len, size_t num_tokens);
|
tokenized_string_t *tokenized_string_new_size(size_t len, size_t num_tokens);
|
||||||
|
tokenized_string_t *tokenized_string_new_from_str_size(char *src, size_t len, size_t num_tokens);
|
||||||
tokenized_string_t *tokenized_string_from_tokens(char *src, token_array *tokens, bool copy_tokens);
|
tokenized_string_t *tokenized_string_from_tokens(char *src, token_array *tokens, bool copy_tokens);
|
||||||
void tokenized_string_add_token(tokenized_string_t *self, const char *src, size_t len, uint16_t token_type, size_t position);
|
void tokenized_string_add_token(tokenized_string_t *self, const char *src, size_t len, uint16_t token_type, size_t position);
|
||||||
char *tokenized_string_get_token(tokenized_string_t *self, uint32_t index);
|
char *tokenized_string_get_token(tokenized_string_t *self, uint32_t index);
|
||||||
|
|||||||
Reference in New Issue
Block a user