All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gherkin.lexer.i18n.RO Maven / Gradle / Ivy

There is a newer version: 2.12.2
Show newest version

// line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
package gherkin.lexer.i18n;

import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.ArrayList;
import java.util.regex.Pattern;
import gherkin.lexer.Lexer;
import gherkin.lexer.Listener;
import gherkin.lexer.LexingError;

public class RO implements Lexer {
  
// line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"


  private final Listener listener;

  public RO(Listener listener) {
    this.listener = listener;
  }

  
// line 26 "java/src/main/java/gherkin/lexer/i18n/RO.java"
private static byte[] init__lexer_actions_0()
{
	return new byte [] {
	    0,    1,    0,    1,    1,    1,    2,    1,    3,    1,    4,    1,
	    5,    1,    6,    1,    7,    1,    8,    1,    9,    1,   10,    1,
	   11,    1,   12,    1,   13,    1,   16,    1,   17,    1,   18,    1,
	   19,    1,   20,    1,   21,    1,   22,    1,   23,    2,    2,   18,
	    2,    3,    4,    2,   13,    0,    2,   14,   15,    2,   17,    0,
	    2,   17,    1,    2,   17,   16,    2,   17,   19,    2,   18,    6,
	    2,   18,    7,    2,   18,    8,    2,   18,    9,    2,   18,   10,
	    2,   18,   16,    2,   20,   21,    2,   22,    0,    2,   22,    1,
	    2,   22,   16,    2,   22,   19,    3,    4,   14,   15,    3,    5,
	   14,   15,    3,   11,   14,   15,    3,   12,   14,   15,    3,   13,
	   14,   15,    3,   14,   15,   18,    3,   17,    0,   11,    3,   17,
	   14,   15,    4,    2,   14,   15,   18,    4,    3,    4,   14,   15,
	    4,   17,    0,   14,   15,    5,   17,    0,   11,   14,   15
	};
}

private static final byte _lexer_actions[] = init__lexer_actions_0();


private static short[] init__lexer_key_offsets_0()
{
	return new short [] {
	    0,    0,   19,   20,   21,   22,   24,   26,   44,   45,   46,   47,
	   49,   51,   56,   61,   66,   71,   75,   79,   81,   82,   83,   84,
	   85,   86,   87,   88,   89,   90,   91,   92,   93,   94,   95,   96,
	  101,  108,  113,  114,  115,  116,  117,  120,  121,  122,  123,  124,
	  125,  126,  127,  128,  129,  130,  131,  146,  148,  150,  152,  170,
	  171,  175,  176,  177,  178,  179,  180,  181,  182,  185,  186,  187,
	  188,  189,  190,  191,  192,  193,  194,  201,  203,  205,  207,  211,
	  213,  215,  217,  219,  221,  223,  225,  227,  229,  231,  233,  235,
	  237,  238,  239,  240,  243,  244,  245,  246,  247,  248,  249,  250,
	  251,  252,  253,  254,  255,  256,  257,  268,  270,  272,  274,  276,
	  278,  280,  282,  284,  286,  288,  290,  292,  294,  296,  298,  300,
	  302,  304,  306,  308,  310,  312,  314,  316,  318,  320,  322,  324,
	  326,  328,  332,  334,  336,  338,  340,  342,  344,  346,  348,  350,
	  352,  354,  357,  359,  361,  363,  365,  367,  369,  371,  373,  375,
	  377,  379,  381,  384,  386,  388,  390,  392,  393,  396,  397,  398,
	  399,  400,  401,  402,  403,  404,  405,  420,  422,  424,  426,  428,
	  430,  432,  434,  436,  438,  440,  442,  444,  446,  448,  450,  452,
	  454,  456,  458,  460,  462,  464,  468,  470,  472,  474,  476,  478,
	  480,  482,  484,  486,  488,  493,  495,  497,  499,  501,  503,  505,
	  507,  511,  513,  515,  517,  521,  523,  525,  527,  529,  531,  533,
	  535,  537,  539,  541,  543,  545,  549,  551,  553,  555,  557,  559,
	  561,  563,  565,  567,  569,  571,  573,  576,  578,  580,  582,  584,
	  585,  586,  587,  588,  589,  590,  592,  593,  594,  595,  596,  597,
	  598,  599,  600,  601,  602,  603,  604,  605,  620,  622,  624,  626,
	  628,  630,  632,  634,  636,  638,  640,  642,  644,  646,  648,  650,
	  652,  654,  656,  658,  660,  662,  664,  667,  669,  671,  673,  675,
	  680,  682,  684,  686,  688,  690,  692,  694,  698,  700,  702,  704,
	  708,  710,  712,  714,  716,  718,  720,  722,  724,  726,  728,  730,
	  732,  734,  737,  739,  741,  743,  745,  747,  749,  753,  759,  762,
	  764,  770,  788,  790,  792,  794,  796,  798,  800,  802,  804,  806,
	  808,  810,  812,  814,  816,  818,  820,  822,  824,  826,  829,  831,
	  833,  835,  837,  842,  844,  846,  848,  850,  852,  854,  856,  860,
	  862,  864,  866,  870,  872,  874,  876,  878,  880,  882,  884,  886,
	  888,  890,  892,  894,  896,  900,  902,  904,  906,  908,  910,  912,
	  914,  916,  918,  920,  922,  924,  927,  929,  931,  933,  935,  936,
	  937
	};
}

private static final short _lexer_key_offsets[] = init__lexer_key_offsets_0();


private static byte[] init__lexer_trans_keys_0()
{
	return new byte [] {
	  -59,  -56,  -17,   10,   32,   34,   35,   37,   42,   64,   65,   67,
	   68,   69,   70,   83,  124,    9,   13,  -98,  105,   32,   10,   13,
	   10,   13,  -59,  -56,   10,   32,   34,   35,   37,   42,   64,   65,
	   67,   68,   69,   70,   83,  124,    9,   13, -104,   34,   34,   10,
	   13,   10,   13,   10,   32,   34,    9,   13,   10,   32,   34,    9,
	   13,   10,   32,   34,    9,   13,   10,   32,   34,    9,   13,   10,
	   32,    9,   13,   10,   32,    9,   13,   10,   13,   10,   95,   70,
	   69,   65,   84,   85,   82,   69,   95,   69,   78,   68,   95,   37,
	   13,   32,   64,    9,   10,    9,   10,   13,   32,   64,   11,   12,
	   10,   32,   64,    9,   13,  116,  117,  110,   99,  -61,   97,  111,
	  -94,  110,  100,  110,  116,  101,  120,  116,   58,   10,   10,  -59,
	  -56,   10,   32,   35,   37,   42,   64,   65,   67,   68,   70,   83,
	    9,   13,  -98,   10,   10,  105,   10,   32,  -59,  -56,   10,   32,
	   34,   35,   37,   42,   64,   65,   67,   68,   69,   70,   83,  124,
	    9,   13,   97,  -59,  -56,  114,  116,  -93,  105,   32,  102,  105,
	  105, -101,   32,  101,  105,  120,  101,  109,  112,  108,  101,   58,
	   10,   10,   10,   32,   35,   70,  124,    9,   13,   10,  117,   10,
	  110,   10,   99,  -59,  -56,   10,  116,  -93,   10,   10,  105,   10,
	  111,   10,  110,   10,   97,   10,  108,   10,  105,   10,  116,   10,
	   97,   10,  116,   10,  101,   10,   58, -101,   10,  117,  110,   99,
	  -59,  -56,  116,  -93,  105,  111,  110,   97,  108,  105,  116,   97,
	  116,  101,   58,   10,   10,   10,   32,   35,   37,   64,   67,   69,
	   70,   83,    9,   13,   10,   95,   10,   70,   10,   69,   10,   65,
	   10,   84,   10,   85,   10,   82,   10,   69,   10,   95,   10,   69,
	   10,   78,   10,   68,   10,   95,   10,   37,   10,  111,   10,  110,
	   10,  116,   10,  101,   10,  120,   10,  116,   10,   58,   10,  120,
	   10,  101,   10,  109,   10,  112,   10,  108,   10,  101,   10,  117,
	   10,  110,   10,   99,  -59,  -56,   10,  116,  -93,   10,   10,  105,
	   10,  111,   10,  110,   10,   97,   10,  108,   10,  105,   10,  116,
	   10,   97,   10,  116, -101,   10,   10,   99,  116,   10,  101,   10,
	  110,   10,   97,   10,  114,   10,  105,   10,  117,   10,  114,   10,
	  117,   10,   99,   10,  116,   10,  117,   10,  114,  -60,   10,   97,
	 -125,   10,   10,   32,   10,  115,   10,   99, -101,   99,  105,  116,
	  101,  110,   97,  114,  105,  117,   58,   10,   10,  -59,  -56,   10,
	   32,   35,   37,   42,   64,   65,   67,   68,   70,   83,    9,   13,
	  -98,   10,   10,  105,   10,   32, -104,   10,   10,   95,   10,   70,
	   10,   69,   10,   65,   10,   84,   10,   85,   10,   82,   10,   69,
	   10,   95,   10,   69,   10,   78,   10,   68,   10,   95,   10,   37,
	   10,  116,   10,  117,   10,  110,   10,   99,  -61,   10,   97,  111,
	  -94,   10,   10,  110,   10,  100,   10,  110,   10,  116,   10,  101,
	   10,  120,   10,  116,   10,   58,   10,   97,  -59,  -56,   10,  114,
	  116,  -93,   10,   10,  105,   10,   32,   10,  102,   10,  105,   10,
	  105, -101,   10,   10,   32,  101,  105,   10,  117,   10,  110,   10,
	   99,  -59,  -56,   10,  116,  -93,   10,   10,  105,   10,  111,   10,
	  110,   10,   97,   10,  108,   10,  105,   10,  116,   10,   97,   10,
	  116,   10,  101, -101,   10,   10,   99,  105,  116,   10,  101,   10,
	  110,   10,   97,   10,  114,   10,  105,   10,  117,   10,  114,   10,
	  117,   10,   99,   10,  116,   10,  117,   10,  114,  -60,   10,   97,
	 -125,   10,   10,   32,   10,  115,   10,   99,  114,  117,   99,  116,
	  117,  114,  -60,   97, -125,   32,  115,   99,  101,  110,   97,  114,
	  105,  117,   58,   10,   10,  -59,  -56,   10,   32,   35,   37,   42,
	   64,   65,   67,   68,   70,   83,    9,   13,  -98,   10,   10,  105,
	   10,   32, -104,   10,   10,   95,   10,   70,   10,   69,   10,   65,
	   10,   84,   10,   85,   10,   82,   10,   69,   10,   95,   10,   69,
	   10,   78,   10,   68,   10,   95,   10,   37,   10,  116,   10,  117,
	   10,  110,   10,   99,  -61,   10,   97,  -94,   10,   10,  110,   10,
	  100,   10,   97,  -59,  -56,   10,  114,  116,  -93,   10,   10,  105,
	   10,   32,   10,  102,   10,  105,   10,  105, -101,   10,   10,   32,
	  101,  105,   10,  117,   10,  110,   10,   99,  -59,  -56,   10,  116,
	  -93,   10,   10,  105,   10,  111,   10,  110,   10,   97,   10,  108,
	   10,  105,   10,  116,   10,   97,   10,  116,   10,  101,   10,   58,
	 -101,   10,   10,   99,  105,   10,  101,   10,  110,   10,   97,   10,
	  114,   10,  105,   10,  117,   32,  124,    9,   13,   10,   32,   92,
	  124,    9,   13,   10,   92,  124,   10,   92,   10,   32,   92,  124,
	    9,   13,  -59,  -56,   10,   32,   34,   35,   37,   42,   64,   65,
	   67,   68,   69,   70,   83,  124,    9,   13, -104,   10,   10,   95,
	   10,   70,   10,   69,   10,   65,   10,   84,   10,   85,   10,   82,
	   10,   69,   10,   95,   10,   69,   10,   78,   10,   68,   10,   95,
	   10,   37,   10,  116,   10,  117,   10,  110,   10,   99,  -61,   10,
	   97,  -94,   10,   10,  110,   10,  100,   10,   97,  -59,  -56,   10,
	  114,  116,  -93,   10,   10,  105,   10,   32,   10,  102,   10,  105,
	   10,  105, -101,   10,   10,   32,  101,  105,   10,  117,   10,  110,
	   10,   99,  -59,  -56,   10,  116,  -93,   10,   10,  105,   10,  111,
	   10,  110,   10,   97,   10,  108,   10,  105,   10,  116,   10,   97,
	   10,  116,   10,  101,   10,   58, -101,   10,   10,   99,  105,  116,
	   10,  101,   10,  110,   10,   97,   10,  114,   10,  105,   10,  117,
	   10,  114,   10,  117,   10,   99,   10,  116,   10,  117,   10,  114,
	  -60,   10,   97, -125,   10,   10,   32,   10,  115,   10,   99,  -69,
	  -65,    0
	};
}

private static final byte _lexer_trans_keys[] = init__lexer_trans_keys_0();


private static byte[] init__lexer_single_lengths_0()
{
	return new byte [] {
	    0,   17,    1,    1,    1,    2,    2,   16,    1,    1,    1,    2,
	    2,    3,    3,    3,    3,    2,    2,    2,    1,    1,    1,    1,
	    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
	    5,    3,    1,    1,    1,    1,    3,    1,    1,    1,    1,    1,
	    1,    1,    1,    1,    1,    1,   13,    2,    2,    2,   16,    1,
	    4,    1,    1,    1,    1,    1,    1,    1,    3,    1,    1,    1,
	    1,    1,    1,    1,    1,    1,    5,    2,    2,    2,    4,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    1,    1,    1,    3,    1,    1,    1,    1,    1,    1,    1,    1,
	    1,    1,    1,    1,    1,    1,    9,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    4,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    3,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    3,    2,    2,    2,    2,    1,    3,    1,    1,    1,
	    1,    1,    1,    1,    1,    1,   13,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    4,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    5,    2,    2,    2,    2,    2,    2,    2,
	    4,    2,    2,    2,    4,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    4,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    3,    2,    2,    2,    2,    1,
	    1,    1,    1,    1,    1,    2,    1,    1,    1,    1,    1,    1,
	    1,    1,    1,    1,    1,    1,    1,   13,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    3,    2,    2,    2,    2,    5,
	    2,    2,    2,    2,    2,    2,    2,    4,    2,    2,    2,    4,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    3,    2,    2,    2,    2,    2,    2,    2,    4,    3,    2,
	    4,   16,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    3,    2,    2,
	    2,    2,    5,    2,    2,    2,    2,    2,    2,    2,    4,    2,
	    2,    2,    4,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    4,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    3,    2,    2,    2,    2,    1,    1,
	    0
	};
}

private static final byte _lexer_single_lengths[] = init__lexer_single_lengths_0();


private static byte[] init__lexer_range_lengths_0()
{
	return new byte [] {
	    0,    1,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0,
	    0,    1,    1,    1,    1,    1,    1,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1,
	    1,    1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    1,    0,    0,    0,    1,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    1,    1,    0,    0,
	    1,    1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0
	};
}

private static final byte _lexer_range_lengths[] = init__lexer_range_lengths_0();


private static short[] init__lexer_index_offsets_0()
{
	return new short [] {
	    0,    0,   19,   21,   23,   25,   28,   31,   49,   51,   53,   55,
	   58,   61,   66,   71,   76,   81,   85,   89,   92,   94,   96,   98,
	  100,  102,  104,  106,  108,  110,  112,  114,  116,  118,  120,  122,
	  127,  134,  139,  141,  143,  145,  147,  151,  153,  155,  157,  159,
	  161,  163,  165,  167,  169,  171,  173,  188,  191,  194,  197,  215,
	  217,  222,  224,  226,  228,  230,  232,  234,  236,  240,  242,  244,
	  246,  248,  250,  252,  254,  256,  258,  265,  268,  271,  274,  279,
	  282,  285,  288,  291,  294,  297,  300,  303,  306,  309,  312,  315,
	  318,  320,  322,  324,  328,  330,  332,  334,  336,  338,  340,  342,
	  344,  346,  348,  350,  352,  354,  356,  367,  370,  373,  376,  379,
	  382,  385,  388,  391,  394,  397,  400,  403,  406,  409,  412,  415,
	  418,  421,  424,  427,  430,  433,  436,  439,  442,  445,  448,  451,
	  454,  457,  462,  465,  468,  471,  474,  477,  480,  483,  486,  489,
	  492,  495,  499,  502,  505,  508,  511,  514,  517,  520,  523,  526,
	  529,  532,  535,  539,  542,  545,  548,  551,  553,  557,  559,  561,
	  563,  565,  567,  569,  571,  573,  575,  590,  593,  596,  599,  602,
	  605,  608,  611,  614,  617,  620,  623,  626,  629,  632,  635,  638,
	  641,  644,  647,  650,  653,  656,  661,  664,  667,  670,  673,  676,
	  679,  682,  685,  688,  691,  697,  700,  703,  706,  709,  712,  715,
	  718,  723,  726,  729,  732,  737,  740,  743,  746,  749,  752,  755,
	  758,  761,  764,  767,  770,  773,  778,  781,  784,  787,  790,  793,
	  796,  799,  802,  805,  808,  811,  814,  818,  821,  824,  827,  830,
	  832,  834,  836,  838,  840,  842,  845,  847,  849,  851,  853,  855,
	  857,  859,  861,  863,  865,  867,  869,  871,  886,  889,  892,  895,
	  898,  901,  904,  907,  910,  913,  916,  919,  922,  925,  928,  931,
	  934,  937,  940,  943,  946,  949,  952,  956,  959,  962,  965,  968,
	  974,  977,  980,  983,  986,  989,  992,  995, 1000, 1003, 1006, 1009,
	 1014, 1017, 1020, 1023, 1026, 1029, 1032, 1035, 1038, 1041, 1044, 1047,
	 1050, 1053, 1057, 1060, 1063, 1066, 1069, 1072, 1075, 1079, 1085, 1089,
	 1092, 1098, 1116, 1119, 1122, 1125, 1128, 1131, 1134, 1137, 1140, 1143,
	 1146, 1149, 1152, 1155, 1158, 1161, 1164, 1167, 1170, 1173, 1177, 1180,
	 1183, 1186, 1189, 1195, 1198, 1201, 1204, 1207, 1210, 1213, 1216, 1221,
	 1224, 1227, 1230, 1235, 1238, 1241, 1244, 1247, 1250, 1253, 1256, 1259,
	 1262, 1265, 1268, 1271, 1274, 1279, 1282, 1285, 1288, 1291, 1294, 1297,
	 1300, 1303, 1306, 1309, 1312, 1315, 1319, 1322, 1325, 1328, 1331, 1333,
	 1335
	};
}

private static final short _lexer_index_offsets[] = init__lexer_index_offsets_0();


private static short[] init__lexer_indicies_0()
{
	return new short [] {
	    1,    2,    3,    5,    4,    6,    7,    8,    9,   10,   11,   12,
	   13,   14,   15,   16,   17,    4,    0,   18,    0,   19,    0,   20,
	    0,   22,   23,   21,   25,   26,   24,    1,    2,    5,    4,    6,
	    7,    8,    9,   10,   11,   12,   13,   14,   15,   16,   17,    4,
	    0,   18,    0,   27,    0,   28,    0,   30,   31,   29,   33,   34,
	   32,   37,   36,   38,   36,   35,   41,   40,   42,   40,   39,   41,
	   40,   43,   40,   39,   41,   40,   44,   40,   39,   46,   45,   45,
	    0,    5,   47,   47,    0,   49,   50,   48,    5,    0,   51,    0,
	   52,    0,   53,    0,   54,    0,   55,    0,   56,    0,   57,    0,
	   58,    0,   59,    0,   60,    0,   61,    0,   62,    0,   63,    0,
	   64,    0,    0,    0,    0,    0,   65,   66,   67,   66,   66,   69,
	   68,   65,    5,   70,   10,   70,    0,   71,    0,   72,    0,   73,
	    0,   18,    0,   74,   75,   76,    0,   75,    0,   77,    0,   19,
	    0,   78,    0,   79,    0,   80,    0,   81,    0,   82,    0,   83,
	    0,   85,   84,   87,   86,   88,   89,   87,   90,   91,   92,   93,
	   91,   94,   95,   96,   97,   98,   90,   86,   99,   87,   86,   87,
	  100,   86,   87,  101,   86,  102,  103,  105,  104,  106,  107,  108,
	  109,  110,  111,  112,  113,  114,  115,  116,  117,  104,    0,  118,
	    0,  119,  120,   19,  121,    0,  122,    0,  123,    0,  124,    0,
	  125,    0,  126,    0,   75,    0,  122,    0,  124,  123,  123,    0,
	  127,    0,  128,    0,  129,    0,  130,    0,  131,    0,  132,    0,
	  133,    0,  135,  134,  137,  136,  137,  138,  139,  140,  139,  138,
	  136,  137,  141,  136,  137,  142,  136,  137,  143,  136,  144,  145,
	  137,  146,  136,  146,  137,  136,  137,  147,  136,  137,  148,  136,
	  137,  149,  136,  137,  150,  136,  137,  151,  136,  137,  152,  136,
	  137,  153,  136,  137,  154,  136,  137,  155,  136,  137,  156,  136,
	  137,  157,  136,  146,  137,  136,  158,    0,  159,    0,  160,    0,
	  161,  162,  163,    0,  163,    0,  164,    0,  165,    0,  166,    0,
	  167,    0,  168,    0,  169,    0,  170,    0,  171,    0,  172,    0,
	  173,    0,  174,    0,  176,  175,  178,  177,  178,  179,  180,  181,
	  180,  182,  183,  184,  185,  179,  177,  178,  186,  177,  178,  187,
	  177,  178,  188,  177,  178,  189,  177,  178,  190,  177,  178,  191,
	  177,  178,  192,  177,  178,  193,  177,  178,  194,  177,  178,  195,
	  177,  178,  196,  177,  178,  197,  177,  178,  198,  177,  178,  199,
	  177,  178,  200,  177,  178,  201,  177,  178,  202,  177,  178,  203,
	  177,  178,  204,  177,  178,  205,  177,  178,  206,  177,  178,  207,
	  177,  178,  208,  177,  178,  209,  177,  178,  210,  177,  178,  211,
	  177,  178,  205,  177,  178,  212,  177,  178,  213,  177,  178,  214,
	  177,  215,  216,  178,  217,  177,  217,  178,  177,  178,  218,  177,
	  178,  219,  177,  178,  220,  177,  178,  221,  177,  178,  222,  177,
	  178,  223,  177,  178,  224,  177,  178,  225,  177,  178,  211,  177,
	  217,  178,  177,  178,  226,  227,  177,  178,  228,  177,  178,  229,
	  177,  178,  230,  177,  178,  231,  177,  178,  232,  177,  178,  205,
	  177,  178,  233,  177,  178,  234,  177,  178,  235,  177,  178,  236,
	  177,  178,  237,  177,  178,  238,  177,  239,  178,  240,  177,  240,
	  178,  177,  178,  241,  177,  178,  242,  177,  178,  226,  177,  163,
	    0,  243,   19,  244,    0,  245,    0,  246,    0,  247,    0,  248,
	    0,  249,    0,  250,    0,  251,    0,  253,  252,  255,  254,  256,
	  257,  255,  258,  259,  260,  261,  259,  262,  263,  264,  265,  266,
	  258,  254,  267,  255,  254,  255,  268,  254,  255,  269,  254,  267,
	  255,  254,  255,  270,  254,  255,  271,  254,  255,  272,  254,  255,
	  273,  254,  255,  274,  254,  255,  275,  254,  255,  276,  254,  255,
	  277,  254,  255,  278,  254,  255,  279,  254,  255,  280,  254,  255,
	  281,  254,  255,  282,  254,  255,  283,  254,  255,  284,  254,  255,
	  285,  254,  255,  286,  254,  255,  267,  254,  287,  255,  288,  289,
	  254,  288,  255,  254,  255,  290,  254,  255,  268,  254,  255,  291,
	  254,  255,  292,  254,  255,  293,  254,  255,  294,  254,  255,  295,
	  254,  255,  269,  254,  255,  296,  254,  297,  298,  255,  268,  299,
	  254,  300,  255,  254,  255,  301,  254,  255,  302,  254,  255,  303,
	  254,  255,  304,  254,  255,  288,  254,  300,  255,  254,  255,  302,
	  301,  301,  254,  255,  305,  254,  255,  306,  254,  255,  307,  254,
	  308,  309,  255,  310,  254,  310,  255,  254,  255,  311,  254,  255,
	  312,  254,  255,  313,  254,  255,  314,  254,  255,  315,  254,  255,
	  316,  254,  255,  317,  254,  255,  318,  254,  255,  319,  254,  255,
	  295,  254,  310,  255,  254,  255,  320,  268,  321,  254,  255,  322,
	  254,  255,  323,  254,  255,  324,  254,  255,  325,  254,  255,  326,
	  254,  255,  295,  254,  255,  327,  254,  255,  328,  254,  255,  329,
	  254,  255,  330,  254,  255,  331,  254,  255,  332,  254,  333,  255,
	  334,  254,  334,  255,  254,  255,  335,  254,  255,  336,  254,  255,
	  320,  254,  337,    0,  338,    0,  339,    0,  340,    0,  341,    0,
	  342,    0,  343,  344,    0,  344,    0,  345,    0,  346,    0,  347,
	    0,  348,    0,  349,    0,  350,    0,  351,    0,  352,    0,  353,
	    0,  354,    0,  356,  355,  358,  357,  359,  360,  358,  361,  362,
	  363,  364,  362,  365,  366,  367,  368,  369,  361,  357,  370,  358,
	  357,  358,  371,  357,  358,  372,  357,  370,  358,  357,  358,  373,
	  357,  358,  374,  357,  358,  375,  357,  358,  376,  357,  358,  377,
	  357,  358,  378,  357,  358,  379,  357,  358,  380,  357,  358,  381,
	  357,  358,  382,  357,  358,  383,  357,  358,  384,  357,  358,  385,
	  357,  358,  386,  357,  358,  387,  357,  358,  388,  357,  358,  389,
	  357,  358,  370,  357,  390,  358,  391,  357,  391,  358,  357,  358,
	  392,  357,  358,  371,  357,  358,  393,  357,  394,  395,  358,  371,
	  396,  357,  397,  358,  357,  358,  398,  357,  358,  399,  357,  358,
	  400,  357,  358,  401,  357,  358,  391,  357,  397,  358,  357,  358,
	  399,  398,  398,  357,  358,  402,  357,  358,  403,  357,  358,  404,
	  357,  405,  406,  358,  407,  357,  407,  358,  357,  358,  408,  357,
	  358,  409,  357,  358,  410,  357,  358,  411,  357,  358,  412,  357,
	  358,  413,  357,  358,  414,  357,  358,  415,  357,  358,  416,  357,
	  358,  417,  357,  358,  372,  357,  407,  358,  357,  358,  418,  371,
	  357,  358,  419,  357,  358,  420,  357,  358,  421,  357,  358,  422,
	  357,  358,  423,  357,  358,  417,  357,  424,  425,  424,    0,  428,
	  427,  429,  430,  427,  426,    0,  432,  433,  431,    0,  432,  431,
	  428,  434,  432,  433,  434,  431,  435,  436,  428,  437,  438,  439,
	  440,  441,  442,  443,  444,  445,  446,  447,  448,  449,  437,    0,
	   99,   87,   86,   87,  450,   86,   87,  451,   86,   87,  452,   86,
	   87,  453,   86,   87,  454,   86,   87,  455,   86,   87,  456,   86,
	   87,  457,   86,   87,  458,   86,   87,  459,   86,   87,  460,   86,
	   87,  461,   86,   87,  462,   86,   87,  463,   86,   87,  464,   86,
	   87,  465,   86,   87,  466,   86,   87,   99,   86,  467,   87,  468,
	   86,  468,   87,   86,   87,  469,   86,   87,  100,   86,   87,  470,
	   86,  471,  472,   87,  100,  473,   86,  474,   87,   86,   87,  475,
	   86,   87,  476,   86,   87,  477,   86,   87,  478,   86,   87,  468,
	   86,  474,   87,   86,   87,  476,  475,  475,   86,   87,  479,   86,
	   87,  480,   86,   87,  481,   86,  482,  483,   87,  484,   86,  484,
	   87,   86,   87,  485,   86,   87,  486,   86,   87,  487,   86,   87,
	  488,   86,   87,  489,   86,   87,  490,   86,   87,  491,   86,   87,
	  492,   86,   87,  493,   86,   87,  494,   86,   87,  101,   86,  484,
	   87,   86,   87,  495,  100,  496,   86,   87,  497,   86,   87,  498,
	   86,   87,  499,   86,   87,  500,   86,   87,  501,   86,   87,  494,
	   86,   87,  502,   86,   87,  503,   86,   87,  504,   86,   87,  505,
	   86,   87,  506,   86,   87,  507,   86,  508,   87,  509,   86,  509,
	   87,   86,   87,  510,   86,   87,  511,   86,   87,  495,   86,  512,
	    0,    4,    0,  513,    0
	};
}

private static final short _lexer_indicies[] = init__lexer_indicies_0();


private static short[] init__lexer_trans_targs_0()
{
	return new short [] {
	    0,    2,    8,  418,    7,    7,    9,   19,   21,    4,   35,   38,
	   42,   59,   69,   96,  176,  344,    3,    4,    5,    6,    7,   20,
	    6,    7,   20,   10,   11,   12,   13,   12,   12,   13,   12,   14,
	   14,   14,   15,   14,   14,   14,   15,   16,   17,   18,    7,   18,
	   19,    7,   20,   22,   23,   24,   25,   26,   27,   28,   29,   30,
	   31,   32,   33,   34,  420,   36,   37,    7,   36,   35,   37,   39,
	   40,   41,   43,   44,   46,   45,   47,   48,   49,   50,   51,   52,
	   53,   54,   53,   54,   55,  350,   54,    7,  351,   57,  365,  369,
	  373,  383,  400,   56,   57,   58,    2,    8,    7,    7,    9,   19,
	   21,    4,   35,   38,   42,   59,   69,   96,  176,  344,   60,   61,
	   67,   68,   62,   63,   64,   65,   66,   70,   71,   72,   73,   74,
	   75,   76,   77,   78,   77,   78,   78,    7,   79,   80,   81,   82,
	   83,   95,   84,   85,   86,   87,   88,   89,   90,   91,   92,   93,
	   94,   58,   97,   98,   99,  100,  175,  101,  102,  103,  104,  105,
	  106,  107,  108,  109,  110,  111,  112,  113,  114,  113,  114,  114,
	    7,  115,  129,  136,  142,  157,  116,  117,  118,  119,  120,  121,
	  122,  123,  124,  125,  126,  127,  128,    7,  130,  131,  132,  133,
	  134,  135,   58,  137,  138,  139,  140,  141,  143,  144,  145,  146,
	  156,  147,  148,  149,  150,  151,  152,  153,  154,  155,  158,  164,
	  159,  160,  161,  162,  163,  165,  166,  167,  168,  169,  170,  171,
	  172,  173,  174,  177,  263,  178,  179,  180,  181,  182,  183,  184,
	  185,  186,  185,  186,  187,  190,  186,    7,  191,  189,  205,  209,
	  219,  229,  245,  188,  189,   58,  192,  193,  194,  195,  196,  197,
	  198,  199,  200,  201,  202,  203,  204,    7,  206,  207,  208,  210,
	  211,  213,  212,  214,  215,  216,  217,  218,  220,  221,  227,  228,
	  222,  223,  224,  225,  226,  230,  231,  232,  233,  244,  234,  235,
	  236,  237,  238,  239,  240,  241,  242,  243,  246,  252,  247,  248,
	  249,  250,  251,  253,  254,  255,  256,  257,  258,  259,  260,  261,
	  262,  264,  265,  266,  267,  268,  269,  270,  271,  272,  273,  274,
	  275,  276,  277,  278,  279,  280,  281,  282,  283,  282,  283,  284,
	  287,  283,    7,  288,  286,  302,  306,  310,  320,  337,  285,  286,
	   58,  289,  290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
	  300,  301,    7,  303,  304,  305,  307,  308,  309,  311,  312,  318,
	  319,  313,  314,  315,  316,  317,  321,  322,  323,  324,  336,  325,
	  326,  327,  328,  329,  330,  331,  332,  333,  334,  335,  338,  339,
	  340,  341,  342,  343,  344,  345,  346,  348,  349,  347,  345,  346,
	  347,  345,  348,    2,    8,  349,    9,   19,   21,    4,   35,   38,
	   42,   59,   69,   96,  176,  344,  352,  353,  354,  355,  356,  357,
	  358,  359,  360,  361,  362,  363,  364,    7,  366,  367,  368,  370,
	  371,  372,  374,  375,  381,  382,  376,  377,  378,  379,  380,  384,
	  385,  386,  387,  399,  388,  389,  390,  391,  392,  393,  394,  395,
	  396,  397,  398,  401,  407,  402,  403,  404,  405,  406,  408,  409,
	  410,  411,  412,  413,  414,  415,  416,  417,  419,    0
	};
}

private static final short _lexer_trans_targs[] = init__lexer_trans_targs_0();


private static short[] init__lexer_trans_actions_0()
{
	return new short [] {
	   43,   29,   29,    0,    0,   54,    3,    1,    0,   29,    1,   29,
	   29,   29,   29,   29,   29,   35,    0,    0,    0,   57,  149,  126,
	    0,  110,   23,    0,    0,    7,  139,   48,    0,  102,    9,    5,
	   45,  134,   45,    0,   33,  122,   33,   33,    0,   11,  106,    0,
	    0,  114,   25,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,   27,  118,   27,   51,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	   57,  144,    0,   54,   84,   84,    0,   72,   33,   84,   84,   84,
	   84,   84,   84,    0,    0,   15,   63,   63,   31,  130,   60,   57,
	   31,   63,   57,   63,   63,   63,   63,   63,   63,   66,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,   57,  144,    0,   54,    0,   81,   84,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,   21,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,   57,  144,    0,   54,    0,
	   69,   33,   84,   84,   84,   84,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,   13,    0,    0,    0,    0,
	    0,    0,   13,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	   57,  144,    0,   54,   84,   84,    0,   75,   33,   84,   84,   84,
	   84,   84,   84,    0,    0,   17,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,   17,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,   57,  144,    0,   54,   84,
	   84,    0,   78,   33,   84,   84,   84,   84,   84,   84,    0,    0,
	   19,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,   19,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,   37,   37,   54,   37,   87,    0,
	    0,   39,    0,   96,   96,    0,   93,   90,   41,   96,   90,   96,
	   96,   96,   96,   96,   96,   99,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,   15,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0
	};
}

private static final short _lexer_trans_actions[] = init__lexer_trans_actions_0();


private static short[] init__lexer_eof_actions_0()
{
	return new short [] {
	    0,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
	   43
	};
}

private static final short _lexer_eof_actions[] = init__lexer_eof_actions_0();


static final int lexer_start = 1;
static final int lexer_first_final = 420;

static final int lexer_en_main = 1;


// line 159 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"

