ast

package
v0.0.0-...-4763a2a Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2021 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ArithmeticExpression

type ArithmeticExpression struct {
	Operation string     `json:"operation"`
	Type      string     `json:"type"`
	Left      Expression `json:"left"`
	Right     Expression `json:"right"`
	Position  Position   `json:"position"`
}

type ArrayPrimitiveExpression

type ArrayPrimitiveExpression struct {
	Operation string                   `json:"operation"`
	Type      string                   `json:"type"`
	Values    []map[string]interface{} `json:"values"`
	Position  Position                 `json:"position"`
}

type AssignStatement

type AssignStatement struct {
	Operation string                 `json:"operation"`
	Left      Identifier             `json:"left"`
	Right     map[string]interface{} `json:"right"`
	Position  Position               `json:"position"`
}

type BlockBody

type BlockBody struct {
	Init    []interface{} `json:"init"`
	Program []interface{} `json:"program"`
}

type BlockCallExpression

type BlockCallExpression struct {
	Operation string                   `json:"operation"`
	Name      Identifier               `json:"name"`
	Verbs     []map[string]interface{} `json:"verbs"`
	Arguments []map[string]interface{} `json:"arguments"`
	Position  Position                 `json:"position"`
}

type BlockDeclarationStatement

type BlockDeclarationStatement struct {
	Operation    string       `json:"operation"`
	Owner        string       `json:"owner"`
	Name         Identifier   `json:"name"`
	Verbs        []Identifier `json:"verbs"`
	Arguments    []Identifier `json:"arguments"`
	Body         interface{}  `json:"body"`
	Implementing bool         `json:"implementing"`
	Implements   Identifier   `json:"implements"`
	Populate     []Population `json:"populate"`
	Position     Position     `json:"position"`
	Instance     interface{}  `json:"instance"`
	Native       bool         `json:"native"`
}

type Comment

type Comment struct {
	Operation string   `json:"operation"`
	Value     string   `json:"value"`
	Position  Position `json:"position"`
}

type ConditionExpression

type ConditionExpression struct {
	Operation string     `json:"operation"`
	Type      string     `json:"type"`
	Left      Expression `json:"left"`
	Right     Expression `json:"right"`
	Position  Position   `json:"position"`
}

type Elif

type Elif struct {
	Condition map[string]interface{} `json:"condition"`
	Body      []interface{}          `json:"body"`
}

type ErrorContent

type ErrorContent struct {
	Message  string   `json:"message"`
	Position Position `json:"position"`
}

type Expression

type Expression struct {
	Operation string   `json:"operation"`
	Position  Position `json:"position"`
}

type ForStatement

type ForStatement struct {
	Operation   string                 `json:"operation"`
	Statement   map[string]interface{} `json:"statement"`
	Placeholder string                 `json:"placeholder"`
	Body        []interface{}          `json:"body"`
	Position    Position               `json:"position"`
}

type Identifier

type Identifier struct {
	Operation string   `json:"operation"`
	Negative  bool     `json:"negative"`
	Value     string   `json:"value"`
	Position  Position `json:"position"`
}

type IfStatement

type IfStatement struct {
	Operation string                 `json:"operation"`
	Condition map[string]interface{} `json:"condition"`
	Body      []interface{}          `json:"body"`
	Else      []interface{}          `json:"else"`
	Elifs     []Elif                 `json:"elifs"`
	Position  Position               `json:"position"`
}

type IntPrimitiveExpression

type IntPrimitiveExpression struct {
	Operation string   `json:"operation"`
	Type      string   `json:"type"`
	Value     int64    `json:"value"`
	Position  Position `json:"position"`
}

type Main

type Main []interface{}

export type Main = Statement | BlockCallExpression | Comment;

type MutaterKeyword

type MutaterKeyword struct {
	Operation string   `json:"operation"`
	Negative  bool     `json:"negative"`
	Value     string   `json:"value"`
	Position  Position `json:"position"`
}

type NamespaceDeclarationStatement

