parser

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 24, 2018 License: Apache-2.0, MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Edge

type Edge struct {
	ParentID NodeID
	ChildID  NodeID
}

Edge identifies parent-child relation between transforms

func (Edge) String

func (e Edge) String() string

type Edges

type Edges []Edge

Edges is a slice of Edge

type Node

type Node struct {
	ID NodeID
	Op Params
}

Node represents an immutable node in the common DAG with a unique identifier. TODO: make this serializable

func NewTransformFromOperation

func NewTransformFromOperation(Op Params, nextID int) Node

NewTransformFromOperation creates a new transform

func (Node) String

func (t Node) String() string

type NodeID

type NodeID string

NodeID uniquely identifies all transforms in DAG

type Nodes

type Nodes []Node

Nodes is a slice of Node

type Params

type Params interface {
	fmt.Stringer
	OpType() string
}

Params is a function definition. It is immutable and contains no state

type Parser

type Parser interface {
	DAG() (Nodes, Edges, error)
	String() string
}

Parser consists of the language specific representation of AST and can convert into a common DAG

type Source

type Source interface {
	Execute(ctx context.Context) error
}

Source represents data sources which are handled differently than other transforms as they are always independent and can always be parallelized

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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