1#pragma once
2
3#include <cstdint>
4#include <string>
5
6namespace duckdb_libpgquery {
7
8enum class PGSimplifiedTokenType : uint8_t {
9 PG_SIMPLIFIED_TOKEN_IDENTIFIER,
10 PG_SIMPLIFIED_TOKEN_NUMERIC_CONSTANT,
11 PG_SIMPLIFIED_TOKEN_STRING_CONSTANT,
12 PG_SIMPLIFIED_TOKEN_OPERATOR,
13 PG_SIMPLIFIED_TOKEN_KEYWORD,
14 PG_SIMPLIFIED_TOKEN_COMMENT
15};
16
17struct PGSimplifiedToken {
18 PGSimplifiedTokenType type;
19 int32_t start;
20};
21
22enum class PGKeywordCategory : uint8_t {
23 PG_KEYWORD_RESERVED,
24 PG_KEYWORD_UNRESERVED,
25 PG_KEYWORD_TYPE_FUNC,
26 PG_KEYWORD_COL_NAME
27};
28
29struct PGKeyword {
30 std::string text;
31 PGKeywordCategory category;
32};
33
34}
35