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

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

There is a newer version: 2.12.2
Show newest version

// line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.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 PL implements Lexer {
  
// line 150 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"


  private final Listener listener;

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

  
// line 26 "java/src/main/java/gherkin/lexer/i18n/PL.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,   20,   21,   22,   41,   42,   43,   45,   47,   52,   57,
	   62,   67,   71,   75,   77,   78,   79,   80,   81,   82,   83,   84,
	   85,   86,   87,   88,   89,   90,   91,   92,   93,   95,   97,  102,
	  109,  114,  115,  116,  117,  118,  120,  121,  122,  123,  124,  125,
	  126,  127,  128,  129,  130,  131,  132,  133,  134,  135,  136,  137,
	  138,  139,  140,  141,  142,  143,  150,  152,  154,  156,  158,  160,
	  162,  164,  166,  168,  170,  172,  174,  176,  178,  197,  199,  200,
	  201,  202,  203,  204,  205,  206,  207,  208,  209,  210,  226,  228,
	  230,  232,  234,  236,  238,  240,  242,  244,  246,  248,  250,  252,
	  254,  256,  258,  260,  262,  264,  267,  269,  271,  273,  275,  277,
	  279,  281,  283,  285,  287,  289,  292,  294,  296,  298,  300,  302,
	  304,  306,  308,  310,  312,  314,  316,  318,  320,  322,  324,  326,
	  328,  330,  332,  334,  336,  338,  340,  342,  344,  347,  349,  351,
	  353,  355,  357,  359,  361,  363,  365,  367,  369,  371,  373,  375,
	  377,  379,  382,  384,  386,  388,  390,  392,  394,  396,  398,  400,
	  402,  404,  405,  406,  407,  408,  409,  410,  411,  412,  413,  414,
	  415,  416,  417,  418,  419,  420,  421,  422,  423,  424,  440,  442,
	  444,  446,  448,  450,  452,  454,  456,  458,  460,  462,  464,  466,
	  468,  470,  472,  474,  476,  478,  481,  483,  485,  487,  489,  491,
	  493,  495,  497,  499,  501,  503,  505,  507,  509,  511,  513,  515,
	  517,  519,  521,  523,  526,  528,  530,  532,  534,  536,  538,  540,
	  542,  544,  546,  548,  550,  552,  554,  556,  558,  560,  562,  564,
	  566,  568,  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
	  580,  581,  582,  583,  584,  585,  596,  598,  600,  602,  604,  606,
	  608,  610,  612,  614,  616,  618,  620,  622,  624,  626,  628,  630,
	  632,  634,  636,  638,  640,  642,  644,  647,  649,  651,  653,  655,
	  657,  659,  661,  663,  665,  667,  669,  671,  673,  675,  677,  679,
	  681,  683,  685,  687,  689,  691,  693,  695,  697,  699,  701,  703,
	  705,  707,  709,  711,  713,  715,  717,  719,  721,  723,  725,  727,
	  729,  731,  733,  735,  737,  739,  741,  742,  743,  744,  745,  747,
	  748,  749,  750,  751,  752,  753,  754,  755,  756,  757,  758,  774,
	  776,  778,  780,  782,  784,  786,  788,  790,  792,  794,  796,  798,
	  800,  802,  804,  806,  808,  810,  812,  815,  817,  819,  821,  823,
	  825,  827,  829,  831,  833,  835,  837,  840,  842,  844,  846,  848,
	  850,  852,  854,  856,  858,  860,  862,  864,  866,  868,  870,  872,
	  874,  876,  878,  880,  882,  884,  886,  888,  890,  892,  895,  897,
	  899,  901,  903,  905,  907,  909,  911,  913,  915,  917,  919,  921,
	  923,  925,  927,  929,  931,  933,  935,  937,  938,  939,  940,  941,
	  945,  951,  954,  956,  962,  981
	};
}

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


