parsers

package
v0.0.0-...-e95280a Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2021 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Application

type Application interface {
	Execute(parser Parser) (interface{}, error)
}

Application represents a parser application

func NewApplication

func NewApplication() Application

NewApplication creates a new parser application

type Builder

type Builder interface {
	Create() Builder
	WithLexer(lexer lexers.Lexer) Builder
	WithEventParams(params []ToEventsParams) Builder
	WithReplacements(replacements map[string]RetrieveReplacementsFn) Builder
	Now() (Parser, error)
}

Builder represents a parser builder

func NewBuilder

func NewBuilder() Builder

NewBuilder creates a new parser builder

type Event

type Event interface {
	Token() string
	HasSet() bool
	Set() SetFn
	HasOnEnter() bool
	OnEnter() EventFn
	HasOnExit() bool
	OnExit() EventFn
	Fn(isEnter bool) EventFn
	HasRetrieveReplacement() bool
	RetrieveReplacement() RetrieveReplacementsFn
}

Event represents a parser event

type EventBuilder

type EventBuilder interface {
	Create() EventBuilder
	WithToken(token string) EventBuilder
	WithSet(set SetFn) EventBuilder
	WithOnEnter(onEnter EventFn) EventBuilder
	WithOnExit(onExit EventFn) EventBuilder
	WithRetrieveReplacement(retrieveReplacement RetrieveReplacementsFn) EventBuilder
	Now() (Event, error)
}

EventBuilder represents an event builder

type EventFn

type EventFn func(tree lexers.NodeTree) (interface{}, error)

EventFn represents an event func

type Events

type Events interface {
	Events() []Event
	GetByToken(token string) (Event, error)
}

Events represents events

type EventsAdapter

type EventsAdapter interface {
	ToEvents(params []ToEventsParams) (Events, error)
}

EventsAdapter represents an events adapter

func NewEventsAdapter

func NewEventsAdapter() EventsAdapter

NewEventsAdapter creates a new eventsAdapter

type EventsBuilder

type EventsBuilder interface {
	Create() EventsBuilder
	WithEvents(evts []Event) EventsBuilder
	Now() (Events, error)
}

EventsBuilder represents an events builder

type Parser

type Parser interface {
	Lexer() lexers.Lexer
	Events() Events
}

Parser represents a parser

type RetrieveReplacementsFn

type RetrieveReplacementsFn func(tree lexers.NodeTree) (map[string]map[string]interface{}, error)

RetrieveReplacementsFn represents a retrieve replacements func first keyname == token, section keyname == code, interface{} == instance to add

type SetFn

type SetFn func(code string, ins interface{})

SetFn represents a set func

type ToEventsParams

type ToEventsParams struct {
	Token               string
	Set                 SetFn
	OnEnter             EventFn
	OnExit              EventFn
	RetrieveReplacement RetrieveReplacementsFn
}

ToEventsParams represents the toEventsParams

Jump to

Keyboard shortcuts

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