  public void scan(String source)  {
    String input = source + "\n%_FEATURE_END_%";
    byte[] data = null;
    try {
      data = input.getBytes("UTF-8");
    } catch(UnsupportedEncodingException e) {
      throw new RuntimeException(e);
    }
    int cs, p = 0, pe = data.length;
    int eof = pe;

    int lineNumber = 1;
    int lastNewline = 0;

    int contentStart = -1;
    int currentLine = -1;
    int docstringContentTypeStart = -1;
    int docstringContentTypeEnd = -1;
    int startCol = -1;
    int nextKeywordStart = -1;
    int keywordStart = -1;
    String keyword = null;
    List currentRow = null;

    
// line 620 "java/src/main/java/gherkin/lexer/i18n/RO.java"
	{
	cs = lexer_start;
	}

// line 185 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
    
// line 627 "java/src/main/java/gherkin/lexer/i18n/RO.java"
	{
	int _klen;
	int _trans = 0;
	int _acts;
	int _nacts;
	int _keys;
	int _goto_targ = 0;

	_goto: while (true) {
	switch ( _goto_targ ) {
	case 0:
	if ( p == pe ) {
		_goto_targ = 4;
		continue _goto;
	}
	if ( cs == 0 ) {
		_goto_targ = 5;
		continue _goto;
	}
case 1:
	_match: do {
	_keys = _lexer_key_offsets[cs];
	_trans = _lexer_index_offsets[cs];
	_klen = _lexer_single_lengths[cs];
	if ( _klen > 0 ) {
		int _lower = _keys;
		int _mid;
		int _upper = _keys + _klen - 1;
		while (true) {
			if ( _upper < _lower )
				break;

			_mid = _lower + ((_upper-_lower) >> 1);
			if ( data[p] < _lexer_trans_keys[_mid] )
				_upper = _mid - 1;
			else if ( data[p] > _lexer_trans_keys[_mid] )
				_lower = _mid + 1;
			else {
				_trans += (_mid - _keys);
				break _match;
			}
		}
		_keys += _klen;
		_trans += _klen;
	}

	_klen = _lexer_range_lengths[cs];
	if ( _klen > 0 ) {
		int _lower = _keys;
		int _mid;
		int _upper = _keys + (_klen<<1) - 2;
		while (true) {
			if ( _upper < _lower )
				break;

			_mid = _lower + (((_upper-_lower) >> 1) & ~1);
			if ( data[p] < _lexer_trans_keys[_mid] )
				_upper = _mid - 2;
			else if ( data[p] > _lexer_trans_keys[_mid+1] )
				_lower = _mid + 2;
			else {
				_trans += ((_mid - _keys)>>1);
				break _match;
			}
		}
		_trans += _klen;
	}
	} while (false);

	_trans = _lexer_indicies[_trans];
	cs = _lexer_trans_targs[_trans];

	if ( _lexer_trans_actions[_trans] != 0 ) {
		_acts = _lexer_trans_actions[_trans];
		_nacts = (int) _lexer_actions[_acts++];
		while ( _nacts-- > 0 )
	{
			switch ( _lexer_actions[_acts++] )
			{
	case 0:
// line 16 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      contentStart = p;
      currentLine = lineNumber;
      if(keyword != null) {
        startCol = p - lastNewline - (keyword.length() + 1);
      }
    }
	break;
	case 1:
// line 24 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      currentLine = lineNumber;
      startCol = p - lastNewline;
    }
	break;
	case 2:
// line 29 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      contentStart = p;
    }
	break;
	case 3:
// line 33 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      docstringContentTypeStart = p;
    }
	break;
	case 4:
// line 37 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      docstringContentTypeEnd = p;
    }
	break;
	case 5:
// line 41 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      String con = unindent(startCol, substring(data, contentStart, nextKeywordStart-1).replaceFirst("(\\r?\\n)?([\\t ])*\\Z", "").replaceAll("\\\\\"\\\\\"\\\\\"", "\"\"\""));
      String conType = substring(data, docstringContentTypeStart, docstringContentTypeEnd).trim();
      listener.docString(conType, con, currentLine);
    }
	break;
	case 6:
// line 47 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      String[] nameDescription = nameAndUnindentedDescription(startCol, keywordContent(data, p, eof, nextKeywordStart, contentStart));
      listener.feature(keyword, nameDescription[0], nameDescription[1], currentLine);
      if(nextKeywordStart != -1) p = nextKeywordStart - 1;
      nextKeywordStart = -1;
    }
	break;
	case 7:
// line 54 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      String[] nameDescription = nameAndUnindentedDescription(startCol, keywordContent(data, p, eof, nextKeywordStart, contentStart));
      listener.background(keyword, nameDescription[0], nameDescription[1], currentLine);
      if(nextKeywordStart != -1) p = nextKeywordStart - 1;
      nextKeywordStart = -1;
    }
	break;
	case 8:
