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

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

There is a newer version: 2.12.2
Show newest version

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


  private final Listener listener;

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

  
// line 26 "java/src/main/java/gherkin/lexer/i18n/UZ.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,   12,   21,   22,   24,   25,   26,   27,   28,   29,   31,
	   33,   44,   45,   46,   48,   50,   55,   60,   65,   70,   74,   78,
	   80,   81,   82,   83,   84,   85,   86,   87,   88,   89,   90,   91,
	   92,   93,   94,   95,  100,  107,  112,  116,  122,  125,  127,  133,
	  144,  145,  146,  147,  148,  149,  150,  151,  152,  153,  154,  155,
	  156,  157,  158,  159,  160,  161,  162,  163,  164,  165,  166,  167,
	  168,  169,  170,  171,  172,  173,  174,  175,  176,  177,  178,  179,
	  180,  181,  182,  183,  190,  192,  194,  196,  198,  200,  202,  204,
	  206,  208,  210,  212,  214,  216,  218,  220,  222,  224,  226,  228,
	  230,  241,  242,  243,  244,  245,  246,  247,  248,  249,  250,  251,
	  252,  253,  254,  255,  257,  258,  259,  260,  261,  262,  263,  264,
	  265,  266,  267,  268,  269,  270,  271,  272,  273,  274,  275,  276,
	  277,  278,  279,  280,  281,  282,  291,  299,  301,  304,  306,  308,
	  310,  312,  314,  316,  318,  320,  322,  324,  326,  328,  330,  332,
	  334,  336,  338,  340,  342,  344,  346,  348,  350,  352,  354,  356,
	  358,  360,  362,  364,  366,  368,  370,  372,  374,  376,  378,  380,
	  382,  384,  386,  388,  390,  392,  394,  396,  398,  400,  402,  404,
	  406,  408,  410,  412,  414,  416,  418,  420,  422,  424,  426,  428,
	  430,  432,  434,  436,  438,  440,  442,  444,  446,  448,  450,  452,
	  454,  456,  458,  460,  461,  462,  471,  480,  482,  485,  487,  489,
	  491,  493,  495,  497,  499,  501,  503,  505,  507,  509,  511,  513,
	  515,  517,  519,  521,  523,  525,  527,  529,  531,  533,  535,  537,
	  539,  541,  543,  545,  547,  549,  551,  553,  555,  557,  559,  561,
	  563,  565,  567,  570,  572,  574,  576,  578,  580,  582,  584,  586,
	  588,  590,  592,  594,  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,  646,  648,  650,  652,  654,  656,  658,
	  660,  662,  664,  666,  668,  670,  672,  674,  676,  678,  680,  682,
	  684,  686,  688,  690,  692,  694,  696,  698,  700,  702,  704,  705,
	  706,  707,  708,  709,  710,  711,  712,  713,  714,  715,  724,  732,
	  734,  737,  739,  741,  743,  745,  747,  749,  751,  753,  755,  757,
	  759,  761,  763,  765,  767,  769,  771,  773,  775,  777,  779,  781,
	  783,  785,  787,  789,  791,  793,  795,  797,  799,  801,  803,  805,
	  807,  809,  811,  813,  815,  817,  819,  822,  824,  826,  828,  830,
	  832,  834,  836,  838,  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,  894,  896,  898,  900,  902,
	  904,  906,  908,  910,  912,  914,  916,  918,  920,  922,  924,  926,
	  928,  930,  932,  934,  936,  938,  940,  941,  942,  943,  944,  945,
	  946,  947,  948,  949,  950,  951,  952,  953,  954,  955,  956,  957,
	  958,  959,  960,  961,  962,  963,  964,  965,  973,  978,  980,  982,
	  984,  986,  988,  990,  992,  994,  996,  998, 1000, 1002, 1004, 1006,
	 1008, 1010, 1012, 1014, 1016, 1018, 1020, 1022, 1024, 1026, 1028, 1030,
	 1032, 1034, 1036, 1039, 1041, 1043, 1045, 1047, 1049, 1051, 1053, 1055,
	 1057, 1059, 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075, 1077, 1079,
	 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1095, 1097, 1099, 1101, 1103,
	 1105, 1107, 1109, 1111, 1113, 1115, 1117, 1119, 1121, 1123, 1125, 1127,
	 1129, 1131, 1133, 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151,
	 1153, 1155, 1157, 1159, 1161, 1163, 1164, 1165
	};
}

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


