From fc0fa45e28993ae1bf65b45778ecac529d6f19e3 Mon Sep 17 00:00:00 2001 From: Ken Thompson Date: Tue, 12 Aug 2008 14:04:03 -0700 Subject: fixed bugs in const/case R=r DELTA=138 (75 added, 12 deleted, 51 changed) OCL=14129 CL=14131 --- test/ken/rob2.go | 72 +++++++++++++++++++++++++++----------------------------- 1 file changed, 35 insertions(+), 37 deletions(-) (limited to 'test') 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; -- cgit v1.2.3