Lines Matching refs:parser

21 #define lxb_css_parser_token_m(parser, token)                                  \  argument
23 token = lxb_css_syntax_parser_token(parser); \
25 return lxb_css_parser_fail((parser), (parser)->tkz->status); \
30 #define lxb_css_parser_token_next_m(parser, token) \ argument
32 token = lxb_css_syntax_token_next((parser)->tkz); \
34 return lxb_css_parser_fail((parser), (parser)->tkz->status); \
39 #define lxb_css_parser_token_wo_ws_m(parser, token) \ argument
41 token = lxb_css_syntax_parser_token(parser); \
43 return lxb_css_parser_fail((parser), (parser)->tkz->status); \
47 lxb_css_syntax_parser_consume(parser); \
48 token = lxb_css_syntax_parser_token(parser); \
50 return lxb_css_parser_fail((parser), (parser)->tkz->status); \
56 #define lxb_css_parser_token_status_m(parser, token) \ argument
58 if ((token = lxb_css_syntax_parser_token(parser)) == NULL) { \
59 return parser->tkz->status; \
64 #define lxb_css_parser_token_status_next_m(parser, token) \ argument
66 token = lxb_css_syntax_token_next((parser)->tkz); \
68 return parser->tkz->status; \
74 #define lxb_css_parser_token_status_wo_ws_m(parser, token) \ argument
76 if ((token = lxb_css_syntax_parser_token(parser)) == NULL) { \
77 return parser->tkz->status; \
81 lxb_css_syntax_parser_consume(parser); \
82 if ((token = lxb_css_syntax_parser_token(parser)) == NULL) { \
83 return parser->tkz->status; \
89 #define lxb_css_parser_string_dup_m(parser, token, _str, mraw) \ argument
94 return lxb_css_parser_fail((parser), \
195 lxb_css_parser_init(lxb_css_parser_t *parser, lxb_css_syntax_tokenizer_t *tkz);
198 lxb_css_parser_clean(lxb_css_parser_t *parser);
201 lxb_css_parser_erase(lxb_css_parser_t *parser);
204 lxb_css_parser_destroy(lxb_css_parser_t *parser, bool self_destroy);
207 lxb_css_parser_states_push(lxb_css_parser_t *parser,
212 lxb_css_parser_states_next(lxb_css_parser_t *parser,
217 lxb_css_parser_types_push(lxb_css_parser_t *parser,
221 lxb_css_parser_stop(lxb_css_parser_t *parser);
224 lxb_css_parser_fail(lxb_css_parser_t *parser, lxb_status_t status);
227 lxb_css_parser_unexpected(lxb_css_parser_t *parser);
230 lxb_css_parser_success(lxb_css_parser_t *parser);
233 lxb_css_parser_failed(lxb_css_parser_t *parser);
236 lxb_css_parser_unexpected_status(lxb_css_parser_t *parser);
239 lxb_css_parser_unexpected_data(lxb_css_parser_t *parser,
243 lxb_css_parser_unexpected_data_status(lxb_css_parser_t *parser,
247 lxb_css_parser_memory_fail(lxb_css_parser_t *parser);
250 lxb_css_parser_memory_fail_status(lxb_css_parser_t *parser);
256 lxb_css_parser_status(lxb_css_parser_t *parser) in lxb_css_parser_status() argument
258 return parser->status; in lxb_css_parser_status()
262 lxb_css_parser_memory(lxb_css_parser_t *parser) in lxb_css_parser_memory() argument
264 return parser->memory; in lxb_css_parser_memory()
268 lxb_css_parser_memory_set(lxb_css_parser_t *parser, lxb_css_memory_t *memory) in lxb_css_parser_memory_set() argument
270 parser->memory = memory; in lxb_css_parser_memory_set()
274 lxb_css_parser_selectors(lxb_css_parser_t *parser) in lxb_css_parser_selectors() argument
276 return parser->selectors; in lxb_css_parser_selectors()
280 lxb_css_parser_selectors_set(lxb_css_parser_t *parser, in lxb_css_parser_selectors_set() argument
283 parser->selectors = selectors; in lxb_css_parser_selectors_set()
287 lxb_css_parser_is_running(lxb_css_parser_t *parser) in lxb_css_parser_is_running() argument
289 return parser->stage == LXB_CSS_PARSER_RUN; in lxb_css_parser_is_running()
293 lxb_css_parser_status_is_unexpected_data(lxb_css_parser_t *parser) in lxb_css_parser_status_is_unexpected_data() argument
295 return parser->status == LXB_STATUS_ERROR_UNEXPECTED_DATA; in lxb_css_parser_status_is_unexpected_data()
299 lxb_css_parser_failed_set(lxb_css_parser_t *parser, bool is) in lxb_css_parser_failed_set() argument
301 parser->rules->failed = is; in lxb_css_parser_failed_set()
305 lxb_css_parser_failed_set_by_id(lxb_css_parser_t *parser, int idx, bool is) in lxb_css_parser_failed_set_by_id() argument
307 lxb_css_syntax_rule_t *rules = parser->rules + idx; in lxb_css_parser_failed_set_by_id()
309 if (rules > parser->rules_begin && rules < parser->rules_end) { in lxb_css_parser_failed_set_by_id()
315 lxb_css_parser_is_failed(lxb_css_parser_t *parser) in lxb_css_parser_is_failed() argument
317 return parser->rules->failed; in lxb_css_parser_is_failed()
321 lxb_css_parser_set_ok(lxb_css_parser_t *parser) in lxb_css_parser_set_ok() argument
323 parser->rules->failed = false; in lxb_css_parser_set_ok()
324 parser->status = LXB_STATUS_OK; in lxb_css_parser_set_ok()
328 lxb_css_parser_buffer(lxb_css_parser_t *parser, size_t *length) in lxb_css_parser_buffer() argument
331 *length = parser->tkz->in_end - parser->tkz->in_begin; in lxb_css_parser_buffer()
334 return parser->tkz->in_begin; in lxb_css_parser_buffer()
338 lxb_css_parser_buffer_set(lxb_css_parser_t *parser, in lxb_css_parser_buffer_set() argument
341 lxb_css_syntax_tokenizer_buffer_set(parser->tkz, data, length); in lxb_css_parser_buffer_set()
345 lxb_css_parser_state(lxb_css_parser_t *parser) in lxb_css_parser_state() argument
347 return parser->rules->state; in lxb_css_parser_state()
351 lxb_css_parser_state_set(lxb_css_parser_t *parser, lxb_css_parser_state_f state) in lxb_css_parser_state_set() argument
353 parser->rules->state = state; in lxb_css_parser_state_set()
357 lxb_css_parser_state_block_set(lxb_css_parser_t *parser, in lxb_css_parser_state_block_set() argument
360 parser->block = state; in lxb_css_parser_state_block_set()
364 lxb_css_parser_state_value_set(lxb_css_parser_t *parser, in lxb_css_parser_state_value_set() argument
367 lxb_css_parser_state_block_set(parser, state); in lxb_css_parser_state_value_set()
371 lxb_css_parser_context(lxb_css_parser_t *parser) in lxb_css_parser_context() argument
373 return parser->context; in lxb_css_parser_context()
377 lxb_css_parser_context_set(lxb_css_parser_t *parser, void *context) in lxb_css_parser_context_set() argument
379 parser->context = context; in lxb_css_parser_context_set()
383 lxb_css_parser_current_rule(lxb_css_parser_t *parser) in lxb_css_parser_current_rule() argument
385 return parser->rules; in lxb_css_parser_current_rule()
389 lxb_css_parser_rule_deep(lxb_css_parser_t *parser) in lxb_css_parser_rule_deep() argument
391 return parser->rules->deep; in lxb_css_parser_rule_deep()
395 lxb_css_parser_states_pop(lxb_css_parser_t *parser) in lxb_css_parser_states_pop() argument
397 return parser->states--; in lxb_css_parser_states_pop()
401 lxb_css_parser_states_to_root(lxb_css_parser_t *parser) in lxb_css_parser_states_to_root() argument
403 lxb_css_parser_state_t *entry = parser->states; in lxb_css_parser_states_to_root()
409 parser->states = entry; in lxb_css_parser_states_to_root()
415 lxb_css_parser_states_set_back(lxb_css_parser_t *parser) in lxb_css_parser_states_set_back() argument
417 const lxb_css_parser_state_t *entry = parser->states; in lxb_css_parser_states_set_back()
418 lxb_css_syntax_rule_t *rules = parser->rules; in lxb_css_parser_states_set_back()
427 lxb_css_parser_states_change_back(lxb_css_parser_t *parser, in lxb_css_parser_states_change_back() argument
430 parser->rules->state_back = state; in lxb_css_parser_states_change_back()
434 lxb_css_parser_states_clean(lxb_css_parser_t *parser) in lxb_css_parser_states_clean() argument
436 parser->states = parser->states_begin; in lxb_css_parser_states_clean()
440 lxb_css_parser_states_current(lxb_css_parser_t *parser) in lxb_css_parser_states_current() argument
442 return parser->states; in lxb_css_parser_states_current()
454 lxb_css_parser_states_up(lxb_css_parser_t *parser) in lxb_css_parser_states_up() argument
456 parser->states++; in lxb_css_parser_states_up()
460 lxb_css_parser_states_down(lxb_css_parser_t *parser) in lxb_css_parser_states_down() argument
462 parser->states--; in lxb_css_parser_states_down()
466 lxb_css_parser_log(lxb_css_parser_t *parser) in lxb_css_parser_log() argument
468 return parser->log; in lxb_css_parser_log()
472 lxb_css_parser_offset_set(lxb_css_parser_t *parser, in lxb_css_parser_offset_set() argument
475 if (parser->pos == NULL) { in lxb_css_parser_offset_set()
477 parser->pos = parser->tkz->in_begin; in lxb_css_parser_offset_set()
478 parser->offset = 0; in lxb_css_parser_offset_set()
481 parser->pos = lxb_css_syntax_token_base(token)->begin in lxb_css_parser_offset_set()
483 parser->offset = token->offset + lxb_css_syntax_token_base(token)->length; in lxb_css_parser_offset_set()
489 lxb_css_parser_list_rules_offset(lxb_css_parser_t *parser) in lxb_css_parser_list_rules_offset() argument
491 return &parser->rules->u.list_rules; in lxb_css_parser_list_rules_offset()
495 lxb_css_parser_at_rule_offset(lxb_css_parser_t *parser) in lxb_css_parser_at_rule_offset() argument
497 return &parser->rules->u.at_rule; in lxb_css_parser_at_rule_offset()
501 lxb_css_parser_qualified_rule_offset(lxb_css_parser_t *parser) in lxb_css_parser_qualified_rule_offset() argument
503 return &parser->rules->u.qualified; in lxb_css_parser_qualified_rule_offset()
507 lxb_css_parser_declarations_offset(lxb_css_parser_t *parser) in lxb_css_parser_declarations_offset() argument
509 return &parser->rules->u.declarations; in lxb_css_parser_declarations_offset()