From a661f8fa61bfcd29b25fbb60307a22c65844873b Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 4 Apr 2015 15:53:57 +0200 Subject: Kiss --- lexer.go | 10 +++++----- parser.y | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lexer.go b/lexer.go index 329d97e..9bacf67 100644 --- a/lexer.go +++ b/lexer.go @@ -36,23 +36,23 @@ func (y *yyLex) Lex(lval *yySymType) int { item := <-y.items switch item.typ { case STRING: - lval.sval = S(item.val) + lval.sval = item.val case QUOTED: - lval.sval = S(dequote(item.val)) + lval.sval = dequote(item.val) case INTEGER: item.val = deneg(item.val) v, err := strconv.ParseInt(item.val, 10, 64) if err != nil { y.Error(err.Error()) } - lval.ival = I(v) + lval.ival = v case FLOAT: item.val = deneg(item.val) v, err := strconv.ParseFloat(item.val, 64) if err != nil { y.Error(err.Error()) } - lval.fval = F(v) + lval.fval = v case COMPLEX: item.val = deneg(item.val) pos := strings.IndexAny(item.val, "jJ") @@ -67,7 +67,7 @@ func (y *yyLex) Lex(lval *yySymType) int { if err != nil { y.Error(err.Error()) } - lval.cval = C(complex(r, i)) + lval.cval = complex(r, i) } return item.typ } diff --git a/parser.y b/parser.y index 65bda58..5c5a1a8 100644 --- a/parser.y +++ b/parser.y @@ -3,15 +3,15 @@ package main import "fmt" -var vars = map[S]A{} +var vars = map[string]interface{}{} %} %union { - sval S - ival I - fval F - cval C - any A + sval string + ival int64 + fval float64 + cval complex128 + any interface{} } %token STRING QUOTED -- cgit v1.2.3