geminiql

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 29, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EOF_TOKEN int = iota
	WS_TOKEN
	BAD_STRING
	BAD_ESCAPE
	BAD_RAW
	ILLEGAL_TOKEN
)
View Source
const AUTH = 57352
View Source
const CHUNKED = 57350
View Source
const CHUNK_SIZE = 57351
View Source
const COMMA = 57357
View Source
const DECIMAL = 57361
View Source
const DOT = 57356
View Source
const (
	EOF rune = 0
)
View Source
const EQ = 57358
View Source
const HELP = 57353
View Source
const IDENT = 57359
View Source
const INSERT = 57346
View Source
const INTEGER = 57360
View Source
const INTO = 57347
View Source
const PRECISION = 57354
View Source
const QLEofCode = 1
View Source
const QLErrCode = 2
View Source
const QLFlag = -1000
View Source
const QLInitialStackSize = 16
View Source
const QLLast = 57
View Source
const QLPrivate = 57344
View Source
const RAW = 57363
View Source
const SET = 57349
View Source
const STRING = 57362
View Source
const TIMER = 57355
View Source
const USE = 57348

Variables

View Source
var (
	QLDebug        = 0
	QLErrorVerbose = true
)
View Source
var QLAct = [...]int8{
	37, 27, 21, 25, 49, 51, 52, 50, 11, 55,
	12, 13, 14, 15, 16, 17, 18, 19, 36, 35,
	39, 20, 46, 31, 33, 39, 29, 26, 24, 32,
	42, 28, 45, 24, 41, 40, 43, 44, 30, 34,
	38, 23, 22, 48, 47, 53, 54, 10, 9, 8,
	7, 6, 5, 4, 3, 2, 1,
}
View Source
var QLChk = [...]int16{
	-1000, -1, -2, -3, -4, -5, -6, -7, -8, -9,
	-10, 4, 6, 7, 8, 9, 10, 11, 12, 13,
	5, -11, -12, -13, 17, -18, 17, -20, -19, 17,
	-17, 18, 17, -18, -16, 18, 15, -15, -14, 17,
	14, 15, 16, -11, -15, 15, 16, -18, -20, 17,
	20, 18, 19, -15, -15, 21,
}
View Source
var QLDef = [...]int8{
	0, -2, 1, 2, 3, 4, 5, 6, 7, 8,
	9, 0, 0, 0, 14, 0, 17, 18, 0, 20,
	0, 13, 23, 0, 36, 11, 21, 10, 31, 0,
	15, 16, 19, 0, 24, 37, 0, 26, 33, 0,
	0, 0, 0, 12, 0, 0, 0, 22, 32, 27,
	28, 29, 30, 25, 34, 35,
}
View Source
var QLErrorMessages = [...]struct {
	state int
	token int
	msg   string
}{}
View Source
var QLExca = [...]int8{
	-1, 1,
	1, -1,
	-2, 0,
}
View Source
var QLPact = [...]int16{
	4, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, 16, 10, 9, -1000, 5, -1000, -1000, 12, -1000,
	10, -1000, 1, 3, -1000, -1000, 21, -1000, 19, 14,
	-1000, -1000, -1000, 11, -1000, -1000, 8, -1000, 17, 6,
	10, 9, -13, -1000, 8, 8, -12, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000,
}
View Source
var QLPgo = [...]int8{
	0, 56, 55, 54, 53, 52, 51, 50, 49, 48,
	47, 2, 42, 41, 40, 0, 39, 38, 3, 31,
	1,
}
View Source
var QLR1 = [...]int8{
	0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	4, 3, 2, 2, 5, 6, 17, 7, 8, 9,
	10, 18, 18, 11, 11, 12, 12, 19, 19, 19,
	19, 20, 20, 15, 15, 14, 13, 16,
}
View Source
var QLR2 = [...]int8{
	0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	2, 2, 4, 2, 1, 2, 1, 1, 1, 2,
	1, 1, 3, 1, 2, 4, 2, 3, 3, 3,
	3, 1, 3, 1, 3, 3, 1, 1,
}
View Source
var QLStatenames = [...]string{}
View Source
var QLTok1 = [...]int8{
	1,
}
View Source
var QLTok2 = [...]int8{
	2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
	12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
}
View Source
var QLTok3 = [...]int8{
	0,
}
View Source
var QLToknames = [...]string{
	"$end",
	"error",
	"$unk",
	"INSERT",
	"INTO",
	"USE",
	"SET",
	"CHUNKED",
	"CHUNK_SIZE",
	"AUTH",
	"HELP",
	"PRECISION",
	"TIMER",
	"DOT",
	"COMMA",
	"EQ",
	"IDENT",
	"INTEGER",
	"DECIMAL",
	"STRING",
	"RAW",
}

