php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
tokenizer.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018-2020 Alexander Borisov
3 *
4 * Author: Alexander Borisov <borisov@lexbor.com>
5 */
6
7#ifndef LEXBOR_CSS_SYNTAX_TOKENIZER_H
8#define LEXBOR_CSS_SYNTAX_TOKENIZER_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
15
18
19
20/* State */
21typedef const lxb_char_t *
22(*lxb_css_syntax_tokenizer_state_f)(lxb_css_syntax_tokenizer_t *tkz,
24 const lxb_char_t *data, const lxb_char_t *end);
25
28 const lxb_char_t **data,
29 const lxb_char_t **end, void *ctx);
30
31
35
36typedef struct {
38 size_t size;
39 size_t length;
40}
42
75
76
79
82
85
88
91 const lxb_char_t **data, const lxb_char_t **end);
92
93LXB_API bool
95
96LXB_API bool
99 const lxb_char_t stop_ch);
100
101LXB_API bool
104 const lxb_char_t stop_ch);
105
106/*
107 * Inline functions
108 */
114
115lxb_inline void
123
124lxb_inline void
131
132
133/*
134 * No inline functions for ABI.
135 */
138
139
140#ifdef __cplusplus
141} /* extern "C" */
142#endif
143
144#endif /* LEXBOR_CSS_SYNTAX_TOKENIZER_H */
char * cb
Definition assert.c:26
struct lxb_css_syntax_token lxb_css_syntax_token_t
Definition base.h:46
struct lxb_css_syntax_tokenizer lxb_css_syntax_tokenizer_t
Definition base.h:45
struct lxb_css_syntax_token_data lxb_css_syntax_token_data_t
Definition token.h:50
lxb_css_syntax_token_type_t
Definition token.h:68
lxb_inline void lxb_css_syntax_tokenizer_chunk_cb_set(lxb_css_syntax_tokenizer_t *tkz, lxb_css_syntax_tokenizer_chunk_f cb, void *ctx)
Definition tokenizer.h:116
lxb_status_t(* lxb_css_syntax_tokenizer_chunk_f)(lxb_css_syntax_tokenizer_t *tkz, const lxb_char_t **data, const lxb_char_t **end, void *ctx)
Definition tokenizer.h:27
LXB_API lxb_status_t lxb_css_syntax_tokenizer_init(lxb_css_syntax_tokenizer_t *tkz)
Definition tokenizer.c:71
LXB_API lxb_status_t lxb_css_syntax_tokenizer_clean(lxb_css_syntax_tokenizer_t *tkz)
Definition tokenizer.c:136
lxb_css_syntax_tokenizer_opt
Definition tokenizer.h:32
@ LXB_CSS_SYNTAX_TOKENIZER_OPT_UNDEF
Definition tokenizer.h:33
LXB_API lxb_css_syntax_tokenizer_t * lxb_css_syntax_tokenizer_create(void)
Definition tokenizer.c:65
LXB_API bool lxb_css_syntax_tokenizer_lookup_colon(lxb_css_syntax_tokenizer_t *tkz)
Definition tokenizer.c:424
LXB_API lxb_status_t lxb_css_syntax_tokenizer_next_chunk(lxb_css_syntax_tokenizer_t *tkz, const lxb_char_t **data, const lxb_char_t **end)
Definition tokenizer.c:392
lxb_inline void lxb_css_syntax_tokenizer_buffer_set(lxb_css_syntax_tokenizer_t *tkz, const lxb_char_t *data, size_t size)
Definition tokenizer.h:125
LXB_API lxb_css_syntax_tokenizer_t * lxb_css_syntax_tokenizer_destroy(lxb_css_syntax_tokenizer_t *tkz)
Definition tokenizer.c:157
LXB_API bool lxb_css_syntax_tokenizer_lookup_declaration_ws_end(lxb_css_syntax_tokenizer_t *tkz, lxb_css_syntax_token_type_t stop, const lxb_char_t stop_ch)
Definition tokenizer.c:649
LXB_API lxb_status_t lxb_css_syntax_tokenizer_status_noi(lxb_css_syntax_tokenizer_t *tkz)
Definition tokenizer.c:706
LXB_API bool lxb_css_syntax_tokenizer_lookup_important(lxb_css_syntax_tokenizer_t *tkz, lxb_css_syntax_token_type_t stop, const lxb_char_t stop_ch)
Definition tokenizer.c:486
lxb_inline lxb_status_t lxb_css_syntax_tokenizer_status(lxb_css_syntax_tokenizer_t *tkz)
Definition tokenizer.h:110
#define LXB_API
Definition def.h:48
new_type size
Definition ffi.c:4365
unsigned const char * end
Definition php_ffi.h:51
zend_constant * data
lxb_css_syntax_token_t ** list
Definition tokenizer.h:37
const lxb_char_t * end
Definition tokenizer.h:65
lexbor_array_obj_t * parse_errors
Definition tokenizer.h:47
lexbor_mraw_t * mraw
Definition tokenizer.h:57
const lxb_char_t * in_begin
Definition tokenizer.h:49
lxb_char_t buffer[128]
Definition tokenizer.h:66
lxb_css_syntax_token_data_t token_data
Definition tokenizer.h:67
lexbor_dobject_t * tokens
Definition tokenizer.h:45
lxb_css_syntax_tokenizer_cache_t * cache
Definition tokenizer.h:44
const lxb_char_t * begin
Definition tokenizer.h:51
const lxb_char_t * in_end
Definition tokenizer.h:50
lxb_css_syntax_tokenizer_chunk_f chunk_cb
Definition tokenizer.h:59
unsigned int lxb_status_t
Definition types.h:28
#define lxb_inline
Definition types.h:21
unsigned char lxb_char_t
Definition types.h:27