Environment and identifiers

This commit is contained in:
Chuck Smith
2024-01-20 08:30:34 -05:00
parent 44d20ba7a0
commit e3be13cb71
4 changed files with 80 additions and 19 deletions

View File

@@ -6,6 +6,7 @@ import (
"io"
"monkey/evaluator"
"monkey/lexer"
"monkey/object"
"monkey/parser"
)
@@ -13,6 +14,7 @@ const PROMPT = ">> "
func Start(in io.Reader, out io.Writer) {
scanner := bufio.NewScanner(in)
env := object.NewEnvironment()
for {
fmt.Fprintf(out, PROMPT)
@@ -31,7 +33,7 @@ func Start(in io.Reader, out io.Writer) {
continue
}
evaluated := evaluator.Eval(program)
evaluated := evaluator.Eval(program, env)
if evaluated != nil {
io.WriteString(out, evaluated.Inspect())
io.WriteString(out, "\n")