reassign values
This commit is contained in:
26
ast/ast.go
26
ast/ast.go
@@ -379,3 +379,29 @@ func (we *WhileExpression) String() string {
|
||||
|
||||
return out.String()
|
||||
}
|
||||
|
||||
// AssignmentStatement the `=` statement represents the AST node that rebinds
|
||||
// an expression to an identifier (assigning a new value).
|
||||
type AssignmentStatement struct {
|
||||
Token token.Token // the token.ASSIGN token
|
||||
Name *Identifier
|
||||
Value Expression
|
||||
}
|
||||
|
||||
func (as AssignmentStatement) TokenLiteral() string {
|
||||
return as.Token.Literal
|
||||
}
|
||||
|
||||
func (as AssignmentStatement) String() string {
|
||||
var out bytes.Buffer
|
||||
|
||||
out.WriteString(as.Name.String())
|
||||
out.WriteString(as.TokenLiteral() + " ")
|
||||
out.WriteString(as.Value.String())
|
||||
|
||||
out.WriteString(";")
|
||||
|
||||
return out.String()
|
||||
}
|
||||
|
||||
func (as AssignmentStatement) statementNode() {}
|
||||
|
||||
Reference in New Issue
Block a user