// line 61 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      String[] nameDescription = nameAndUnindentedDescription(startCol, keywordContent(data, p, eof, nextKeywordStart, contentStart));
      listener.scenario(keyword, nameDescription[0], nameDescription[1], currentLine);
      if(nextKeywordStart != -1) p = nextKeywordStart - 1;
      nextKeywordStart = -1;
    }
	break;
	case 9:
// line 68 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      String[] nameDescription = nameAndUnindentedDescription(startCol, keywordContent(data, p, eof, nextKeywordStart, contentStart));
      listener.scenarioOutline(keyword, nameDescription[0], nameDescription[1], currentLine);
      if(nextKeywordStart != -1) p = nextKeywordStart - 1;
      nextKeywordStart = -1;
    }
	break;
	case 10:
// line 75 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      String[] nameDescription = nameAndUnindentedDescription(startCol, keywordContent(data, p, eof, nextKeywordStart, contentStart));
      listener.examples(keyword, nameDescription[0], nameDescription[1], currentLine);
      if(nextKeywordStart != -1) p = nextKeywordStart - 1;
      nextKeywordStart = -1;
    }
	break;
	case 11:
// line 82 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      listener.step(keyword, substring(data, contentStart, p).trim(), currentLine);
    }
	break;
	case 12:
// line 86 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      listener.comment(substring(data, contentStart, p).trim(), lineNumber);
      keywordStart = -1;
    }
	break;
	case 13:
