aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-03-23 12:49:34 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-03-23 12:49:34 +0100
commitb48dcec184278f2c6ea33e2a2c5ecdd2162b0694 (patch)
tree5b979e679ee5a8c828e2fe1aa5bb7510d627f3ac
parent187684cdb5fc801b655d77d39addfd7119610d1a (diff)
Experimental any value
-rw-r--r--parser.y16
1 files changed, 11 insertions, 5 deletions
diff --git a/parser.y b/parser.y
index 735d22f..b88779a 100644
--- a/parser.y
+++ b/parser.y
@@ -9,6 +9,7 @@ import "fmt"
ival I
fval F
cval C
+ any interface{}
}
%token <sval> STRING QUOTED
@@ -25,13 +26,18 @@ import "fmt"
%token ALPHA CEILING FLOOR DEL DELTA JOT QUAD EXECUTE FORMAT
%token ENCLOSE DISCLOSE DECODE ENCODE MAGNITUDE SCAN REDUCE
+%type <any> value
+
%%
line
- : STRING { fmt.Println($1) }
- | QUOTED { fmt.Println("'", $1, "'") }
- | INTEGER { fmt.Println($1) }
- | FLOAT { fmt.Println($1) }
- | COMPLEX { fmt.Println($1) }
+ : value { fmt.Println($1) }
+
+value
+ : STRING { $$ = $1 }
+ | QUOTED { $$ = $1 }
+ | INTEGER { $$ = $1 }
+ | FLOAT { $$ = $1 }
+ | COMPLEX { $$ = $1 }
%%