parser

package
v0.0.0-...-e98e1b7 Latest Latest
Warning

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

Go to latest
Published: Jul 9, 2021 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrorInvalidAssginTarget = errors.New("error invalid assgin target")
View Source
var ErrorParsing = errors.New("error while parsing expressions")
View Source
var ErrorPrinterVisitor = errors.New("error in printer visitor")

Functions

This section is empty.

Types

type Parser

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

func New

func New(tokens []expressions.Token) *Parser

func (*Parser) Parse

func (p *Parser) Parse() []statements.Statement

start parsing prog → declaration* EOF ;

type PrintVisitor

type PrintVisitor struct{}

Debug Visitor implements the expressions.ExpressionVisitor interface

func (PrintVisitor) Print

func (pv PrintVisitor) Print(expr expressions.Experssion) (string, error)

func (PrintVisitor) VisitAssgin

func (pv PrintVisitor) VisitAssgin(expr expressions.Assgin) (interface{}, error)

not implemented

func (PrintVisitor) VisitBinary

func (pv PrintVisitor) VisitBinary(expr expressions.Binary) (interface{}, error)

visit binary expression

func (PrintVisitor) VisitCall

func (pv PrintVisitor) VisitCall(expr expressions.Call) (interface{}, error)

not implemented

func (PrintVisitor) VisitGrouping

func (pv PrintVisitor) VisitGrouping(expr expressions.Grouping) (interface{}, error)

visit grouping expression

func (PrintVisitor) VisitLiteral

func (pv PrintVisitor) VisitLiteral(expr expressions.Literal) (interface{}, error)

visit literal and reflect its value

func (PrintVisitor) VisitLogical

func (pv PrintVisitor) VisitLogical(expr expressions.Logical) (interface{}, error)

not implemented

func (PrintVisitor) VisitPropertyAccess

func (pv PrintVisitor) VisitPropertyAccess(expr expressions.PropertyAccess) (interface{}, error)

not implemented

func (PrintVisitor) VisitPropertyAssignment

func (pv PrintVisitor) VisitPropertyAssignment(expr expressions.PropertyAssignment) (interface{}, error)

not implemented

func (PrintVisitor) VisitSuper

func (pv PrintVisitor) VisitSuper(expr expressions.Super) (interface{}, error)

not implemented

func (PrintVisitor) VisitThis

func (pv PrintVisitor) VisitThis(expr expressions.This) (interface{}, error)

not implemented

func (PrintVisitor) VisitUnary

func (pv PrintVisitor) VisitUnary(expr expressions.Unary) (interface{}, error)

visit unary expression

func (PrintVisitor) VisitVairable

func (pv PrintVisitor) VisitVairable(expr expressions.Variable) (interface{}, error)

not implemented

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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