You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
396 B
Go

package interpreter
type environment struct {
values map[string]any
}
func newEnvironment() *environment {
return &environment{values: make(map[string]any)}
}
func (e *environment) define(name string, value any) {
e.values[name] = value
}
func (e *environment) get(name string) any {
value, ok := e.values[name]
if !ok {
panic("Undefined variable '" + name + "'.")
}
return value
}