Herb C Reference
Loading...
Searching...
No Matches
parser.h
Go to the documentation of this file.
1#ifndef HERB_PARSER_H
2#define HERB_PARSER_H
3
4#include "ast_node.h"
5#include "lexer.h"
6#include "util/hb_array.h"
7
8typedef enum {
12 // FOREIGN_CONTENT_RUBY,
13 // FOREIGN_CONTENT_TEMPLATE
15
17
21
23
32
33size_t parser_sizeof(void);
34
35void herb_parser_init(parser_T* parser, lexer_T* lexer, parser_options_T options);
36
38
40void herb_parser_deinit(parser_T* parser);
41
42void match_tags_in_node_array(hb_array_T* nodes, hb_array_T* errors);
43bool match_tags_visitor(const AST_NODE_T* node, void* data);
44
45#endif
size_t parser_sizeof(void)
Definition parser.c:34
const parser_options_T HERB_DEFAULT_PARSER_OPTIONS
Definition parser.c:32
AST_DOCUMENT_NODE_T * herb_parser_parse(parser_T *parser)
Definition parser.c:1263
bool match_tags_visitor(const AST_NODE_T *node, void *data)
Definition parser_match_tags.c:9
void herb_parser_init(parser_T *parser, lexer_T *lexer, parser_options_T options)
Definition parser.c:38
parser_state_T
Definition parser.h:16
@ PARSER_STATE_FOREIGN_CONTENT
Definition parser.h:16
@ PARSER_STATE_DATA
Definition parser.h:16
void herb_parser_deinit(parser_T *parser)
Definition parser.c:1294
struct PARSER_STRUCT parser_T
struct PARSER_OPTIONS_STRUCT parser_options_T
foreign_content_type_T
Definition parser.h:8
@ FOREIGN_CONTENT_STYLE
Definition parser.h:11
@ FOREIGN_CONTENT_UNKNOWN
Definition parser.h:9
@ FOREIGN_CONTENT_SCRIPT
Definition parser.h:10
void herb_parser_match_html_tags_post_analyze(AST_DOCUMENT_NODE_T *document)
Definition parser.c:1322
void match_tags_in_node_array(hb_array_T *nodes, hb_array_T *errors)
Definition parser.c:1301
Definition ast_nodes.h:61
Definition ast_nodes.h:53
Definition lexer_struct.h:16
Definition parser.h:18
bool track_whitespace
Definition parser.h:19
Definition parser.h:24
foreign_content_type_T foreign_content_type
Definition parser.h:29
parser_state_T state
Definition parser.h:28
parser_options_T options
Definition parser.h:30
lexer_T * lexer
Definition parser.h:25
hb_array_T * open_tags_stack
Definition parser.h:27
token_T * current_token
Definition parser.h:26
Definition token_struct.h:51