ast

package
v0.0.0-...-f318d61 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2022 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Any

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

func (*Any) Equal

func (*Any) Equal(other LexBase) bool

func (*Any) Lext

func (a *Any) Lext() int

func (*Any) String

func (*Any) String() string

type AnyOf

type AnyOf struct {
	Set *runeset.RuneSet
	// contains filtered or unexported fields
}

func (*AnyOf) Equal

func (ao *AnyOf) Equal(other LexBase) bool

func (*AnyOf) Lext

func (a *AnyOf) Lext() int

func (*AnyOf) String

func (a *AnyOf) String() string

type BracketType

type BracketType int
const (
	LexGroup BracketType = iota
	LexOptional
	LexZeroOrMore
	LexOneOrMore
)

type CharLiteral

type CharLiteral struct {
	Literal []rune
	// contains filtered or unexported fields
}

func CharLitFromStringLit

func CharLitFromStringLit(sl *StringLit, i int, escaped bool) *CharLiteral

CharLitFromStringLit returns a dummy CharLiteral with Literal sl.Literal[i] If escaped sl.Literal[i] == '\\' and sl.Literal[i+1] is the escaped char.

func NewCharLiteral

func NewCharLiteral(tok *token.Token, literal []rune) *CharLiteral

func (*CharLiteral) Char

func (c *CharLiteral) Char() rune

func (*CharLiteral) Equal

func (c *CharLiteral) Equal(other LexBase) bool

func (*CharLiteral) Lext

func (c *CharLiteral) Lext() int

func (*CharLiteral) String

func (c *CharLiteral) String() string

type LexBase

type LexBase interface {
	LexSymbol
	Equal(LexBase) bool
	// contains filtered or unexported methods
}

type LexBracket

type LexBracket struct {
	Type       BracketType
	Alternates []*RegExp
	// contains filtered or unexported fields
}

func (*LexBracket) LeftBracket

func (l *LexBracket) LeftBracket() string

func (*LexBracket) Lext

func (b *LexBracket) Lext() int

func (*LexBracket) RightBracket

func (l *LexBracket) RightBracket() string

func (*LexBracket) String

func (lb *LexBracket) String() string

type LexRule

type LexRule struct {
	Suppress bool
	TokID    *TokID
	RegExp   *RegExp
}

func (*LexRule) ID

func (l *LexRule) ID() string

Returns the id of the lex rule

func (*LexRule) Lext

func (l *LexRule) Lext() int

func (*LexRule) String

func (l *LexRule) String() string

type LexSymbol

type LexSymbol interface {
	Lext() int
	String() string
	// contains filtered or unexported methods
}

type Not

type Not struct {
	Set *runeset.RuneSet
	// contains filtered or unexported fields
}

func (*Not) Equal

func (n *Not) Equal(other LexBase) bool

func (*Not) Lext

func (n *Not) Lext() int

func (*Not) String

func (n *Not) String() string

type RegExp

type RegExp struct {
	Symbols []LexSymbol
}

func (*RegExp) String

func (re *RegExp) String() string

type StringLit

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

func (*StringLit) ContainsWhiteSpace

func (sl *StringLit) ContainsWhiteSpace() bool

func (*StringLit) ID

func (sl *StringLit) ID() string

func (*StringLit) Literal

func (sl *StringLit) Literal() []rune

func (*StringLit) Value

func (sl *StringLit) Value() []rune

type TriState

type TriState int

TriState has values: {Undefined, False, True}

const (
	// Undefined is a TriState value
	Undefined TriState = iota
	// False is a TriState value
	False
	// True is a TriState value
	True
)

type UnicodeClass

type UnicodeClass struct {
	Type UnicodeClassType
	// contains filtered or unexported fields
}

func (*UnicodeClass) Equal

func (u *UnicodeClass) Equal(other LexBase) bool

func (*UnicodeClass) Lext

func (u *UnicodeClass) Lext() int

func (*UnicodeClass) String

func (u *UnicodeClass) String() string

type UnicodeClassType

type UnicodeClassType int
const (
	Letter UnicodeClassType = iota
	Upcase
	Lowcase
	Number
	Space
)

Jump to

Keyboard shortcuts

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