7#ifndef LEXBOR_CSS_SYNTAX_TOKEN_H
8#define LEXBOR_CSS_SYNTAX_TOKEN_H
20#define lxb_css_syntax_token_base(token) ((lxb_css_syntax_token_base_t *) (token))
21#define lxb_css_syntax_token_ident(token) ((lxb_css_syntax_token_ident_t *) (token))
22#define lxb_css_syntax_token_function(token) ((lxb_css_syntax_token_function_t *) (token))
23#define lxb_css_syntax_token_at_keyword(token) ((lxb_css_syntax_token_at_keyword_t *) (token))
24#define lxb_css_syntax_token_hash(token) ((lxb_css_syntax_token_hash_t *) (token))
25#define lxb_css_syntax_token_string(token) ((lxb_css_syntax_token_string_t *) (token))
26#define lxb_css_syntax_token_bad_string(token) ((lxb_css_syntax_token_bad_string_t *) (token))
27#define lxb_css_syntax_token_url(token) ((lxb_css_syntax_token_url_t *) (token))
28#define lxb_css_syntax_token_bad_url(token) ((lxb_css_syntax_token_bad_url_t *) (token))
29#define lxb_css_syntax_token_delim(token) ((lxb_css_syntax_token_delim_t *) (token))
30#define lxb_css_syntax_token_delim_char(token) (((lxb_css_syntax_token_delim_t *) (token))->character)
31#define lxb_css_syntax_token_number(token) ((lxb_css_syntax_token_number_t *) (token))
32#define lxb_css_syntax_token_percentage(token) ((lxb_css_syntax_token_percentage_t *) (token))
33#define lxb_css_syntax_token_dimension(token) ((lxb_css_syntax_token_dimension_t *) (token))
34#define lxb_css_syntax_token_dimension_string(token) (&((lxb_css_syntax_token_dimension_t *) (token))->str)
35#define lxb_css_syntax_token_whitespace(token) ((lxb_css_syntax_token_whitespace_t *) (token))
36#define lxb_css_syntax_token_cdo(token) ((lxb_css_syntax_token_cdo_t *) (token))
37#define lxb_css_syntax_token_cdc(token) ((lxb_css_syntax_token_cdc_t *) (token))
38#define lxb_css_syntax_token_colon(token) ((lxb_css_syntax_token_colon_t *) (token))
39#define lxb_css_syntax_token_semicolon(token) ((lxb_css_syntax_token_semicolon_t *) (token))
40#define lxb_css_syntax_token_comma(token) ((lxb_css_syntax_token_comma_t *) (token))
41#define lxb_css_syntax_token_ls_bracket(token) ((lxb_css_syntax_token_ls_bracket_t *) (token))
42#define lxb_css_syntax_token_rs_bracket(token) ((lxb_css_syntax_token_rs_bracket_t *) (token))
43#define lxb_css_syntax_token_l_parenthesis(token) ((lxb_css_syntax_token_l_parenthesis_t *) (token))
44#define lxb_css_syntax_token_r_parenthesis(token) ((lxb_css_syntax_token_r_parenthesis_t *) (token))
45#define lxb_css_syntax_token_lc_bracket(token) ((lxb_css_syntax_token_lc_bracket_t *) (token))
46#define lxb_css_syntax_token_rc_bracket(token) ((lxb_css_syntax_token_rc_bracket_t *) (token))
47#define lxb_css_syntax_token_comment(token) ((lxb_css_syntax_token_comment_t *) (token))
246 const char *module_name);
count(Countable|array $value, int $mode=COUNT_NORMAL)
struct lxb_css_syntax_token lxb_css_syntax_token_t
struct lxb_css_syntax_tokenizer lxb_css_syntax_tokenizer_t
struct lxb_css_parser lxb_css_parser_t
#define lxb_css_syntax_token_number(token)
LXB_API lxb_status_t lxb_css_syntax_token_string_make(lxb_css_syntax_tokenizer_t *tkz, lxb_css_syntax_token_t *token)
LXB_API lxb_css_syntax_token_type_t lxb_css_syntax_token_type_noi(lxb_css_syntax_token_t *token)
lxb_css_syntax_token_base_t lxb_css_syntax_token_r_parenthesis_t
lxb_css_syntax_token_string_t lxb_css_syntax_token_ident_t
LXB_API lxb_css_syntax_token_type_t lxb_css_syntax_token_type_id_by_name(const lxb_char_t *type_name, size_t len)
lxb_css_syntax_token_base_t lxb_css_syntax_token_cdc_t
LXB_API lxb_char_t * lxb_css_syntax_token_serialize_char(const lxb_css_syntax_token_t *token, size_t *out_length)
lxb_inline lxb_css_syntax_token_type_t lxb_css_syntax_token_type(const lxb_css_syntax_token_t *token)
struct lxb_css_syntax_token_dimension lxb_css_syntax_token_dimension_t
LXB_API void lxb_css_syntax_token_clean_noi(lxb_css_syntax_token_t *token)
struct lxb_css_syntax_token_number lxb_css_syntax_token_number_t
struct lxb_css_syntax_token_data lxb_css_syntax_token_data_t
lxb_inline lxb_css_syntax_token_t * lxb_css_syntax_token_wo_ws(lxb_css_syntax_tokenizer_t *tkz)
lxb_inline lxb_css_syntax_token_t * lxb_css_syntax_token_create(lexbor_dobject_t *dobj)
LXB_API lxb_status_t lxb_css_syntax_token_string_dup(lxb_css_syntax_token_string_t *token, lexbor_str_t *str, lexbor_mraw_t *mraw)
lxb_css_syntax_token_string_t lxb_css_syntax_token_at_keyword_t
struct lxb_css_syntax_token_delim lxb_css_syntax_token_delim_t
lxb_css_syntax_token_base_t lxb_css_syntax_token_comma_t
lxb_css_syntax_token_string_t lxb_css_syntax_token_whitespace_t
struct lxb_css_syntax_token_base lxb_css_syntax_token_base_t
lxb_inline lxb_css_syntax_token_t * lxb_css_syntax_token_destroy(lxb_css_syntax_token_t *token, lexbor_dobject_t *dobj)
LXB_API lxb_css_syntax_token_t * lxb_css_syntax_token_destroy_noi(lxb_css_syntax_token_t *token, lexbor_dobject_t *dobj)
LXB_API lxb_css_log_message_t * lxb_css_syntax_token_error(lxb_css_parser_t *parser, const lxb_css_syntax_token_t *token, const char *module_name)
#define lxb_css_syntax_token_string(token)
LXB_API lxb_status_t lxb_css_syntax_token_serialize_str(const lxb_css_syntax_token_t *token, lexbor_str_t *str, lexbor_mraw_t *mraw)
lxb_status_t(* lxb_css_syntax_token_cb_f)(const lxb_char_t *data, size_t len, void *ctx)
lxb_css_syntax_token_base_t lxb_css_syntax_token_cdo_t
#define lxb_css_syntax_token_base(token)
lxb_css_syntax_token_base_t lxb_css_syntax_token_terminated_t
lxb_css_syntax_token_base_t lxb_css_syntax_token_colon_t
LXB_API const lxb_char_t * lxb_css_syntax_token_type_name_noi(lxb_css_syntax_token_t *token)
lxb_css_syntax_token_string_t lxb_css_syntax_token_bad_url_t
lxb_css_syntax_token_string_t lxb_css_syntax_token_hash_t
lxb_css_syntax_token_string_t lxb_css_syntax_token_bad_string_t
lxb_css_syntax_token_base_t lxb_css_syntax_token_lc_bracket_t
lxb_css_syntax_token_base_t lxb_css_syntax_token_ls_bracket_t
LXB_API lxb_css_syntax_token_t * lxb_css_syntax_token(lxb_css_syntax_tokenizer_t *tkz)
LXB_API lxb_css_syntax_token_t * lxb_css_syntax_token_cached_create(lxb_css_syntax_tokenizer_t *tkz)
lxb_css_syntax_token_base_t lxb_css_syntax_token_rc_bracket_t
LXB_API lxb_css_syntax_token_t * lxb_css_syntax_token_create_noi(lexbor_dobject_t *dobj)
lxb_inline const lxb_char_t * lxb_css_syntax_token_type_name(const lxb_css_syntax_token_t *token)
lxb_css_syntax_token_type_t
@ LXB_CSS_SYNTAX_TOKEN_FUNCTION
@ LXB_CSS_SYNTAX_TOKEN_LS_BRACKET
@ LXB_CSS_SYNTAX_TOKEN_BAD_URL
@ LXB_CSS_SYNTAX_TOKEN_RC_BRACKET
@ LXB_CSS_SYNTAX_TOKEN__EOF
@ LXB_CSS_SYNTAX_TOKEN_NUMBER
@ LXB_CSS_SYNTAX_TOKEN_BAD_STRING
@ LXB_CSS_SYNTAX_TOKEN__LAST_ENTRY
@ LXB_CSS_SYNTAX_TOKEN_CDO
@ LXB_CSS_SYNTAX_TOKEN_COMMA
@ LXB_CSS_SYNTAX_TOKEN_CDC
@ LXB_CSS_SYNTAX_TOKEN_DELIM
@ LXB_CSS_SYNTAX_TOKEN_COLON
@ LXB_CSS_SYNTAX_TOKEN_UNDEF
@ LXB_CSS_SYNTAX_TOKEN_DIMENSION
@ LXB_CSS_SYNTAX_TOKEN__TERMINATED
@ LXB_CSS_SYNTAX_TOKEN_RS_BRACKET
@ LXB_CSS_SYNTAX_TOKEN_AT_KEYWORD
@ LXB_CSS_SYNTAX_TOKEN_STRING
@ LXB_CSS_SYNTAX_TOKEN_URL
@ LXB_CSS_SYNTAX_TOKEN_IDENT
@ LXB_CSS_SYNTAX_TOKEN_WHITESPACE
@ LXB_CSS_SYNTAX_TOKEN_LC_BRACKET
@ LXB_CSS_SYNTAX_TOKEN_L_PARENTHESIS
@ LXB_CSS_SYNTAX_TOKEN_HASH
@ LXB_CSS_SYNTAX_TOKEN_PERCENTAGE
@ LXB_CSS_SYNTAX_TOKEN_COMMENT
@ LXB_CSS_SYNTAX_TOKEN_R_PARENTHESIS
@ LXB_CSS_SYNTAX_TOKEN_SEMICOLON
@ LXB_CSS_SYNTAX_TOKEN__END
lxb_inline void lxb_css_syntax_token_clean(lxb_css_syntax_token_t *token)
lxb_css_syntax_token_base_t lxb_css_syntax_token_semicolon_t
#define lxb_css_syntax_token_dimension(token)
lxb_css_syntax_token_string_t lxb_css_syntax_token_comment_t
LXB_API void lxb_css_syntax_token_consume_n(lxb_css_syntax_tokenizer_t *tkz, unsigned count)
#define lxb_css_syntax_token_delim(token)
lxb_css_syntax_token_base_t lxb_css_syntax_token_rs_bracket_t
lxb_css_syntax_token_string_t lxb_css_syntax_token_url_t
struct lxb_css_syntax_token_string lxb_css_syntax_token_string_t
LXB_API void lxb_css_syntax_token_consume(lxb_css_syntax_tokenizer_t *tkz)
LXB_API void lxb_css_syntax_token_string_free(lxb_css_syntax_tokenizer_t *tkz, lxb_css_syntax_token_t *token)
const lxb_char_t *(* lxb_css_syntax_token_data_cb_f)(const lxb_char_t *begin, const lxb_char_t *end, lexbor_str_t *str, lexbor_mraw_t *mraw, lxb_css_syntax_token_data_t *td)
lxb_css_syntax_token_string_t lxb_css_syntax_token_function_t
LXB_API const lxb_char_t * lxb_css_syntax_token_type_name_by_id(lxb_css_syntax_token_type_t type)
LXB_API lxb_status_t lxb_css_syntax_token_serialize(const lxb_css_syntax_token_t *token, lxb_css_syntax_token_cb_f cb, void *ctx)
LXB_API lxb_css_syntax_token_t * lxb_css_syntax_token_next(lxb_css_syntax_tokenizer_t *tkz)
lxb_css_syntax_token_number_t lxb_css_syntax_token_percentage_t
lxb_css_syntax_token_base_t lxb_css_syntax_token_l_parenthesis_t
void * lexbor_dobject_calloc(lexbor_dobject_t *dobject)
void * lexbor_dobject_free(lexbor_dobject_t *dobject, void *data)
memset(ptr, 0, type->size)
unsigned const char * end
lxb_css_syntax_token_data_cb_f cb
lxb_css_syntax_token_base_t base
lxb_css_syntax_token_number_t num
lxb_css_syntax_token_string_t str
lxb_css_syntax_token_base_t base
lxb_css_syntax_token_base_t base
lxb_css_syntax_token_type_t type
union lxb_css_syntax_token::lxb_css_syntax_token_u types
unsigned int lxb_status_t
lxb_css_syntax_token_cdc_t cdc
lxb_css_syntax_token_url_t url
lxb_css_syntax_token_delim_t delim
lxb_css_syntax_token_terminated_t terminated
lxb_css_syntax_token_ident_t ident
lxb_css_syntax_token_number_t number
lxb_css_syntax_token_base_t base
lxb_css_syntax_token_bad_string_t bad_string
lxb_css_syntax_token_bad_url_t bad_url
lxb_css_syntax_token_hash_t hash
lxb_css_syntax_token_whitespace_t whitespace
lxb_css_syntax_token_comment_t comment
lxb_css_syntax_token_dimension_t dimension
lxb_css_syntax_token_l_parenthesis_t lparenthesis
lxb_css_syntax_token_r_parenthesis_t rparenthesis
lxb_css_syntax_token_percentage_t percentage
lxb_css_syntax_token_string_t string
lxb_css_syntax_token_at_keyword_t at_keyword
lxb_css_syntax_token_function_t function