aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-03-24 00:59:01 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-03-24 00:59:01 +0100
commit76cbe8384213c4e3a5342bcbe94875e227bf20d2 (patch)
tree641a97eb84dd4fcebc2e9e95e2253f7359a810cb
parent4df408ae32f227cbe6edb877b297ce91a4ab702a (diff)
Assign
-rw-r--r--parser.y7
1 files changed, 5 insertions, 2 deletions
diff --git a/parser.y b/parser.y
index 1b503bd..0b4e43d 100644
--- a/parser.y
+++ b/parser.y
@@ -2,6 +2,8 @@
package main
import "fmt"
+
+var vars = map[S][]interface{}{}
%}
%union {
@@ -40,14 +42,15 @@ line
| adverb monadic vector
| QUAD STRING { fmt.Println(quad(string($2))) }
| RBRACE STRING { cmd(string($2)) }
+ | STRING ASSIGN vector { vars[$1] = $3 }
+ | STRING { fmt.Println(vars[$1]) }
vector
: value { $$ = append($$, $1) }
| vector value { $$ = append($1, $2) }
value
- : STRING { $$ = $1 }
- | QUOTED { $$ = $1 }
+ : QUOTED { $$ = $1 }
| INTEGER { $$ = $1 }
| FLOAT { $$ = $1 }
| COMPLEX { $$ = $1 }