sparser

package
v0.0.0-...-483f6cb Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2015 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	EOF              = errors.New("EOF")
	UnknownExtension = errors.New("Unknown extension")
)

Functions

func Register

func Register(ext string, factory ParserFactory)

Types

type Parser

type Parser interface {
	Parse(in io.Reader, rcvr Receiver) error
}

func New

func New(ext string) (Parser, villa.NestedError)

type ParserFactory

type ParserFactory func() (Parser, error)

type Range

type Range struct {
	MinOffs int
	MaxOffs int
	MinLine int
	// MaxLine could be larger than actual value. E.g. it could be max-int.
	MaxLine int
}

All inclusive

func (Range) IsEmpty

func (r Range) IsEmpty() bool

type Receiver

type Receiver interface {
	// Header of the block. It will be shown any pattern found in this block.
	// The buffer should be available until corresponding EndLevel is called.
	StartLevel(buffer []byte, header Range) error

	// Footer of the block. It will be shown any pattern found in this block.
	EndLevel(buffer []byte, footer Range) error

	// Final level block
	FinalBlock(buffer []byte, body Range) error
}

Receiver is the interface for receiving the results of a parser.

type ReceiverFunc

type ReceiverFunc struct {
	StartLevelFunc func(buffer []byte, header Range) error
	EndLevelFunc   func(buffer []byte, footer Range) error
	FinalBlockFunc func(buffer []byte, body Range) error
}

func (ReceiverFunc) EndLevel

func (rcvr ReceiverFunc) EndLevel(buffer []byte, footer Range) error

func (ReceiverFunc) FinalBlock

func (rcvr ReceiverFunc) FinalBlock(buffer []byte, body Range) error

func (ReceiverFunc) StartLevel

func (rcvr ReceiverFunc) StartLevel(buffer []byte, header Range) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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