application

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: 6 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 {
	Lexer() Lexer
	Parser() Parser
	Linker() Linker
	Interpreter() Interpreter
}

Application represents a pangolin application

type Builder

type Builder interface {
	Create() Builder
	WithCurrentDirPath(dirPath string) Builder
	WithGrammarFilePath(grammarFilePath string) Builder
	WithEvents(events []lexers.Event) Builder
	Now() (Application, error)
}

Builder represents an application builder

func NewBuilder

func NewBuilder() Builder

NewBuilder creates a new builder instance

type Interpreter

type Interpreter interface {
	Execute(excutable linkers.Executable, input stackframes.StackFrame) (stackframes.StackFrame, error)
	Tests(testable linkers.Testable) error
}

Interpreter represents a pangolin interpreter

type Lexer

type Lexer interface {
	Execute(script string) (lexers.Lexer, error)
}

Lexer represents a pangolin lexer

type Linker

type Linker interface {
	Execute(parsed parsers.Program) (linkers.Program, error)
}

Linker represents a pangolin linker

type Parser

type Parser interface {
	Execute(lexer lexers.Lexer) (parsers.Program, error)
}

Parser represents a pangolin parser

Jump to

Keyboard shortcuts

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