summaryrefslogtreecommitdiff
path: root/usr/austin/eval/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'usr/austin/eval/main.go')
-rw-r--r--usr/austin/eval/main.go92
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());
- }
- }
-}
-