ast

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2018 License: MIT Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Parse

func Parse(filename string, b []byte, opts ...Option) (interface{}, error)

Parse parses the data from b using filename as information in the error messages.

func ParseFile

func ParseFile(filename string, opts ...Option) (i interface{}, err error)

ParseFile parses the file identified by filename.

func ParseReader

func ParseReader(filename string, r io.Reader, opts ...Option) (interface{}, error)

ParseReader parses the data from r using filename as information in the error messages.

Types

type Invoke

type Invoke struct {
	Function  string
	Arguments []Node
}

func (Invoke) Method

func (node Invoke) Method() string

func (Invoke) Visit

func (node Invoke) Visit(visitor Visitor) error

type Node

type Node interface {
	Visit(Visitor) error
}

type Option

type Option func(*parser) Option

Option is a function that can set an option on the parser. It returns the previous setting as an Option.

func Debug

func Debug(b bool) Option

Debug creates an Option to set the debug flag to b. When set to true, debugging information is printed to stdout while parsing.

The default is false.

func GlobalStore

func GlobalStore(key string, value interface{}) Option

GlobalStore creates an Option to set a key to a certain value in the globalStore.

func Memoize

func Memoize(b bool) Option

Memoize creates an Option to set the memoize flag to b. When set to true, the parser will cache all results so each expression is evaluated only once. This guarantees linear parsing time even for pathological cases, at the expense of more memory and slower times for typical cases.

The default is false.

func Recover

func Recover(b bool) Option

Recover creates an Option to set the recover flag to b. When set to true, this causes the parser to recover from panics and convert it to an error. Setting it to false can be useful while debugging to access the full stack trace.

The default is true.

type Paragraph

type Paragraph []Sequence

func (Paragraph) Visit

func (node Paragraph) Visit(visitor Visitor) error

type Preformatted

type Preformatted []Sequence

func (Preformatted) Visit

func (node Preformatted) Visit(visitor Visitor) error

type Sequence

type Sequence []Node

func (Sequence) Visit

func (node Sequence) Visit(visitor Visitor) error

type String

type String string

func (String) Visit

func (node String) Visit(visitor Visitor) error

type Visitor

type Visitor interface {
	VisitString(String) error
	VisitInvoke(Invoke) error
	VisitSequence(Sequence) error
	VisitParagraph(Paragraph) error
	VisitPreformatted(Preformatted) error
}

Jump to

Keyboard shortcuts

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