From a9bcf02fab0aff95caca0cc0c0fa3bb394d0c7ec Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 24 Mar 2015 00:23:24 +0100 Subject: Split quad and cmd --- cmd.go | 10 ++++++++++ parser.y | 9 +++------ quad.go | 11 +++++++++++ 3 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 cmd.go create mode 100644 quad.go diff --git a/cmd.go b/cmd.go new file mode 100644 index 0000000..50b0179 --- /dev/null +++ b/cmd.go @@ -0,0 +1,10 @@ +package main + +import "os" + +func cmd(c string) { + switch c { + case "OFF", "off": + os.Exit(0) + } +} diff --git a/parser.y b/parser.y index 3b084f9..729d5ea 100644 --- a/parser.y +++ b/parser.y @@ -1,10 +1,7 @@ %{ package main -import ( - "fmt" - "os" -) +import "fmt" %} %union { @@ -130,9 +127,9 @@ adverb | JOT sysvar - : QUAD STRING + : QUAD STRING { fmt.Println(quad(string($2))) } syscmd - : RBRACE STRING { if $2 == "off" { os.Exit(0) } } + : RBRACE STRING { cmd(string($2)) } %% diff --git a/quad.go b/quad.go new file mode 100644 index 0000000..72168a6 --- /dev/null +++ b/quad.go @@ -0,0 +1,11 @@ +package main + +var IO = 1 + +func quad(q string) int { + switch q { + case "IO", "io": + return IO + } + return -1 +} -- cgit v1.2.3