interpreter-in-go/pkg/ast/identifier.go
jmug 5367fbd29d Move AST nodes to their own files.
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
2025-01-05 13:05:35 -08:00

20 lines
555 B
Go

package ast
import "code.jmug.me/jmug/interpreter-in-go/pkg/token"
// Identifier is treated as an expression because in certain
// circumstances they can return values (think `let some = other` where `other`
// is actually an expression returning a value) and this makes them easier to
// handle (according to the author).
type Identifier struct {
Token token.Token
Value string
}
func (i *Identifier) expressionNode() {}
func (i *Identifier) TokenLiteral() string {
return i.Token.Literal
}
func (i *Identifier) String() string {
return i.Value
}