summaryrefslogtreecommitdiff
path: root/src/lib/datafmt/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/datafmt/parser.go')
-rw-r--r--src/lib/datafmt/parser.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/datafmt/parser.go b/src/lib/datafmt/parser.go
index 89fc3cdec..3fe89f915 100644
--- a/src/lib/datafmt/parser.go
+++ b/src/lib/datafmt/parser.go
@@ -86,7 +86,7 @@ func (p *parser) next() {
func (p *parser) init(src []byte) {
p.errors.Init(0);
- p.scanner.Init(src, p, 0);
+ p.scanner.Init(src, p, scanner.AllowIllegalChars); // return '@' as token.ILLEGAL w/o error message
p.next(); // initializes pos, tok, lit
p.packs = make(map [string] string);
p.rules = make(map [string] expr);
@@ -231,8 +231,11 @@ func (p *parser) parseLiteral() literal {
func (p *parser) parseField() expr {
var fname string;
switch p.tok {
- case token.XOR:
- fname = "^";
+ case token.ILLEGAL:
+ if string(p.lit) != "@" {
+ return nil;
+ }
+ fname = "@";
p.next();
case token.MUL:
fname = "*";