private static byte[] init__lexer_trans_keys_0()
{
	return new byte [] {
	  -17,   10,   32,   34,   35,   37,   42,   64,   65,   73,   74,   77,
	   79,   80,   83,   87,   90,  124,    9,   13,  -69,  -65,   10,   32,
	   34,   35,   37,   42,   64,   65,   73,   74,   77,   79,   80,   83,
	   87,   90,  124,    9,   13,   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,   32,   10,   13,   10,
	   13,   13,   32,   64,    9,   10,    9,   10,   13,   32,   64,   11,
	   12,   10,   32,   64,    9,   13,  108,  101,  101,  -59, -101,  -68,
	  108,  105,  101,   97,  106,  -60, -123,   99,  114,   97,  122,  114,
	  122,  121,  107,  -59, -126,   97,  100,  121,   58,   10,   10,   10,
	   32,   35,   87,  124,    9,   13,  -59,   10, -126,   10,   10,   97,
	  -59,   10, -101,   10,   10,   99,   10,  105,   10,  119,   10,  111,
	  -59,   10, -101,   10,  -60,   10, -121,   10,   10,   58,   10,   32,
	   34,   35,   37,   42,   64,   65,   73,   74,   77,   79,   80,   83,
	   87,   90,  124,    9,   13,   99,  122,  101,  110,   97,  114,  105,
	  117,  115,  122,   58,   10,   10,   10,   32,   35,   37,   42,   64,
	   65,   73,   74,   77,   79,   83,   87,   90,    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,   32,   10,  108,   10,  101,   10,  101,  -59,   10,
	 -101,  -68,   10,   10,  108,   10,  105,   10,  101,   10,   97,   10,
	  106,  -60,   10, -123,   10,   10,   99,   10,  114,   10,   97,   10,
	  122,   10,   99,  122,   10,  101,   10,  110,   10,   97,   10,  114,
	   10,  105,   10,  117,   10,  115,   10,  122,   10,   58,   10,   97,
	   10,   98,   10,  108,   10,  111,   10,  110,   10,   32,   10,  115,
	   10,   99,   10,  101,   10,  110,   10,   97,   10,  114,   10,  105,
	   10,  117,   10,  115,   10,  122,   10,   97,  -59,   10,  116, -126,
	   10,   10,   97,  -59,   10, -101,   10,   10,   99,   10,  105,   10,
	  119,   10,  111,  -59,   10, -101,   10,  -60,   10, -121,   10,   10,
	  101,   10,  100,   10,  121,   10,   97,  -59,   10,  107, -126,   10,
	   10,  111,  -59,   10,  -68,   10,   10,  101,   10,  110,   10,  105,
	  -59,   10, -126,   10,   10,   97,   10,  100,   97,   98,  108,  111,
	  110,   32,  115,   99,  101,  110,   97,  114,  105,  117,  115,  122,
	   97,   58,   10,   10,   10,   32,   35,   37,   42,   64,   65,   73,
	   74,   77,   79,   83,   87,   90,    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,   32,   10,  108,   10,  101,   10,  101,  -59,   10, -101,  -68,
	   10,   10,  108,   10,  105,   10,  101,   10,   97,   10,  106,  -60,
	   10, -123,   10,   10,   99,   10,  114,   10,   97,   10,  122,   10,
	   99,   10,  101,   10,  110,   10,   97,   10,  114,   10,  105,   10,
	  117,   10,  115,   10,  122,   10,   58,  -59,   10,  116, -126,   10,
	   10,   97,  -59,   10, -101,   10,   10,   99,   10,  105,   10,  119,
	   10,  111,  -59,   10, -101,   10,  -60,   10, -121,   10,   10,  101,
	   10,  100,   10,  121,   10,   97,   10,  107,  -59,   10, -126,   10,
	   10,   97,   10,  100,  -59,  116, -126,   97,  -59, -101,   99,  105,
	  119,  111,  -59, -101,  -60, -121,   58,   10,   10,   10,   32,   35,
	   37,   64,   80,   83,   87,   90,    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,  114,   10,  122,   10,  121,   10,  107,  -59,   10, -126,   10,
	   10,   97,   10,  100,   10,  121,   10,   58,   10,   99,  122,   10,
	  101,   10,  110,   10,   97,   10,  114,   10,  105,   10,  117,   10,
	  115,   10,  122,   10,   97,   10,   98,   10,  108,   10,  111,   10,
	  110,   10,   32,   10,  115,   10,   99,   10,  101,   10,  110,   10,
	   97,   10,  114,   10,  105,   10,  117,   10,  115,   10,  122,   10,
	   97,  -59,   10, -126,   10,   10,   97,  -59,   10, -101,   10,   10,
	   99,   10,  105,   10,  119,   10,  111,  -59,   10, -101,   10,  -60,
	   10, -121,   10,   10,   97,  -59,   10, -126,   10,   10,  111,  -59,
	   10,  -68,   10,   10,  101,   10,  110,   10,  105,  101,  100,  121,
	   97,  -59,  107, -126,  111,  -59,  -68,  101,  110,  105,   97,   58,
	   10,   10,   10,   32,   35,   37,   42,   64,   65,   73,   74,   77,
	   79,   83,   87,   90,    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,   32,
	   10,  108,   10,  101,   10,  101,  -59,   10, -101,  -68,   10,   10,
	  108,   10,  105,   10,  101,   10,   97,   10,  106,  -60,   10, -123,
	   10,   10,   99,   10,  114,   10,   97,   10,  122,   10,   99,  122,
	   10,  101,   10,  110,   10,   97,   10,  114,   10,  105,   10,  117,
	   10,  115,   10,  122,   10,   58,   10,   97,   10,   98,   10,  108,
	   10,  111,   10,  110,   10,   32,   10,  115,   10,   99,   10,  101,
	   10,  110,   10,   97,   10,  114,   10,  105,   10,  117,   10,  115,
	   10,  122,   10,   97,  -59,   10,  116, -126,   10,   10,   97,  -59,
	   10, -101,   10,   10,   99,   10,  105,   10,  119,   10,  111,  -59,
	   10, -101,   10,  -60,   10, -121,   10,   10,  101,   10,  100,   10,
	  121,   10,   97,   10,  107,  -59,   10, -126,   10,   10,   97,   10,
	  100,  -59, -126,   97,  100,   32,  124,    9,   13,   10,   32,   92,
	  124,    9,   13,   10,   92,  124,   10,   92,   10,   32,   92,  124,
	    9,   13,   10,   32,   34,   35,   37,   42,   64,   65,   73,   74,
	   77,   79,   80,   83,   87,   90,  124,    9,   13,    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,   18,    1,    1,   17,    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,    1,    2,    2,    3,    5,
	    3,    1,    1,    1,    1,    2,    1,    1,    1,    1,    1,    1,
	    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
	    1,    1,    1,    1,    1,    5,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,   17,    2,    1,    1,
	    1,    1,    1,    1,    1,    1,    1,    1,    1,   14,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    3,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    3,    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,    3,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    3,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
	    1,    1,    1,    1,    1,    1,    1,    1,    1,   14,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    3,    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,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    1,    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,    3,    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,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    1,    1,    1,    1,    2,    1,
	    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,   14,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    3,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    3,    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,    3,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    2,    2,    2,    2,    2,    2,    1,    1,    1,    1,    2,
	    4,    3,    2,    4,   17,    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,    1,    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,    0,    0,    0,    1,    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,    1,    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,    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,    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,    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,    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,    1,
	    1,    0,    0,    1,    1,    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,   20,   22,   24,   43,   45,   47,   50,   53,   58,   63,
	   68,   73,   77,   81,   84,   86,   88,   90,   92,   94,   96,   98,
	  100,  102,  104,  106,  108,  110,  112,  114,  116,  119,  122,  127,
	  134,  139,  141,  143,  145,  147,  150,  152,  154,  156,  158,  160,
	  162,  164,  166,  168,  170,  172,  174,  176,  178,  180,  182,  184,
	  186,  188,  190,  192,  194,  196,  203,  206,  209,  212,  215,  218,
	  221,  224,  227,  230,  233,  236,  239,  242,  245,  264,  267,  269,
	  271,  273,  275,  277,  279,  281,  283,  285,  287,  289,  305,  308,
	  311,  314,  317,  320,  323,  326,  329,  332,  335,  338,  341,  344,
	  347,  350,  353,  356,  359,  362,  366,  369,  372,  375,  378,  381,
	  384,  387,  390,  393,  396,  399,  403,  406,  409,  412,  415,  418,
	  421,  424,  427,  430,  433,  436,  439,  442,  445,  448,  451,  454,
	  457,  460,  463,  466,  469,  472,  475,  478,  481,  485,  488,  491,
	  494,  497,  500,  503,  506,  509,  512,  515,  518,  521,  524,  527,
	  530,  533,  537,  540,  543,  546,  549,  552,  555,  558,  561,  564,
	  567,  570,  572,  574,  576,  578,  580,  582,  584,  586,  588,  590,
	  592,  594,  596,  598,  600,  602,  604,  606,  608,  610,  626,  629,
	  632,  635,  638,  641,  644,  647,  650,  653,  656,  659,  662,  665,
	  668,  671,  674,  677,  680,  683,  687,  690,  693,  696,  699,  702,
	  705,  708,  711,  714,  717,  720,  723,  726,  729,  732,  735,  738,
	  741,  744,  747,  750,  754,  757,  760,  763,  766,  769,  772,  775,
	  778,  781,  784,  787,  790,  793,  796,  799,  802,  805,  808,  811,
	  814,  817,  820,  822,  824,  826,  828,  830,  832,  834,  836,  838,
	  840,  842,  844,  846,  848,  850,  861,  864,  867,  870,  873,  876,
	  879,  882,  885,  888,  891,  894,  897,  900,  903,  906,  909,  912,
	  915,  918,  921,  924,  927,  930,  933,  937,  940,  943,  946,  949,
	  952,  955,  958,  961,  964,  967,  970,  973,  976,  979,  982,  985,
	  988,  991,  994,  997, 1000, 1003, 1006, 1009, 1012, 1015, 1018, 1021,
	 1024, 1027, 1030, 1033, 1036, 1039, 1042, 1045, 1048, 1051, 1054, 1057,
	 1060, 1063, 1066, 1069, 1072, 1075, 1078, 1080, 1082, 1084, 1086, 1089,
	 1091, 1093, 1095, 1097, 1099, 1101, 1103, 1105, 1107, 1109, 1111, 1127,
	 1130, 1133, 1136, 1139, 1142, 1145, 1148, 1151, 1154, 1157, 1160, 1163,
	 1166, 1169, 1172, 1175, 1178, 1181, 1184, 1188, 1191, 1194, 1197, 1200,
	 1203, 1206, 1209, 1212, 1215, 1218, 1221, 1225, 1228, 1231, 1234, 1237,
	 1240, 1243, 1246, 1249, 1252, 1255, 1258, 1261, 1264, 1267, 1270, 1273,
	 1276, 1279, 1282, 1285, 1288, 1291, 1294, 1297, 1300, 1303, 1307, 1310,
	 1313, 1316, 1319, 1322, 1325, 1328, 1331, 1334, 1337, 1340, 1343, 1346,
	 1349, 1352, 1355, 1358, 1361, 1364, 1367, 1370, 1372, 1374, 1376, 1378,
	 1382, 1388, 1392, 1395, 1401, 1420
	};
}

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


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

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


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

