diff options
author | nirav <nirav@teisuu.com> | 2021-10-17 10:41:25 +0000 |
---|---|---|
committer | nirav <nirav@teisuu.com> | 2021-10-17 10:41:25 +0000 |
commit | aa51be44817e42871218eb2a341ec894ec7a24c5 (patch) | |
tree | 794473bd3417deb19e1d8b35101db0f54d2848a0 /main.go | |
download | dc-aa51be44817e42871218eb2a341ec894ec7a24c5.tar.gz dc-aa51be44817e42871218eb2a341ec894ec7a24c5.zip |
Initial commit
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -0,0 +1,30 @@ +package main + +import ( + "bufio" + "fmt" + "os" +) + +func main() { + var err error + f := os.Stdin + if len(os.Args) > 1 { + f, err = os.Open(os.Args[1]) + if err != nil { + panic(err) + } + defer f.Close() + } + sc := bufio.NewScanner(f) + for sc.Scan() { + s := sc.Bytes() + expr, err := Parse(s) + if err != nil { + fmt.Fprintln(os.Stderr, "Parse:", err) + continue + } + n := expr.Eval() + fmt.Println(n.String()) + } +} |