Blob Blame History Raw
--- 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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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 <assert.h>
 #include <ruby.h>
 
@@ -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");