summaryrefslogtreecommitdiff
path: root/src/lib/datafmt/parser.go
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2009-06-02 18:03:47 -0700
committerRobert Griesemer <gri@golang.org>2009-06-02 18:03:47 -0700
commit037c5bf6f69aef382a1222aed0ff69b829ae89a7 (patch)
tree06361714d6c999b877cc37c77208262f32428f2c /src/lib/datafmt/parser.go
parente3644f1194373bf5201dba02921c2387d2ed58d4 (diff)
downloadgolang-037c5bf6f69aef382a1222aed0ff69b829ae89a7.tar.gz
change datafmt syntax to use '@' instead of '^' (to match
convention used in template.go) R=rsc DELTA=22 (3 added, 1 deleted, 18 changed) OCL=29780 CL=29782
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 = "*";