scanutil

package
v1.3.4 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2022 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const Eof = -1

Variables

This section is empty.

Functions

func ReverseString

func ReverseString(s string) string

Types

type Ast added in v1.3.1

type Ast interface{}

type Matcher

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

func (*Matcher) Any

func (m *Matcher) Any(valid string) bool

func (*Matcher) DoubleQuoteStr added in v1.3.1

func (m *Matcher) DoubleQuoteStr() bool

func (*Matcher) End

func (m *Matcher) End() bool

func (*Matcher) Escape

func (m *Matcher) Escape(escape rune) bool

func (*Matcher) Except

func (m *Matcher) Except(invalid string) bool

func (*Matcher) ExceptUnescapedSpaces

func (m *Matcher) ExceptUnescapedSpaces(escape rune) bool

func (*Matcher) Float

func (m *Matcher) Float() bool

func (*Matcher) FloatValue

func (m *Matcher) FloatValue() (float64, error)

func (*Matcher) FloatValueAdvance

func (m *Matcher) FloatValueAdvance() (float64, error)

func (*Matcher) Fn

func (m *Matcher) Fn(fn func(rune) bool) bool

func (*Matcher) FnLoop

func (m *Matcher) FnLoop(fn func(rune) bool) bool

Returns true if at least one rune was read.

func (*Matcher) FnOrder added in v1.1.0

func (m *Matcher) FnOrder(fns ...func() bool) bool

Must all return true.

func (*Matcher) GoQuotes

func (m *Matcher) GoQuotes(escape rune, maxLen, maxLenSingleQuote int) bool

func (*Matcher) Id

func (m *Matcher) Id() bool

func (*Matcher) Int

func (m *Matcher) Int() bool

func (*Matcher) IntValue

func (m *Matcher) IntValue() (int, error)

func (*Matcher) IntValueAdvance

func (m *Matcher) IntValueAdvance() (int, error)

func (*Matcher) LineComment added in v1.3.1

func (m *Matcher) LineComment() bool

func (*Matcher) MultiLineComment added in v1.3.1

func (m *Matcher) MultiLineComment() bool

func (*Matcher) NPos

func (m *Matcher) NPos(n int) bool

func (*Matcher) NRunes

func (m *Matcher) NRunes(n int) bool

func (*Matcher) Quote

func (m *Matcher) Quote(quote rune, escape rune, failOnNewline bool, maxLen int) bool

func (*Matcher) Quoted

func (m *Matcher) Quoted(validQuotes string, escape rune, failOnNewline bool, maxLen int) bool

func (*Matcher) Rune

func (m *Matcher) Rune(ru rune) bool

func (*Matcher) Section added in v1.3.1

func (m *Matcher) Section(open, close string, escape rune, failOnNewline bool, maxLen int, eofClose bool) bool

func (*Matcher) Sequence

func (m *Matcher) Sequence(s string) bool

func (*Matcher) SingleQuoteStr added in v1.3.1

func (m *Matcher) SingleQuoteStr() bool

func (*Matcher) Spaces

func (m *Matcher) Spaces() bool

func (*Matcher) SpacesAdvance

func (m *Matcher) SpacesAdvance() error

func (*Matcher) SpacesExceptNewline

func (m *Matcher) SpacesExceptNewline() bool

func (*Matcher) ToNewlineOrEnd

func (m *Matcher) ToNewlineOrEnd()

type Parse added in v1.3.1

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

func (*Parse) And added in v1.3.1

func (p *Parse) And(fns ...ParseFunc) ParseFunc

func (*Parse) DoubleQuotedString added in v1.3.1

func (p *Parse) DoubleQuotedString() (Ast, error)

func (*Parse) LoopUntil added in v1.3.1

func (p *Parse) LoopUntil(fn ParseFunc) ParseFunc

consumes unrecognized input

func (*Parse) OptionalNoErr added in v1.3.1

func (p *Parse) OptionalNoErr(def Ast, fn ParseFunc) ParseFunc

func (*Parse) OptionalWithErr added in v1.3.1

func (p *Parse) OptionalWithErr(def Ast, fn ParseFunc) ParseFunc

func (*Parse) Or added in v1.3.1

func (p *Parse) Or(fns ...ParseFunc) ParseFunc

func (*Parse) RewindOnNilValue added in v1.3.1

func (p *Parse) RewindOnNilValue(fn ParseFunc) ParseFunc

func (*Parse) Rune added in v1.3.1

func (p *Parse) Rune(ru rune) ParseFunc

func (*Parse) Sequence added in v1.3.1

func (p *Parse) Sequence(s string) ParseFunc

func (*Parse) Spaces added in v1.3.1

func (p *Parse) Spaces() (Ast, error)

func (*Parse) SpacesExceptNewline added in v1.3.1

func (p *Parse) SpacesExceptNewline() (Ast, error)

func (*Parse) ValueAdv added in v1.3.1

func (p *Parse) ValueAdv(fn func() bool) ParseFunc

type ParseFunc added in v1.3.1

type ParseFunc func() (Ast, error)

returning (nil,nil) means not parsed returning (<somevalue>,nil) means parsed

type Scanner

type Scanner struct {
	Start int
	Pos   int

	R iorw.ReaderAt

	// utils to advance the scanner
	Match Matcher
	Parse Parse

	Reverse bool // read direction
}

func NewScanner

func NewScanner(r iorw.ReaderAt) *Scanner

func NewScanner2 added in v1.3.1

func NewScanner2(src []byte) *Scanner

func NewScanner3 added in v1.3.1

func NewScanner3(src string) *Scanner

func (*Scanner) Advance

func (sc *Scanner) Advance()

func (*Scanner) Empty

func (sc *Scanner) Empty() bool

func (*Scanner) Errorf

func (sc *Scanner) Errorf(f string, args ...interface{}) error

func (*Scanner) PeekRune

func (sc *Scanner) PeekRune() rune

func (*Scanner) ReadRune

func (sc *Scanner) ReadRune() rune

func (*Scanner) RewindOnFalse

func (sc *Scanner) RewindOnFalse(fn func() bool) bool

func (*Scanner) SetStartPos

func (sc *Scanner) SetStartPos(v int)

func (*Scanner) Value

func (sc *Scanner) Value() string

func (*Scanner) ValueAdv added in v1.3.1

func (sc *Scanner) ValueAdv() string

func (*Scanner) ValueBytes added in v1.3.1

func (sc *Scanner) ValueBytes() []byte

func (*Scanner) ValueBytesAdv added in v1.3.1

func (sc *Scanner) ValueBytesAdv() []byte

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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