semanticAnalyser

package
v0.0.0-...-c04ea6e Latest Latest
Warning

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

Go to latest
Published: Jun 11, 2021 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Analyze

func Analyze(node ast.Node, logger logger.Logger)

Types

type SemanticAnalysisVisitor

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

SemanticAnalysisVisitor is the general semantic analyser using visitor pattern

func (*SemanticAnalysisVisitor) TypeCheckError

func (visitor *SemanticAnalysisVisitor) TypeCheckError(location string, key interface{}, params ...typing.Typing)

func (*SemanticAnalysisVisitor) VisitBooleanNode

func (visitor *SemanticAnalysisVisitor) VisitBooleanNode(node *ast.BooleanNode)

VisitBooleanNode do something

func (*SemanticAnalysisVisitor) VisitBreakNode

func (visitor *SemanticAnalysisVisitor) VisitBreakNode(node *ast.BreakNode)

func (*SemanticAnalysisVisitor) VisitCharacterNode

func (visitor *SemanticAnalysisVisitor) VisitCharacterNode(node *ast.CharacterNode)

VisitCharacterNode do something

func (*SemanticAnalysisVisitor) VisitEnterAssignmentNode

func (visitor *SemanticAnalysisVisitor) VisitEnterAssignmentNode(node *ast.AssignmentNode)

VisitEnterAssignmentNode do something

func (*SemanticAnalysisVisitor) VisitEnterBinaryOepratorNode

func (visitor *SemanticAnalysisVisitor) VisitEnterBinaryOepratorNode(node *ast.BinaryOperatorNode)

VisitEnterBinaryOepratorNode do something

func (*SemanticAnalysisVisitor) VisitEnterBlockNode

func (visitor *SemanticAnalysisVisitor) VisitEnterBlockNode(node *ast.BlockNode)

func (*SemanticAnalysisVisitor) VisitEnterForStmtNode

func (visitor *SemanticAnalysisVisitor) VisitEnterForStmtNode(node *ast.ForStmtNode)

func (*SemanticAnalysisVisitor) VisitEnterForStmtNodeBeforeBlockNode

func (visitor *SemanticAnalysisVisitor) VisitEnterForStmtNodeBeforeBlockNode(node *ast.ForStmtNode)

func (*SemanticAnalysisVisitor) VisitEnterIfStmtNode

func (visitor *SemanticAnalysisVisitor) VisitEnterIfStmtNode(node *ast.IfStmtNode)

func (*SemanticAnalysisVisitor) VisitEnterIncDecNode

func (visitor *SemanticAnalysisVisitor) VisitEnterIncDecNode(node *ast.IncDecNode)

func (*SemanticAnalysisVisitor) VisitEnterPrintNode

func (visitor *SemanticAnalysisVisitor) VisitEnterPrintNode(node *ast.PrintNode)

VisitEnterPrintNode do something

func (*SemanticAnalysisVisitor) VisitEnterProgramNode

func (visitor *SemanticAnalysisVisitor) VisitEnterProgramNode(node *ast.ProgramNode)

VisitEnterProgramNode creates program scope

func (*SemanticAnalysisVisitor) VisitEnterSwitchStmtNode

func (visitor *SemanticAnalysisVisitor) VisitEnterSwitchStmtNode(node *ast.SwitchStmtNode)

func (*SemanticAnalysisVisitor) VisitEnterTernaryOperatorNode

func (visitor *SemanticAnalysisVisitor) VisitEnterTernaryOperatorNode(node *ast.TernaryOperatorNode)

VisitEnterTernaryOperatorNode do something

func (*SemanticAnalysisVisitor) VisitEnterUnaryOperatorNode

func (visitor *SemanticAnalysisVisitor) VisitEnterUnaryOperatorNode(node *ast.UnaryOperatorNode)

VisitEnterUnaryOperatorNode do something

func (*SemanticAnalysisVisitor) VisitEnterVariableDeclarationNode

