I have: grammar Foo; COLON : ':' ; IDENT : 'A'..'Z' ; ASSIGN : ID ':=' ID ; LABEL : IDENT COLON ; The Lexer gets lost on the COLON and I can't get this working... ( Well, it does work if a introduce whitespace around the tokens but that is not what I want ) Any hints ?