all: getting closer to being able to read the stdlib

This commit is contained in:
2018-05-15 04:05:25 +02:00
parent a136959423
commit 0f19b677a2
2 changed files with 43 additions and 22 deletions

41
main.go
View File

@@ -70,40 +70,39 @@ func runRepl() {
func runFile(path string) {
e := eval.RootEnv()
m := macro.NewMacroEnv()
input, err := ioutil.ReadFile(path)
inp, err := ioutil.ReadFile(path)
if err != nil {
fmt.Println(err)
return
}
parsed, err, unconsumed := parser.Parse(string(input))
input := string(inp)
parsed, err := parser.ParseAll(input)
if err != nil {
fmt.Println(err)
return
}
if len(unconsumed) != 0 {
fmt.Println("Unconsumed input:", strings.Join(unconsumed, " "))
return
for _, statement := range parsed {
expanded, err := macro.Expand(statement, m)
if err != nil {
fmt.Println(err)
return
}
evald, err := eval.Eval(expanded, e)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(evald.Pretty())
}
expanded, err := macro.Expand(parsed, m)
if err != nil {
fmt.Println(err)
return
}
evald, err := eval.Eval(expanded, e)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(evald.Pretty())
}
func main() {