[type] Parser [grammar] grammar T; s : a ';' a; // ';' helps us to resynchronize without consuming // 2nd 'a' reference. We our testing that the DFA also // throws an exception if the validating predicate fails a : {}? ID {} | {}? INT {} ; ID : 'a'..'z'+ ; INT : '0'..'9'+; WS : (' '|'\n') -> skip ; [start] s [input] x ; y [errors] line 1:0 no viable alternative at input 'x' line 1:4 no viable alternative at input 'y'