// line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      listener.tag(substring(data, contentStart, p).trim(), currentLine);
      keywordStart = -1;
    }
	break;
	case 14:
// line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      lineNumber++;
    }
	break;
	case 15:
// line 100 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      lastNewline = p + 1;
    }
	break;
	case 16:
// line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      if(keywordStart == -1) keywordStart = p;
    }
	break;
	case 17:
// line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      keyword = substring(data, keywordStart, p).replaceFirst(":$","");
      keywordStart = -1;
    }
	break;
	case 18:
// line 113 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      nextKeywordStart = p;
    }
	break;
	case 19:
// line 117 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      p = p - 1;
      currentRow = new ArrayList();
      currentLine = lineNumber;
    }
	break;
	case 20:
// line 123 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      contentStart = p;
    }
	break;
	case 21:
// line 127 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      String con = substring(data, contentStart, p).trim();
      currentRow.add(con
        .replaceAll("\\\\\\|", "|")
        .replaceAll("\\\\n", "\n")
        .replaceAll("\\\\\\\\", "\\\\")
      );
    }
	break;
	case 22:
// line 136 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      listener.row(currentRow, currentLine);
    }
	break;
	case 23:
// line 140 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      if(cs < lexer_first_final) {
        String content = currentLineContent(data, lastNewline);
        throw new LexingError("Lexing error on line " + lineNumber + ": '" + content + "'. See http://wiki.github.com/cucumber/gherkin/lexingerror for more information.");
      } else {
        listener.eof();
      }
    }
	break;
