compiler-in-go/pkg/ast/identifier.go

21 lines
552 B
Go
Raw Normal View History

package ast
import "code.jmug.me/jmug/compiler-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
}