Functions

func QLErrorMessage

func QLErrorMessage(state, lookAhead int) string

func QLParse

func QLParse(QLlex QLLexer) int

func QLStatname

func QLStatname(s int) string

func QLTokname

func QLTokname(c int) string

func QLlex1

func QLlex1(lex QLLexer, lval *QLSymType) (char, token int)

Types

type AuthStatement added in v1.1.0

type AuthStatement struct {
}

type ChunkSizeStatement added in v1.1.0

type ChunkSizeStatement struct {
	Size int64
}

type ChunkedStatement added in v1.1.0

type ChunkedStatement struct {
}

type HelpStatement added in v1.1.1

type HelpStatement struct {
}

type InsertStatement

type InsertStatement struct {
	DB           string
	RP           string
	LineProtocol string
}

type Pair

type Pair struct {
	// contains filtered or unexported fields
}

func NewPair

func NewPair(first interface{}, second interface{}) *Pair

func (*Pair) First

func (p *Pair) First() interface{}

func (*Pair) Second

func (p *Pair) Second() interface{}

type Pairs

type Pairs []Pair

type PrecisionStatement added in v1.1.0

type PrecisionStatement struct {
	Precision string
}

type QLAst

type QLAst struct {
	Stmt  Statement
	Error error
}

type QLLexer

type QLLexer interface {
	Lex(lval *QLSymType) int
	Error(s string)
}

func QLNewLexer

func QLNewLexer(tokenizer *Tokenizer, ast *QLAst) QLLexer

type QLLexerImpl

type QLLexerImpl struct {
	// contains filtered or unexported fields
}

func (*QLLexerImpl) Error

func (l *QLLexerImpl) Error(s string)

func (*QLLexerImpl) Lex

func (l *QLLexerImpl) Lex(lval *QLSymType) int

func (*QLLexerImpl) UpdateStmt

func (l *QLLexerImpl) UpdateStmt(stmt Statement)

type QLParser

type QLParser interface {
	Parse(QLLexer) int
	Lookahead() int
}

func QLNewParser

func QLNewParser() QLParser

type QLParserImpl

type QLParserImpl struct {
	// contains filtered or unexported fields
}

func (*QLParserImpl) Lookahead

func (p *QLParserImpl) Lookahead() int

func (*QLParserImpl) Parse

func (QLrcvr *QLParserImpl) Parse(QLlex QLLexer) int

type QLSymType

type QLSymType struct {
	// contains filtered or unexported fields
}

type SetStatement

type SetStatement struct {
	KVS []Pair
}

type Statement

type Statement interface {
	// contains filtered or unexported methods
}

type TimerStatement added in v1.1.0

type TimerStatement struct {
}

type Tokenizer

type Tokenizer struct {
	// contains filtered or unexported fields
}

func NewTokenizer

func NewTokenizer(rd io.Reader) *Tokenizer

func (*Tokenizer) Lookahead

func (t *Tokenizer) Lookahead() rune

func (*Tokenizer) Scan

func (t *Tokenizer) Scan() (tok int, val string)

type UseStatement

type UseStatement struct {
	DB string
	RP string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL