Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var (
ErrUnknownDomain = errors.New("unknown domain")
)
Возможные ошибки лексического анализа
Functions ¶
This section is empty.
Types ¶
type BracketToken ¶
type BracketToken struct {
// contains filtered or unexported fields
}
BracketToken представляет скобку
func (*BracketToken) Attr ¶
func (t *BracketToken) Attr() interface{}
Attr возвращает код идентификатора представляемый целым числом
type Domain ¶
type Domain int
Domain представляет лексический домен
const ( // WhitespaceDomain представляет лексический домен пробельных символов. WhitespaceDomain Domain = iota // IdentifierDomain представляет лексический домен идентификаторов. IdentifierDomain // LBracketDomain представляет лексический домен левой скобки. LBracketDomain // RBracketDomain представляет лексический домен правой скобки. RBracketDomain // AlternativeDomain представляет домен оператора альтернирования. AlternativeDomain // SequentialDomain представляет домен оператора последовательного выполнения. SequentialDomain // ParallelDomain представляет домен оператора параллельного выполнения. ParallelDomain // EndDomain представляет конец файла EndDomain // UnknownDomain представляет ошибочный домен UnknownDomain Domain = -1 )
type EndToken ¶
type EndToken struct {
// contains filtered or unexported fields
}
EndToken представляет конец программы
type IdentifierToken ¶
type IdentifierToken struct {
// contains filtered or unexported fields
}
IdentifierToken представляет идентификатор
func (*IdentifierToken) Attr ¶
func (t *IdentifierToken) Attr() interface{}
Attr возвращает код идентификатора представляемый целым числом
type JumpTable ¶
type JumpTable struct {
// contains filtered or unexported fields
}
JumpTable задает функцию переходов лексического распознавателя в виде таблицы
func NewJumpTable ¶
NewJumpTable создает JumpTable
type LexicalRecognizer ¶
type LexicalRecognizer struct {
// contains filtered or unexported fields
}
LexicalRecognizer конечный автомат, который выделяет токены в программе
func NewLexicalRecognizer ¶
func NewLexicalRecognizer(prog string) *LexicalRecognizer
NewLexicalRecognizer создает LexicalRecognizer
func (*LexicalRecognizer) NextToken ¶
func (l *LexicalRecognizer) NextToken() (Token, error)
NextToken возвращает следующий токен или синтаксическую ошибку
type OperatorToken ¶
type OperatorToken struct {
// contains filtered or unexported fields
}
OperatorToken представляет оператор языка
func (*OperatorToken) Attr ¶
func (t *OperatorToken) Attr() interface{}
Attr возвращает символ оператора
type WhitespaceToken ¶
type WhitespaceToken struct {
// contains filtered or unexported fields
}
WhitespaceToken представляет пробельные символы