File: parser.h

package info (click to toggle)
llama.cpp 8064%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 76,488 kB
  • sloc: cpp: 353,828; ansic: 51,268; python: 30,090; lisp: 11,788; sh: 6,290; objc: 1,395; javascript: 924; xml: 384; makefile: 233
file content (21 lines) | stat: -rw-r--r-- 533 bytes parent folder | download
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