anchor.diff:      // Reset lexer by re-initializing the whole thing
       lexer_init(lexer);
   
  -    if (lexer->cs == lexer_error) {
  +    if (cs == lexer_error) {
         rb_raise(rb_eGherkinLexerError, 0, "Invalid format, parsing fails.");
       } else {
         return Qtrue;
  
positive.code:     assert(*pe == '\0' && "pointer does not end on NULL");
      assert(pe - p == len && "pointers aren't same distance");
      
      %% write exec;
      
      assert(p <= pe && "data overflow after parsing execute");
  
negative.code:     rb_raise(rb_eGherkinLexerError, 0, "No content to parse.");
    } else {
      const char *p, *pe, *eof;
      int cs = 0;
      
      VALUE listener = rb_iv_get(self, "@listener");
      VALUE rows = rb_ary_new();
  