diff options
Diffstat (limited to 'src/pkg/exp/eval/main.go')
-rw-r--r-- | src/pkg/exp/eval/main.go | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/src/pkg/exp/eval/main.go b/src/pkg/exp/eval/main.go deleted file mode 100644 index d87e8f240..000000000 --- a/src/pkg/exp/eval/main.go +++ /dev/null @@ -1,93 +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 ( - "bufio" - "exp/eval" - "flag" - "go/parser" - "go/scanner" - "go/token" - "io/ioutil" - "os" -) - -var fset = token.NewFileSet() -var filename = flag.String("f", "", "file to run") - -func main() { - flag.Parse() - w := eval.NewWorld() - if *filename != "" { - data, err := ioutil.ReadFile(*filename) - if err != nil { - println(err.String()) - os.Exit(1) - } - file, err := parser.ParseFile(fset, *filename, data, 0) - if err != nil { - println(err.String()) - os.Exit(1) - } - code, err := w.CompileDeclList(fset, 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(fset, "init()") - if code != nil { - _, err := code.Run() - if err != nil { - println(err.String()) - os.Exit(1) - } - } - code, err = w.Compile(fset, "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(fset, 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()) - } - } -} |