M cc.h => cc.h +1 -0
@@ 93,6 93,7 @@ enum tokenkind {
TLOR,
TQUESTION,
TCOLON,
+ TCOLONCOLON,
TSEMICOLON,
TELLIPSIS,
TASSIGN,
M scan.c => scan.c +4 -1
@@ 367,7 367,10 @@ again:
return TQUESTION;
case ':':
nextchar(s);
- return TCOLON;
+ if (s->chr != ':')
+ return TCOLON;
+ nextchar(s);
+ return TCOLONCOLON;
case ';':
nextchar(s);
return TSEMICOLON;
M token.c => token.c +1 -0
@@ 92,6 92,7 @@ const char *tokstr[] = {
[TLOR] = "||",
[TQUESTION] = "?",
[TCOLON] = ":",
+ [TCOLONCOLON] = "::",
[TSEMICOLON] = ";",
[TELLIPSIS] = "...",
[TASSIGN] = "=",