diff options
| -rw-r--r-- | parser/expr.go | 2 | ||||
| -rw-r--r-- | parser/parse.go | 2 | ||||
| -rw-r--r-- | scanner/scan.go | 11 |
3 files changed, 7 insertions, 8 deletions
diff --git a/parser/expr.go b/parser/expr.go index cf6ee74..1efb45e 100644 --- a/parser/expr.go +++ b/parser/expr.go @@ -110,7 +110,7 @@ func (p *Parser) parseExpr(in Tokens) (out Tokens, err error) { case lang.Comment: return out, nil default: - return nil, fmt.Errorf("expression not supported yet: %v: %q", t.Tok, t.Str) + return nil, fmt.Errorf("invalid expression: %v: %q", t.Tok, t.Str) } if len(selectors) > 0 { out = append(out, selectors...) diff --git a/parser/parse.go b/parser/parse.go index add1600..0061c4f 100644 --- a/parser/parse.go +++ b/parser/parse.go @@ -36,11 +36,11 @@ func (p *Parser) Scan(s string, endSemi bool) (Tokens, error) { // Parse performs syntax analysis on s and return Tokens or an error. func (p *Parser) Parse(src string) (out Tokens, err error) { - log.Printf("Parse src: %#v\n", src) in, err := p.Scan(src, true) if err != nil { return out, err } + log.Printf("Parse src: %#v\n", src) return p.parseStmts(in) } diff --git a/scanner/scan.go b/scanner/scan.go index 6ea99a9..2782788 100644 --- a/scanner/scan.go +++ b/scanner/scan.go @@ -34,14 +34,13 @@ func (t *Token) Prefix() string { return t.Str[:t.Beg] } // Name return the name of t (short string for debugging). func (t *Token) Name() string { - name := t.Str - if t.Beg > 1 { - return name[:t.Beg] + ".." + if len(t.Str) == 0 { + return "" } - if t.Beg > 0 { - return name[:t.Beg] + ".." + name[len(name)-t.End:] + if t.Beg > 1 { + return t.Str[:t.Beg] + ".." } - return name + return t.Str[:t.Beg] + ".." + t.Str[len(t.Str)-t.End:] } func (t *Token) String() string { |