func (visitor *SemanticAnalysisVisitor) VisitEnterVariableDeclarationNode(node *ast.VariableDeclarationNode)

VisitEnterVariableDeclarationNode do something

func (*SemanticAnalysisVisitor) VisitEnterWhileStmtNode

func (visitor *SemanticAnalysisVisitor) VisitEnterWhileStmtNode(node *ast.WhileStmtNode)

func (*SemanticAnalysisVisitor) VisitErrorNode

func (visitor *SemanticAnalysisVisitor) VisitErrorNode(node *ast.ErrorNode)

VisitErrorNode do something

func (*SemanticAnalysisVisitor) VisitFloatNode

func (visitor *SemanticAnalysisVisitor) VisitFloatNode(node *ast.FloatNode)

VisitFloatNode do something

func (*SemanticAnalysisVisitor) VisitIdentifierNode

func (visitor *SemanticAnalysisVisitor) VisitIdentifierNode(node *ast.IdentifierNode)

VisitIdentifierNode do something

func (*SemanticAnalysisVisitor) VisitIntegerNode

func (visitor *SemanticAnalysisVisitor) VisitIntegerNode(node *ast.IntegerNode)

VisitIntegerNode do something

func (*SemanticAnalysisVisitor) VisitLeaveAssignmentNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveAssignmentNode(node *ast.AssignmentNode)

VisitLeaveAssignmentNode do something

func (*SemanticAnalysisVisitor) VisitLeaveBinaryOperatorNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveBinaryOperatorNode(node *ast.BinaryOperatorNode)

VisitLeaveBinaryOperatorNode do something

func (*SemanticAnalysisVisitor) VisitLeaveBlockNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveBlockNode(node *ast.BlockNode)

func (*SemanticAnalysisVisitor) VisitLeaveForStmtNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveForStmtNode(node *ast.ForStmtNode)

func (*SemanticAnalysisVisitor) VisitLeaveIfStmtNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveIfStmtNode(node *ast.IfStmtNode)

func (*SemanticAnalysisVisitor) VisitLeaveIncDecNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveIncDecNode(node *ast.IncDecNode)

func (*SemanticAnalysisVisitor) VisitLeavePrintNode

func (visitor *SemanticAnalysisVisitor) VisitLeavePrintNode(node *ast.PrintNode)

VisitLeavePrintNode do something

func (*SemanticAnalysisVisitor) VisitLeaveProgramNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveProgramNode(node *ast.ProgramNode)

VisitLeaveProgramNode closes program scope

func (*SemanticAnalysisVisitor) VisitLeaveSwitchStmtNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveSwitchStmtNode(node *ast.SwitchStmtNode)

func (*SemanticAnalysisVisitor) VisitLeaveTernaryOperatorNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveTernaryOperatorNode(node *ast.TernaryOperatorNode)

VisitLeaveTernaryOperatorNode do something

func (*SemanticAnalysisVisitor) VisitLeaveUnaryOperatorNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveUnaryOperatorNode(node *ast.UnaryOperatorNode)

VisitLeaveUnaryOperatorNode do something

func (*SemanticAnalysisVisitor) VisitLeaveVariableDeclarationNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveVariableDeclarationNode(node *ast.VariableDeclarationNode)

VisitLeaveVariableDeclarationNode do something

func (*SemanticAnalysisVisitor) VisitLeaveWhileStmtNode

func (visitor *SemanticAnalysisVisitor) VisitLeaveWhileStmtNode(node *ast.WhileStmtNode)

func (*SemanticAnalysisVisitor) VisitStringNode

func (visitor *SemanticAnalysisVisitor) VisitStringNode(node *ast.StringNode)

VisitStringNode do something

func (*SemanticAnalysisVisitor) VisitTypeLiteralNode

func (visitor *SemanticAnalysisVisitor) VisitTypeLiteralNode(node *ast.TypeLiteralNode)

VisitTypeLiteralNode do something

Jump to

Keyboard shortcuts

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