lexer

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2024 License: 0BSD Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Lexer

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

func NewLexer

func NewLexer(expression string) Lexer

func (*Lexer) Next

func (l *Lexer) Next(t *Token) error

type Token

type Token struct {
	Type  TokenType
	Value string
}

type TokenType

type TokenType uint8
const (
	UnknownToken TokenType = iota
	EndToken

	OpenBraceToken
	CloseBraceToken
	OpenParenToken
	CloseParenToken
	OpenSqBraceToken
	CloseSqBraceToken

	AddToken
	AndToken
	ArrayWildcardToken
	AssignToken
	AsteriskToken
	ColonToken
	CommaToken
	DivideToken
	DotToken
	EqualToken
	FilterToken
	FlattenToken
	InToken
	GreaterToken
	GreaterOrEqualToken
	IntegerDivideToken
	LessToken
	LessOrEqualToken
	LetToken
	ModuloToken
	MultiplyToken
	NotToken
	NotEqualToken
	ObjectWildcardToken
	OrToken
	PipeToken
	SubtractToken

	CurrentToken
	ExpressionToken
	IntegerLiteralToken
	JSONLiteralToken
	QuotedIdentifierToken
	RootToken
	UnquotedIdentifierToken
	StringLiteralToken
	VariableToken
)

Jump to

Keyboard shortcuts

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