tokens

package
v0.0.0-...-5e56d49 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const MAX_WORD_LENGTH = 50

Variables

View Source
var UNDEFINED_TOKEN = Token{/* contains filtered or unexported fields */}

Functions

func CountTokens

func CountTokens(tokenizer ITokenizer) int

func CountTokensR

func CountTokensR(reader io.Reader) int

Types

type ITokenizer

type ITokenizer interface {
	Next() *Token
}

ITokenizer - интерфейс получения токена

func New

func New(reader io.Reader) ITokenizer

func NewS

func NewS(text string) ITokenizer

type Token

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

Token токен - охватывает минимальный примитив из исходного текста

func EofToken

func EofToken(si int) *Token

func NewLargeToken

func NewLargeToken(si int, ei int) *Token

func NewToken

func NewToken(tp TokenType, si int, data string) *Token

func NewTokenPlus

func NewTokenPlus(tp TokenType, si int, data string, ascii bool, hasUpper bool) *Token

func ReadTokenList

func ReadTokenList(tokenizer ITokenizer) []Token

func ReadTokenListS

func ReadTokenListS(text string) []Token

func (*Token) Copy

func (t *Token) Copy() Token

func (*Token) Data

func (t *Token) Data() []byte

func (*Token) Finish

func (t *Token) Finish() int

func (*Token) HasUpper

func (t *Token) HasUpper() bool

func (*Token) IsAscii

func (t *Token) IsAscii() bool

func (*Token) IsEoS

func (t *Token) IsEoS() bool

func (*Token) IsEof

func (t *Token) IsEof() bool

func (*Token) IsNumber

func (t *Token) IsNumber() bool

func (*Token) IsUndefined

func (t *Token) IsUndefined() bool

func (*Token) IsUnknown

func (t *Token) IsUnknown() bool

func (*Token) IsWord

func (t *Token) IsWord() bool

func (*Token) Length

func (t *Token) Length() int

func (*Token) NormalValue

func (t *Token) NormalValue() string

func (*Token) SetEoF

func (t *Token) SetEoF(pos int) *Token

func (*Token) Start

func (t *Token) Start() int

func (*Token) Type

func (t *Token) Type() TokenType

func (*Token) Value

func (t *Token) Value() string

type TokenType

type TokenType byte

TokenType перечисление для типов токена

const (
	// TOKEN_UD токен не определен
	TOKEN_UD TokenType = 0
	// TOKEN_UK токен неопределенного типа строки
	TOKEN_UK TokenType = 1
	// TOKEN_WD токен отдельного слова
	TOKEN_WD TokenType = 2
	// TOKEN_ES токен с пробельными символами
	TOKEN_ES TokenType = 4
	// TOKEN_WS токен с пробельными символами внутри предложения
	TOKEN_WS TokenType = 8
	// TOKEN_DM токен с разделителями внутри предложения помимо пробелов
	TOKEN_DM TokenType = 16
	// TOKEN_LC токен (без значения) для слитных участок текста, не разбирается
	TOKEN_LC TokenType = 32
	// TOKEN_NB нечто численное - требуется для корректной обработки точек и запятых
	TOKEN_NB TokenType = 64
	// TOKEN_EOF признак конца файла
	TOKEN_EOF TokenType = 128
)

Jump to

Keyboard shortcuts

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