type NamespaceDeclarationStatement struct {
	Operation string                   `json:"operation"`
	Name      Identifier               `json:"name"`
	Body      []map[string]interface{} `json:"body"`
	Position  Position                 `json:"position"`
}

type NamespaceIndexerExpression

type NamespaceIndexerExpression struct {
	Operation string     `json:"operation"`
	Namespace Identifier `json:"namespace"`
	Index     Identifier `json:"index"`
	Position  Position   `json:"position"`
}

type NativeFunction

type NativeFunction func(arguments []IntPrimitiveExpression, verbs []IntPrimitiveExpression) NativeFunctionReturn

type NativeFunctionReturn

type NativeFunctionReturn struct {
	Value   IntPrimitiveExpression `json:"value"`
	Error   bool                   `json:"error"`
	Warn    bool                   `json:"warn"`
	Message string                 `json:"string"`
}

type ParserResult

type ParserResult struct {
	Error   bool        `json:"error"`
	Content interface{} `json:"content"`
}

type Population

type Population struct {
	Operation string      `json:"operation"`
	Key       string      `json:"key"`
	Value     interface{} `json:"value"`
	Position  Position    `json:"position"`
}

type Position

type Position struct {
	Line uint32 `json:"line"`
	Col  uint32 `json:"col"`
}

type PrimitiveExpression

type PrimitiveExpression struct {
}

type Program

type Program struct {
	Imports []UseStatement `json:"imports"`
	Program []interface{}  `json:"program"`
}

type QuantityModifierStatement

type QuantityModifierStatement struct {
	Operation string                 `json:"operation"`
	Type      string                 `json:"type"`
	Statement map[string]interface{} `json:"statement"`
	Right     map[string]interface{} `json:"right"`
	Position  Position               `json:"position"`
}

type ReferenceExpression

type ReferenceExpression struct {
	Operation string   `json:"operation"`
	Negative  bool     `json:"negative"`
	Value     string   `json:"value"`
	Position  Position `json:"position"`
}

type ReturnStatement

type ReturnStatement struct {
	Operation  string     `json:"operation"`
	Expression Expression `json:"expression"`
	Position   Position   `json:"position"`
}

type ScopeMutaterExpression

type ScopeMutaterExpression struct {
	Operation string                   `json:"operation"`
	Mutater   MutaterKeyword           `json:"mutater"`
	Arguments []map[string]interface{} `json:"arguments"`
	Position  Position                 `json:"position"`
}

type StringPrimitiveExpression

type StringPrimitiveExpression struct {
	Operation string   `json:"operation"`
	Type      string   `json:"type"`
	Value     string   `json:"value"`
	Position  Position `json:"position"`
}

type SwitchCase

type SwitchCase struct {
	Case map[string]interface{} `json:"case"`
	Body []interface{}          `json:"body"`
}

type SwitchStatement

type SwitchStatement struct {
	Operation string                 `json:"operation"`
	Condition map[string]interface{} `json:"condition"`
	Cases     []SwitchCase           `json:"cases"`
	Default   SwitchCase             `json:"default"`
	Position  Position               `json:"position"`
}

type ThrowStatement

type ThrowStatement struct {
	Operation  string     `json:"operation"`
	Expression Expression `json:"expression"`
	Position   Position   `json:"position"`
}

type UseStatement

type UseStatement struct {
	Source   StringPrimitiveExpression `json:"source"`
	Position Position                  `json:"position"`
}

type VariableDeclarationStatement

type VariableDeclarationStatement struct {
	Operation string                 `json:"operation"`
	Kind      string                 `json:"kind"`
	Left      Identifier             `json:"left"`
	Right     map[string]interface{} `json:"right"`
	Position  Position               `json:"position"`
}

type WhileStatement

type WhileStatement struct {
	Operation string                 `json:"operation"`
	Statement map[string]interface{} `json:"statement"`
	Body      []interface{}          `json:"body"`
	Position  Position               `json:"position"`
}

Jump to

Keyboard shortcuts

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