parser2

package
v0.5.0-beta4 Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2020 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Parse

func Parse(input string, parse func(*parser) interface{}) (result interface{}, errors []error)

Parse creates a lexer to scan the given input string, and uses the given `parse` function to parse tokens into a result.

It can be composed with different parse functions to parse the input string into different results. See "ParseExpression", "ParseStatements" as examples.

func ParseDeclarations added in v0.3.0

func ParseDeclarations(input string) (declarations []ast.Declaration, errors []error)

func ParseExpression added in v0.2.1

func ParseExpression(input string) (expression ast.Expression, errors []error)

func ParseProgram added in v0.3.0

func ParseProgram(input string) (program *ast.Program, err error)

func ParseProgramFromFile added in v0.5.0

func ParseProgramFromFile(filename string) (program *ast.Program, code string, err error)

func ParseStatements added in v0.2.1

func ParseStatements(input string) (statements []ast.Statement, errors []error)

func ParseType added in v0.2.1

func ParseType(input string) (ty ast.Type, errors []error)

Types

type Error added in v0.3.0

type Error struct {
	Errors []error
}

func (Error) ChildErrors added in v0.3.0

func (e Error) ChildErrors() []error

func (Error) Error added in v0.3.0

func (e Error) Error() string

type IntegerLiteralKind added in v0.3.0

type IntegerLiteralKind uint
const (
	IntegerLiteralKindUnknown IntegerLiteralKind = iota
	IntegerLiteralKindBinary
	IntegerLiteralKindOctal
	IntegerLiteralKindDecimal
	IntegerLiteralKindHexadecimal
)

func (IntegerLiteralKind) Base added in v0.3.0

func (k IntegerLiteralKind) Base() int

func (IntegerLiteralKind) Name added in v0.3.0

func (k IntegerLiteralKind) Name() string

func (IntegerLiteralKind) String added in v0.3.0

func (i IntegerLiteralKind) String() string

type InvalidIntegerLiteralError added in v0.3.0

type InvalidIntegerLiteralError struct {
	Literal                   string
	IntegerLiteralKind        IntegerLiteralKind
	InvalidIntegerLiteralKind InvalidNumberLiteralKind
	ast.Range
}

func (*InvalidIntegerLiteralError) Error added in v0.3.0

func (*InvalidIntegerLiteralError) SecondaryError added in v0.3.0

func (e *InvalidIntegerLiteralError) SecondaryError() string

type InvalidNumberLiteralKind added in v0.3.0

type InvalidNumberLiteralKind uint
const (
	InvalidNumberLiteralKindUnknown InvalidNumberLiteralKind = iota
	InvalidNumberLiteralKindLeadingUnderscore
	InvalidNumberLiteralKindTrailingUnderscore
	InvalidNumberLiteralKindUnknownPrefix
)

func (InvalidNumberLiteralKind) Description added in v0.3.0

func (k InvalidNumberLiteralKind) Description() string

func (InvalidNumberLiteralKind) String added in v0.3.0

func (i InvalidNumberLiteralKind) String() string

type JuxtaposedUnaryOperatorsError added in v0.3.0

type JuxtaposedUnaryOperatorsError struct {
	Pos ast.Position
}

func (*JuxtaposedUnaryOperatorsError) EndPosition added in v0.3.0

func (e *JuxtaposedUnaryOperatorsError) EndPosition() ast.Position

func (*JuxtaposedUnaryOperatorsError) Error added in v0.3.0

func (*JuxtaposedUnaryOperatorsError) StartPosition added in v0.3.0

func (e *JuxtaposedUnaryOperatorsError) StartPosition() ast.Position

type ParseError added in v0.3.0

type ParseError interface {
	error
	ast.HasPosition
	// contains filtered or unexported methods
}

type SyntaxError added in v0.3.0

type SyntaxError struct {
	Pos     ast.Position
	Message string
}

func (*SyntaxError) EndPosition added in v0.3.0

func (e *SyntaxError) EndPosition() ast.Position

func (*SyntaxError) Error added in v0.3.0

func (e *SyntaxError) Error() string

func (*SyntaxError) StartPosition added in v0.3.0

func (e *SyntaxError) StartPosition() ast.Position

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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