gscript

package module
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2022 License: BSD-3-Clause Imports: 8 Imported by: 1

README

 _     _   
 ___ ___ ___ ___|_|___| |_ 
| . |_ -|  _|  _| | . |  _|
|_  |___|___|_| |_|  _|_|  
|___|             |_|   

This is a small script language, and helps beginners to learn compilation principles.

It is called Gscript because it is written with Go.

Installation

go get github.com/crossoverJie/gscript

gscript -h

Or download the binary file directly

Features

  • Basic quadratic operations
  • More basic type
  • Support scope and function
  • Support closure
  • OOP

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ArithmeticOperators

func ArithmeticOperators(script string) interface{}

Types

type Compiler added in v0.0.4

type Compiler struct {
}

func NewCompiler added in v0.0.4

func NewCompiler() *Compiler

func (*Compiler) Compiler added in v0.0.4

func (c *Compiler) Compiler(script string) interface{}

type LeftValue added in v0.0.4

type LeftValue struct {
	// contains filtered or unexported fields
}

func NewLeftValue added in v0.0.4

func NewLeftValue(variable *symbol.Variable, object stack.Object) *LeftValue

func (*LeftValue) GetValue added in v0.0.4

func (l *LeftValue) GetValue() interface{}

func (*LeftValue) SetValue added in v0.0.4

func (l *LeftValue) SetValue(value interface{})

func (*LeftValue) String added in v0.0.4

func (l *LeftValue) String() string

type Visitor added in v0.0.4

type Visitor struct {
	parser.BaseGScriptVisitor
	// contains filtered or unexported fields
}

func NewVisitor added in v0.0.4

func NewVisitor(at *resolver.AnnotatedTree) *Visitor

func (*Visitor) Visit added in v0.0.4

func (v *Visitor) Visit(tree antlr.ParseTree) interface{}

func (*Visitor) VisitBlock added in v0.0.4

func (v *Visitor) VisitBlock(ctx *parser.BlockContext) interface{}

func (*Visitor) VisitBlockStm added in v0.0.4

func (v *Visitor) VisitBlockStm(ctx *parser.BlockStmContext) interface{}

func (*Visitor) VisitBlockStms added in v0.0.4

func (v *Visitor) VisitBlockStms(ctx *parser.BlockStmsContext) interface{}

func (*Visitor) VisitBlockVarDeclar added in v0.0.4

func (v *Visitor) VisitBlockVarDeclar(ctx *parser.BlockVarDeclarContext) interface{}

func (*Visitor) VisitExpr added in v0.0.4

func (v *Visitor) VisitExpr(ctx *parser.ExprContext) interface{}

func (*Visitor) VisitExpressionList added in v0.0.4

func (v *Visitor) VisitExpressionList(ctx *parser.ExpressionListContext) interface{}

func (*Visitor) VisitForControl added in v0.0.4

func (v *Visitor) VisitForControl(ctx *parser.ForControlContext) interface{}

func (*Visitor) VisitForInit added in v0.0.4

func (v *Visitor) VisitForInit(ctx *parser.ForInitContext) interface{}

func (*Visitor) VisitFunctionBody added in v0.0.4

func (v *Visitor) VisitFunctionBody(ctx *parser.FunctionBodyContext) interface{}

func (*Visitor) VisitFunctionCall added in v0.0.4

func (v *Visitor) VisitFunctionCall(ctx *parser.FunctionCallContext) interface{}

VisitFunctionCall 函数调用

func (*Visitor) VisitFunctionDeclaration added in v0.0.4

func (v *Visitor) VisitFunctionDeclaration(ctx *parser.FunctionDeclarationContext) interface{}

func (*Visitor) VisitLiteral added in v0.0.4

func (v *Visitor) VisitLiteral(ctx *parser.LiteralContext) interface{}

func (*Visitor) VisitParExpression added in v0.0.4

func (v *Visitor) VisitParExpression(ctx *parser.ParExpressionContext) interface{}

func (*Visitor) VisitParse added in v0.0.4

func (v *Visitor) VisitParse(ctx *parser.ParseContext) interface{}

func (*Visitor) VisitPrimary added in v0.0.4

func (v *Visitor) VisitPrimary(ctx *parser.PrimaryContext) interface{}

func (*Visitor) VisitProg added in v0.0.4

func (v *Visitor) VisitProg(ctx *parser.ProgContext) interface{}

func (*Visitor) VisitStmBlockLabel added in v0.0.4

func (v *Visitor) VisitStmBlockLabel(ctx *parser.StmBlockLabelContext) interface{}

func (*Visitor) VisitStmExpr added in v0.0.4

func (v *Visitor) VisitStmExpr(ctx *parser.StmExprContext) interface{}

func (*Visitor) VisitStmFor added in v0.0.4

func (v *Visitor) VisitStmFor(ctx *parser.StmForContext) interface{}

func (*Visitor) VisitStmIfElse added in v0.0.4

func (v *Visitor) VisitStmIfElse(ctx *parser.StmIfElseContext) interface{}

func (*Visitor) VisitStmReturn added in v0.0.4

func (v *Visitor) VisitStmReturn(ctx *parser.StmReturnContext) interface{}

func (*Visitor) VisitVariableDeclarator added in v0.0.4

func (v *Visitor) VisitVariableDeclarator(ctx *parser.VariableDeclaratorContext) interface{}

func (*Visitor) VisitVariableDeclaratorId added in v0.0.4

func (v *Visitor) VisitVariableDeclaratorId(ctx *parser.VariableDeclaratorIdContext) interface{}

func (*Visitor) VisitVariableDeclarators added in v0.0.4

func (v *Visitor) VisitVariableDeclarators(ctx *parser.VariableDeclaratorsContext) interface{}

func (*Visitor) VisitVariableInitializer added in v0.0.4

func (v *Visitor) VisitVariableInitializer(ctx *parser.VariableInitializerContext) interface{}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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