Documentation ¶
Index ¶
- type AdditionAssignment
- type AdditiveOperator
- type AliasDeclaration
- type Array
- type Assignment
- type Block
- type Boolean
- type BreakStatement
- type Comment
- type Comparison
- type ComparisonOperator
- type Decrement
- type DivisionAssignment
- type Equality
- type EqualityOperator
- type EvaluatedString
- type Factor
- type ForStatement
- type FunctionDeclaration
- type Identifier
- type IfStatement
- type ImportSelector
- type ImportsDeclaration
- type Increment
- type Index
- type Integer
- type Invocation
- type LooseAssignment
- type ModuloAssignment
- type MultiplicationAssignment
- type MultiplicativeOperator
- type Node
- type NodeType
- type Object
- type PackageDeclaration
- type Position
- type Primary
- type PrimaryOperator
- type Range
- type RawString
- type ReturnStatement
- type RuleDeclaration
- type RuleFunctionDeclaration
- type Selector
- type ShellStatement
- type Signature
- type StringPart
- type SubtractionAssignment
- type Term
- type TreeError
- type Unary
- type UnaryOperator
- type VariableDeclaration
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdditionAssignment ¶
type AdditionAssignment struct { Expression Node Value Node // contains filtered or unexported fields }
func CreateAdditionAssignment ¶
func CreateAdditionAssignment(r *Range, expression Node, value Node) *AdditionAssignment
type AdditiveOperator ¶
type AdditiveOperator int
const ( AdditiveOperatorAddition AdditiveOperator = iota AdditiveOperatorSubtraction )
func (AdditiveOperator) String ¶
func (i AdditiveOperator) String() string
type AliasDeclaration ¶
type AliasDeclaration struct { Exported bool Identifier string Expression Node // contains filtered or unexported fields }
func CreateAliasDeclaration ¶
func CreateAliasDeclaration(r *Range, exported bool, identifier string, expression Node) *AliasDeclaration
type Array ¶
type Array struct { Elements []Node // contains filtered or unexported fields }
func CreateArray ¶
type Assignment ¶
func CreateAssignment ¶
func CreateAssignment(r *Range, expression Node, value Node) *Assignment
type Block ¶
type Block struct { Statements []Node // contains filtered or unexported fields }
func CreateBlock ¶
type Boolean ¶
type Boolean struct { Value string // contains filtered or unexported fields }
func CreateBoolean ¶
type BreakStatement ¶
type BreakStatement struct { Value Node // contains filtered or unexported fields }
func CreateBreakStatement ¶
func CreateBreakStatement(r *Range) *BreakStatement
type Comment ¶
type Comment struct { Content string // contains filtered or unexported fields }
func CreateComment ¶
type Comparison ¶
type Comparison struct { Operator ComparisonOperator Left Node Right Node // contains filtered or unexported fields }
func CreateComparison ¶
func CreateComparison(r *Range, operator ComparisonOperator, left Node, right Node) *Comparison
type ComparisonOperator ¶
type ComparisonOperator int
const ( ComparisonOperatorEquals ComparisonOperator = iota ComparisonOperatorNotEquals ComparisonOperatorLessThan ComparisonOperatorLessThanOrEqual ComparisonOperatorGreaterThan ComparisonOperatorGreaterThanOrEqual )
func (ComparisonOperator) String ¶
func (i ComparisonOperator) String() string
type Decrement ¶
type Decrement struct { Expression Node // contains filtered or unexported fields }
func CreateDecrement ¶
type DivisionAssignment ¶
type DivisionAssignment struct { Expression Node Value Node // contains filtered or unexported fields }
func CreateDivisionAssignment ¶
func CreateDivisionAssignment(r *Range, expression Node, value Node) *DivisionAssignment
type Equality ¶
type Equality struct { Operator EqualityOperator Left Node Right Node // contains filtered or unexported fields }
func CreateEquality ¶
func CreateEquality(r *Range, operator EqualityOperator, left Node, right Node) *Equality
type EqualityOperator ¶
type EqualityOperator int
const ( EqualityOperatorOr EqualityOperator = iota EqualityOperatorAnd )
func (EqualityOperator) String ¶
func (i EqualityOperator) String() string
type EvaluatedString ¶
type EvaluatedString struct { Parts []Node // contains filtered or unexported fields }
func CreateEvaluatedString ¶
func CreateEvaluatedString(r *Range, parts []Node) *EvaluatedString
type Factor ¶
type Factor struct { Operator MultiplicativeOperator Left Node Right Node // contains filtered or unexported fields }
func CreateFactor ¶
func CreateFactor(r *Range, operator MultiplicativeOperator, left Node, right Node) *Factor
type ForStatement ¶
type ForStatement struct { Identifier *Identifier Expression Node Block *Block // contains filtered or unexported fields }
func CreateForStatement ¶
func CreateForStatement(r *Range, identifier *Identifier, expression Node, block *Block) *ForStatement
type FunctionDeclaration ¶
type FunctionDeclaration struct { Exported bool Identifier string Signature *Signature Block *Block // contains filtered or unexported fields }
type Identifier ¶
type Identifier struct { Value string // contains filtered or unexported fields }
func CreateIdentifier ¶
func CreateIdentifier(r *Range, value string) *Identifier
type IfStatement ¶
type IfStatement struct { Expression Node PositiveBranch Node // May be nil NegativeBranch Node // contains filtered or unexported fields }
func CreateIfStatement ¶
func CreateIfStatement(r *Range, expression Node, positiveBranch Node, negativeBranch Node) *IfStatement
type ImportSelector ¶
type ImportSelector struct { From string Identifier string // contains filtered or unexported fields }
func CreateImportSelector ¶
func CreateImportSelector(r *Range, from string, identifier string) *ImportSelector
type ImportsDeclaration ¶
type ImportsDeclaration struct { Imports []*EvaluatedString // contains filtered or unexported fields }
func CreateImportsDeclaration ¶
func CreateImportsDeclaration(r *Range, imports []*EvaluatedString) *ImportsDeclaration
type Increment ¶
type Increment struct { Expression Node // contains filtered or unexported fields }
func CreateIncrement ¶
type Integer ¶
type Integer struct { Value string // contains filtered or unexported fields }
func CreateInteger ¶
type Invocation ¶
func CreateInvocation ¶
func CreateInvocation(r *Range, operand Node, arguments []Node) *Invocation
type LooseAssignment ¶
type LooseAssignment struct { Expression Node Value Node // contains filtered or unexported fields }
func CreateLooseAssignment ¶
func CreateLooseAssignment(r *Range, expression Node, value Node) *LooseAssignment
type ModuloAssignment ¶
type ModuloAssignment struct { Expression Node Value Node // contains filtered or unexported fields }
func CreateModuloAssignment ¶
func CreateModuloAssignment(r *Range, expression Node, value Node) *ModuloAssignment
type MultiplicationAssignment ¶
type MultiplicationAssignment struct { Expression Node Value Node // contains filtered or unexported fields }
func CreateMultiplicationAssignment ¶
func CreateMultiplicationAssignment(r *Range, expression Node, value Node) *MultiplicationAssignment
type MultiplicativeOperator ¶
type MultiplicativeOperator int
const ( MultiplicativeOperatorMultiplication MultiplicativeOperator = iota MultiplicativeOperatorDivision MultiplicativeOperatorModulo )
func (MultiplicativeOperator) String ¶
func (i MultiplicativeOperator) String() string
type NodeType ¶
type NodeType int
const ( NodeTypeSourceFile NodeType = iota NodeTypePackageDeclaration NodeTypeImportsDeclaration NodeTypeComment NodeTypeInterpretedString NodeTypeRawString NodeTypeVariableDeclaration NodeTypeIdentifier NodeTypeInteger NodeTypeSignature NodeTypeFunctionDeclaration NodeTypeRuleFunctionDeclaration NodeTypeBlock NodeTypeSelector NodeTypeImportSelector NodeTypeIndex NodeTypeInvocation NodeTypeIncrement NodeTypeDecrement NodeTypeLooseAssignment NodeTypeAdditionAssignment NodeTypeSubtractionAssignment NodeTypeMultiplicationAssignment NodeTypeDivisionAssignment NodeTypeShellStatement NodeTypeAssignment NodeTypeComparison NodeTypeEquality NodeTypeFactor NodeTypePrimary NodeTypeTerm NodeTypeUnary NodeTypeAliasDeclaration NodeTypeRuleDeclaration NodeTypeReturnStatement NodeTypeIfStatement NodeTypeEvaluatedString NodeTypeStringPart NodeTypeForStatement NodeTypeModuloAssignment NodeTypeObject NodeTypeBreakStatement )
type Object ¶
type Object struct { Pairs map[*Identifier]Node // contains filtered or unexported fields }
func CreateObject ¶
func CreateObject(r *Range, pairs map[*Identifier]Node) *Object
type PackageDeclaration ¶
type PackageDeclaration struct { Identifier string // contains filtered or unexported fields }
func CreatePackageDeclaration ¶
func CreatePackageDeclaration(r *Range, identifier string) *PackageDeclaration
type Position ¶
type Position struct { // Line is the zero-based line number Line int // Character is the zero-based unicode character index Character int // Offset is the offset from the start of the text, in bytes Offset int }
Position describes a position in a text
type Primary ¶
type Primary struct { Operand Node // contains filtered or unexported fields }
func CreatePrimary ¶
func CreatePrimary(r *Range, operator PrimaryOperator, operand Node) *Primary
type PrimaryOperator ¶
type PrimaryOperator int
type Range ¶
type Range struct { // Start is the inclusive start of the range Start Position // End is the inclusive end of the range End Position }
Range describes a range of a text
func CreateRange ¶
type RawString ¶
type RawString struct { Content string // contains filtered or unexported fields }
func CreateRawString ¶
type ReturnStatement ¶
type ReturnStatement struct { Value Node // contains filtered or unexported fields }
func CreateReturnStatement ¶
func CreateReturnStatement(r *Range, value Node) *ReturnStatement
type RuleDeclaration ¶
type RuleDeclaration struct { Outputs []Node Dependencies []Node // May be nil Derived Node // May be nil if Derived is not nil Block *Block // contains filtered or unexported fields }
func CreateRuleDeclaration ¶
type RuleFunctionDeclaration ¶
type RuleFunctionDeclaration struct { Exported bool Identifier string // Signature may be nil Signature *Signature Block *Block // contains filtered or unexported fields }
type ShellStatement ¶
type ShellStatement struct { Multiline bool Parts []Node // contains filtered or unexported fields }
func CreateShellStatement ¶
func CreateShellStatement(r *Range, multiline bool, parts []Node) *ShellStatement
type Signature ¶
type Signature struct { Arguments []*Identifier // contains filtered or unexported fields }
func CreateSignature ¶
func CreateSignature(r *Range, arguments []*Identifier) *Signature
type StringPart ¶
type StringPart struct { Content string // contains filtered or unexported fields }
func CreateStringPart ¶
func CreateStringPart(r *Range, content string) *StringPart
type SubtractionAssignment ¶
type SubtractionAssignment struct { Expression Node Value Node // contains filtered or unexported fields }
func CreateSubtractionAssignment ¶
func CreateSubtractionAssignment(r *Range, expression Node, value Node) *SubtractionAssignment
type Term ¶
type Term struct { Operator AdditiveOperator Left Node Right Node // contains filtered or unexported fields }
func CreateTerm ¶
func CreateTerm(r *Range, operator AdditiveOperator, left Node, right Node) *Term
type Unary ¶
type Unary struct { Operator UnaryOperator Primary Node // contains filtered or unexported fields }
func CreateUnary ¶
func CreateUnary(r *Range, operator UnaryOperator, primary Node) *Unary
type UnaryOperator ¶
type UnaryOperator int
const ( UnaryOperatorSubtraction UnaryOperator = iota UnaryOperatorNot UnaryOperatorSpread )
func (UnaryOperator) String ¶
func (i UnaryOperator) String() string
type VariableDeclaration ¶
type VariableDeclaration struct { Identifier string Expression Node // contains filtered or unexported fields }
func CreateVariableDeclaration ¶
func CreateVariableDeclaration(r *Range, identifier string, expression Node) *VariableDeclaration
Source Files ¶
- additiveoperator_string.go
- aliasdeclaration.go
- array.go
- assignments.go
- block.go
- boolean.go
- breakstatement.go
- comment.go
- comparison.go
- comparisonoperator_string.go
- equality.go
- equalityoperator_string.go
- error.go
- evaluatedstring.go
- factor.go
- forstatement.go
- functiondeclaration.go
- identifier.go
- ifstatement.go
- importsdeclaration.go
- importselector.go
- index.go
- invocation.go
- multiplicativeoperator_string.go
- node.go
- nodetype_string.go
- numbers.go
- object.go
- packagedeclaration.go
- primary.go
- range.go
- rawstring.go
- returnstatement.go
- ruledeclaration.go
- rulefunctiondeclaration.go
- selector.go
- shellstatement.go
- signature.go
- term.go
- unary.go
- unaryoperator_string.go
- variabledeclaration.go
Click to show internal directories.
Click to hide internal directories.