private static byte[] init__lexer_trans_keys_0()
{
	return new byte [] {
	  -48,  -17,   10,   32,   34,   35,   37,   42,   64,  124,    9,   13,
	 -112, -111, -110, -101, -100,  -95,  -94,  -93,  -92,  -48,  -77,  -68,
	  -48,  -80,  -47, -128,   32,   10,   13,   10,   13,  -48,   10,   32,
	   34,   35,   37,   42,   64,  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,   13,
	   32,   64,    9,   10,    9,   10,   13,   32,   64,   11,   12,   10,
	   32,   64,    9,   13,   32,  124,    9,   13,   10,   32,   92,  124,
	    9,   13,   10,   92,  124,   10,   92,   10,   32,   92,  124,    9,
	   13,  -48,   10,   32,   34,   35,   37,   42,   64,  124,    9,   13,
	  -48,  -68,  -48,  -66,  -48,  -72,  -47, -128,  -48,  -66,  -48,  -70,
	  -48,  -80,  -48,  -75,  -48,  -70,  -48,  -72,  -48,  -67,  -48,  -72,
	  -47, -127,  -48,  -66,  -48,  -69,  -48,  -69,  -48,  -80,  -47, -128,
	   58,   10,   10,  -48,   10,   32,   35,  124,    9,   13,  -92,   10,
	  -47,   10, -125,   10,  -48,   10,  -67,   10,  -48,   10,  -70,   10,
	  -47,   10, -122,   10,  -48,   10,  -72,   10,  -48,   10,  -66,   10,
	  -48,   10,  -67,   10,  -48,   10,  -80,   10,  -48,   10,  -69,   10,
	   10,   58,  -48,   10,   32,   34,   35,   37,   42,   64,  124,    9,
	   13,  -47, -122,  -48,  -75,  -48,  -67,  -48,  -80,  -47, -128,  -48,
	  -72,  -48,  -71,   32,   58,  -47, -127,  -47, -126,  -47, -128,  -47,
	 -125,  -48,  -70,  -47, -126,  -47, -125,  -47, -128,  -48,  -80,  -47,
	 -127,  -48,  -72,   58,   10,   10,  -48,   10,   32,   35,   37,   42,
	   64,    9,   13, -112, -111, -110, -101,  -95,  -93,  -92,   10,  -48,
	   10,  -77,  -68,   10,  -48,   10,  -80,   10,  -47,   10, -128,   10,
	   10,   32,  -48,   10,  -68,   10,  -48,   10,  -66,   10,  -48,   10,
	  -72,   10,  -47,   10, -128,   10,  -48,   10,  -66,   10,  -48,   10,
	  -70,   10,  -48,   10,  -80,   10,  -48,   10,  -75,   10,  -48,   10,
	  -70,   10,  -48,   10,  -72,   10,  -48,   10,  -67,   10,  -47,   10,
	 -122,   10,  -48,   10,  -75,   10,  -48,   10,  -67,   10,  -48,   10,
	  -80,   10,  -47,   10, -128,   10,  -48,   10,  -72,   10,  -48,   10,
	  -71,   10,   10,   58,  -48,   10,  -67,   10,  -48,   10,  -76,   10,
	  -47,   10, -125,   10,  -48,   10,  -67,   10,  -48,   10,  -70,   10,
	  -47,   10, -122,   10,  -48,   10,  -72,   10,  -48,   10,  -66,   10,
	  -48,   10,  -67,   10,  -48,   10,  -80,   10,  -48,   10,  -69,   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,   10,  -48,   10,   32,   35,   37,   42,
	   64,    9,   13, -112, -111, -110, -101,  -95,  -94,  -93,  -92,   10,
	  -48,   10,  -77,  -68,   10,  -48,   10,  -80,   10,  -47,   10, -128,
	   10,   10,   32,  -48,   10,  -68,   10,  -48,   10,  -66,   10,  -48,
	   10,  -72,   10,  -47,   10, -128,   10,  -48,   10,  -66,   10,  -48,
	   10,  -70,   10,  -48,   10,  -80,   10,  -48,   10,  -75,   10,  -48,
	   10,  -70,   10,  -48,   10,  -72,   10,  -48,   10,  -67,   10,  -47,
	   10, -122,   10,  -48,   10,  -75,   10,  -48,   10,  -67,   10,  -48,
	   10,  -80,   10,  -47,   10, -128,   10,  -48,   10,  -72,   10,  -48,
	   10,  -71,   10,   10,   32,   58,  -47,   10, -127,   10,  -47,   10,
	 -126,   10,  -47,   10, -128,   10,  -47,   10, -125,   10,  -48,   10,
	  -70,   10,  -47,   10, -126,   10,  -47,   10, -125,   10,  -47,   10,
	 -128,   10,  -48,   10,  -80,   10,  -47,   10, -127,   10,  -48,   10,
	  -72,   10,   10,   58,  -48,   10,  -80,   10,  -47,   10, -128,   10,
	  -48,   10,  -72,   10,  -47,   10, -123,   10,  -48,   10,  -67,   10,
	  -48,   10,  -76,   10,  -47,   10, -125,   10,  -48,   10,  -67,   10,
	  -48,   10,  -70,   10,  -47,   10, -122,   10,  -48,   10,  -72,   10,
	  -48,   10,  -66,   10,  -48,   10,  -67,   10,  -48,   10,  -80,   10,
	  -48,   10,  -69,   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,  -48,  -80,  -47, -128,
	  -48,  -72,  -47, -123,   58,   10,   10,  -48,   10,   32,   35,   37,
	   42,   64,    9,   13, -112, -111, -110, -101,  -95,  -93,  -92,   10,
	  -48,   10,  -77,  -68,   10,  -48,   10,  -80,   10,  -47,   10, -128,
	   10,   10,   32,  -48,   10,  -68,   10,  -48,   10,  -66,   10,  -48,
	   10,  -72,   10,  -47,   10, -128,   10,  -48,   10,  -66,   10,  -48,
	   10,  -70,   10,  -48,   10,  -80,   10,  -48,   10,  -75,   10,  -48,
	   10,  -70,   10,  -48,   10,  -72,   10,  -48,   10,  -67,   10,  -47,
	   10, -122,   10,  -48,   10,  -75,   10,  -48,   10,  -67,   10,  -48,
	   10,  -80,   10,  -47,   10, -128,   10,  -48,   10,  -72,   10,  -48,
	   10,  -71,   10,   10,   32,   58,  -47,   10, -127,   10,  -47,   10,
	 -126,   10,  -47,   10, -128,   10,  -47,   10, -125,   10,  -48,   10,
	  -70,   10,  -47,   10, -126,   10,  -47,   10, -125,   10,  -47,   10,
	 -128,   10,  -48,   10,  -80,   10,  -47,   10, -127,   10,  -48,   10,
	  -72,   10,   10,   58,  -48,   10,  -67,   10,  -48,   10,  -76,   10,
	  -47,   10, -125,   10,  -48,   10,  -67,   10,  -48,   10,  -70,   10,
	  -47,   10, -122,   10,  -48,   10,  -72,   10,  -48,   10,  -66,   10,
	  -48,   10,  -67,   10,  -48,   10,  -80,   10,  -48,   10,  -69,   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,  -48,  -67,  -48,  -76,  -47, -125,  -48,  -67,
	  -48,  -70,  -47, -122,  -48,  -72,  -48,  -66,  -48,  -67,  -48,  -80,
	  -48,  -69,   58,   10,   10,  -48,   10,   32,   35,   37,   64,    9,
	   13, -100,  -95,  -94,  -92,   10,  -48,   10,  -72,   10,  -47,   10,
	 -127,   10,  -48,   10,  -66,   10,  -48,   10,  -69,   10,  -48,   10,
	  -69,   10,  -48,   10,  -80,   10,  -47,   10, -128,   10,   10,   58,
	  -47,   10, -122,   10,  -48,   10,  -75,   10,  -48,   10,  -67,   10,
	  -48,   10,  -80,   10,  -47,   10, -128,   10,  -48,   10,  -72,   10,
	  -48,   10,  -71,   10,   10,   32,   58,  -47,   10, -127,   10,  -47,
	   10, -126,   10,  -47,   10, -128,   10,  -47,   10, -125,   10,  -48,
	   10,  -70,   10,  -47,   10, -126,   10,  -47,   10, -125,   10,  -47,
	   10, -128,   10,  -48,   10,  -80,   10,  -47,   10, -127,   10,  -48,
	   10,  -72,   10,  -48,   10,  -80,   10,  -47,   10, -128,   10,  -48,
	   10,  -72,   10,  -47,   10, -123,   10,  -47,   10, -125,   10,  -48,
	   10,  -67,   10,  -48,   10,  -70,   10,  -47,   10, -122,   10,  -48,
	   10,  -72,   10,  -48,   10,  -66,   10,  -48,   10,  -67,   10,  -48,
	   10,  -80,   10,  -48,   10,  -69,   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,  -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,   10,    9,    1,    2,    1,    1,    1,    1,    1,    2,    2,
	    9,    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,    2,    4,    3,    2,    4,    9,
	    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
	    1,    1,    1,    1,    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,    2,    2,    2,    2,    2,    2,
	    9,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    1,    1,    7,    8,    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,    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,    7,    9,    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,    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,    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,    7,    8,    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,    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,    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,    1,    1,    1,
	    1,    1,    1,    1,    1,    1,    1,    6,    5,    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,    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,    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
	    2,    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,    0,    0,    0,    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,    1,    1,    1,    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,    1,    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,    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,    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,    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,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    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
	};
}

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,   12,   22,   24,   27,   29,   31,   33,   35,   37,   40,
	   43,   54,   56,   58,   61,   64,   69,   74,   79,   84,   88,   92,
	   95,   97,   99,  101,  103,  105,  107,  109,  111,  113,  115,  117,
	  119,  121,  123,  125,  130,  137,  142,  146,  152,  156,  159,  165,
	  176,  178,  180,  182,  184,  186,  188,  190,  192,  194,  196,  198,
	  200,  202,  204,  206,  208,  210,  212,  214,  216,  218,  220,  222,
	  224,  226,  228,  230,  232,  234,  236,  238,  240,  242,  244,  246,
	  248,  250,  252,  254,  261,  264,  267,  270,  273,  276,  279,  282,
	  285,  288,  291,  294,  297,  300,  303,  306,  309,  312,  315,  318,
	  321,  332,  334,  336,  338,  340,  342,  344,  346,  348,  350,  352,
	  354,  356,  358,  360,  363,  365,  367,  369,  371,  373,  375,  377,
	  379,  381,  383,  385,  387,  389,  391,  393,  395,  397,  399,  401,
	  403,  405,  407,  409,  411,  413,  422,  431,  434,  438,  441,  444,
	  447,  450,  453,  456,  459,  462,  465,  468,  471,  474,  477,  480,
	  483,  486,  489,  492,  495,  498,  501,  504,  507,  510,  513,  516,
	  519,  522,  525,  528,  531,  534,  537,  540,  543,  546,  549,  552,
	  555,  558,  561,  564,  567,  570,  573,  576,  579,  582,  585,  588,
	  591,  594,  597,  600,  603,  606,  609,  612,  615,  618,  621,  624,
	  627,  630,  633,  636,  639,  642,  645,  648,  651,  654,  657,  660,
	  663,  666,  669,  672,  674,  676,  685,  695,  698,  702,  705,  708,
	  711,  714,  717,  720,  723,  726,  729,  732,  735,  738,  741,  744,
	  747,  750,  753,  756,  759,  762,  765,  768,  771,  774,  777,  780,
	  783,  786,  789,  792,  795,  798,  801,  804,  807,  810,  813,  816,
	  819,  822,  825,  829,  832,  835,  838,  841,  844,  847,  850,  853,
	  856,  859,  862,  865,  868,  871,  874,  877,  880,  883,  886,  889,
	  892,  895,  898,  901,  904,  907,  910,  913,  916,  919,  922,  925,
	  928,  931,  934,  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, 1032,
	 1034, 1036, 1038, 1040, 1042, 1044, 1046, 1048, 1050, 1052, 1061, 1070,
	 1073, 1077, 1080, 1083, 1086, 1089, 1092, 1095, 1098, 1101, 1104, 1107,
	 1110, 1113, 1116, 1119, 1122, 1125, 1128, 1131, 1134, 1137, 1140, 1143,
	 1146, 1149, 1152, 1155, 1158, 1161, 1164, 1167, 1170, 1173, 1176, 1179,
	 1182, 1185, 1188, 1191, 1194, 1197, 1200, 1204, 1207, 1210, 1213, 1216,
	 1219, 1222, 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, 1306, 1309, 1312, 1315, 1318, 1321, 1324,
	 1327, 1330, 1333, 1336, 1339, 1342, 1345, 1348, 1351, 1354, 1357, 1360,
	 1363, 1366, 1369, 1372, 1375, 1378, 1381, 1383, 1385, 1387, 1389, 1391,
	 1393, 1395, 1397, 1399, 1401, 1403, 1405, 1407, 1409, 1411, 1413, 1415,
	 1417, 1419, 1421, 1423, 1425, 1427, 1429, 1431, 1439, 1445, 1448, 1451,
	 1454, 1457, 1460, 1463, 1466, 1469, 1472, 1475, 1478, 1481, 1484, 1487,
	 1490, 1493, 1496, 1499, 1502, 1505, 1508, 1511, 1514, 1517, 1520, 1523,
	 1526, 1529, 1532, 1536, 1539, 1542, 1545, 1548, 1551, 1554, 1557, 1560,
	 1563, 1566, 1569, 1572, 1575, 1578, 1581, 1584, 1587, 1590, 1593, 1596,
	 1599, 1602, 1605, 1608, 1611, 1614, 1617, 1620, 1623, 1626, 1629, 1632,
	 1635, 1638, 1641, 1644, 1647, 1650, 1653, 1656, 1659, 1662, 1665, 1668,
	 1671, 1674, 1677, 1680, 1683, 1686, 1689, 1692, 1695, 1698, 1701, 1704,
	 1707, 1710, 1713, 1716, 1719, 1722, 1724, 1726
	};
}

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


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

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


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

static final int lexer_en_main = 1;


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

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

case 5:
	}
	break; }
	}

// line 186 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/uz.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