blob: f1cc0212c6a471dfd402af98c4e93c969c57938a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#pragma once
#include "lexer.h"
#include "runtime.h"
#include "utils.h"
#include <string>
#include <stdexcept>
namespace jinja {
// parse from a list of tokens into an AST (program)
// may throw parser_exception on error
program parse_from_tokens(const lexer_result & lexer_res);
struct parser_exception : public std::runtime_error {
parser_exception(const std::string & msg, const std::string & source, size_t pos)
: std::runtime_error(fmt_error_with_source("parser", msg, source, pos)) {}
};
} // namespace jinja
|