parser

package
v0.12.1 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2018 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package parser reads Jsonnet files and parses them into AST nodes.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Children

func Children(node ast.Node) []ast.Node

Children returns all children of a node.

func Parse

func Parse(t Tokens) (ast.Node, error)

Parse parses a slice of tokens into a parse tree.

Types

type LiteralField

type LiteralField string

A LiteralField is a field of an object or object comprehension. +gen set

type LiteralFieldSet

type LiteralFieldSet map[LiteralField]struct{}

LiteralFieldSet is the primary type that represents a set

func NewLiteralFieldSet

func NewLiteralFieldSet(a ...LiteralField) LiteralFieldSet

NewLiteralFieldSet creates and returns a reference to an empty set.

func (LiteralFieldSet) Add

func (set LiteralFieldSet) Add(i LiteralField) bool

Add adds an item to the current set if it doesn't already exist in the set.

func (LiteralFieldSet) Cardinality

func (set LiteralFieldSet) Cardinality() int

Cardinality returns how many items are currently in the set.

func (*LiteralFieldSet) Clear

func (set *LiteralFieldSet) Clear()

Clear clears the entire set to be the empty set.

func (LiteralFieldSet) Clone

func (set LiteralFieldSet) Clone() LiteralFieldSet

Clone returns a clone of the set. Does NOT clone the underlying elements.

func (LiteralFieldSet) Contains

func (set LiteralFieldSet) Contains(i LiteralField) bool

Contains determines if a given item is already in the set.

func (LiteralFieldSet) ContainsAll

func (set LiteralFieldSet) ContainsAll(i ...LiteralField) bool

ContainsAll determines if the given items are all in the set

func (LiteralFieldSet) Difference

func (set LiteralFieldSet) Difference(other LiteralFieldSet) LiteralFieldSet

Difference returns a new set with items in the current set but not in the other set

func (LiteralFieldSet) Equal

func (set LiteralFieldSet) Equal(other LiteralFieldSet) bool

Equal determines if two sets are equal to each other. If they both are the same size and have the same items they are considered equal. Order of items is not relevent for sets to be equal.

func (LiteralFieldSet) Intersect

func (set LiteralFieldSet) Intersect(other LiteralFieldSet) LiteralFieldSet

Intersect returns a new set with items that exist only in both sets.

func (LiteralFieldSet) IsSubset

func (set LiteralFieldSet) IsSubset(other LiteralFieldSet) bool

IsSubset determines if every item in the other set is in this set.

func (LiteralFieldSet) IsSuperset

func (set LiteralFieldSet) IsSuperset(other LiteralFieldSet) bool

IsSuperset determines if every item of this set is in the other set.

func (LiteralFieldSet) Iter

func (set LiteralFieldSet) Iter() <-chan LiteralField

Iter returns a channel of type LiteralField that you can range over.

func (LiteralFieldSet) Remove

func (set LiteralFieldSet) Remove(i LiteralField)

Remove allows the removal of a single item in the set.

func (LiteralFieldSet) SymmetricDifference

func (set LiteralFieldSet) SymmetricDifference(other LiteralFieldSet) LiteralFieldSet

SymmetricDifference returns a new set with items in the current set or the other set but not in both.

func (LiteralFieldSet) ToSlice

func (set LiteralFieldSet) ToSlice() []LiteralField

ToSlice returns the elements of the current set as a slice

func (LiteralFieldSet) Union

Union returns a new set with all items in both sets.

type StaticError

type StaticError struct {
	Loc ast.LocationRange
	Msg string
}

StaticError represents an error during parsing/lexing or static analysis. TODO(sbarzowski) Make it possible to have multiple static errors and warnings

func MakeStaticError

func MakeStaticError(msg string, lr ast.LocationRange) StaticError

MakeStaticError returns a StaticError with a message and a LocationRange.

func MakeStaticErrorMsg

func MakeStaticErrorMsg(msg string) StaticError

MakeStaticErrorMsg returns a StaticError with a message.

func (StaticError) Error

func (err StaticError) Error() string

Error returns the string representation of a StaticError.

type Tokens

type Tokens []token

Tokens is a slice of token structs.

func Lex

func Lex(fn string, input string) (Tokens, error)

Lex returns a slice of tokens recognised in input.

Jump to

Keyboard shortcuts

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