anchor.diff:    size_t query_start;
     size_t last_newline;
     size_t final_newline;
  -
  -  listener_cb store_comment_content;
  -  listener_cb store_tag_content;
  -  listener_error_cb raise_lexer_error;
  -  listener_long_cb store_feature_content;
  -  listener_long_cb store_scenario_content;
  -  listener_long_cb store_scenario_outline_content;
  -  listener_long_cb store_background_content;
  -  listener_long_cb store_examples_content;
  -  listener_long_cb store_step_content;
  -  listener_pystring_cb store_pystring_content;
   } lexer_state;
   
   static VALUE mGherkin;
  
positive.code: 
    action end_feature {
      if (cs < lexer_first_final) {
        if (lexer->raise_lexer_error != NULL) {
          int count = 0;
          int newstr_count = 0;
          size_t len;
  
negative.code:   }
    
    action store_scenario_outline_content {
  		store_scenario_outline_content(listener, PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), PTR_TO(content_start), LEN(content_start, PTR_TO(content_end)), lexer->current_line);
  
      if(lexer->content_end != 0) {
        p = PTR_TO(content_end - 1);
  