diff options
author | Ken Thompson <ken@golang.org> | 2008-08-12 14:04:03 -0700 |
---|---|---|
committer | Ken Thompson <ken@golang.org> | 2008-08-12 14:04:03 -0700 |
commit | fc0fa45e28993ae1bf65b45778ecac529d6f19e3 (patch) | |
tree | eb95384b094b2775bd8422b06f93db178aaa721d /test/ken/rob2.go | |
parent | a138df45905f91f791ee7cceffff286fb4710915 (diff) | |
download | golang-fc0fa45e28993ae1bf65b45778ecac529d6f19e3.tar.gz |
fixed bugs in const/case
R=r
DELTA=138 (75 added, 12 deleted, 51 changed)
OCL=14129
CL=14131
Diffstat (limited to 'test/ken/rob2.go')
-rw-r--r-- | test/ken/rob2.go | 72 |
1 files changed, 35 insertions, 37 deletions
diff --git a/test/ken/rob2.go b/test/ken/rob2.go index b18435dfc..f7bec7bb7 100644 --- a/test/ken/rob2.go +++ b/test/ken/rob2.go @@ -162,35 +162,34 @@ func NextToken() c = Get(); } switch c { - case EOF: - token = EOF; - case '(': - case ')': - token = c; - break; - default: - for i = 0; i < 100 - 1; { // sizeof tokenbuf - 1 - tokenbuf[i] = convert(byte, c); - i = i + 1; - c = Get(); - if c == EOF { - break; - } - if WhiteSpace(c) || c == ')' { - peekc = c; - break; - } - } - if i >= 100 - 1 { // sizeof tokenbuf - 1 - panic("atom too long\n"); + case EOF: + token = EOF; + case '(', ')': + token = c; + break; + default: + for i = 0; i < 100 - 1; { // sizeof tokenbuf - 1 + tokenbuf[i] = convert(byte, c); + i = i + 1; + c = Get(); + if c == EOF { + break; } - tokenlen = i; - tokenbuf[i] = nilchar; - if '0' <= tokenbuf[0] && tokenbuf[0] <= '9' { - token = '0'; - } else { - token = 'A'; + if WhiteSpace(c) || c == ')' { + peekc = c; + break; } + } + if i >= 100 - 1 { // sizeof tokenbuf - 1 + panic("atom too long\n"); + } + tokenlen = i; + tokenbuf[i] = nilchar; + if '0' <= tokenbuf[0] && tokenbuf[0] <= '9' { + token = '0'; + } else { + token = 'A'; + } } } @@ -267,16 +266,15 @@ func Parse() *Slist } else { // Atom switch token { - case EOF: - return nil; - case '0': - slist = atom(atoi()); - case '"': - case 'A': - slist = atom(0); - default: - slist = nil; - print("unknown token"); // token, tokenbuf); + case EOF: + return nil; + case '0': + slist = atom(atoi()); + case '"', 'A': + slist = atom(0); + default: + slist = nil; + print("unknown token: ", token, "\n"); } NextToken(); return slist; |