Documentation
¶
Index ¶
- Constants
- Variables
- func Assertf(condition bool, format string, args ...any)
- func DefaultType[T ~int]() T
- type AttributeEntry
- type Attributes
- func (a *Attributes) Append(key, value string)
- func (a *Attributes) Entries() []AttributeEntry
- func (a *Attributes) Get(key string) string
- func (a *Attributes) GoMap() map[string]string
- func (a *Attributes) MergeWith(other Attributes)
- func (a *Attributes) Set(key, value string)
- func (a *Attributes) Size() int
- func (a *Attributes) TryGet(key string) (string, bool)
- type ByteMask
- type LineTokenizer
- type Range
- type Ranges
- type ReaderState
- type TextReader
- func (r TextReader) ByteRepeat(s ReaderState, b byte, minCount int) (ReaderState, bool)
- func (r TextReader) EmptyOrWhiteSpace(s ReaderState) (ReaderState, bool)
- func (r TextReader) HasByte(s ReaderState, b byte) bool
- func (r TextReader) HasMask(s ReaderState, mask ByteMask) bool
- func (r TextReader) HasToken(s ReaderState, token string) bool
- func (r TextReader) HasToken1(s ReaderState, token [1]byte) bool
- func (r TextReader) HasToken2(s ReaderState, token [2]byte) bool
- func (r TextReader) HasToken3(s ReaderState, token [3]byte) bool
- func (r TextReader) IsEmpty(s ReaderState) bool
- func (r TextReader) IsEmptyOrWhiteSpace(s ReaderState) bool
- func (r TextReader) Mask(s ReaderState, mask ByteMask) (ReaderState, bool)
- func (r TextReader) MaskRepeat(s ReaderState, mask ByteMask, minCount int) (ReaderState, bool)
- func (r TextReader) Peek(s ReaderState) (byte, bool)
- func (r TextReader) Select(start, end ReaderState) string
- func (r TextReader) Token(s ReaderState, token string) (ReaderState, bool)
- func (r TextReader) Token1(s ReaderState, token [1]byte) (ReaderState, bool)
- func (r TextReader) Token2(s ReaderState, token [2]byte) (ReaderState, bool)
- func (r TextReader) Token3(s ReaderState, token [3]byte) (ReaderState, bool)
- type Token
- type TokenList
- type TokenStack
- func (s *TokenStack[T]) CloseLevelAt(token Token[T])
- func (s *TokenStack[T]) Empty() bool
- func (s *TokenStack[T]) LastLevel() *TokenList[T]
- func (s *TokenStack[T]) OpenLevelAt(token Token[T])
- func (s *TokenStack[T]) PopCommit()
- func (s *TokenStack[T]) PopForget()
- func (s *TokenStack[T]) PopForgetUntil(tokenType T) bool
Constants ¶
View Source
const Open = 1
Variables ¶
View Source
var ( SpaceByteMask = NewByteMask([]byte(" \t")) SpaceNewLineByteMask = NewByteMask([]byte(" \t\r\n")) )
Functions ¶
func DefaultType ¶
func DefaultType[T ~int]() T
Types ¶
type AttributeEntry ¶
type AttributeEntry struct{ Key, Value string }
type Attributes ¶
Attributes - is a map with support for deterministic order of enumeration
func NewAttributes ¶
func NewAttributes(entries ...AttributeEntry) Attributes
func (*Attributes) Append ¶
func (a *Attributes) Append(key, value string)
func (*Attributes) Entries ¶
func (a *Attributes) Entries() []AttributeEntry
func (*Attributes) Get ¶
func (a *Attributes) Get(key string) string
func (*Attributes) GoMap ¶
func (a *Attributes) GoMap() map[string]string
func (*Attributes) MergeWith ¶
func (a *Attributes) MergeWith(other Attributes)
func (*Attributes) Set ¶
func (a *Attributes) Set(key, value string)
func (*Attributes) Size ¶
func (a *Attributes) Size() int
type LineTokenizer ¶
type LineTokenizer struct { Document []byte // contains filtered or unexported fields }
func (*LineTokenizer) Scan ¶
func (tokenizer *LineTokenizer) Scan() (start, end int, eof bool)
type ReaderState ¶
type ReaderState = int
type TextReader ¶
type TextReader []byte
func (TextReader) ByteRepeat ¶
func (r TextReader) ByteRepeat(s ReaderState, b byte, minCount int) (ReaderState, bool)
func (TextReader) EmptyOrWhiteSpace ¶
func (r TextReader) EmptyOrWhiteSpace(s ReaderState) (ReaderState, bool)
func (TextReader) HasByte ¶
func (r TextReader) HasByte(s ReaderState, b byte) bool
func (TextReader) HasMask ¶
func (r TextReader) HasMask(s ReaderState, mask ByteMask) bool
func (TextReader) HasToken ¶
func (r TextReader) HasToken(s ReaderState, token string) bool
func (TextReader) HasToken1 ¶
func (r TextReader) HasToken1(s ReaderState, token [1]byte) bool
func (TextReader) HasToken2 ¶
func (r TextReader) HasToken2(s ReaderState, token [2]byte) bool
func (TextReader) HasToken3 ¶
func (r TextReader) HasToken3(s ReaderState, token [3]byte) bool
func (TextReader) IsEmpty ¶
func (r TextReader) IsEmpty(s ReaderState) bool
func (TextReader) IsEmptyOrWhiteSpace ¶
func (r TextReader) IsEmptyOrWhiteSpace(s ReaderState) bool
func (TextReader) Mask ¶
func (r TextReader) Mask(s ReaderState, mask ByteMask) (ReaderState, bool)
func (TextReader) MaskRepeat ¶
func (r TextReader) MaskRepeat(s ReaderState, mask ByteMask, minCount int) (ReaderState, bool)
func (TextReader) Peek ¶
func (r TextReader) Peek(s ReaderState) (byte, bool)
func (TextReader) Select ¶
func (r TextReader) Select(start, end ReaderState) string
func (TextReader) Token ¶
func (r TextReader) Token(s ReaderState, token string) (ReaderState, bool)
func (TextReader) Token1 ¶
func (r TextReader) Token1(s ReaderState, token [1]byte) (ReaderState, bool)
func (TextReader) Token2 ¶
func (r TextReader) Token2(s ReaderState, token [2]byte) (ReaderState, bool)
func (TextReader) Token3 ¶
func (r TextReader) Token3(s ReaderState, token [3]byte) (ReaderState, bool)
type Token ¶
type Token[T comparable] struct { Type T JumpToPair int Start, End int Attributes Attributes }
type TokenStack ¶
func NewTokenStack ¶
func NewTokenStack[T ~int]() TokenStack[T]
func (*TokenStack[T]) CloseLevelAt ¶
func (s *TokenStack[T]) CloseLevelAt(token Token[T])
func (*TokenStack[T]) Empty ¶
func (s *TokenStack[T]) Empty() bool
func (*TokenStack[T]) LastLevel ¶
func (s *TokenStack[T]) LastLevel() *TokenList[T]
func (*TokenStack[T]) OpenLevelAt ¶
func (s *TokenStack[T]) OpenLevelAt(token Token[T])
func (*TokenStack[T]) PopCommit ¶
func (s *TokenStack[T]) PopCommit()
func (*TokenStack[T]) PopForget ¶
func (s *TokenStack[T]) PopForget()
func (*TokenStack[T]) PopForgetUntil ¶
func (s *TokenStack[T]) PopForgetUntil(tokenType T) bool
Click to show internal directories.
Click to hide internal directories.