mal-go/main.go

30 lines
448 B
Go

package main
import (
"bufio"
"fmt"
"mal-go/eval"
"mal-go/print"
"mal-go/read"
"os"
"strings"
)
func main() {
//repl
fmt.Println("mal-go pre-alpha")
reader := bufio.NewReader(os.Stdin)
for true {
fmt.Print("user=>")
input, _ := reader.ReadString('\n')
input = strings.TrimSpace(input)
if strings.Compare(input, "exit") == 0 {
return
}
ast := read.ReadString(input)
result := eval.Eval(ast)
print.Print(result)
}
}