case ')': return RP;
case ',': return COMMA;
case '?': return HOOK;
- case ':': return COLON;
+ case ':': return !in.match(':') ? COLON : in.match('=') ? GRAMMAR : le(":: is not a valid token");
case '.': return DOT;
case '|': return in.match('|') ? OR : (in.match('=') ? ASSIGN_BITOR : BITOR);
case '^': return in.match('=') ? ASSIGN_BITXOR : BITXOR;
}
}
+ private int le(String s) throws LexerException { if (true) throw new LexerException(s); return 0; }
// SmartReader ////////////////////////////////////////////////////////////////