static final int lexer_en_main = 1;


// line 159 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.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 653 "java/src/main/java/gherkin/lexer/i18n/PL.java"
	{
	cs = lexer_start;
	}

// line 185 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
    
// line 660 "java/src/main/java/gherkin/lexer/i18n/PL.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/pl.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/pl.java.rl"
	{
      currentLine = lineNumber;
      startCol = p - lastNewline;
    }
	break;
	case 2:
// line 29 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      contentStart = p;
    }
	break;
	case 3:
// line 33 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      docstringContentTypeStart = p;
    }
	break;
	case 4:
// line 37 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      docstringContentTypeEnd = p;
    }
	break;
	case 5:
// line 41 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.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/pl.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/pl.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/pl.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/pl.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/pl.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/pl.java.rl"
	{
      listener.step(keyword, substring(data, contentStart, p).trim(), currentLine);
    }
	break;
	case 12:
// line 86 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      listener.comment(substring(data, contentStart, p).trim(), lineNumber);
      keywordStart = -1;
    }
	break;
	case 13:
// line 91 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      listener.tag(substring(data, contentStart, p).trim(), currentLine);
      keywordStart = -1;
    }
	break;
	case 14:
// line 96 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      lineNumber++;
    }
	break;
	case 15:
// line 100 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      lastNewline = p + 1;
    }
	break;
	case 16:
// line 104 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      if(keywordStart == -1) keywordStart = p;
    }
	break;
	case 17:
// line 108 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      keyword = substring(data, keywordStart, p).replaceFirst(":$","");
      keywordStart = -1;
    }
	break;
	case 18:
// line 113 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      nextKeywordStart = p;
    }
	break;
	case 19:
// line 117 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      p = p - 1;
      currentRow = new ArrayList();
      currentLine = lineNumber;
    }
	break;
	case 20:
// line 123 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.java.rl"
	{
      contentStart = p;
    }
	break;
	case 21:
// line 127 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.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/pl.java.rl"
	{
      listener.row(currentRow, currentLine);
    }
	break;
	case 23:
// line 140 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.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 921 "java/src/main/java/gherkin/lexer/i18n/PL.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/pl.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 953 "java/src/main/java/gherkin/lexer/i18n/PL.java"
		}
	}
	}

case 5:
	}
	break; }
	}

// line 186 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/pl.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 - 2025 Weber Informatics LLC | Privacy Policy