Herb C Reference
Loading...
Searching...
No Matches
token.h
Go to the documentation of this file.
1#ifndef HERB_TOKEN_H
2#define HERB_TOKEN_H
3
4#include "lexer_struct.h"
5#include "position.h"
6#include "token_struct.h"
7#include "util/hb_allocator.h"
8#include "util/hb_string.h"
9
10#include <stdarg.h>
11
12token_T* token_init(hb_string_T value, token_type_T type, lexer_T* lexer);
13hb_string_T token_to_string(const token_T* token);
14const char* token_type_to_string(token_type_T type);
17char* token_types_to_friendly_string_valist(token_type_T first_token, va_list args);
18
19#define token_types_to_friendly_string(...) token_types_to_friendly_string_va(__VA_ARGS__, TOKEN_SENTINEL)
20
21token_T* token_copy(token_T* token, hb_allocator_T* allocator);
22
23void token_free(token_T* token, hb_allocator_T* allocator);
24
25bool token_value_empty(const token_T* token);
26
27#endif
Definition lexer_struct.h:17
Definition token_struct.h:57
void token_free(token_T *token, hb_allocator_T *allocator)
Definition token.c:227
const char * token_type_to_string(token_type_T type)
Definition token.c:45
char * token_types_to_friendly_string_va(token_type_T first_token,...)
Definition token.c:154
token_T * token_init(hb_string_T value, token_type_T type, lexer_T *lexer)
Definition token.c:14
token_T * token_copy(token_T *token, hb_allocator_T *allocator)
Definition token.c:198
char * token_types_to_friendly_string_valist(token_type_T first_token, va_list args)
Definition token.c:127
bool token_value_empty(const token_T *token)
Definition token.c:223
const char * token_type_to_friendly_string(token_type_T type)
Definition token.c:86
hb_string_T token_to_string(const token_T *token)
Definition token.c:162
token_type_T
Definition token_struct.h:9