anchor.diff:    }
   
     action end_feature {
  +    int line;
       if (cs < lexer_first_final) {
         if (raise_lexer_error != NULL) {
           size_t count = 0;
  
positive.code: 
  static VALUE CLexer_scan(VALUE self, VALUE input)
  {
    VALUE listener = rb_iv_get(self, "@listener");
  
    lexer_state *lexer = NULL;
    DATA_GET(self, lexer_state, lexer);
  
    VALUE input_copy = rb_str_dup(input);
  
    rb_str_append(input_copy, rb_str_new2("\n%_FEATURE_END_%"));
    char *data = RSTRING_PTR(input_copy);
    size_t len = RSTRING_LEN(input_copy);
    
    if (len == 0) { 
      rb_raise(rb_eGherkinLexingError, "No content to lex.");
  
negative.code: 
  static VALUE CLexer_init(VALUE self, VALUE listener)
  {
    lexer_state *lxr; 
    rb_iv_set(self, "@listener", listener);
    
    lxr = NULL;
    DATA_GET(self, lexer_state, lxr);
    lexer_init(lxr);
    
  