parser

package
v0.0.0-...-6872611 Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package parser provides T-SQL parsing functionality.

Package parser provides T-SQL parsing functionality.

Package parser provides T-SQL parsing functionality.

Package parser provides T-SQL parsing functionality.

Package parser provides T-SQL parsing functionality.

Package parser provides T-SQL parsing functionality.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MarshalScript

func MarshalScript(s *ast.Script) ([]byte, error)

MarshalScript marshals a Script to JSON in the expected format.

func Parse

func Parse(ctx context.Context, r io.Reader) (*ast.Script, error)

Parse parses T-SQL from the given reader and returns an AST Script.

Types

type Lexer

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

Lexer tokenizes T-SQL input.

func NewLexer

func NewLexer(input string) *Lexer

NewLexer creates a new Lexer for the given input.

func (*Lexer) NextToken

func (l *Lexer) NextToken() Token

NextToken returns the next token from the input.

type Parser

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

Parser holds the parsing state.

type Token

type Token struct {
	Type    TokenType
	Literal string
	Pos     int
}

Token represents a lexical token.

type TokenType

type TokenType int

TokenType represents the type of a token.

const (
	TokenEOF TokenType = iota
	TokenError
	TokenIdent
	TokenNumber
	TokenString
	TokenNationalString
	TokenBinary
	TokenStar
	TokenComma
	TokenDot
	TokenLParen
	TokenRParen
	TokenLBracket
	TokenRBracket
	TokenSemicolon
	TokenEquals
	TokenLessThan
	TokenGreaterThan
	TokenPlus
	TokenMinus
	TokenSlash
	TokenModulo

	// Keywords
	TokenSelect
	TokenFrom
	TokenWhere
	TokenAnd
	TokenOr
	TokenAs
	TokenOption
	TokenAll
	TokenDistinct
	TokenPrint
	TokenThrow
	TokenAlter
	TokenTable
	TokenDrop
	TokenIndex
	TokenRevert
	TokenWith
	TokenCookie
	TokenDatabase
	TokenScoped
	TokenCredential
	TokenTop
	TokenPercent
	TokenTies
	TokenInto
	TokenGroup
	TokenBy
	TokenHaving
	TokenOrder
	TokenAsc
	TokenDesc
	TokenUnion
	TokenExcept
	TokenIntersect
	TokenCross
	TokenJoin
	TokenInner
	TokenLeft
	TokenRight
	TokenFull
	TokenOuter
	TokenOn
	TokenRollup
	TokenCube
	TokenNotEqual
	TokenLessOrEqual
	TokenGreaterOrEqual
	TokenNot
	TokenLBrace
	TokenRBrace
	TokenLeftShift
	TokenRightShift
	TokenPipe         // |
	TokenDoublePipe   // ||
	TokenConcatEquals // ||=
	TokenBitwiseAnd   // &
	TokenPlusEquals   // +=
	TokenMinusEquals  // -=
	TokenStarEquals   // *=
	TokenSlashEquals  // /=
	TokenModuloEquals // %=
	TokenAndEquals    // &=
	TokenOrEquals     // |=
	TokenXorEquals    // ^=
	TokenCaret        // ^

	// DML Keywords
	TokenInsert
	TokenUpdate
	TokenDelete
	TokenSet
	TokenValues
	TokenDefault
	TokenNull
	TokenIs
	TokenIn
	TokenLike
	TokenBetween
	TokenEscape
	TokenExec
	TokenExecute
	TokenOver

	// DDL Keywords
	TokenCreate
	TokenView
	TokenSchema
	TokenProcedure
	TokenFunction
	TokenTrigger
	TokenAuthorization

	// Control flow keywords
	TokenDeclare
	TokenIf
	TokenElse
	TokenCase
	TokenWhen
	TokenThen
	TokenWhile
	TokenBegin
	TokenEnd
	TokenReturn
	TokenBreak
	TokenContinue
	TokenGoto
	TokenTry
	TokenCatch

	// Additional keywords
	TokenCurrent
	TokenOf
	TokenCursor
	TokenOpenRowset
	TokenHoldlock
	TokenNowait
	TokenFast
	TokenMaxdop

	// Security keywords
	TokenGrant
	TokenRevoke
	TokenDeny
	TokenTo
	TokenPublic

	// Transaction keywords
	TokenCommit
	TokenRollback
	TokenSave
	TokenTransaction
	TokenTran
	TokenWork

	// Additional keywords
	TokenWaitfor
	TokenDelay
	TokenTime
	TokenMaster
	TokenKey
	TokenEncryption
	TokenPassword
	TokenLabel
	TokenRaiserror
	TokenReadtext
	TokenWritetext
	TokenUpdatetext
	TokenTruncate
	TokenColon
	TokenColonColon
	TokenMove
	TokenConversation
	TokenDialog
	TokenGet
	TokenUse
	TokenKill
	TokenCheckpoint
	TokenReconfigure
	TokenOverride
	TokenShutdown
	TokenSetuser
	TokenLineno
	TokenStatusonly
	TokenNoreset
	TokenSend
	TokenMessage
	TokenTyp
	TokenReceive
	TokenLogin
	TokenAdd
	TokenUser
	TokenCaller
	TokenNoRevert
	TokenExternal
	TokenLanguage
	TokenRestore
	TokenBackup
	TokenFilestream
	TokenReturns
	TokenClose
	TokenOpen
	TokenSymmetric
	TokenStats
	TokenJob
	TokenQuery
	TokenNotification
	TokenSubscription
	TokenDecryption
	TokenAsymmetric
	TokenCertificate
	TokenDbcc
)

Jump to

Keyboard shortcuts

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