From 3318c6342eef9390365971091e6231be61b08630 Mon Sep 17 00:00:00 2001 From: Bohuslav Kabrda Date: Mar 29 2012 12:14:34 +0000 Subject: Update to 2.9.3 - Introduced %check section --- diff --git a/.gitignore b/.gitignore index 75aa861..ca69f47 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /gherkin-2.2.4.gem /gherkin-2.3.3.gem /gherkin-2.4.5.gem +/gherkin-2.9.3.gem diff --git a/gherkin-2.4.5-remove-hash-line.patch b/gherkin-2.4.5-remove-hash-line.patch deleted file mode 100644 index cd51e6d..0000000 --- a/gherkin-2.4.5-remove-hash-line.patch +++ /dev/null @@ -1,11484 +0,0 @@ ---- ext/gherkin_lexer_et/gherkin_lexer_et.c.orig 2012-01-23 14:51:32.423402293 +0100 -+++ ext/gherkin_lexer_et/gherkin_lexer_et.c 2012-01-23 14:51:50.972338756 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_et/gherkin_lexer_et.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -661,7 +661,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -826,14 +826,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 830 "ext/gherkin_lexer_et/gherkin_lexer_et.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - --#line 837 "ext/gherkin_lexer_et/gherkin_lexer_et.c" -+ - { - int _klen; - unsigned int _trans; -@@ -907,7 +907,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -915,20 +915,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -938,37 +938,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -977,34 +977,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1012,7 +1012,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1021,13 +1021,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1035,13 +1035,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1057,13 +1057,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1109,7 +1109,7 @@ _match: - } - } - break; --#line 1113 "ext/gherkin_lexer_et/gherkin_lexer_et.c" -+ - } - } - -@@ -1126,7 +1126,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1172,7 +1172,7 @@ _again: - } - } - break; --#line 1176 "ext/gherkin_lexer_et/gherkin_lexer_et.c" -+ - } - } - } -@@ -1180,7 +1180,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/et.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_hr/gherkin_lexer_hr.c.orig 2012-01-23 14:51:32.424402290 +0100 -+++ ext/gherkin_lexer_hr/gherkin_lexer_hr.c 2012-01-23 14:51:50.976338743 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_hr/gherkin_lexer_hr.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -750,7 +750,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -915,14 +915,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 919 "ext/gherkin_lexer_hr/gherkin_lexer_hr.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - --#line 926 "ext/gherkin_lexer_hr/gherkin_lexer_hr.c" -+ - { - int _klen; - unsigned int _trans; -@@ -996,7 +996,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1004,20 +1004,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1027,37 +1027,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1066,34 +1066,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1101,7 +1101,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1110,13 +1110,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1124,13 +1124,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1146,13 +1146,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1198,7 +1198,7 @@ _match: - } - } - break; --#line 1202 "ext/gherkin_lexer_hr/gherkin_lexer_hr.c" -+ - } - } - -@@ -1215,7 +1215,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1261,7 +1261,7 @@ _again: - } - } - break; --#line 1265 "ext/gherkin_lexer_hr/gherkin_lexer_hr.c" -+ - } - } - } -@@ -1269,7 +1269,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hr.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_he/gherkin_lexer_he.c.orig 2012-01-23 14:51:32.424402290 +0100 -+++ ext/gherkin_lexer_he/gherkin_lexer_he.c 2012-01-23 14:51:50.979338732 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_he/gherkin_lexer_he.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -801,7 +801,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -966,14 +966,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 970 "ext/gherkin_lexer_he/gherkin_lexer_he.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - --#line 977 "ext/gherkin_lexer_he/gherkin_lexer_he.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1047,7 +1047,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1055,20 +1055,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1078,37 +1078,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1117,34 +1117,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1152,7 +1152,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1161,13 +1161,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1175,13 +1175,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1197,13 +1197,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1249,7 +1249,7 @@ _match: - } - } - break; --#line 1253 "ext/gherkin_lexer_he/gherkin_lexer_he.c" -+ - } - } - -@@ -1266,7 +1266,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1312,7 +1312,7 @@ _again: - } - } - break; --#line 1316 "ext/gherkin_lexer_he/gherkin_lexer_he.c" -+ - } - } - } -@@ -1320,7 +1320,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/he.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c.orig 2012-01-23 14:51:32.424402290 +0100 -+++ ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c 2012-01-23 14:51:50.983338719 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -650,7 +650,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -815,14 +815,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 819 "ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - --#line 826 "ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c" -+ - { - int _klen; - unsigned int _trans; -@@ -896,7 +896,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -904,20 +904,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -927,37 +927,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -966,34 +966,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1001,7 +1001,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1010,13 +1010,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1024,13 +1024,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1046,13 +1046,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1098,7 +1098,7 @@ _match: - } - } - break; --#line 1102 "ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c" -+ - } - } - -@@ -1115,7 +1115,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1161,7 +1161,7 @@ _again: - } - } - break; --#line 1165 "ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c" -+ - } - } - } -@@ -1169,7 +1169,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_no/gherkin_lexer_no.c.orig 2012-01-23 14:51:32.424402290 +0100 -+++ ext/gherkin_lexer_no/gherkin_lexer_no.c 2012-01-23 14:51:50.988338702 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_no/gherkin_lexer_no.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -738,7 +738,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -903,14 +903,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 907 "ext/gherkin_lexer_no/gherkin_lexer_no.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - --#line 914 "ext/gherkin_lexer_no/gherkin_lexer_no.c" -+ - { - int _klen; - unsigned int _trans; -@@ -984,7 +984,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -992,20 +992,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1015,37 +1015,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1054,34 +1054,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1089,7 +1089,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1098,13 +1098,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1112,13 +1112,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1134,13 +1134,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1186,7 +1186,7 @@ _match: - } - } - break; --#line 1190 "ext/gherkin_lexer_no/gherkin_lexer_no.c" -+ - } - } - -@@ -1203,7 +1203,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1249,7 +1249,7 @@ _again: - } - } - break; --#line 1253 "ext/gherkin_lexer_no/gherkin_lexer_no.c" -+ - } - } - } -@@ -1257,7 +1257,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/no.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_fr/gherkin_lexer_fr.c.orig 2012-01-23 14:51:32.424402290 +0100 -+++ ext/gherkin_lexer_fr/gherkin_lexer_fr.c 2012-01-23 14:51:50.993338684 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_fr/gherkin_lexer_fr.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -878,7 +878,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1043,14 +1043,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1047 "ext/gherkin_lexer_fr/gherkin_lexer_fr.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - --#line 1054 "ext/gherkin_lexer_fr/gherkin_lexer_fr.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1124,7 +1124,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1132,20 +1132,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1155,37 +1155,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1194,34 +1194,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1229,7 +1229,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1238,13 +1238,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1252,13 +1252,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1274,13 +1274,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1326,7 +1326,7 @@ _match: - } - } - break; --#line 1330 "ext/gherkin_lexer_fr/gherkin_lexer_fr.c" -+ - } - } - -@@ -1343,7 +1343,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1389,7 +1389,7 @@ _again: - } - } - break; --#line 1393 "ext/gherkin_lexer_fr/gherkin_lexer_fr.c" -+ - } - } - } -@@ -1397,7 +1397,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fr.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c.orig 2012-01-23 14:51:32.425402286 +0100 -+++ ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c 2012-01-23 14:51:50.998338667 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -994,7 +994,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1159,14 +1159,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1163 "ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - --#line 1170 "ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1240,7 +1240,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1248,20 +1248,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1271,37 +1271,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1310,34 +1310,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1345,7 +1345,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1354,13 +1354,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1368,13 +1368,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1390,13 +1390,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1442,7 +1442,7 @@ _match: - } - } - break; --#line 1446 "ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c" -+ - } - } - -@@ -1459,7 +1459,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1505,7 +1505,7 @@ _again: - } - } - break; --#line 1509 "ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c" -+ - } - } - } -@@ -1513,7 +1513,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_ko/gherkin_lexer_ko.c.orig 2012-01-23 14:51:32.425402286 +0100 -+++ ext/gherkin_lexer_ko/gherkin_lexer_ko.c 2012-01-23 14:51:51.003338651 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_ko/gherkin_lexer_ko.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -787,7 +787,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -952,14 +952,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 956 "ext/gherkin_lexer_ko/gherkin_lexer_ko.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - --#line 963 "ext/gherkin_lexer_ko/gherkin_lexer_ko.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1033,7 +1033,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1041,20 +1041,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1064,37 +1064,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1103,34 +1103,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1138,7 +1138,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1147,13 +1147,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1161,13 +1161,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1183,13 +1183,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1235,7 +1235,7 @@ _match: - } - } - break; --#line 1239 "ext/gherkin_lexer_ko/gherkin_lexer_ko.c" -+ - } - } - -@@ -1252,7 +1252,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1298,7 +1298,7 @@ _again: - } - } - break; --#line 1302 "ext/gherkin_lexer_ko/gherkin_lexer_ko.c" -+ - } - } - } -@@ -1306,7 +1306,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ko.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c.orig 2012-01-23 14:51:32.425402286 +0100 -+++ ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c 2012-01-23 14:51:51.008338633 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -692,7 +692,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -857,14 +857,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 861 "ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - --#line 868 "ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c" -+ - { - int _klen; - unsigned int _trans; -@@ -938,7 +938,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -946,20 +946,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -969,37 +969,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1008,34 +1008,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1043,7 +1043,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1052,13 +1052,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1066,13 +1066,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1088,13 +1088,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1140,7 +1140,7 @@ _match: - } - } - break; --#line 1144 "ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c" -+ - } - } - -@@ -1157,7 +1157,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1203,7 +1203,7 @@ _again: - } - } - break; --#line 1207 "ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c" -+ - } - } - } -@@ -1211,7 +1211,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c.orig 2012-01-23 14:51:32.425402286 +0100 -+++ ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c 2012-01-23 14:51:51.012338619 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -650,7 +650,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -815,14 +815,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 819 "ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - --#line 826 "ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c" -+ - { - int _klen; - unsigned int _trans; -@@ -896,7 +896,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -904,20 +904,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -927,37 +927,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -966,34 +966,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1001,7 +1001,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1010,13 +1010,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1024,13 +1024,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1046,13 +1046,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1098,7 +1098,7 @@ _match: - } - } - break; --#line 1102 "ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c" -+ - } - } - -@@ -1115,7 +1115,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1161,7 +1161,7 @@ _again: - } - } - break; --#line 1165 "ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c" -+ - } - } - } -@@ -1169,7 +1169,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_au.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c.orig 2012-01-23 14:51:32.425402286 +0100 -+++ ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c 2012-01-23 14:51:51.017338602 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -709,7 +709,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -874,14 +874,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 878 "ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - --#line 885 "ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c" -+ - { - int _klen; - unsigned int _trans; -@@ -955,7 +955,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -963,20 +963,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -986,37 +986,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1025,34 +1025,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1060,7 +1060,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1069,13 +1069,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1083,13 +1083,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1105,13 +1105,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1157,7 +1157,7 @@ _match: - } - } - break; --#line 1161 "ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c" -+ - } - } - -@@ -1174,7 +1174,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1220,7 +1220,7 @@ _again: - } - } - break; --#line 1224 "ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c" -+ - } - } - } -@@ -1228,7 +1228,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_pt/gherkin_lexer_pt.c.orig 2012-01-23 14:51:32.425402286 +0100 -+++ ext/gherkin_lexer_pt/gherkin_lexer_pt.c 2012-01-23 14:51:51.021338589 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_pt/gherkin_lexer_pt.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -754,7 +754,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -919,14 +919,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 923 "ext/gherkin_lexer_pt/gherkin_lexer_pt.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - --#line 930 "ext/gherkin_lexer_pt/gherkin_lexer_pt.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1000,7 +1000,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1008,20 +1008,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1031,37 +1031,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1070,34 +1070,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1105,7 +1105,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1114,13 +1114,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1128,13 +1128,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1150,13 +1150,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1202,7 +1202,7 @@ _match: - } - } - break; --#line 1206 "ext/gherkin_lexer_pt/gherkin_lexer_pt.c" -+ - } - } - -@@ -1219,7 +1219,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1265,7 +1265,7 @@ _again: - } - } - break; --#line 1269 "ext/gherkin_lexer_pt/gherkin_lexer_pt.c" -+ - } - } - } -@@ -1273,7 +1273,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pt.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_hu/gherkin_lexer_hu.c.orig 2012-01-23 14:51:32.426402282 +0100 -+++ ext/gherkin_lexer_hu/gherkin_lexer_hu.c 2012-01-23 14:51:51.026338571 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_hu/gherkin_lexer_hu.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -801,7 +801,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -966,14 +966,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 970 "ext/gherkin_lexer_hu/gherkin_lexer_hu.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - --#line 977 "ext/gherkin_lexer_hu/gherkin_lexer_hu.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1047,7 +1047,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1055,20 +1055,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1078,37 +1078,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1117,34 +1117,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1152,7 +1152,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1161,13 +1161,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1175,13 +1175,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1197,13 +1197,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1249,7 +1249,7 @@ _match: - } - } - break; --#line 1253 "ext/gherkin_lexer_hu/gherkin_lexer_hu.c" -+ - } - } - -@@ -1266,7 +1266,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1312,7 +1312,7 @@ _again: - } - } - break; --#line 1316 "ext/gherkin_lexer_hu/gherkin_lexer_hu.c" -+ - } - } - } -@@ -1320,7 +1320,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/hu.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_es/gherkin_lexer_es.c.orig 2012-01-23 14:51:32.426402282 +0100 -+++ ext/gherkin_lexer_es/gherkin_lexer_es.c 2012-01-23 14:51:51.031338554 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_es/gherkin_lexer_es.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -805,7 +805,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -970,14 +970,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 974 "ext/gherkin_lexer_es/gherkin_lexer_es.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - --#line 981 "ext/gherkin_lexer_es/gherkin_lexer_es.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1051,7 +1051,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1059,20 +1059,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1082,37 +1082,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1121,34 +1121,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1156,7 +1156,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1165,13 +1165,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1179,13 +1179,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1201,13 +1201,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1253,7 +1253,7 @@ _match: - } - } - break; --#line 1257 "ext/gherkin_lexer_es/gherkin_lexer_es.c" -+ - } - } - -@@ -1270,7 +1270,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1316,7 +1316,7 @@ _again: - } - } - break; --#line 1320 "ext/gherkin_lexer_es/gherkin_lexer_es.c" -+ - } - } - } -@@ -1324,7 +1324,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c.orig 2012-01-23 14:51:32.426402282 +0100 -+++ ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c 2012-01-23 14:51:51.036338538 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -898,7 +898,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1063,14 +1063,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1067 "ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - --#line 1074 "ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1144,7 +1144,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1152,20 +1152,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1175,37 +1175,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1214,34 +1214,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1249,7 +1249,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1258,13 +1258,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1272,13 +1272,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1294,13 +1294,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1346,7 +1346,7 @@ _match: - } - } - break; --#line 1350 "ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c" -+ - } - } - -@@ -1363,7 +1363,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1409,7 +1409,7 @@ _again: - } - } - break; --#line 1413 "ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c" -+ - } - } - } -@@ -1417,7 +1417,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_en/gherkin_lexer_en.c.orig 2012-01-23 14:51:32.426402282 +0100 -+++ ext/gherkin_lexer_en/gherkin_lexer_en.c 2012-01-23 14:51:51.041338520 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_en/gherkin_lexer_en.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -692,7 +692,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -857,14 +857,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 861 "ext/gherkin_lexer_en/gherkin_lexer_en.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - --#line 868 "ext/gherkin_lexer_en/gherkin_lexer_en.c" -+ - { - int _klen; - unsigned int _trans; -@@ -938,7 +938,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -946,20 +946,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -969,37 +969,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1008,34 +1008,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1043,7 +1043,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1052,13 +1052,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1066,13 +1066,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1088,13 +1088,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1140,7 +1140,7 @@ _match: - } - } - break; --#line 1144 "ext/gherkin_lexer_en/gherkin_lexer_en.c" -+ - } - } - -@@ -1157,7 +1157,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1203,7 +1203,7 @@ _again: - } - } - break; --#line 1207 "ext/gherkin_lexer_en/gherkin_lexer_en.c" -+ - } - } - } -@@ -1211,7 +1211,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_eo/gherkin_lexer_eo.c.orig 2012-01-23 14:51:32.426402282 +0100 -+++ ext/gherkin_lexer_eo/gherkin_lexer_eo.c 2012-01-23 14:51:51.045338506 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_eo/gherkin_lexer_eo.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -663,7 +663,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -828,14 +828,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 832 "ext/gherkin_lexer_eo/gherkin_lexer_eo.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - --#line 839 "ext/gherkin_lexer_eo/gherkin_lexer_eo.c" -+ - { - int _klen; - unsigned int _trans; -@@ -909,7 +909,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -917,20 +917,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -940,37 +940,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -979,34 +979,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1014,7 +1014,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1023,13 +1023,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1037,13 +1037,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1059,13 +1059,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1111,7 +1111,7 @@ _match: - } - } - break; --#line 1115 "ext/gherkin_lexer_eo/gherkin_lexer_eo.c" -+ - } - } - -@@ -1128,7 +1128,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1174,7 +1174,7 @@ _again: - } - } - break; --#line 1178 "ext/gherkin_lexer_eo/gherkin_lexer_eo.c" -+ - } - } - } -@@ -1182,7 +1182,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/eo.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_da/gherkin_lexer_da.c.orig 2012-01-23 14:51:32.426402282 +0100 -+++ ext/gherkin_lexer_da/gherkin_lexer_da.c 2012-01-23 14:51:51.050338489 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_da/gherkin_lexer_da.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -725,7 +725,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -890,14 +890,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 894 "ext/gherkin_lexer_da/gherkin_lexer_da.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - --#line 901 "ext/gherkin_lexer_da/gherkin_lexer_da.c" -+ - { - int _klen; - unsigned int _trans; -@@ -971,7 +971,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -979,20 +979,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1002,37 +1002,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1041,34 +1041,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1076,7 +1076,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1085,13 +1085,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1099,13 +1099,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1121,13 +1121,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1173,7 +1173,7 @@ _match: - } - } - break; --#line 1177 "ext/gherkin_lexer_da/gherkin_lexer_da.c" -+ - } - } - -@@ -1190,7 +1190,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1236,7 +1236,7 @@ _again: - } - } - break; --#line 1240 "ext/gherkin_lexer_da/gherkin_lexer_da.c" -+ - } - } - } -@@ -1244,7 +1244,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/da.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_sv/gherkin_lexer_sv.c.orig 2012-01-23 14:51:32.427402278 +0100 -+++ ext/gherkin_lexer_sv/gherkin_lexer_sv.c 2012-01-23 14:51:51.054338475 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_sv/gherkin_lexer_sv.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -749,7 +749,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -914,14 +914,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 918 "ext/gherkin_lexer_sv/gherkin_lexer_sv.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - --#line 925 "ext/gherkin_lexer_sv/gherkin_lexer_sv.c" -+ - { - int _klen; - unsigned int _trans; -@@ -995,7 +995,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1003,20 +1003,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1026,37 +1026,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1065,34 +1065,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1100,7 +1100,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1109,13 +1109,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1123,13 +1123,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1145,13 +1145,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1197,7 +1197,7 @@ _match: - } - } - break; --#line 1201 "ext/gherkin_lexer_sv/gherkin_lexer_sv.c" -+ - } - } - -@@ -1214,7 +1214,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1260,7 +1260,7 @@ _again: - } - } - break; --#line 1264 "ext/gherkin_lexer_sv/gherkin_lexer_sv.c" -+ - } - } - } -@@ -1268,7 +1268,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sv.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c.orig 2012-01-23 14:51:32.427402278 +0100 -+++ ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c 2012-01-23 14:51:51.060338455 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -1059,7 +1059,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1224,14 +1224,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1228 "ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - --#line 1235 "ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1305,7 +1305,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1313,20 +1313,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1336,37 +1336,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1375,34 +1375,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1410,7 +1410,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1419,13 +1419,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1433,13 +1433,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1455,13 +1455,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1507,7 +1507,7 @@ _match: - } - } - break; --#line 1511 "ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c" -+ - } - } - -@@ -1524,7 +1524,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1570,7 +1570,7 @@ _again: - } - } - break; --#line 1574 "ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c" -+ - } - } - } -@@ -1578,7 +1578,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_bg/gherkin_lexer_bg.c.orig 2012-01-23 14:51:32.427402278 +0100 -+++ ext/gherkin_lexer_bg/gherkin_lexer_bg.c 2012-01-23 14:51:51.066338434 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_bg/gherkin_lexer_bg.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -1082,7 +1082,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1247,14 +1247,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1251 "ext/gherkin_lexer_bg/gherkin_lexer_bg.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - --#line 1258 "ext/gherkin_lexer_bg/gherkin_lexer_bg.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1328,7 +1328,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1336,20 +1336,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1359,37 +1359,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1398,34 +1398,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1433,7 +1433,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1442,13 +1442,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1456,13 +1456,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1478,13 +1478,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1530,7 +1530,7 @@ _match: - } - } - break; --#line 1534 "ext/gherkin_lexer_bg/gherkin_lexer_bg.c" -+ - } - } - -@@ -1547,7 +1547,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1593,7 +1593,7 @@ _again: - } - } - break; --#line 1597 "ext/gherkin_lexer_bg/gherkin_lexer_bg.c" -+ - } - } - } -@@ -1601,7 +1601,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/bg.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_ru/gherkin_lexer_ru.c.orig 2012-01-23 14:51:32.427402278 +0100 -+++ ext/gherkin_lexer_ru/gherkin_lexer_ru.c 2012-01-23 14:51:51.072338413 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_ru/gherkin_lexer_ru.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -1482,7 +1482,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1647,14 +1647,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1651 "ext/gherkin_lexer_ru/gherkin_lexer_ru.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - --#line 1658 "ext/gherkin_lexer_ru/gherkin_lexer_ru.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1728,7 +1728,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1736,20 +1736,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1759,37 +1759,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1798,34 +1798,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1833,7 +1833,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1842,13 +1842,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1856,13 +1856,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1878,13 +1878,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1930,7 +1930,7 @@ _match: - } - } - break; --#line 1934 "ext/gherkin_lexer_ru/gherkin_lexer_ru.c" -+ - } - } - -@@ -1947,7 +1947,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1993,7 +1993,7 @@ _again: - } - } - break; --#line 1997 "ext/gherkin_lexer_ru/gherkin_lexer_ru.c" -+ - } - } - } -@@ -2001,7 +2001,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ru.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_it/gherkin_lexer_it.c.orig 2012-01-23 14:51:32.427402278 +0100 -+++ ext/gherkin_lexer_it/gherkin_lexer_it.c 2012-01-23 14:51:51.077338397 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_it/gherkin_lexer_it.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -759,7 +759,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -924,14 +924,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 928 "ext/gherkin_lexer_it/gherkin_lexer_it.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - --#line 935 "ext/gherkin_lexer_it/gherkin_lexer_it.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1005,7 +1005,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1013,20 +1013,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1036,37 +1036,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1075,34 +1075,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1110,7 +1110,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1119,13 +1119,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1133,13 +1133,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1155,13 +1155,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1207,7 +1207,7 @@ _match: - } - } - break; --#line 1211 "ext/gherkin_lexer_it/gherkin_lexer_it.c" -+ - } - } - -@@ -1224,7 +1224,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1270,7 +1270,7 @@ _again: - } - } - break; --#line 1274 "ext/gherkin_lexer_it/gherkin_lexer_it.c" -+ - } - } - } -@@ -1278,7 +1278,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/it.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_nl/gherkin_lexer_nl.c.orig 2012-01-23 14:51:32.428402275 +0100 -+++ ext/gherkin_lexer_nl/gherkin_lexer_nl.c 2012-01-23 14:51:51.082338380 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_nl/gherkin_lexer_nl.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -790,7 +790,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -955,14 +955,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 959 "ext/gherkin_lexer_nl/gherkin_lexer_nl.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - --#line 966 "ext/gherkin_lexer_nl/gherkin_lexer_nl.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1036,7 +1036,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1044,20 +1044,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1067,37 +1067,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1106,34 +1106,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1141,7 +1141,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1150,13 +1150,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1164,13 +1164,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1186,13 +1186,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1238,7 +1238,7 @@ _match: - } - } - break; --#line 1242 "ext/gherkin_lexer_nl/gherkin_lexer_nl.c" -+ - } - } - -@@ -1255,7 +1255,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1301,7 +1301,7 @@ _again: - } - } - break; --#line 1305 "ext/gherkin_lexer_nl/gherkin_lexer_nl.c" -+ - } - } - } -@@ -1309,7 +1309,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/nl.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_uk/gherkin_lexer_uk.c.orig 2012-01-23 14:51:32.428402275 +0100 -+++ ext/gherkin_lexer_uk/gherkin_lexer_uk.c 2012-01-23 14:51:51.088338359 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_uk/gherkin_lexer_uk.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -1368,7 +1368,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1533,14 +1533,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1537 "ext/gherkin_lexer_uk/gherkin_lexer_uk.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - --#line 1544 "ext/gherkin_lexer_uk/gherkin_lexer_uk.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1614,7 +1614,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1622,20 +1622,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1645,37 +1645,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1684,34 +1684,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1719,7 +1719,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1728,13 +1728,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1742,13 +1742,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1764,13 +1764,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1816,7 +1816,7 @@ _match: - } - } - break; --#line 1820 "ext/gherkin_lexer_uk/gherkin_lexer_uk.c" -+ - } - } - -@@ -1833,7 +1833,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1879,7 +1879,7 @@ _again: - } - } - break; --#line 1883 "ext/gherkin_lexer_uk/gherkin_lexer_uk.c" -+ - } - } - } -@@ -1887,7 +1887,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uk.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_lv/gherkin_lexer_lv.c.orig 2012-01-23 14:51:32.428402275 +0100 -+++ ext/gherkin_lexer_lv/gherkin_lexer_lv.c 2012-01-23 14:51:51.093338342 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_lv/gherkin_lexer_lv.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -852,7 +852,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1017,14 +1017,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1021 "ext/gherkin_lexer_lv/gherkin_lexer_lv.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - --#line 1028 "ext/gherkin_lexer_lv/gherkin_lexer_lv.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1098,7 +1098,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1106,20 +1106,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1129,37 +1129,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1168,34 +1168,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1203,7 +1203,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1212,13 +1212,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1226,13 +1226,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1248,13 +1248,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1300,7 +1300,7 @@ _match: - } - } - break; --#line 1304 "ext/gherkin_lexer_lv/gherkin_lexer_lv.c" -+ - } - } - -@@ -1317,7 +1317,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1363,7 +1363,7 @@ _again: - } - } - break; --#line 1367 "ext/gherkin_lexer_lv/gherkin_lexer_lv.c" -+ - } - } - } -@@ -1371,7 +1371,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lv.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_vi/gherkin_lexer_vi.c.orig 2012-01-23 14:51:32.428402275 +0100 -+++ ext/gherkin_lexer_vi/gherkin_lexer_vi.c 2012-01-23 14:51:51.097338329 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_vi/gherkin_lexer_vi.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -883,7 +883,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1048,14 +1048,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1052 "ext/gherkin_lexer_vi/gherkin_lexer_vi.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - --#line 1059 "ext/gherkin_lexer_vi/gherkin_lexer_vi.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1129,7 +1129,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1137,20 +1137,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1160,37 +1160,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1199,34 +1199,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1234,7 +1234,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1243,13 +1243,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1257,13 +1257,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1279,13 +1279,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1331,7 +1331,7 @@ _match: - } - } - break; --#line 1335 "ext/gherkin_lexer_vi/gherkin_lexer_vi.c" -+ - } - } - -@@ -1348,7 +1348,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1394,7 +1394,7 @@ _again: - } - } - break; --#line 1398 "ext/gherkin_lexer_vi/gherkin_lexer_vi.c" -+ - } - } - } -@@ -1402,7 +1402,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/vi.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c.orig 2012-01-23 14:51:32.428402275 +0100 -+++ ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c 2012-01-23 14:51:51.100338318 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -602,7 +602,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -767,14 +767,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 771 "ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - --#line 778 "ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c" -+ - { - int _klen; - unsigned int _trans; -@@ -848,7 +848,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -856,20 +856,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -879,37 +879,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -918,34 +918,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -953,7 +953,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -962,13 +962,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -976,13 +976,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -998,13 +998,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1050,7 +1050,7 @@ _match: - } - } - break; --#line 1054 "ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c" -+ - } - } - -@@ -1067,7 +1067,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1113,7 +1113,7 @@ _again: - } - } - break; --#line 1117 "ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c" -+ - } - } - } -@@ -1121,7 +1121,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_lol.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_ja/gherkin_lexer_ja.c.orig 2012-01-23 14:51:32.429402272 +0100 -+++ ext/gherkin_lexer_ja/gherkin_lexer_ja.c 2012-01-23 14:51:51.104338304 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_ja/gherkin_lexer_ja.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -1126,7 +1126,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1291,14 +1291,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1295 "ext/gherkin_lexer_ja/gherkin_lexer_ja.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - --#line 1302 "ext/gherkin_lexer_ja/gherkin_lexer_ja.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1372,7 +1372,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1380,20 +1380,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1403,37 +1403,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1442,34 +1442,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1477,7 +1477,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1486,13 +1486,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1500,13 +1500,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1522,13 +1522,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1574,7 +1574,7 @@ _match: - } - } - break; --#line 1578 "ext/gherkin_lexer_ja/gherkin_lexer_ja.c" -+ - } - } - -@@ -1591,7 +1591,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1637,7 +1637,7 @@ _again: - } - } - break; --#line 1641 "ext/gherkin_lexer_ja/gherkin_lexer_ja.c" -+ - } - } - } -@@ -1645,7 +1645,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ja.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_id/gherkin_lexer_id.c.orig 2012-01-23 14:51:32.429402272 +0100 -+++ ext/gherkin_lexer_id/gherkin_lexer_id.c 2012-01-23 14:51:51.106338297 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_id/gherkin_lexer_id.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -630,7 +630,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -795,14 +795,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 799 "ext/gherkin_lexer_id/gherkin_lexer_id.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - --#line 806 "ext/gherkin_lexer_id/gherkin_lexer_id.c" -+ - { - int _klen; - unsigned int _trans; -@@ -876,7 +876,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -884,20 +884,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -907,37 +907,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -946,34 +946,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -981,7 +981,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -990,13 +990,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1004,13 +1004,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1026,13 +1026,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1078,7 +1078,7 @@ _match: - } - } - break; --#line 1082 "ext/gherkin_lexer_id/gherkin_lexer_id.c" -+ - } - } - -@@ -1095,7 +1095,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1141,7 +1141,7 @@ _again: - } - } - break; --#line 1145 "ext/gherkin_lexer_id/gherkin_lexer_id.c" -+ - } - } - } -@@ -1149,7 +1149,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/id.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_lt/gherkin_lexer_lt.c.orig 2012-01-23 14:51:32.429402272 +0100 -+++ ext/gherkin_lexer_lt/gherkin_lexer_lt.c 2012-01-23 14:51:51.109338288 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_lt/gherkin_lexer_lt.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -722,7 +722,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -887,14 +887,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 891 "ext/gherkin_lexer_lt/gherkin_lexer_lt.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - --#line 898 "ext/gherkin_lexer_lt/gherkin_lexer_lt.c" -+ - { - int _klen; - unsigned int _trans; -@@ -968,7 +968,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -976,20 +976,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -999,37 +999,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1038,34 +1038,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1073,7 +1073,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1082,13 +1082,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1096,13 +1096,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1118,13 +1118,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1170,7 +1170,7 @@ _match: - } - } - break; --#line 1174 "ext/gherkin_lexer_lt/gherkin_lexer_lt.c" -+ - } - } - -@@ -1187,7 +1187,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1233,7 +1233,7 @@ _again: - } - } - break; --#line 1237 "ext/gherkin_lexer_lt/gherkin_lexer_lt.c" -+ - } - } - } -@@ -1241,7 +1241,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lt.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_sk/gherkin_lexer_sk.c.orig 2012-01-23 14:51:32.429402272 +0100 -+++ ext/gherkin_lexer_sk/gherkin_lexer_sk.c 2012-01-23 14:51:51.112338276 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_sk/gherkin_lexer_sk.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -725,7 +725,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -890,14 +890,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 894 "ext/gherkin_lexer_sk/gherkin_lexer_sk.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - --#line 901 "ext/gherkin_lexer_sk/gherkin_lexer_sk.c" -+ - { - int _klen; - unsigned int _trans; -@@ -971,7 +971,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -979,20 +979,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1002,37 +1002,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1041,34 +1041,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1076,7 +1076,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1085,13 +1085,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1099,13 +1099,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1121,13 +1121,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1173,7 +1173,7 @@ _match: - } - } - break; --#line 1177 "ext/gherkin_lexer_sk/gherkin_lexer_sk.c" -+ - } - } - -@@ -1190,7 +1190,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1236,7 +1236,7 @@ _again: - } - } - break; --#line 1240 "ext/gherkin_lexer_sk/gherkin_lexer_sk.c" -+ - } - } - } -@@ -1244,7 +1244,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sk.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_fi/gherkin_lexer_fi.c.orig 2012-01-23 14:51:32.429402272 +0100 -+++ ext/gherkin_lexer_fi/gherkin_lexer_fi.c 2012-01-23 14:51:51.115338267 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -640,7 +640,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -805,14 +805,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 809 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - --#line 816 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c" -+ - { - int _klen; - unsigned int _trans; -@@ -886,7 +886,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -894,20 +894,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -917,37 +917,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -956,34 +956,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -991,7 +991,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1000,13 +1000,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1014,13 +1014,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1036,13 +1036,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1088,7 +1088,7 @@ _match: - } - } - break; --#line 1092 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c" -+ - } - } - -@@ -1105,7 +1105,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1151,7 +1151,7 @@ _again: - } - } - break; --#line 1155 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c" -+ - } - } - } -@@ -1159,7 +1159,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/fi.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_de/gherkin_lexer_de.c.orig 2012-01-23 14:51:32.429402272 +0100 -+++ ext/gherkin_lexer_de/gherkin_lexer_de.c 2012-01-23 14:51:51.118338256 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_de/gherkin_lexer_de.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -842,7 +842,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1007,14 +1007,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1011 "ext/gherkin_lexer_de/gherkin_lexer_de.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - --#line 1018 "ext/gherkin_lexer_de/gherkin_lexer_de.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1088,7 +1088,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1096,20 +1096,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1119,37 +1119,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1158,34 +1158,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1193,7 +1193,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1202,13 +1202,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1216,13 +1216,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1238,13 +1238,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1290,7 +1290,7 @@ _match: - } - } - break; --#line 1294 "ext/gherkin_lexer_de/gherkin_lexer_de.c" -+ - } - } - -@@ -1307,7 +1307,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1353,7 +1353,7 @@ _again: - } - } - break; --#line 1357 "ext/gherkin_lexer_de/gherkin_lexer_de.c" -+ - } - } - } -@@ -1361,7 +1361,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/de.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_lu/gherkin_lexer_lu.c.orig 2012-01-23 14:51:32.430402269 +0100 -+++ ext/gherkin_lexer_lu/gherkin_lexer_lu.c 2012-01-23 14:51:51.121338246 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_lu/gherkin_lexer_lu.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -814,7 +814,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -979,14 +979,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 983 "ext/gherkin_lexer_lu/gherkin_lexer_lu.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - --#line 990 "ext/gherkin_lexer_lu/gherkin_lexer_lu.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1060,7 +1060,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1068,20 +1068,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1091,37 +1091,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1130,34 +1130,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1165,7 +1165,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1174,13 +1174,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1188,13 +1188,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1210,13 +1210,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1262,7 +1262,7 @@ _match: - } - } - break; --#line 1266 "ext/gherkin_lexer_lu/gherkin_lexer_lu.c" -+ - } - } - -@@ -1279,7 +1279,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1325,7 +1325,7 @@ _again: - } - } - break; --#line 1329 "ext/gherkin_lexer_lu/gherkin_lexer_lu.c" -+ - } - } - } -@@ -1333,7 +1333,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/lu.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_ar/gherkin_lexer_ar.c.orig 2012-01-23 14:51:32.430402269 +0100 -+++ ext/gherkin_lexer_ar/gherkin_lexer_ar.c 2012-01-23 14:51:51.124338236 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_ar/gherkin_lexer_ar.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -856,7 +856,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1021,14 +1021,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1025 "ext/gherkin_lexer_ar/gherkin_lexer_ar.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - --#line 1032 "ext/gherkin_lexer_ar/gherkin_lexer_ar.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1102,7 +1102,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1110,20 +1110,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1133,37 +1133,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1172,34 +1172,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1207,7 +1207,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1216,13 +1216,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1230,13 +1230,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1252,13 +1252,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1304,7 +1304,7 @@ _match: - } - } - break; --#line 1308 "ext/gherkin_lexer_ar/gherkin_lexer_ar.c" -+ - } - } - -@@ -1321,7 +1321,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1367,7 +1367,7 @@ _again: - } - } - break; --#line 1371 "ext/gherkin_lexer_ar/gherkin_lexer_ar.c" -+ - } - } - } -@@ -1375,7 +1375,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_uz/gherkin_lexer_uz.c.orig 2012-01-23 14:51:32.430402269 +0100 -+++ ext/gherkin_lexer_uz/gherkin_lexer_uz.c 2012-01-23 14:51:51.128338222 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_uz/gherkin_lexer_uz.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -1078,7 +1078,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1243,14 +1243,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1247 "ext/gherkin_lexer_uz/gherkin_lexer_uz.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - --#line 1254 "ext/gherkin_lexer_uz/gherkin_lexer_uz.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1324,7 +1324,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1332,20 +1332,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1355,37 +1355,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1394,34 +1394,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1429,7 +1429,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1438,13 +1438,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1452,13 +1452,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1474,13 +1474,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1526,7 +1526,7 @@ _match: - } - } - break; --#line 1530 "ext/gherkin_lexer_uz/gherkin_lexer_uz.c" -+ - } - } - -@@ -1543,7 +1543,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1589,7 +1589,7 @@ _again: - } - } - break; --#line 1593 "ext/gherkin_lexer_uz/gherkin_lexer_uz.c" -+ - } - } - } -@@ -1597,7 +1597,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_tr/gherkin_lexer_tr.c.orig 2012-01-23 14:51:32.430402269 +0100 -+++ ext/gherkin_lexer_tr/gherkin_lexer_tr.c 2012-01-23 14:51:51.131338212 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_tr/gherkin_lexer_tr.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -767,7 +767,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -932,14 +932,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 936 "ext/gherkin_lexer_tr/gherkin_lexer_tr.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - --#line 943 "ext/gherkin_lexer_tr/gherkin_lexer_tr.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1013,7 +1013,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1021,20 +1021,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1044,37 +1044,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1083,34 +1083,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1118,7 +1118,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1127,13 +1127,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1141,13 +1141,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1163,13 +1163,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1215,7 +1215,7 @@ _match: - } - } - break; --#line 1219 "ext/gherkin_lexer_tr/gherkin_lexer_tr.c" -+ - } - } - -@@ -1232,7 +1232,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1278,7 +1278,7 @@ _again: - } - } - break; --#line 1282 "ext/gherkin_lexer_tr/gherkin_lexer_tr.c" -+ - } - } - } -@@ -1286,7 +1286,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/tr.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_ca/gherkin_lexer_ca.c.orig 2012-01-23 14:51:32.430402269 +0100 -+++ ext/gherkin_lexer_ca/gherkin_lexer_ca.c 2012-01-23 14:51:51.134338202 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_ca/gherkin_lexer_ca.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -1008,7 +1008,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1173,14 +1173,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1177 "ext/gherkin_lexer_ca/gherkin_lexer_ca.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - --#line 1184 "ext/gherkin_lexer_ca/gherkin_lexer_ca.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1254,7 +1254,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1262,20 +1262,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1285,37 +1285,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1324,34 +1324,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1359,7 +1359,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1368,13 +1368,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1382,13 +1382,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1404,13 +1404,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1456,7 +1456,7 @@ _match: - } - } - break; --#line 1460 "ext/gherkin_lexer_ca/gherkin_lexer_ca.c" -+ - } - } - -@@ -1473,7 +1473,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1519,7 +1519,7 @@ _again: - } - } - break; --#line 1523 "ext/gherkin_lexer_ca/gherkin_lexer_ca.c" -+ - } - } - } -@@ -1527,7 +1527,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ca.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_pl/gherkin_lexer_pl.c.orig 2012-01-23 14:51:32.430402269 +0100 -+++ ext/gherkin_lexer_pl/gherkin_lexer_pl.c 2012-01-23 14:51:51.137338191 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_pl/gherkin_lexer_pl.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -904,7 +904,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1069,14 +1069,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1073 "ext/gherkin_lexer_pl/gherkin_lexer_pl.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - --#line 1080 "ext/gherkin_lexer_pl/gherkin_lexer_pl.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1150,7 +1150,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1158,20 +1158,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1181,37 +1181,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1220,34 +1220,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1255,7 +1255,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1264,13 +1264,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1278,13 +1278,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1300,13 +1300,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1352,7 +1352,7 @@ _match: - } - } - break; --#line 1356 "ext/gherkin_lexer_pl/gherkin_lexer_pl.c" -+ - } - } - -@@ -1369,7 +1369,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1415,7 +1415,7 @@ _again: - } - } - break; --#line 1419 "ext/gherkin_lexer_pl/gherkin_lexer_pl.c" -+ - } - } - } -@@ -1423,7 +1423,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c.orig 2012-01-23 14:51:32.431402266 +0100 -+++ ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c 2012-01-23 14:51:51.140338180 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -692,7 +692,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -857,14 +857,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 861 "ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - --#line 868 "ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c" -+ - { - int _klen; - unsigned int _trans; -@@ -938,7 +938,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -946,20 +946,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -969,37 +969,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1008,34 +1008,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1043,7 +1043,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1052,13 +1052,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1066,13 +1066,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1088,13 +1088,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1140,7 +1140,7 @@ _match: - } - } - break; --#line 1144 "ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c" -+ - } - } - -@@ -1157,7 +1157,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1203,7 +1203,7 @@ _again: - } - } - break; --#line 1207 "ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c" -+ - } - } - } -@@ -1211,7 +1211,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/en_tx.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c.orig 2012-01-23 14:51:32.431402266 +0100 -+++ ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c 2012-01-23 14:51:51.145338164 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -1537,7 +1537,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1702,14 +1702,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1706 "ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - --#line 1713 "ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1783,7 +1783,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1791,20 +1791,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1814,37 +1814,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1853,34 +1853,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1888,7 +1888,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1897,13 +1897,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1911,13 +1911,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1933,13 +1933,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1985,7 +1985,7 @@ _match: - } - } - break; --#line 1989 "ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c" -+ - } - } - -@@ -2002,7 +2002,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -2048,7 +2048,7 @@ _again: - } - } - break; --#line 2052 "ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c" -+ - } - } - } -@@ -2056,7 +2056,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_ro/gherkin_lexer_ro.c.orig 2012-01-23 14:51:32.431402266 +0100 -+++ ext/gherkin_lexer_ro/gherkin_lexer_ro.c 2012-01-23 14:51:51.148338154 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_ro/gherkin_lexer_ro.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -852,7 +852,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1017,14 +1017,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1021 "ext/gherkin_lexer_ro/gherkin_lexer_ro.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - --#line 1028 "ext/gherkin_lexer_ro/gherkin_lexer_ro.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1098,7 +1098,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1106,20 +1106,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1129,37 +1129,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1168,34 +1168,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1203,7 +1203,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1212,13 +1212,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1226,13 +1226,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1248,13 +1248,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1300,7 +1300,7 @@ _match: - } - } - break; --#line 1304 "ext/gherkin_lexer_ro/gherkin_lexer_ro.c" -+ - } - } - -@@ -1317,7 +1317,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1363,7 +1363,7 @@ _again: - } - } - break; --#line 1367 "ext/gherkin_lexer_ro/gherkin_lexer_ro.c" -+ - } - } - } -@@ -1371,7 +1371,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); ---- ext/gherkin_lexer_cs/gherkin_lexer_cs.c.orig 2012-01-23 14:51:32.431402266 +0100 -+++ ext/gherkin_lexer_cs/gherkin_lexer_cs.c 2012-01-23 14:51:51.151338143 +0100 -@@ -1,5 +1,5 @@ - --#line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - #include - #include - -@@ -78,12 +78,12 @@ static VALUE rb_eGherkinLexingError; - lexer->line_number) - - --#line 242 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - - - /** Data **/ - --#line 87 "ext/gherkin_lexer_cs/gherkin_lexer_cs.c" -+ - static const char _lexer_actions[] = { - 0, 1, 0, 1, 1, 1, 2, 1, - 3, 1, 4, 1, 5, 1, 6, 1, -@@ -854,7 +854,7 @@ static const int lexer_error = 0; - static const int lexer_en_main = 1; - - --#line 246 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - - static VALUE - unindent(VALUE con, int start_col) -@@ -1019,14 +1019,14 @@ static VALUE CLexer_scan(VALUE self, VAL - assert(*pe == '\0' && "pointer does not end on NULL"); - - --#line 1023 "ext/gherkin_lexer_cs/gherkin_lexer_cs.c" -+ - { - cs = lexer_start; - } - --#line 410 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - --#line 1030 "ext/gherkin_lexer_cs/gherkin_lexer_cs.c" -+ - { - int _klen; - unsigned int _trans; -@@ -1100,7 +1100,7 @@ _match: - switch ( *_acts++ ) - { - case 0: --#line 81 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - MARK(content_start, p); - lexer->current_line = lexer->line_number; -@@ -1108,20 +1108,20 @@ _match: - } - break; - case 1: --#line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 2: --#line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - lexer->current_line = lexer->line_number; - lexer->start_col = p - data - lexer->last_newline; - } - break; - case 3: --#line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - int len = LEN(content_start, PTR_TO(final_newline)); - -@@ -1131,37 +1131,37 @@ _match: - } - break; - case 4: --#line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - STORE_KW_END_CON(feature); - } - break; - case 5: --#line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - STORE_KW_END_CON(background); - } - break; - case 6: --#line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - STORE_KW_END_CON(scenario); - } - break; - case 7: --#line 116 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - STORE_KW_END_CON(scenario_outline); - } - break; - case 8: --#line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - STORE_KW_END_CON(examples); - } - break; - case 9: --#line 124 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - store_kw_con(listener, "step", - PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), -@@ -1170,34 +1170,34 @@ _match: - } - break; - case 10: --#line 131 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - STORE_ATTR(comment); - lexer->mark = 0; - } - break; - case 11: --#line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - STORE_ATTR(tag); - lexer->mark = 0; - } - break; - case 12: --#line 141 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - lexer->line_number += 1; - MARK(final_newline, p); - } - break; - case 13: --#line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - MARK(last_newline, p + 1); - } - break; - case 14: --#line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - if (lexer->mark == 0) { - MARK(mark, p); -@@ -1205,7 +1205,7 @@ _match: - } - break; - case 15: --#line 156 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - MARK(keyword_end, p); - MARK(keyword_start, PTR_TO(mark)); -@@ -1214,13 +1214,13 @@ _match: - } - break; - case 16: --#line 163 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - MARK(content_end, p); - } - break; - case 17: --#line 167 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - p = p - 1; - lexer->current_line = lexer->line_number; -@@ -1228,13 +1228,13 @@ _match: - } - break; - case 18: --#line 173 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - MARK(content_start, p); - } - break; - case 19: --#line 177 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - VALUE re_pipe, re_newline, re_backslash; - VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); -@@ -1250,13 +1250,13 @@ _match: - } - break; - case 20: --#line 191 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); - } - break; - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1302,7 +1302,7 @@ _match: - } - } - break; --#line 1306 "ext/gherkin_lexer_cs/gherkin_lexer_cs.c" -+ - } - } - -@@ -1319,7 +1319,7 @@ _again: - while ( __nacts-- > 0 ) { - switch ( *__acts++ ) { - case 21: --#line 195 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - { - int line; - if (cs < lexer_first_final) { -@@ -1365,7 +1365,7 @@ _again: - } - } - break; --#line 1369 "ext/gherkin_lexer_cs/gherkin_lexer_cs.c" -+ - } - } - } -@@ -1373,7 +1373,7 @@ _again: - _out: {} - } - --#line 411 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/cs.c.rl" -+ - - assert(p <= pe && "data overflow after parsing execute"); - assert(lexer->content_start <= len && "content starts after data end"); diff --git a/gherkin-2.9.3-remove-hash-line.patch b/gherkin-2.9.3-remove-hash-line.patch new file mode 100644 index 0000000..e52d6ba --- /dev/null +++ b/gherkin-2.9.3-remove-hash-line.patch @@ -0,0 +1,12375 @@ +--- gherkin-2.9.3/ext/gherkin_lexer_lv/gherkin_lexer_lv.c.orig 2012-03-29 14:09:36.258386869 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_lv/gherkin_lexer_lv.c 2012-03-29 14:10:00.680316626 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_lv/gherkin_lexer_lv.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -857,7 +857,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1025,14 +1025,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1029 "ext/gherkin_lexer_lv/gherkin_lexer_lv.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + +-#line 1036 "ext/gherkin_lexer_lv/gherkin_lexer_lv.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1106,7 +1106,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1114,20 +1114,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1139,49 +1139,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1190,34 +1190,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1225,7 +1225,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1234,13 +1234,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1248,13 +1248,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1270,13 +1270,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1322,7 +1322,7 @@ _match: + } + } + break; +-#line 1326 "ext/gherkin_lexer_lv/gherkin_lexer_lv.c" ++ + } + } + +@@ -1339,7 +1339,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1385,7 +1385,7 @@ _again: + } + } + break; +-#line 1389 "ext/gherkin_lexer_lv/gherkin_lexer_lv.c" ++ + } + } + } +@@ -1393,7 +1393,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lv.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_hu/gherkin_lexer_hu.c.orig 2012-03-29 14:09:36.258386869 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_hu/gherkin_lexer_hu.c 2012-03-29 14:10:00.685316611 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_hu/gherkin_lexer_hu.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -808,7 +808,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -976,14 +976,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 980 "ext/gherkin_lexer_hu/gherkin_lexer_hu.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + +-#line 987 "ext/gherkin_lexer_hu/gherkin_lexer_hu.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1057,7 +1057,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1065,20 +1065,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1090,49 +1090,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1141,34 +1141,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1176,7 +1176,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1185,13 +1185,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1199,13 +1199,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1221,13 +1221,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1273,7 +1273,7 @@ _match: + } + } + break; +-#line 1277 "ext/gherkin_lexer_hu/gherkin_lexer_hu.c" ++ + } + } + +@@ -1290,7 +1290,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1336,7 +1336,7 @@ _again: + } + } + break; +-#line 1340 "ext/gherkin_lexer_hu/gherkin_lexer_hu.c" ++ + } + } + } +@@ -1344,7 +1344,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hu.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_uz/gherkin_lexer_uz.c.orig 2012-03-29 14:09:36.258386869 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_uz/gherkin_lexer_uz.c 2012-03-29 14:10:00.689316599 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_uz/gherkin_lexer_uz.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -1083,7 +1083,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1251,14 +1251,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1255 "ext/gherkin_lexer_uz/gherkin_lexer_uz.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + +-#line 1262 "ext/gherkin_lexer_uz/gherkin_lexer_uz.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1332,7 +1332,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1340,20 +1340,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1365,49 +1365,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1416,34 +1416,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1451,7 +1451,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1460,13 +1460,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1474,13 +1474,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1496,13 +1496,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1548,7 +1548,7 @@ _match: + } + } + break; +-#line 1552 "ext/gherkin_lexer_uz/gherkin_lexer_uz.c" ++ + } + } + +@@ -1565,7 +1565,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1611,7 +1611,7 @@ _again: + } + } + break; +-#line 1615 "ext/gherkin_lexer_uz/gherkin_lexer_uz.c" ++ + } + } + } +@@ -1619,7 +1619,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uz.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_ja/gherkin_lexer_ja.c.orig 2012-03-29 14:09:36.258386869 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_ja/gherkin_lexer_ja.c 2012-03-29 14:10:00.694316585 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_ja/gherkin_lexer_ja.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -1131,7 +1131,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1299,14 +1299,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1303 "ext/gherkin_lexer_ja/gherkin_lexer_ja.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + +-#line 1310 "ext/gherkin_lexer_ja/gherkin_lexer_ja.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1380,7 +1380,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1388,20 +1388,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1413,49 +1413,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1464,34 +1464,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1499,7 +1499,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1508,13 +1508,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1522,13 +1522,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1544,13 +1544,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1596,7 +1596,7 @@ _match: + } + } + break; +-#line 1600 "ext/gherkin_lexer_ja/gherkin_lexer_ja.c" ++ + } + } + +@@ -1613,7 +1613,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1659,7 +1659,7 @@ _again: + } + } + break; +-#line 1663 "ext/gherkin_lexer_ja/gherkin_lexer_ja.c" ++ + } + } + } +@@ -1667,7 +1667,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ja.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c.orig 2012-03-29 14:09:36.258386869 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c 2012-03-29 14:10:00.699316570 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -746,7 +746,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -914,14 +914,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 918 "ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + +-#line 925 "ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c" ++ + { + int _klen; + unsigned int _trans; +@@ -995,7 +995,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1003,20 +1003,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1028,49 +1028,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1079,34 +1079,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1114,7 +1114,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1123,13 +1123,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1137,13 +1137,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1159,13 +1159,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1211,7 +1211,7 @@ _match: + } + } + break; +-#line 1215 "ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c" ++ + } + } + +@@ -1228,7 +1228,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1274,7 +1274,7 @@ _again: + } + } + break; +-#line 1278 "ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c" ++ + } + } + } +@@ -1282,7 +1282,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_cn.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c.orig 2012-03-29 14:09:36.258386869 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c 2012-03-29 14:10:00.702316561 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -697,7 +697,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -865,14 +865,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 869 "ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + +-#line 876 "ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c" ++ + { + int _klen; + unsigned int _trans; +@@ -946,7 +946,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -954,20 +954,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -979,49 +979,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1030,34 +1030,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1065,7 +1065,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1074,13 +1074,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1088,13 +1088,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1110,13 +1110,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1162,7 +1162,7 @@ _match: + } + } + break; +-#line 1166 "ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c" ++ + } + } + +@@ -1179,7 +1179,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1225,7 +1225,7 @@ _again: + } + } + break; +-#line 1229 "ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c" ++ + } + } + } +@@ -1233,7 +1233,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_tx.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_pt/gherkin_lexer_pt.c.orig 2012-03-29 14:09:36.258386869 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_pt/gherkin_lexer_pt.c 2012-03-29 14:10:00.707316548 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_pt/gherkin_lexer_pt.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -782,7 +782,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -950,14 +950,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 954 "ext/gherkin_lexer_pt/gherkin_lexer_pt.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + +-#line 961 "ext/gherkin_lexer_pt/gherkin_lexer_pt.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1031,7 +1031,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1039,20 +1039,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1064,49 +1064,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1115,34 +1115,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1150,7 +1150,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1159,13 +1159,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1173,13 +1173,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1195,13 +1195,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1247,7 +1247,7 @@ _match: + } + } + break; +-#line 1251 "ext/gherkin_lexer_pt/gherkin_lexer_pt.c" ++ + } + } + +@@ -1264,7 +1264,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1310,7 +1310,7 @@ _again: + } + } + break; +-#line 1314 "ext/gherkin_lexer_pt/gherkin_lexer_pt.c" ++ + } + } + } +@@ -1318,7 +1318,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pt.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_uk/gherkin_lexer_uk.c.orig 2012-03-29 14:09:36.258386869 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_uk/gherkin_lexer_uk.c 2012-03-29 14:10:00.713316530 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_uk/gherkin_lexer_uk.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -1373,7 +1373,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1541,14 +1541,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1545 "ext/gherkin_lexer_uk/gherkin_lexer_uk.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + +-#line 1552 "ext/gherkin_lexer_uk/gherkin_lexer_uk.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1622,7 +1622,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1630,20 +1630,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1655,49 +1655,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1706,34 +1706,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1741,7 +1741,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1750,13 +1750,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1764,13 +1764,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1786,13 +1786,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1838,7 +1838,7 @@ _match: + } + } + break; +-#line 1842 "ext/gherkin_lexer_uk/gherkin_lexer_uk.c" ++ + } + } + +@@ -1855,7 +1855,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1901,7 +1901,7 @@ _again: + } + } + break; +-#line 1905 "ext/gherkin_lexer_uk/gherkin_lexer_uk.c" ++ + } + } + } +@@ -1909,7 +1909,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/uk.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_ca/gherkin_lexer_ca.c.orig 2012-03-29 14:09:36.258386869 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_ca/gherkin_lexer_ca.c 2012-03-29 14:10:00.719316513 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_ca/gherkin_lexer_ca.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -1013,7 +1013,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1181,14 +1181,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1185 "ext/gherkin_lexer_ca/gherkin_lexer_ca.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + +-#line 1192 "ext/gherkin_lexer_ca/gherkin_lexer_ca.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1262,7 +1262,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1270,20 +1270,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1295,49 +1295,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1346,34 +1346,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1381,7 +1381,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1390,13 +1390,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1404,13 +1404,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1426,13 +1426,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1478,7 +1478,7 @@ _match: + } + } + break; +-#line 1482 "ext/gherkin_lexer_ca/gherkin_lexer_ca.c" ++ + } + } + +@@ -1495,7 +1495,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1541,7 +1541,7 @@ _again: + } + } + break; +-#line 1545 "ext/gherkin_lexer_ca/gherkin_lexer_ca.c" ++ + } + } + } +@@ -1549,7 +1549,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ca.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_et/gherkin_lexer_et.c.orig 2012-03-29 14:09:36.258386869 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_et/gherkin_lexer_et.c 2012-03-29 14:10:00.722316505 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_et/gherkin_lexer_et.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -668,7 +668,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -836,14 +836,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 840 "ext/gherkin_lexer_et/gherkin_lexer_et.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + +-#line 847 "ext/gherkin_lexer_et/gherkin_lexer_et.c" ++ + { + int _klen; + unsigned int _trans; +@@ -917,7 +917,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -925,20 +925,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -950,49 +950,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1001,34 +1001,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1036,7 +1036,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1045,13 +1045,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1059,13 +1059,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1081,13 +1081,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1133,7 +1133,7 @@ _match: + } + } + break; +-#line 1137 "ext/gherkin_lexer_et/gherkin_lexer_et.c" ++ + } + } + +@@ -1150,7 +1150,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1196,7 +1196,7 @@ _again: + } + } + break; +-#line 1200 "ext/gherkin_lexer_et/gherkin_lexer_et.c" ++ + } + } + } +@@ -1204,7 +1204,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/et.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_ar/gherkin_lexer_ar.c.orig 2012-03-29 14:09:36.258386869 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_ar/gherkin_lexer_ar.c 2012-03-29 14:10:00.726316493 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_ar/gherkin_lexer_ar.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -864,7 +864,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1032,14 +1032,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1036 "ext/gherkin_lexer_ar/gherkin_lexer_ar.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + +-#line 1043 "ext/gherkin_lexer_ar/gherkin_lexer_ar.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1113,7 +1113,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1121,20 +1121,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1146,49 +1146,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1197,34 +1197,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1232,7 +1232,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1241,13 +1241,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1255,13 +1255,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1277,13 +1277,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1329,7 +1329,7 @@ _match: + } + } + break; +-#line 1333 "ext/gherkin_lexer_ar/gherkin_lexer_ar.c" ++ + } + } + +@@ -1346,7 +1346,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1392,7 +1392,7 @@ _again: + } + } + break; +-#line 1396 "ext/gherkin_lexer_ar/gherkin_lexer_ar.c" ++ + } + } + } +@@ -1400,7 +1400,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ar.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_lt/gherkin_lexer_lt.c.orig 2012-03-29 14:09:36.259386866 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_lt/gherkin_lexer_lt.c 2012-03-29 14:10:00.730316481 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_lt/gherkin_lexer_lt.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -728,7 +728,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -896,14 +896,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 900 "ext/gherkin_lexer_lt/gherkin_lexer_lt.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + +-#line 907 "ext/gherkin_lexer_lt/gherkin_lexer_lt.c" ++ + { + int _klen; + unsigned int _trans; +@@ -977,7 +977,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -985,20 +985,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1010,49 +1010,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1061,34 +1061,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1096,7 +1096,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1105,13 +1105,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1119,13 +1119,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1141,13 +1141,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1193,7 +1193,7 @@ _match: + } + } + break; +-#line 1197 "ext/gherkin_lexer_lt/gherkin_lexer_lt.c" ++ + } + } + +@@ -1210,7 +1210,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1256,7 +1256,7 @@ _again: + } + } + break; +-#line 1260 "ext/gherkin_lexer_lt/gherkin_lexer_lt.c" ++ + } + } + } +@@ -1264,7 +1264,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lt.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_nl/gherkin_lexer_nl.c.orig 2012-03-29 14:09:36.259386866 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_nl/gherkin_lexer_nl.c 2012-03-29 14:10:00.734316470 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_nl/gherkin_lexer_nl.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -800,7 +800,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -968,14 +968,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 972 "ext/gherkin_lexer_nl/gherkin_lexer_nl.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + +-#line 979 "ext/gherkin_lexer_nl/gherkin_lexer_nl.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1049,7 +1049,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1057,20 +1057,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1082,49 +1082,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1133,34 +1133,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1168,7 +1168,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1177,13 +1177,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1191,13 +1191,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1213,13 +1213,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1265,7 +1265,7 @@ _match: + } + } + break; +-#line 1269 "ext/gherkin_lexer_nl/gherkin_lexer_nl.c" ++ + } + } + +@@ -1282,7 +1282,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1328,7 +1328,7 @@ _again: + } + } + break; +-#line 1332 "ext/gherkin_lexer_nl/gherkin_lexer_nl.c" ++ + } + } + } +@@ -1336,7 +1336,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/nl.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_is/gherkin_lexer_is.c.orig 2012-03-29 14:09:36.259386866 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_is/gherkin_lexer_is.c 2012-03-29 14:10:00.737316461 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_is/gherkin_lexer_is.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -808,7 +808,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -976,14 +976,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 980 "ext/gherkin_lexer_is/gherkin_lexer_is.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + +-#line 987 "ext/gherkin_lexer_is/gherkin_lexer_is.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1057,7 +1057,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1065,20 +1065,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1090,49 +1090,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1141,34 +1141,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1176,7 +1176,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1185,13 +1185,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1199,13 +1199,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1221,13 +1221,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1273,7 +1273,7 @@ _match: + } + } + break; +-#line 1277 "ext/gherkin_lexer_is/gherkin_lexer_is.c" ++ + } + } + +@@ -1290,7 +1290,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1336,7 +1336,7 @@ _again: + } + } + break; +-#line 1340 "ext/gherkin_lexer_is/gherkin_lexer_is.c" ++ + } + } + } +@@ -1344,7 +1344,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/is.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_sk/gherkin_lexer_sk.c.orig 2012-03-29 14:09:36.259386866 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_sk/gherkin_lexer_sk.c 2012-03-29 14:10:00.742316447 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_sk/gherkin_lexer_sk.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -730,7 +730,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -898,14 +898,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 902 "ext/gherkin_lexer_sk/gherkin_lexer_sk.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + +-#line 909 "ext/gherkin_lexer_sk/gherkin_lexer_sk.c" ++ + { + int _klen; + unsigned int _trans; +@@ -979,7 +979,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -987,20 +987,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1012,49 +1012,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1063,34 +1063,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1098,7 +1098,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1107,13 +1107,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1121,13 +1121,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1143,13 +1143,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1195,7 +1195,7 @@ _match: + } + } + break; +-#line 1199 "ext/gherkin_lexer_sk/gherkin_lexer_sk.c" ++ + } + } + +@@ -1212,7 +1212,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1258,7 +1258,7 @@ _again: + } + } + break; +-#line 1262 "ext/gherkin_lexer_sk/gherkin_lexer_sk.c" ++ + } + } + } +@@ -1266,7 +1266,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sk.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_ru/gherkin_lexer_ru.c.orig 2012-03-29 14:09:36.311386720 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_ru/gherkin_lexer_ru.c 2012-03-29 14:10:00.748316429 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_ru/gherkin_lexer_ru.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -1490,7 +1490,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1658,14 +1658,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1662 "ext/gherkin_lexer_ru/gherkin_lexer_ru.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + +-#line 1669 "ext/gherkin_lexer_ru/gherkin_lexer_ru.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1739,7 +1739,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1747,20 +1747,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1772,49 +1772,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1823,34 +1823,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1858,7 +1858,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1867,13 +1867,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1881,13 +1881,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1903,13 +1903,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1955,7 +1955,7 @@ _match: + } + } + break; +-#line 1959 "ext/gherkin_lexer_ru/gherkin_lexer_ru.c" ++ + } + } + +@@ -1972,7 +1972,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -2018,7 +2018,7 @@ _again: + } + } + break; +-#line 2022 "ext/gherkin_lexer_ru/gherkin_lexer_ru.c" ++ + } + } + } +@@ -2026,7 +2026,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ru.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c.orig 2012-03-29 14:09:36.311386720 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c 2012-03-29 14:10:00.753316416 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -655,7 +655,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -823,14 +823,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 827 "ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + +-#line 834 "ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c" ++ + { + int _klen; + unsigned int _trans; +@@ -904,7 +904,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -912,20 +912,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -937,49 +937,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -988,34 +988,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1023,7 +1023,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1032,13 +1032,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1046,13 +1046,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1068,13 +1068,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1120,7 +1120,7 @@ _match: + } + } + break; +-#line 1124 "ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c" ++ + } + } + +@@ -1137,7 +1137,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1183,7 +1183,7 @@ _again: + } + } + break; +-#line 1187 "ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c" ++ + } + } + } +@@ -1191,7 +1191,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_au.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_he/gherkin_lexer_he.c.orig 2012-03-29 14:09:36.311386720 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_he/gherkin_lexer_he.c 2012-03-29 14:10:00.758316401 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_he/gherkin_lexer_he.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -806,7 +806,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -974,14 +974,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 978 "ext/gherkin_lexer_he/gherkin_lexer_he.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + +-#line 985 "ext/gherkin_lexer_he/gherkin_lexer_he.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1055,7 +1055,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1063,20 +1063,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1088,49 +1088,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1139,34 +1139,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1174,7 +1174,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1183,13 +1183,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1197,13 +1197,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1219,13 +1219,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1271,7 +1271,7 @@ _match: + } + } + break; +-#line 1275 "ext/gherkin_lexer_he/gherkin_lexer_he.c" ++ + } + } + +@@ -1288,7 +1288,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1334,7 +1334,7 @@ _again: + } + } + break; +-#line 1338 "ext/gherkin_lexer_he/gherkin_lexer_he.c" ++ + } + } + } +@@ -1342,7 +1342,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/he.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c.orig 2012-03-29 14:09:36.311386720 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c 2012-03-29 14:10:00.762316389 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -714,7 +714,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -882,14 +882,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 886 "ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + +-#line 893 "ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c" ++ + { + int _klen; + unsigned int _trans; +@@ -963,7 +963,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -971,20 +971,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -996,49 +996,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1047,34 +1047,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1082,7 +1082,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1091,13 +1091,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1105,13 +1105,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1127,13 +1127,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1179,7 +1179,7 @@ _match: + } + } + break; +-#line 1183 "ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c" ++ + } + } + +@@ -1196,7 +1196,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1242,7 +1242,7 @@ _again: + } + } + break; +-#line 1246 "ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c" ++ + } + } + } +@@ -1250,7 +1250,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cy_gb.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_ko/gherkin_lexer_ko.c.orig 2012-03-29 14:09:36.311386720 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_ko/gherkin_lexer_ko.c 2012-03-29 14:10:00.767316375 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_ko/gherkin_lexer_ko.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -792,7 +792,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -960,14 +960,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 964 "ext/gherkin_lexer_ko/gherkin_lexer_ko.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + +-#line 971 "ext/gherkin_lexer_ko/gherkin_lexer_ko.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1041,7 +1041,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1049,20 +1049,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1074,49 +1074,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1125,34 +1125,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1160,7 +1160,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1169,13 +1169,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1183,13 +1183,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1205,13 +1205,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1257,7 +1257,7 @@ _match: + } + } + break; +-#line 1261 "ext/gherkin_lexer_ko/gherkin_lexer_ko.c" ++ + } + } + +@@ -1274,7 +1274,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1320,7 +1320,7 @@ _again: + } + } + break; +-#line 1324 "ext/gherkin_lexer_ko/gherkin_lexer_ko.c" ++ + } + } + } +@@ -1328,7 +1328,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ko.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_eo/gherkin_lexer_eo.c.orig 2012-03-29 14:09:36.311386720 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_eo/gherkin_lexer_eo.c 2012-03-29 14:10:00.771316363 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_eo/gherkin_lexer_eo.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -673,7 +673,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -841,14 +841,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 845 "ext/gherkin_lexer_eo/gherkin_lexer_eo.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + +-#line 852 "ext/gherkin_lexer_eo/gherkin_lexer_eo.c" ++ + { + int _klen; + unsigned int _trans; +@@ -922,7 +922,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -930,20 +930,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -955,49 +955,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1006,34 +1006,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1041,7 +1041,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1050,13 +1050,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1064,13 +1064,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1086,13 +1086,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1138,7 +1138,7 @@ _match: + } + } + break; +-#line 1142 "ext/gherkin_lexer_eo/gherkin_lexer_eo.c" ++ + } + } + +@@ -1155,7 +1155,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1201,7 +1201,7 @@ _again: + } + } + break; +-#line 1205 "ext/gherkin_lexer_eo/gherkin_lexer_eo.c" ++ + } + } + } +@@ -1209,7 +1209,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/eo.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_no/gherkin_lexer_no.c.orig 2012-03-29 14:09:36.311386720 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_no/gherkin_lexer_no.c 2012-03-29 14:10:00.775316352 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_no/gherkin_lexer_no.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -743,7 +743,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -911,14 +911,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 915 "ext/gherkin_lexer_no/gherkin_lexer_no.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + +-#line 922 "ext/gherkin_lexer_no/gherkin_lexer_no.c" ++ + { + int _klen; + unsigned int _trans; +@@ -992,7 +992,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1000,20 +1000,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1025,49 +1025,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1076,34 +1076,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1111,7 +1111,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1120,13 +1120,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1134,13 +1134,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1156,13 +1156,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1208,7 +1208,7 @@ _match: + } + } + break; +-#line 1212 "ext/gherkin_lexer_no/gherkin_lexer_no.c" ++ + } + } + +@@ -1225,7 +1225,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1271,7 +1271,7 @@ _again: + } + } + break; +-#line 1275 "ext/gherkin_lexer_no/gherkin_lexer_no.c" ++ + } + } + } +@@ -1279,7 +1279,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/no.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_es/gherkin_lexer_es.c.orig 2012-03-29 14:09:36.311386720 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_es/gherkin_lexer_es.c 2012-03-29 14:10:00.780316337 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_es/gherkin_lexer_es.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -831,7 +831,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -999,14 +999,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1003 "ext/gherkin_lexer_es/gherkin_lexer_es.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + +-#line 1010 "ext/gherkin_lexer_es/gherkin_lexer_es.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1080,7 +1080,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1088,20 +1088,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1113,49 +1113,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1164,34 +1164,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1199,7 +1199,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1208,13 +1208,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1222,13 +1222,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1244,13 +1244,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1296,7 +1296,7 @@ _match: + } + } + break; +-#line 1300 "ext/gherkin_lexer_es/gherkin_lexer_es.c" ++ + } + } + +@@ -1313,7 +1313,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1359,7 +1359,7 @@ _again: + } + } + break; +-#line 1363 "ext/gherkin_lexer_es/gherkin_lexer_es.c" ++ + } + } + } +@@ -1367,7 +1367,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/es.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_da/gherkin_lexer_da.c.orig 2012-03-29 14:09:36.311386720 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_da/gherkin_lexer_da.c 2012-03-29 14:10:00.784316326 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_da/gherkin_lexer_da.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -730,7 +730,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -898,14 +898,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 902 "ext/gherkin_lexer_da/gherkin_lexer_da.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + +-#line 909 "ext/gherkin_lexer_da/gherkin_lexer_da.c" ++ + { + int _klen; + unsigned int _trans; +@@ -979,7 +979,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -987,20 +987,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1012,49 +1012,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1063,34 +1063,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1098,7 +1098,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1107,13 +1107,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1121,13 +1121,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1143,13 +1143,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1195,7 +1195,7 @@ _match: + } + } + break; +-#line 1199 "ext/gherkin_lexer_da/gherkin_lexer_da.c" ++ + } + } + +@@ -1212,7 +1212,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1258,7 +1258,7 @@ _again: + } + } + break; +-#line 1262 "ext/gherkin_lexer_da/gherkin_lexer_da.c" ++ + } + } + } +@@ -1266,7 +1266,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/da.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_lu/gherkin_lexer_lu.c.orig 2012-03-29 14:09:36.312386716 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_lu/gherkin_lexer_lu.c 2012-03-29 14:10:00.789316312 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_lu/gherkin_lexer_lu.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -821,7 +821,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -989,14 +989,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 993 "ext/gherkin_lexer_lu/gherkin_lexer_lu.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + +-#line 1000 "ext/gherkin_lexer_lu/gherkin_lexer_lu.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1070,7 +1070,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1078,20 +1078,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1103,49 +1103,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1154,34 +1154,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1189,7 +1189,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1198,13 +1198,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1212,13 +1212,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1234,13 +1234,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1286,7 +1286,7 @@ _match: + } + } + break; +-#line 1290 "ext/gherkin_lexer_lu/gherkin_lexer_lu.c" ++ + } + } + +@@ -1303,7 +1303,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1349,7 +1349,7 @@ _again: + } + } + break; +-#line 1353 "ext/gherkin_lexer_lu/gherkin_lexer_lu.c" ++ + } + } + } +@@ -1357,7 +1357,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/lu.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_tr/gherkin_lexer_tr.c.orig 2012-03-29 14:09:36.312386716 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_tr/gherkin_lexer_tr.c 2012-03-29 14:10:00.794316297 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_tr/gherkin_lexer_tr.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -779,7 +779,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -947,14 +947,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 951 "ext/gherkin_lexer_tr/gherkin_lexer_tr.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + +-#line 958 "ext/gherkin_lexer_tr/gherkin_lexer_tr.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1028,7 +1028,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1036,20 +1036,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1061,49 +1061,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1112,34 +1112,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1147,7 +1147,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1156,13 +1156,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1170,13 +1170,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1192,13 +1192,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1244,7 +1244,7 @@ _match: + } + } + break; +-#line 1248 "ext/gherkin_lexer_tr/gherkin_lexer_tr.c" ++ + } + } + +@@ -1261,7 +1261,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1307,7 +1307,7 @@ _again: + } + } + break; +-#line 1311 "ext/gherkin_lexer_tr/gherkin_lexer_tr.c" ++ + } + } + } +@@ -1315,7 +1315,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tr.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_it/gherkin_lexer_it.c.orig 2012-03-29 14:09:36.312386716 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_it/gherkin_lexer_it.c 2012-03-29 14:10:00.798316285 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_it/gherkin_lexer_it.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -772,7 +772,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -940,14 +940,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 944 "ext/gherkin_lexer_it/gherkin_lexer_it.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + +-#line 951 "ext/gherkin_lexer_it/gherkin_lexer_it.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1021,7 +1021,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1029,20 +1029,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1054,49 +1054,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1105,34 +1105,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1140,7 +1140,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1149,13 +1149,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1163,13 +1163,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1185,13 +1185,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1237,7 +1237,7 @@ _match: + } + } + break; +-#line 1241 "ext/gherkin_lexer_it/gherkin_lexer_it.c" ++ + } + } + +@@ -1254,7 +1254,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1300,7 +1300,7 @@ _again: + } + } + break; +-#line 1304 "ext/gherkin_lexer_it/gherkin_lexer_it.c" ++ + } + } + } +@@ -1308,7 +1308,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/it.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_en/gherkin_lexer_en.c.orig 2012-03-29 14:09:36.312386716 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_en/gherkin_lexer_en.c 2012-03-29 14:10:00.803316271 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_en/gherkin_lexer_en.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -697,7 +697,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -865,14 +865,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 869 "ext/gherkin_lexer_en/gherkin_lexer_en.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + +-#line 876 "ext/gherkin_lexer_en/gherkin_lexer_en.c" ++ + { + int _klen; + unsigned int _trans; +@@ -946,7 +946,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -954,20 +954,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -979,49 +979,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1030,34 +1030,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1065,7 +1065,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1074,13 +1074,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1088,13 +1088,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1110,13 +1110,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1162,7 +1162,7 @@ _match: + } + } + break; +-#line 1166 "ext/gherkin_lexer_en/gherkin_lexer_en.c" ++ + } + } + +@@ -1179,7 +1179,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1225,7 +1225,7 @@ _again: + } + } + break; +-#line 1229 "ext/gherkin_lexer_en/gherkin_lexer_en.c" ++ + } + } + } +@@ -1233,7 +1233,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_hr/gherkin_lexer_hr.c.orig 2012-03-29 14:09:36.312386716 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_hr/gherkin_lexer_hr.c 2012-03-29 14:10:00.808316257 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_hr/gherkin_lexer_hr.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -755,7 +755,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -923,14 +923,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 927 "ext/gherkin_lexer_hr/gherkin_lexer_hr.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + +-#line 934 "ext/gherkin_lexer_hr/gherkin_lexer_hr.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1004,7 +1004,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1012,20 +1012,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1037,49 +1037,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1088,34 +1088,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1123,7 +1123,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1132,13 +1132,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1146,13 +1146,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1168,13 +1168,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1220,7 +1220,7 @@ _match: + } + } + break; +-#line 1224 "ext/gherkin_lexer_hr/gherkin_lexer_hr.c" ++ + } + } + +@@ -1237,7 +1237,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1283,7 +1283,7 @@ _again: + } + } + break; +-#line 1287 "ext/gherkin_lexer_hr/gherkin_lexer_hr.c" ++ + } + } + } +@@ -1291,7 +1291,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/hr.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_vi/gherkin_lexer_vi.c.orig 2012-03-29 14:09:36.312386716 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_vi/gherkin_lexer_vi.c 2012-03-29 14:10:00.811316248 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_vi/gherkin_lexer_vi.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -890,7 +890,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1058,14 +1058,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1062 "ext/gherkin_lexer_vi/gherkin_lexer_vi.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + +-#line 1069 "ext/gherkin_lexer_vi/gherkin_lexer_vi.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1139,7 +1139,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1147,20 +1147,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1172,49 +1172,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1223,34 +1223,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1258,7 +1258,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1267,13 +1267,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1281,13 +1281,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1303,13 +1303,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1355,7 +1355,7 @@ _match: + } + } + break; +-#line 1359 "ext/gherkin_lexer_vi/gherkin_lexer_vi.c" ++ + } + } + +@@ -1372,7 +1372,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1418,7 +1418,7 @@ _again: + } + } + break; +-#line 1422 "ext/gherkin_lexer_vi/gherkin_lexer_vi.c" ++ + } + } + } +@@ -1426,7 +1426,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/vi.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c.orig 2012-03-29 14:09:36.312386716 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c 2012-03-29 14:10:00.815316237 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -739,7 +739,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -907,14 +907,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 911 "ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + +-#line 918 "ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c" ++ + { + int _klen; + unsigned int _trans; +@@ -988,7 +988,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -996,20 +996,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1021,49 +1021,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1072,34 +1072,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1107,7 +1107,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1116,13 +1116,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1130,13 +1130,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1152,13 +1152,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1204,7 +1204,7 @@ _match: + } + } + break; +-#line 1208 "ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c" ++ + } + } + +@@ -1221,7 +1221,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1267,7 +1267,7 @@ _again: + } + } + break; +-#line 1271 "ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c" ++ + } + } + } +@@ -1275,7 +1275,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/zh_tw.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_fi/gherkin_lexer_fi.c.orig 2012-03-29 14:09:36.312386716 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_fi/gherkin_lexer_fi.c 2012-03-29 14:10:00.819316225 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -647,7 +647,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -815,14 +815,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 819 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + +-#line 826 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c" ++ + { + int _klen; + unsigned int _trans; +@@ -896,7 +896,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -904,20 +904,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -929,49 +929,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -980,34 +980,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1015,7 +1015,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1024,13 +1024,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1038,13 +1038,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1060,13 +1060,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1112,7 +1112,7 @@ _match: + } + } + break; +-#line 1116 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c" ++ + } + } + +@@ -1129,7 +1129,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1175,7 +1175,7 @@ _again: + } + } + break; +-#line 1179 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c" ++ + } + } + } +@@ -1183,7 +1183,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_de/gherkin_lexer_de.c.orig 2012-03-29 14:09:36.312386716 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_de/gherkin_lexer_de.c 2012-03-29 14:10:00.823316213 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_de/gherkin_lexer_de.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -847,7 +847,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1015,14 +1015,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1019 "ext/gherkin_lexer_de/gherkin_lexer_de.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + +-#line 1026 "ext/gherkin_lexer_de/gherkin_lexer_de.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1096,7 +1096,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1104,20 +1104,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1129,49 +1129,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1180,34 +1180,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1215,7 +1215,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1224,13 +1224,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1238,13 +1238,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1260,13 +1260,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1312,7 +1312,7 @@ _match: + } + } + break; +-#line 1316 "ext/gherkin_lexer_de/gherkin_lexer_de.c" ++ + } + } + +@@ -1329,7 +1329,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1375,7 +1375,7 @@ _again: + } + } + break; +-#line 1379 "ext/gherkin_lexer_de/gherkin_lexer_de.c" ++ + } + } + } +@@ -1383,7 +1383,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/de.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c.orig 2012-03-29 14:09:36.312386716 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c 2012-03-29 14:10:00.829316197 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -1544,7 +1544,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1712,14 +1712,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1716 "ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + +-#line 1723 "ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1793,7 +1793,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1801,20 +1801,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1826,49 +1826,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1877,34 +1877,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1912,7 +1912,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1921,13 +1921,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1935,13 +1935,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1957,13 +1957,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -2009,7 +2009,7 @@ _match: + } + } + break; +-#line 2013 "ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c" ++ + } + } + +@@ -2026,7 +2026,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -2072,7 +2072,7 @@ _again: + } + } + break; +-#line 2076 "ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c" ++ + } + } + } +@@ -2080,7 +2080,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_cyrl.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_pl/gherkin_lexer_pl.c.orig 2012-03-29 14:09:36.313386712 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_pl/gherkin_lexer_pl.c 2012-03-29 14:10:00.834316182 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_pl/gherkin_lexer_pl.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -909,7 +909,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1077,14 +1077,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1081 "ext/gherkin_lexer_pl/gherkin_lexer_pl.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + +-#line 1088 "ext/gherkin_lexer_pl/gherkin_lexer_pl.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1158,7 +1158,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1166,20 +1166,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1191,49 +1191,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1242,34 +1242,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1277,7 +1277,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1286,13 +1286,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1300,13 +1300,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1322,13 +1322,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1374,7 +1374,7 @@ _match: + } + } + break; +-#line 1378 "ext/gherkin_lexer_pl/gherkin_lexer_pl.c" ++ + } + } + +@@ -1391,7 +1391,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1437,7 +1437,7 @@ _again: + } + } + break; +-#line 1441 "ext/gherkin_lexer_pl/gherkin_lexer_pl.c" ++ + } + } + } +@@ -1445,7 +1445,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/pl.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_cs/gherkin_lexer_cs.c.orig 2012-03-29 14:09:36.313386712 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_cs/gherkin_lexer_cs.c 2012-03-29 14:10:00.838316170 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_cs/gherkin_lexer_cs.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -859,7 +859,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1027,14 +1027,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1031 "ext/gherkin_lexer_cs/gherkin_lexer_cs.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + +-#line 1038 "ext/gherkin_lexer_cs/gherkin_lexer_cs.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1108,7 +1108,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1116,20 +1116,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1141,49 +1141,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1192,34 +1192,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1227,7 +1227,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1236,13 +1236,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1250,13 +1250,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1272,13 +1272,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1324,7 +1324,7 @@ _match: + } + } + break; +-#line 1328 "ext/gherkin_lexer_cs/gherkin_lexer_cs.c" ++ + } + } + +@@ -1341,7 +1341,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1387,7 +1387,7 @@ _again: + } + } + break; +-#line 1391 "ext/gherkin_lexer_cs/gherkin_lexer_cs.c" ++ + } + } + } +@@ -1395,7 +1395,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/cs.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_fr/gherkin_lexer_fr.c.orig 2012-03-29 14:09:36.313386712 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_fr/gherkin_lexer_fr.c 2012-03-29 14:10:00.841316162 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_fr/gherkin_lexer_fr.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -925,7 +925,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1093,14 +1093,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1097 "ext/gherkin_lexer_fr/gherkin_lexer_fr.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + +-#line 1104 "ext/gherkin_lexer_fr/gherkin_lexer_fr.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1174,7 +1174,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1182,20 +1182,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1207,49 +1207,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1258,34 +1258,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1293,7 +1293,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1302,13 +1302,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1316,13 +1316,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1338,13 +1338,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1390,7 +1390,7 @@ _match: + } + } + break; +-#line 1394 "ext/gherkin_lexer_fr/gherkin_lexer_fr.c" ++ + } + } + +@@ -1407,7 +1407,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1453,7 +1453,7 @@ _again: + } + } + break; +-#line 1457 "ext/gherkin_lexer_fr/gherkin_lexer_fr.c" ++ + } + } + } +@@ -1461,7 +1461,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fr.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_id/gherkin_lexer_id.c.orig 2012-03-29 14:09:36.313386712 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_id/gherkin_lexer_id.c 2012-03-29 14:10:00.844316153 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_id/gherkin_lexer_id.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -640,7 +640,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -808,14 +808,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 812 "ext/gherkin_lexer_id/gherkin_lexer_id.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + +-#line 819 "ext/gherkin_lexer_id/gherkin_lexer_id.c" ++ + { + int _klen; + unsigned int _trans; +@@ -889,7 +889,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -897,20 +897,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -922,49 +922,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -973,34 +973,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1008,7 +1008,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1017,13 +1017,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1031,13 +1031,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1053,13 +1053,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1105,7 +1105,7 @@ _match: + } + } + break; +-#line 1109 "ext/gherkin_lexer_id/gherkin_lexer_id.c" ++ + } + } + +@@ -1122,7 +1122,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1168,7 +1168,7 @@ _again: + } + } + break; +-#line 1172 "ext/gherkin_lexer_id/gherkin_lexer_id.c" ++ + } + } + } +@@ -1176,7 +1176,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/id.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_sv/gherkin_lexer_sv.c.orig 2012-03-29 14:09:36.313386712 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_sv/gherkin_lexer_sv.c 2012-03-29 14:10:00.849316139 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_sv/gherkin_lexer_sv.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -756,7 +756,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -924,14 +924,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 928 "ext/gherkin_lexer_sv/gherkin_lexer_sv.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + +-#line 935 "ext/gherkin_lexer_sv/gherkin_lexer_sv.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1005,7 +1005,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1013,20 +1013,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1038,49 +1038,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1089,34 +1089,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1124,7 +1124,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1133,13 +1133,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1147,13 +1147,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1169,13 +1169,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1221,7 +1221,7 @@ _match: + } + } + break; +-#line 1225 "ext/gherkin_lexer_sv/gherkin_lexer_sv.c" ++ + } + } + +@@ -1238,7 +1238,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1284,7 +1284,7 @@ _again: + } + } + break; +-#line 1288 "ext/gherkin_lexer_sv/gherkin_lexer_sv.c" ++ + } + } + } +@@ -1292,7 +1292,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sv.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c.orig 2012-03-29 14:09:36.313386712 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c 2012-03-29 14:10:00.854316124 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -903,7 +903,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1071,14 +1071,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1075 "ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + +-#line 1082 "ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1152,7 +1152,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1160,20 +1160,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1185,49 +1185,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1236,34 +1236,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1271,7 +1271,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1280,13 +1280,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1294,13 +1294,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1316,13 +1316,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1368,7 +1368,7 @@ _match: + } + } + break; +-#line 1372 "ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c" ++ + } + } + +@@ -1385,7 +1385,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1431,7 +1431,7 @@ _again: + } + } + break; +-#line 1435 "ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c" ++ + } + } + } +@@ -1439,7 +1439,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_pirate.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c.orig 2012-03-29 14:09:36.313386712 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c 2012-03-29 14:10:00.858316114 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -609,7 +609,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -777,14 +777,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 781 "ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + +-#line 788 "ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c" ++ + { + int _klen; + unsigned int _trans; +@@ -858,7 +858,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -866,20 +866,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -891,49 +891,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -942,34 +942,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -977,7 +977,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -986,13 +986,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1000,13 +1000,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1022,13 +1022,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1074,7 +1074,7 @@ _match: + } + } + break; +-#line 1078 "ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c" ++ + } + } + +@@ -1091,7 +1091,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1137,7 +1137,7 @@ _again: + } + } + break; +-#line 1141 "ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c" ++ + } + } + } +@@ -1145,7 +1145,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_lol.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c.orig 2012-03-29 14:09:36.313386712 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c 2012-03-29 14:10:00.864316096 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -999,7 +999,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1167,14 +1167,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1171 "ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + +-#line 1178 "ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1248,7 +1248,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1256,20 +1256,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1281,49 +1281,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1332,34 +1332,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1367,7 +1367,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1376,13 +1376,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1390,13 +1390,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1412,13 +1412,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1464,7 +1464,7 @@ _match: + } + } + break; +-#line 1468 "ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c" ++ + } + } + +@@ -1481,7 +1481,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1527,7 +1527,7 @@ _again: + } + } + break; +-#line 1531 "ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c" ++ + } + } + } +@@ -1535,7 +1535,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/sr_latn.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c.orig 2012-03-29 14:09:36.313386712 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c 2012-03-29 14:10:00.869316081 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -1066,7 +1066,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1234,14 +1234,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1238 "ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + +-#line 1245 "ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1315,7 +1315,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1323,20 +1323,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1348,49 +1348,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1399,34 +1399,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1434,7 +1434,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1443,13 +1443,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1457,13 +1457,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1479,13 +1479,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1531,7 +1531,7 @@ _match: + } + } + break; +-#line 1535 "ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c" ++ + } + } + +@@ -1548,7 +1548,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1594,7 +1594,7 @@ _again: + } + } + break; +-#line 1598 "ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c" ++ + } + } + } +@@ -1602,7 +1602,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en_scouse.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_bg/gherkin_lexer_bg.c.orig 2012-03-29 14:09:36.314386708 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_bg/gherkin_lexer_bg.c 2012-03-29 14:10:00.875316064 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_bg/gherkin_lexer_bg.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -1087,7 +1087,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1255,14 +1255,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1259 "ext/gherkin_lexer_bg/gherkin_lexer_bg.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + +-#line 1266 "ext/gherkin_lexer_bg/gherkin_lexer_bg.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1336,7 +1336,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1344,20 +1344,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1369,49 +1369,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1420,34 +1420,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1455,7 +1455,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1464,13 +1464,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1478,13 +1478,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1500,13 +1500,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1552,7 +1552,7 @@ _match: + } + } + break; +-#line 1556 "ext/gherkin_lexer_bg/gherkin_lexer_bg.c" ++ + } + } + +@@ -1569,7 +1569,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1615,7 +1615,7 @@ _again: + } + } + break; +-#line 1619 "ext/gherkin_lexer_bg/gherkin_lexer_bg.c" ++ + } + } + } +@@ -1623,7 +1623,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); +--- gherkin-2.9.3/ext/gherkin_lexer_ro/gherkin_lexer_ro.c.orig 2012-03-29 14:09:36.314386708 +0200 ++++ gherkin-2.9.3/ext/gherkin_lexer_ro/gherkin_lexer_ro.c 2012-03-29 14:10:00.879316052 +0200 +@@ -1,5 +1,5 @@ + +-#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + #include + #include + +@@ -80,12 +80,12 @@ static VALUE rb_eGherkinLexingError; + lexer->line_number) + + +-#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + + + /** Data **/ + +-#line 89 "ext/gherkin_lexer_ro/gherkin_lexer_ro.c" ++ + static const char _lexer_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, +@@ -859,7 +859,7 @@ static const int lexer_error = 0; + static const int lexer_en_main = 1; + + +-#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + + static VALUE + unindent(VALUE con, int start_col) +@@ -1027,14 +1027,14 @@ static VALUE CLexer_scan(VALUE self, VAL + assert(*pe == '\0' && "pointer does not end on NULL"); + + +-#line 1031 "ext/gherkin_lexer_ro/gherkin_lexer_ro.c" ++ + { + cs = lexer_start; + } + +-#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + +-#line 1038 "ext/gherkin_lexer_ro/gherkin_lexer_ro.c" ++ + { + int _klen; + unsigned int _trans; +@@ -1108,7 +1108,7 @@ _match: + switch ( *_acts++ ) + { + case 0: +-#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + MARK(content_start, p); + lexer->current_line = lexer->line_number; +@@ -1116,20 +1116,20 @@ _match: + } + break; + case 1: +-#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 2: +-#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + lexer->current_line = lexer->line_number; + lexer->start_col = p - data - lexer->last_newline; + } + break; + case 3: +-#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + int len = LEN(content_start, PTR_TO(final_newline)); + int type_len = LEN(docstring_content_type_start, PTR_TO(docstring_content_type_end)); +@@ -1141,49 +1141,49 @@ _match: + } + break; + case 4: +-#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + MARK(docstring_content_type_start, p); + } + break; + case 5: +-#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + MARK(docstring_content_type_end, p); + } + break; + case 6: +-#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + STORE_KW_END_CON(feature); + } + break; + case 7: +-#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + STORE_KW_END_CON(background); + } + break; + case 8: +-#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + STORE_KW_END_CON(scenario); + } + break; + case 9: +-#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + STORE_KW_END_CON(scenario_outline); + } + break; + case 10: +-#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + STORE_KW_END_CON(examples); + } + break; + case 11: +-#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + store_kw_con(listener, "step", + PTR_TO(keyword_start), LEN(keyword_start, PTR_TO(keyword_end)), +@@ -1192,34 +1192,34 @@ _match: + } + break; + case 12: +-#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + STORE_ATTR(comment); + lexer->mark = 0; + } + break; + case 13: +-#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + STORE_ATTR(tag); + lexer->mark = 0; + } + break; + case 14: +-#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + lexer->line_number += 1; + MARK(final_newline, p); + } + break; + case 15: +-#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + MARK(last_newline, p + 1); + } + break; + case 16: +-#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + if (lexer->mark == 0) { + MARK(mark, p); +@@ -1227,7 +1227,7 @@ _match: + } + break; + case 17: +-#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + MARK(keyword_end, p); + MARK(keyword_start, PTR_TO(mark)); +@@ -1236,13 +1236,13 @@ _match: + } + break; + case 18: +-#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + MARK(content_end, p); + } + break; + case 19: +-#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + p = p - 1; + lexer->current_line = lexer->line_number; +@@ -1250,13 +1250,13 @@ _match: + } + break; + case 20: +-#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + MARK(content_start, p); + } + break; + case 21: +-#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + VALUE re_pipe, re_newline, re_backslash; + VALUE con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p)); +@@ -1272,13 +1272,13 @@ _match: + } + break; + case 22: +-#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + rb_funcall(listener, rb_intern("row"), 2, current_row, INT2FIX(lexer->current_line)); + } + break; + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1324,7 +1324,7 @@ _match: + } + } + break; +-#line 1328 "ext/gherkin_lexer_ro/gherkin_lexer_ro.c" ++ + } + } + +@@ -1341,7 +1341,7 @@ _again: + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 23: +-#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + { + int line; + if (cs < lexer_first_final) { +@@ -1387,7 +1387,7 @@ _again: + } + } + break; +-#line 1391 "ext/gherkin_lexer_ro/gherkin_lexer_ro.c" ++ + } + } + } +@@ -1395,7 +1395,7 @@ _again: + _out: {} + } + +-#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/ro.c.rl" ++ + + assert(p <= pe && "data overflow after parsing execute"); + assert(lexer->content_start <= len && "content starts after data end"); diff --git a/rubygem-gherkin.spec b/rubygem-gherkin.spec index 091cd50..60989f0 100644 --- a/rubygem-gherkin.spec +++ b/rubygem-gherkin.spec @@ -3,24 +3,26 @@ Summary: Fast Gherkin lexer/parser Name: rubygem-%{gem_name} -Version: 2.4.5 -Release: 4%{?dist} +Version: 2.9.3 +Release: 1%{?dist} Group: Development/Languages License: MIT URL: http://github.com/aslakhellesoy/gherkin Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem # generated by running: -# ruby -rfileutils Dir.glob("gherkin/gherkin-2.4.5/ext/gherkin_lexer_*/").each { |d| Dir.glob("#{d}*.c"){ |f| FileUtils.cp(f, d + f.split('/').last + ".orig" ) }} -# find ./gherkin/gherkin-2.4.5/ext/ -name *.c -exec sed -i 's/#line.*//g' {} \; -# ruby -rfileutils Dir.glob('gherkin/gherkin-2.4.5/ext/*/*.c').each { |f| puts `diff -sup #{f}.orig #{f}` } -Patch1: gherkin-2.4.5-remove-hash-line.patch +# ruby -rfileutils -e 'Dir.glob("gherkin-2.9.3/ext/gherkin_lexer_*/").each { |d| Dir.glob("#{d}*.c"){ |f| FileUtils.cp(f, d + f.split("/").last + ".orig" ) }}' +# find ./gherkin-2.9.3/ext/ -name *.c -exec sed -i 's/#line.*//g' {} \; +# ruby -e 'Dir.glob("gherkin-2.9.3/ext/*/*.c").each { |f| puts `diff -sup #{f}.orig #{f}` }' +Patch1: gherkin-%{version}-remove-hash-line.patch Requires: ruby(abi) = %{rubyabi} Requires: ruby(rubygems) Requires: rubygem(json) BuildRequires: rubygems-devel BuildRequires: ruby-devel +BuildRequires: rubygem(cucumber) +BuildRequires: rubygem(rspec) Provides: rubygem(%{gem_name}) = %{version} %package doc @@ -42,7 +44,7 @@ gem install --local --install-dir .%{gem_dir} \ --force -V --rdoc %{SOURCE0} pushd .%{gem_instdir} -%patch1 -p0 +%patch1 -p1 popd %build @@ -70,14 +72,28 @@ find %{buildroot}%{gem_instdir}/ext -iname '*.so' -exec mv {} %{buildroot}%{gem_ # clean out any gitignore find %{buildroot} -iname '.gitignore' -exec rm -f {} \; +%check +pushd .%{gem_instdir} +# use this gherkin, not the system one +export GEM_HOME="../../" +# kill bundler for features and specs +sed -i '7,8d' features/support/env.rb +sed -i '7,8d' spec/spec_helper.rb +# link the cucumber here for two features +ln -s %{gem_dir}/gems/cucumber-`cucumber --version`/ ../cucumber +# run cucumber features +cucumber +# run specs +# 6 examples fail because of bug in rspec 2.8 - should work ok when updated to rspec 2.9 +rspec spec | grep '270 examples, 6 failures, 3 pending' +popd + %files %defattr(-, root, root, -) %dir %{gem_instdir} %exclude %{gem_instdir}/.* -%exclude %{gem_instdir}/Gemfile.lock %{gem_extdir} %{gem_libdir} -%{gem_instdir}/java %{gem_instdir}/js %{gem_instdir}/ragel %{gem_instdir}/build_native_gems.sh @@ -95,11 +111,16 @@ find %{buildroot} -iname '.gitignore' -exec rm -f {} \; %{gem_instdir}/History.md %{gem_instdir}/README.md %{gem_instdir}/Rakefile +%{gem_instdir}/examples %{gem_instdir}/ext %{gem_instdir}/tasks %{gem_docdir} %changelog +* Thu Mar 29 2012 Bohuslav Kabrda - 2.9.3-1 +- Update to 2.9.3 +- Introduced %%check section + * Mon Jan 23 2012 Bohuslav Kabrda - 2.4.5-4 - Removed *.so files from %%{gem_libdir}. diff --git a/sources b/sources index 5c805b5..3fd34ca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -11c2ac26de3e10a88ddd0ece85d0cc0f gherkin-2.4.5.gem +6dcafd6e10c619cd9554aa76f2cb61eb gherkin-2.9.3.gem