// line 888 "java/src/main/java/gherkin/lexer/i18n/RO.java"
			}
		}
	}

case 2:
	if ( cs == 0 ) {
		_goto_targ = 5;
		continue _goto;
	}
	if ( ++p != pe ) {
		_goto_targ = 1;
		continue _goto;
	}
case 4:
	if ( p == eof )
	{
	int __acts = _lexer_eof_actions[cs];
	int __nacts = (int) _lexer_actions[__acts++];
	while ( __nacts-- > 0 ) {
		switch ( _lexer_actions[__acts++] ) {
	case 23:
// line 140 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
	{
      if(cs < lexer_first_final) {
        String content = currentLineContent(data, lastNewline);
        throw new LexingError("Lexing error on line " + lineNumber + ": '" + content + "'. See http://wiki.github.com/cucumber/gherkin/lexingerror for more information.");
      } else {
        listener.eof();
      }
    }
	break;
// line 920 "java/src/main/java/gherkin/lexer/i18n/RO.java"
		}
	}
	}

case 5:
	}
	break; }
	}

// line 186 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ro.java.rl"
  }

  private String keywordContent(byte[] data, int p, int eof, int nextKeywordStart, int contentStart) {
    int endPoint = (nextKeywordStart == -1 || (p == eof)) ? p : nextKeywordStart;
    return substring(data, contentStart, endPoint);
  }

  private String[] nameAndUnindentedDescription(int startCol, String text) {
    String[] lines = text.split("\n");
    String name = lines.length > 0 ? lines[0].trim() : "";
    StringBuffer description = new StringBuffer();
    for(int i = 1; i < lines.length; i++) {
      description.append(lines[i]);
      description.append("\n");
    }
    return new String[]{name, unindent(startCol+2, description.toString()).replaceAll("\\s+$", "")};
  }

  private String unindent(int startCol, String text) {
    return Pattern.compile("^[\t ]{0," + startCol + "}", Pattern.MULTILINE).matcher(text).replaceAll("");
  }

  private String currentLineContent(byte[] data, int lastNewline) {
    return substring(data, lastNewline, data.length).trim();
  }

  private String substring(byte[] data, int start, int end) {
    try {
      return new String(data, start, end-start, "utf-8");
    } catch(java.io.UnsupportedEncodingException e) {
      throw new RuntimeException("Internal error", e);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy