8#ifndef css_css__parse_language_h_
9#define css_css__parse_language_h_
11#include <parserutils/utils/stack.h>
12#include <parserutils/utils/vector.h>
67static inline void consumeWhitespace(
const parserutils_vector *vector, int32_t *ctx)
71 while ((token = parserutils_vector_peek(vector, *ctx)) != NULL &&
73 parserutils_vector_iterate(vector, ctx);
83static inline bool tokenIsChar(
const css_token *token, uint8_t c)
88 lwc_string_length(token->
idata) == 1) {
89 char d = lwc_string_data(token->
idata)[0];
92 if (
'A' <= d && d <=
'Z')
css_error
Definition errors.h:18
css_error css__language_destroy(css_language *language)
Definition language.c:165
css_error css__language_create(css_stylesheet *sheet, css_parser *parser, void **language)
Definition language.c:116
@ CSS_TOKEN_S
Definition lex.h:47
@ CSS_TOKEN_CHAR
Definition lex.h:41
parserutils_stack * context
Definition language.h:36
css_namespace * namespaces
Definition language.h:49
lwc_string * default_namespace
Definition language.h:48
css_stylesheet * sheet
Definition language.h:33
lwc_string ** strings
Definition language.h:46
uint32_t num_namespaces
Definition language.h:50
enum css_language::@10 state
@ NAMESPACE_PERMITTED
Definition language.h:41
@ CHARSET_PERMITTED
Definition language.h:39
@ HAD_RULE
Definition language.h:42
@ IMPORT_PERMITTED
Definition language.h:40
lwc_string * uri
Definition language.h:26
lwc_string * prefix
Definition language.h:25
Definition stylesheet.h:170
lwc_string * idata
Definition lex.h:63
css_token_type type
Definition lex.h:56