diff options
Diffstat (limited to 'usr/austin/eval/main.go')
| -rw-r--r-- | usr/austin/eval/main.go | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/usr/austin/eval/main.go b/usr/austin/eval/main.go deleted file mode 100644 index 2a6d94845..000000000 --- a/usr/austin/eval/main.go +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package main - -import ( - "./_obj/eval"; - "bufio"; - "flag"; - "go/parser"; - "go/scanner"; - "io"; - "os"; -) - -var filename = flag.String("f", "", "file to run"); - -func main() { - flag.Parse(); - w := eval.NewWorld(); - if *filename != "" { - data, err := io.ReadFile(*filename); - if err != nil { - println(err.String()); - os.Exit(1); - } - file, err := parser.ParseFile(*filename, data, 0); - if err != nil { - println(err.String()); - os.Exit(1); - } - code, err := w.CompileDeclList(file.Decls); - if err != nil { - if list, ok := err.(scanner.ErrorList); ok { - for _, e := range list { - println(e.String()); - } - } else { - println(err.String()); - } - os.Exit(1); - } - _, err := code.Run(); - if err != nil { - println(err.String()); - os.Exit(1); - } - code, err = w.Compile("init()"); - if code != nil { - _, err := code.Run(); - if err != nil { - println(err.String()); - os.Exit(1); - } - } - code, err = w.Compile("main()"); - if err != nil { - println(err.String()); - os.Exit(1); - } - _, err = code.Run(); - if err != nil { - println(err.String()); - os.Exit(1); - } - os.Exit(0); - } - - r := bufio.NewReader(os.Stdin); - for { - print("; "); - line, err := r.ReadString('\n'); - if err != nil { - break; - } - code, err := w.Compile(line); - if err != nil { - println(err.String()); - continue; - } - v, err := code.Run(); - if err != nil { - println(err.String()); - continue; - } - if v != nil { - println(v.String()); - } - } -} - |
