diff options
Diffstat (limited to 'llama.cpp/common/jinja/parser.h')
| -rw-r--r-- | llama.cpp/common/jinja/parser.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llama.cpp/common/jinja/parser.h b/llama.cpp/common/jinja/parser.h new file mode 100644 index 0000000..f1cc021 --- /dev/null +++ b/llama.cpp/common/jinja/parser.h @@ -0,0 +1,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 |
