18 lines
536 B
C
18 lines
536 B
C
#ifndef PARSER_H
|
|
#define PARSER_H
|
|
|
|
#include "tree.h"
|
|
#include "lex.h"
|
|
|
|
struct parser {
|
|
struct lexer lexer;
|
|
struct error_buffer eb;
|
|
};
|
|
|
|
int parser_parse_n(struct parser *parser, const char *str, const char *variable_name, struct expr_node **out_nodes, size_t n);
|
|
struct expr_node *parser_parse(struct parser *parser, const char *str, const char *variable_name);
|
|
|
|
enum error_code parser_get_error(const struct parser *parser);
|
|
const char *parser_get_error_text(const struct parser *parser);
|
|
|
|
#endif /* PARSER_H */ |