Changeset 539


Ignore:
Timestamp:
02/08/09 03:01:07 (3 years ago)
Author:
mooneer
Message:

Added support for single quotes for strings (ticket #85).

Location:
interpreter/trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • interpreter/trunk/ChangeLog

    r530 r539  
     12/8/2009: 
     2    * Added support for single quotes for strings (ticket #85). 
     3     
    142/4/2009: 
    25    * list|append and operator+ now create new lists instead of modifying the existing list. 
  • interpreter/trunk/tests/Makefile.am

    r530 r539  
    164164./objs/string/split_empty.kt.out \ 
    165165./objs/string/split_empty.kt \ 
     166./objs/string/single_quote.kt \ 
     167./objs/string/single_quote.kt.out \ 
    166168./objs/thread/thread_test.kt \ 
    167169./objs/thread/thread_test.kt.out \ 
  • interpreter/trunk/vm/kite_lexer.l

    r520 r539  
    2828%} 
    2929 
    30 %x operator str sym docstr regex 
     30%x operator str sym docstr regex str2 
    3131%option noyywrap 
    3232%option bison-bridge bison-locations reentrant 
     
    119119} 
    120120 
     121\' { 
     122        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     123        fillFirst(yyscanner); 
     124        BEGIN(str2); 
     125        compiler->curStr = strdup(""); 
     126} 
     127 
    121128"/[" { 
    122129    kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    238245} 
    239246<str>. { 
     247        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     248        APPEND_STRING(yytext); 
     249        compiler->currentCol++; 
     250} 
     251 
     252<str2>\' { 
     253        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     254        fillLast(yyscanner); 
     255        BEGIN(INITIAL); 
     256        yylval->stringValue = compiler->curStr; 
     257        return STRING_VALUE; 
     258} 
     259<str2>\\n { 
     260        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     261        APPEND_STRING("\n"); 
     262        compiler->currentCol++; 
     263} 
     264<str2>\\t { 
     265        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     266        APPEND_STRING("\t"); 
     267        compiler->currentCol++; 
     268} 
     269<str2>\\r { 
     270        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     271        APPEND_STRING("\r"); 
     272        compiler->currentCol++; 
     273} 
     274<str2>\\b { 
     275        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     276        APPEND_STRING("\b"); 
     277        compiler->currentCol++; 
     278} 
     279<str2>\\f { 
     280        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     281        APPEND_STRING("\f"); 
     282        compiler->currentCol++; 
     283} 
     284<str2>\\[0-7]{1,3} {  
     285        unsigned int character = strtoul(yytext + 1, NULL, 8); 
     286        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     287        APPEND_CHAR(character); 
     288        compiler->currentCol += strlen(yytext); 
     289} 
     290<str2>\\x[0-9A-Fa-f]{1,2} {  
     291        unsigned int character = strtoul(yytext + 2, NULL, 16); 
     292        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     293        APPEND_CHAR(character); 
     294        compiler->currentCol += strlen(yytext); 
     295} 
     296<str2>\\\" {  
     297        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     298        APPEND_STRING("\""); 
     299        compiler->currentCol += strlen(yytext); 
     300} 
     301<str2>\\\\ {  
     302        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     303        APPEND_STRING("\\"); 
     304        compiler->currentCol += strlen(yytext); 
     305} 
     306<str2>[ \t]+ { 
     307        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     308        APPEND_STRING(yytext); 
     309} 
     310<str2>\r?\n { 
     311        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     312        APPEND_STRING(yytext); 
     313        compiler->currentLine++; compiler->currentCol = 1;  
     314} 
     315<str2>. { 
    240316        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
    241317        APPEND_STRING(yytext); 
  • interpreter/trunk/windows/kite_lexer.c

    r534 r539  
    355355        yyg->yy_c_buf_p = yy_cp; 
    356356 
    357 #define YY_NUM_RULES 93 
    358 #define YY_END_OF_BUFFER 94 
     357#define YY_NUM_RULES 107 
     358#define YY_END_OF_BUFFER 108 
    359359/* This struct is not used in this scanner, 
    360360   but its presence is necessary. */ 
     
    364364        flex_int32_t yy_nxt; 
    365365        }; 
    366 static yyconst flex_int16_t yy_accept[314] = 
     366static yyconst flex_int16_t yy_accept[338] = 
    367367    {   0, 
    368368        0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
    369         0,    0,   94,   68,   66,   67,   68,   68,   40,    1, 
    370        68,   64,   68,   63,   68,   68,   68,   65,   65,   65, 
    371        65,   65,   65,   65,   65,   65,   65,   65,   65,   65, 
    372        65,   65,   65,   65,   65,   65,   93,   68,   68,   68, 
    373        68,   68,   68,   68,   68,   68,   68,   68,   68,   68, 
    374        61,   59,   60,   61,   49,   61,   46,   47,   46,   42, 
    375        45,   42,   66,   67,   32,    1,   63,   41,    0,   36, 
    376        29,   33,   35,   31,   34,   30,   65,   65,   65,   65, 
    377        65,   65,   65,   65,   65,   65,   65,   65,   20,   65, 
    378  
    379        65,   65,   65,   65,   24,   65,   39,   65,   65,   65, 
    380        65,   65,   65,   65,    0,    0,    0,    0,    0,    0, 
    381        82,    0,    0,   81,    0,    0,    0,    0,    0,    0, 
    382        86,    0,    0,    0,    0,    0,    0,   59,   60,   57, 
    383        55,   58,   53,   54,   50,   52,   51,    0,   48,   42, 
    384        44,   43,   62,   23,   65,   65,   65,   65,   65,   65, 
    385        65,   65,   65,   65,   65,   65,   65,   65,   25,   65, 
    386        65,   65,   65,   18,   65,   65,   65,   65,   26,   85, 
    387         0,    0,    0,    0,   84,   83,    0,   76,    0,   73, 
    388         0,    0,   87,    0,    0,    0,    0,    0,    0,   88, 
    389  
    390        55,   56,    0,   65,   65,   65,   65,   65,   65,   65, 
    391        11,   65,    4,   65,   65,   21,   22,   65,   27,   65, 
    392        65,   65,   37,   65,   65,   65,    0,   91,    0,    0, 
    393         0,    0,    0,    0,   69,    0,    0,    0,    0,    0, 
    394        55,   56,    0,   62,   13,   19,    5,   65,   65,   65, 
    395        65,   38,   65,   65,   65,   65,   65,   65,   16,   65, 
    396        17,   78,    0,    0,    0,   70,    0,    0,    0,    0, 
    397         0,    0,    0,   65,   65,   12,   65,    9,    2,    3, 
    398        65,   65,   15,   65,   72,   79,   89,    0,    0,    0, 
    399        77,   90,    0,   74,   65,   65,   65,   65,   65,   28, 
    400  
    401         0,   80,    0,   75,   65,   14,    7,   10,    8,   71, 
    402        92,    6,    0 
     369        0,    0,    0,    0,  108,   82,   80,   81,   82,   82, 
     370       40,    1,   41,   82,   78,   82,   77,   82,   82,   82, 
     371       79,   79,   79,   79,   79,   79,   79,   79,   79,   79, 
     372       79,   79,   79,   79,   79,   79,   79,   79,   79,  107, 
     373       82,   82,   82,   82,   82,   82,   82,   82,   82,   82, 
     374       82,   82,   82,   62,   60,   61,   62,   50,   62,   47, 
     375       48,   47,   43,   46,   43,   75,   73,   74,   75,   63, 
     376       75,   80,   81,   32,    1,   77,   42,    0,   36,   29, 
     377       33,   35,   31,   34,   30,   79,   79,   79,   79,   79, 
     378 
     379       79,   79,   79,   79,   79,   79,   79,   20,   79,   79, 
     380       79,   79,   79,   24,   79,   39,   79,   79,   79,   79, 
     381       79,   79,   79,    0,    0,    0,    0,    0,    0,   96, 
     382        0,    0,   95,    0,    0,    0,    0,    0,    0,  100, 
     383        0,    0,    0,    0,    0,    0,   60,   61,   58,   56, 
     384       59,   54,   55,   51,   53,   52,    0,   49,   43,   45, 
     385       44,   73,   74,   71,   69,   72,   67,   68,   64,   66, 
     386       65,    0,   76,   23,   79,   79,   79,   79,   79,   79, 
     387       79,   79,   79,   79,   79,   79,   79,   79,   25,   79, 
     388       79,   79,   79,   18,   79,   79,   79,   79,   26,   99, 
     389 
     390        0,    0,    0,    0,   98,   97,    0,   90,    0,   87, 
     391        0,    0,  101,    0,    0,    0,    0,    0,    0,  102, 
     392       56,   57,   69,   70,    0,   79,   79,   79,   79,   79, 
     393       79,   79,   11,   79,    4,   79,   79,   21,   22,   79, 
     394       27,   79,   79,   79,   37,   79,   79,   79,    0,  105, 
     395        0,    0,    0,    0,    0,    0,   83,    0,    0,    0, 
     396        0,    0,   56,   57,   69,   70,    0,   76,   13,   19, 
     397        5,   79,   79,   79,   79,   38,   79,   79,   79,   79, 
     398       79,   79,   16,   79,   17,   92,    0,    0,    0,   84, 
     399        0,    0,    0,    0,    0,    0,    0,   79,   79,   12, 
     400 
     401       79,    9,    2,    3,   79,   79,   15,   79,   86,   93, 
     402      103,    0,    0,    0,   91,  104,    0,   88,   79,   79, 
     403       79,   79,   79,   28,    0,   94,    0,   89,   79,   14, 
     404        7,   10,    8,   85,  106,    6,    0 
    403405    } ; 
    404406 
     
    408410        1,    1,    4,    1,    1,    1,    1,    1,    1,    1, 
    409411        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    410         1,    2,    5,    6,    7,    1,    1,    1,    1,    1, 
    411         1,    1,    8,    1,    9,   10,   11,   12,   12,   12, 
    412        12,   12,   12,   12,   12,   13,   13,    1,    1,   14, 
    413        15,   16,    1,    1,   17,   17,   17,   17,   18,   17, 
    414        19,   19,   19,   19,   19,   19,   19,   19,   19,   19, 
    415        19,   19,   19,   19,   19,   19,   19,   19,   19,   19, 
    416        20,   21,   22,    1,   19,    1,   23,   24,   25,   26, 
    417  
    418        27,   28,   29,   30,   31,   19,   32,   33,   34,   35, 
    419        36,   37,   38,   39,   40,   41,   42,   43,   44,   45, 
    420        46,   19,    1,   47,    1,    1,    1,    1,    1,    1, 
     412        1,    2,    5,    6,    7,    1,    1,    1,    8,    1, 
     413        1,    1,    9,    1,   10,   11,   12,   13,   13,   13, 
     414       13,   13,   13,   13,   13,   14,   14,    1,    1,   15, 
     415       16,   17,    1,    1,   18,   18,   18,   18,   19,   18, 
     416       20,   20,   20,   20,   20,   20,   20,   20,   20,   20, 
     417       20,   20,   20,   20,   20,   20,   20,   20,   20,   20, 
     418       21,   22,   23,    1,   20,    1,   24,   25,   26,   27, 
     419 
     420       28,   29,   30,   31,   32,   20,   33,   34,   35,   36, 
     421       37,   38,   39,   40,   41,   42,   43,   44,   45,   46, 
     422       47,   20,    1,   48,    1,    1,    1,    1,    1,    1, 
    421423        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    422424        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
     
    435437    } ; 
    436438 
    437 static yyconst flex_int32_t yy_meta[48] = 
     439static yyconst flex_int32_t yy_meta[49] = 
    438440    {   0, 
    439441        1,    1,    2,    2,    1,    1,    1,    1,    1,    1, 
    440         3,    4,    4,    1,    1,    1,    4,    4,    5,    1, 
    441         1,    1,    4,    4,    4,    4,    4,    4,    5,    5, 
     442        1,    3,    4,    4,    1,    1,    1,    4,    4,    5, 
     443        1,    1,    1,    4,    4,    4,    4,    4,    4,    5, 
    442444        5,    5,    5,    5,    5,    5,    5,    5,    5,    5, 
    443         5,    5,    5,    5,    5,    5,    1 
     445        5,    5,    5,    5,    5,    5,    5,    1 
    444446    } ; 
    445447 
    446 static yyconst flex_int16_t yy_base[323] = 
     448static yyconst flex_int16_t yy_base[350] = 
    447449    {   0, 
    448         0,    0,   45,   88,   48,   54,  133,    0,   61,   63, 
    449        38,   42,  426,  427,  423,  427,  421,  408,  427,    0, 
    450        49,  427,  402,   76,   84,  406,   61,    0,  385,  380, 
    451        69,  391,  374,   71,  383,   33,   73,   59,   67,  376, 
    452       170,  375,  378,  385,  381,  374,  427,   68,  386,  377, 
    453       369,   85,  155,  162,   82,  367,  150,   89,  370,  368, 
    454       427,  401,  427,  399,  427,  207,  427,  427,  390,    0, 
    455       369,  388,  396,  427,  427,    0,  174,  427,  107,  427, 
    456       427,  427,  427,  427,  427,  427,    0,  371,  369,  354, 
    457       371,  358,  163,  369,  358,  354,  353,  351,  351,  354, 
    458  
    459       344,  343,  350,  355,    0,  345,  427,  339,  344,  336, 
    460       336,  337,  344,  335,  347,  333,  338,  327,  327,  330, 
    461       427,  329,  336,  427,  328,  329,  337,  329,  323,  319, 
    462       427,  317,  322,  331,  326,  157,  316,  352,  427,  427, 
    463       341,  427,  427,  427,  427,  427,  427,    0,  427,    0, 
    464       427,  427,  187,    0,  329,  326,  310,  161,  318,  307, 
    465       314,  306,  311,  320,  307,  314,  314,  310,    0,  306, 
    466       299,  300,  294,    0,  308,  303,  293,  299,    0,  427, 
    467       308,  297,  298,  305,  427,  427,  296,  427,  284,  427, 
    468       284,  282,  427,  283,  285,  279,  289,  288,  285,  427, 
    469  
    470       305,    0,  198,  284,  285,  274,  272,  281,  285,  271, 
    471         0,  282,    0,  285,  268,    0,    0,  270,    0,  282, 
    472       277,  264,    0,  269,  270,  273,  253,  427,  272,  264, 
    473       268,  255,  263,  270,  427,  265,  266,  262,  254,  246, 
    474       427,  427,  196,  203,    0,    0,    0,  248,  251,  258, 
    475       240,    0,  241,  210,  224,  208,  208,  210,    0,  208, 
    476         0,  427,  216,  201,  199,  427,  202,  205,  198,  209, 
    477       193,  191,  192,  188,  187,    0,  202,    0,    0,    0, 
    478       190,  184,    0,  189,  427,  427,  427,  190,  182,  180, 
    479       427,  427,  180,  427,  193,  190,  151,  151,   86,    0, 
    480  
    481        82,  427,   62,  427,   56,    0,    0,    0,    0,  427, 
    482       427,    0,  427,  252,  257,  262,  267,  272,  274,  279, 
    483        61,   51 
     450        0,    0,   46,   90,   49,   55,  136,    0,   62,   64, 
     451       38,   42,   93,  100,  459,  460,  456,  460,  454,  440, 
     452      460,    0,  460,   49,  460,  434,   55,   84,  438,   62, 
     453        0,  417,  412,   97,  423,  406,   51,  415,   70,   82, 
     454       70,   50,  408,  173,  407,  410,  417,  413,  406,  460, 
     455       83,  418,  409,  401,   70,  158,  165,  159,  399,   95, 
     456      162,  402,  400,  460,  434,  460,  432,  460,  211,  460, 
     457      460,  422,    0,  401,  420,  460,  429,  460,  427,  460, 
     458      252,  427,  460,  460,    0,  180,  460,  191,  460,  460, 
     459      460,  460,  460,  460,  460,    0,  401,  399,  384,  401, 
     460 
     461      388,  166,  399,  388,  384,  383,  381,  381,  384,  374, 
     462      373,  380,  385,    0,  375,  460,  369,  374,  366,  366, 
     463      367,  374,  365,  377,  363,  368,  357,  357,  360,  460, 
     464      359,  366,  460,  358,  359,  367,  359,  353,  349,  460, 
     465      347,  352,  361,  356,  160,  346,  383,  460,  460,  371, 
     466      460,  460,  460,  460,  460,  460,    0,  460,    0,  460, 
     467      460,  381,  460,  460,  369,  460,  460,  460,  460,  460, 
     468      460,    0,  199,    0,  357,  354,  338,  168,  346,  335, 
     469      342,  334,  339,  348,  335,  342,  342,  338,    0,  334, 
     470      327,  328,  322,    0,  336,  331,  321,  327,    0,  460, 
     471 
     472      336,  325,  326,  333,  460,  460,  324,  460,  312,  460, 
     473      312,  310,  460,  311,  313,  307,  317,  316,  313,  460, 
     474      333,    0,  332,    0,  212,  311,  312,  301,  299,  308, 
     475      312,  298,    0,  309,    0,  312,  293,    0,    0,  288, 
     476        0,  273,  268,  255,    0,  259,  259,  262,  242,  460, 
     477      260,  252,  256,  243,  251,  258,  460,  252,  253,  249, 
     478      240,  232,  460,  460,  460,  460,  201,  206,    0,    0, 
     479        0,  233,  236,  243,  227,    0,  235,  226,  240,  224, 
     480      224,  227,    0,  225,    0,  460,  233,  219,  217,  460, 
     481      218,  221,  214,  224,  208,  206,  207,  203,  202,    0, 
     482 
     483      218,    0,    0,    0,  206,  200,    0,  205,  460,  460, 
     484      460,  205,  197,  195,  460,  460,  194,  460,  208,  204, 
     485      189,  190,  182,    0,  181,  460,  176,  460,  169,    0, 
     486        0,    0,    0,  460,  460,    0,  460,  298,  303,  308, 
     487      313,  318,  323,  325,  330,  202,  184,  105,   52 
    484488    } ; 
    485489 
    486 static yyconst flex_int16_t yy_def[323] = 
     490static yyconst flex_int16_t yy_def[350] = 
    487491    {   0, 
    488       313,    1,  314,  314,  315,  315,  313,    7,  316,  316, 
    489       317,  317,  313,  313,  313,  313,  313,  313,  313,  318, 
    490       313,  313,  313,  313,  313,  313,  313,  319,  319,  319, 
    491       319,  319,  319,  319,  319,  319,  319,  319,  319,  319, 
    492       319,  319,  319,  319,  319,  319,  313,  313,  313,  313, 
    493       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    494       313,  313,  313,  313,  313,  313,  313,  313,  313,  320, 
    495       313,  320,  313,  313,  313,  318,  313,  313,  313,  313, 
    496       313,  313,  313,  313,  313,  313,  319,  319,  319,  319, 
    497       319,  319,  319,  319,  319,  319,  319,  319,  319,  319, 
    498  
    499       319,  319,  319,  319,  319,  319,  313,  319,  319,  319, 
    500       319,  319,  319,  319,  313,  313,  313,  313,  313,  313, 
    501       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    502       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    503       313,  313,  313,  313,  313,  313,  313,  321,  313,  320, 
    504       313,  313,  313,  319,  319,  319,  319,  319,  319,  319, 
    505       319,  319,  319,  319,  319,  319,  319,  319,  319,  319, 
    506       319,  319,  319,  319,  319,  319,  319,  319,  319,  313, 
    507       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    508       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    509  
    510       313,  322,  313,  319,  319,  319,  319,  319,  319,  319, 
    511       319,  319,  319,  319,  319,  319,  319,  319,  319,  319, 
    512       319,  319,  319,  319,  319,  319,  313,  313,  313,  313, 
    513       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    514       313,  313,  313,  313,  319,  319,  319,  319,  319,  319, 
    515       319,  319,  319,  319,  319,  319,  319,  319,  319,  319, 
    516       319,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    517       313,  313,  313,  319,  319,  319,  319,  319,  319,  319, 
    518       319,  319,  319,  319,  313,  313,  313,  313,  313,  313, 
    519       313,  313,  313,  313,  319,  319,  319,  319,  319,  319, 
    520  
    521       313,  313,  313,  313,  319,  319,  319,  319,  319,  313, 
    522       313,  319,    0,  313,  313,  313,  313,  313,  313,  313, 
    523       313,  313 
     492      337,    1,  338,  338,  339,  339,  337,    7,  340,  340, 
     493      341,  341,  342,  342,  337,  337,  337,  337,  337,  337, 
     494      337,  343,  337,  337,  337,  337,  337,  337,  337,  337, 
     495      344,  344,  344,  344,  344,  344,  344,  344,  344,  344, 
     496      344,  344,  344,  344,  344,  344,  344,  344,  344,  337, 
     497      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     498      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     499      337,  337,  345,  337,  345,  337,  337,  337,  337,  337, 
     500      337,  337,  337,  337,  343,  337,  337,  337,  337,  337, 
     501      337,  337,  337,  337,  337,  344,  344,  344,  344,  344, 
     502 
     503      344,  344,  344,  344,  344,  344,  344,  344,  344,  344, 
     504      344,  344,  344,  344,  344,  337,  344,  344,  344,  344, 
     505      344,  344,  344,  337,  337,  337,  337,  337,  337,  337, 
     506      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     507      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     508      337,  337,  337,  337,  337,  337,  346,  337,  345,  337, 
     509      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     510      337,  347,  337,  344,  344,  344,  344,  344,  344,  344, 
     511      344,  344,  344,  344,  344,  344,  344,  344,  344,  344, 
     512      344,  344,  344,  344,  344,  344,  344,  344,  344,  337, 
     513 
     514      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     515      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     516      337,  348,  337,  349,  337,  344,  344,  344,  344,  344, 
     517      344,  344,  344,  344,  344,  344,  344,  344,  344,  344, 
     518      344,  344,  344,  344,  344,  344,  344,  344,  337,  337, 
     519      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     520      337,  337,  337,  337,  337,  337,  337,  337,  344,  344, 
     521      344,  344,  344,  344,  344,  344,  344,  344,  344,  344, 
     522      344,  344,  344,  344,  344,  337,  337,  337,  337,  337, 
     523      337,  337,  337,  337,  337,  337,  337,  344,  344,  344, 
     524 
     525      344,  344,  344,  344,  344,  344,  344,  344,  337,  337, 
     526      337,  337,  337,  337,  337,  337,  337,  337,  344,  344, 
     527      344,  344,  344,  344,  337,  337,  337,  337,  344,  344, 
     528      344,  344,  344,  337,  337,  344,    0,  337,  337,  337, 
     529      337,  337,  337,  337,  337,  337,  337,  337,  337 
    524530    } ; 
    525531 
    526 static yyconst flex_int16_t yy_nxt[475] = 
     532static yyconst flex_int16_t yy_nxt[509] = 
    527533    {   0, 
    528        14,   15,   16,   17,   18,   19,   20,   21,   21,   22, 
    529        23,   24,   24,   25,   26,   27,   28,   28,   28,   14, 
    530        14,   14,   29,   30,   31,   32,   33,   34,   35,   28, 
    531        36,   28,   28,   37,   38,   39,   40,   28,   41,   28, 
    532        42,   43,   44,   45,   46,   28,   22,   47,   71,   62, 
    533        63,   64,   71,   65,  242,   62,   63,   64,   72,   65, 
    534        77,   77,   72,   68,  202,   68,   98,   48,   66,   49, 
    535        50,   51,   99,   52,   66,   85,   86,   53,   54,   55, 
    536        56,   57,   69,   58,   69,   79,   59,   77,   77,   60, 
    537        47,   90,   80,   95,  102,  100,  312,   81,   82,  101, 
    538  
    539       103,   91,  115,  104,   92,  105,  116,  311,  129,   96, 
    540        48,  120,   49,   50,   51,  134,   52,  130,  153,  153, 
    541        53,   54,   55,   56,   57,  121,   58,  310,  135,   59, 
    542        83,  309,   60,   14,   14,   47,   14,   14,   14,   14, 
    543        14,   14,   14,   14,   14,   14,   14,   14,   14,   28, 
    544        28,   28,   14,   14,   14,   28,   28,   28,   28,   28, 
    545        28,   28,   28,   28,   28,   28,   28,   28,   28,   28, 
    546        28,   28,   28,   28,   28,   28,   28,   28,   28,   14, 
    547       107,  122,  132,   79,  125,   77,   77,  159,  133,  308, 
    548       198,  307,  126,  199,  123,  124,  108,  127,  153,  153, 
    549  
    550       207,  208,  160,  128,  203,  243,  243,  244,  244,  244, 
    551       244,  109,  140,  203,  244,  244,  306,  305,  141,  304, 
    552       303,  302,  301,  300,  299,  298,  297,  142,  296,  295, 
    553       143,  294,  293,  292,  144,  291,  290,  289,  288,  287, 
    554       286,  145,  285,  284,  283,  146,  282,  147,  281,  280, 
    555       279,  148,   14,   14,   14,   14,   14,   61,   61,   61, 
    556        61,   61,   67,   67,   67,   67,   67,   70,   70,   70, 
    557        70,   70,   76,  278,   76,   76,   76,   87,   87,  150, 
    558       150,  277,  150,  150,  276,  275,  274,  273,  272,  271, 
    559       270,  269,  268,  267,  266,  265,  264,  263,  262,  261, 
    560  
    561       260,  259,  258,  257,  256,  255,  254,  253,  252,  251, 
    562       250,  249,  248,  247,  246,  245,  241,  240,  239,  238, 
    563       237,  236,  235,  234,  233,  232,  231,  230,  229,  228, 
    564       227,  226,  225,  224,  223,  222,  221,  220,  219,  218, 
    565       217,  216,  215,  214,  213,  212,  211,  210,  209,  206, 
    566       205,  204,  201,  138,  200,  197,  196,  195,  194,  193, 
    567       192,  191,  190,  189,  188,  187,  186,  185,  184,  183, 
    568       182,  181,  180,  179,  178,  177,  176,  175,  174,  173, 
    569       172,  171,  170,  169,  168,  167,  166,  165,  164,  163, 
    570       162,  161,  158,  157,  156,  155,  154,   73,  152,  151, 
    571  
    572       149,  139,  138,  137,  136,  131,  119,  118,  117,  114, 
    573       113,  112,  111,  110,  106,   97,   94,   93,   89,   88, 
    574        84,   78,   75,   74,   73,  313,   13,  313,  313,  313, 
    575       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    576       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    577       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    578       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    579       313,  313,  313,  313 
     534       16,   17,   18,   19,   20,   21,   22,   23,   24,   24, 
     535       25,   26,   27,   27,   28,   29,   30,   31,   31,   31, 
     536       16,   16,   16,   32,   33,   34,   35,   36,   37,   38, 
     537       31,   39,   31,   31,   40,   41,   42,   43,   31,   44, 
     538       31,   45,   46,   47,   48,   49,   31,   25,   50,   74, 
     539       65,   66,   67,   74,   68,  266,   65,   66,   67,   75, 
     540       68,   86,   86,   75,   71,   88,   71,   86,   86,   51, 
     541       69,   52,   53,   54,  104,   55,   69,   94,   95,   56, 
     542       57,   58,   59,   60,   72,   61,   72,  113,   62,  114, 
     543      105,   63,   50,   89,   77,   78,   79,  129,   90,   91, 
     544 
     545       80,   77,   78,   79,  107,  109,  111,   80,  264,  110, 
     546      108,  130,  112,   51,   81,   52,   53,   54,  124,   55, 
     547       99,   81,  125,   56,   57,   58,   59,   60,  141,   61, 
     548      100,   92,   62,  101,  142,   63,   16,   16,   50,   16, 
     549       16,   16,   16,   16,   16,   16,   16,   16,   16,   16, 
     550       16,   16,   16,   31,   31,   31,   16,   16,   16,   31, 
     551       31,   31,   31,   31,   31,   31,   31,   31,   31,   31, 
     552       31,   31,   31,   31,   31,   31,   31,   31,   31,   31, 
     553       31,   31,   31,   16,  116,  131,  138,  224,  134,  143, 
     554       88,  179,   86,   86,  218,  139,  135,  219,  132,  133, 
     555 
     556      117,  136,  144,  173,  173,  222,  180,  137,  229,  230, 
     557      336,  173,  173,  268,  268,  118,  149,  225,  268,  268, 
     558      267,  267,  335,  150,  268,  268,  225,  334,  333,  332, 
     559      331,  330,  151,  329,  328,  152,  327,  326,  325,  153, 
     560      324,  323,  322,  321,  320,  319,  154,  318,  317,  316, 
     561      155,  315,  156,  314,  313,  312,  157,  164,  311,  310, 
     562      309,  308,  307,  306,  165,  305,  304,  303,  302,  301, 
     563      300,  299,  298,  166,  297,  296,  167,  295,  294,  293, 
     564      168,  292,  291,  290,  289,  288,  287,  169,  286,  285, 
     565      284,  170,  283,  171,  282,  281,  280,  172,   16,   16, 
     566 
     567       16,   16,   16,   64,   64,   64,   64,   64,   70,   70, 
     568       70,   70,   70,   73,   73,   73,   73,   73,   76,   76, 
     569       76,   76,   76,   85,  279,   85,   85,   85,   96,   96, 
     570      159,  159,  278,  159,  159,  277,  276,  275,  274,  273, 
     571      272,  271,  270,  269,  265,  263,  262,  261,  260,  259, 
     572      258,  257,  256,  255,  254,  253,  252,  251,  250,  249, 
     573      248,  247,  246,  245,  244,  243,  242,  241,  240,  239, 
     574      238,  237,  236,  235,  234,  233,  232,  231,  228,  227, 
     575      226,  223,  162,  221,  147,  220,  217,  216,  215,  214, 
     576      213,  212,  211,  210,  209,  208,  207,  206,  205,  204, 
     577 
     578      203,  202,  201,  200,  199,  198,  197,  196,  195,  194, 
     579      193,  192,  191,  190,  189,  188,  187,  186,  185,  184, 
     580      183,  182,  181,  178,  177,  176,  175,  174,   82,  163, 
     581      162,  161,  160,  158,  148,  147,  146,  145,  140,  128, 
     582      127,  126,  123,  122,  121,  120,  119,  115,  106,  103, 
     583      102,   98,   97,   93,   87,   84,   83,   82,  337,   15, 
     584      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     585      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     586      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     587      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     588 
     589      337,  337,  337,  337,  337,  337,  337,  337 
    580590    } ; 
    581591 
    582 static yyconst flex_int16_t yy_chk[475] = 
     592static yyconst flex_int16_t yy_chk[509] = 
    583593    {   0, 
    584594        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
     
    586596        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    587597        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    588         1,    1,    1,    1,    1,    1,    1,    3,   11,    5, 
    589         5,    5,   12,    5,  322,    6,    6,    6,   11,    6, 
    590        21,   21,   12,    9,  321,   10,   36,    3,    5,    3, 
    591         3,    3,   36,    3,    6,   27,   27,    3,    3,    3, 
    592         3,    3,    9,    3,   10,   24,    3,   24,   24,    3, 
    593         4,   31,   25,   34,   38,   37,  305,   25,   25,   37, 
    594  
    595        38,   31,   48,   39,   31,   39,   48,  303,   55,   34, 
    596         4,   52,    4,    4,    4,   58,    4,   55,   79,   79, 
    597         4,    4,    4,    4,    4,   52,    4,  301,   58,    4, 
    598        25,  299,    4,    7,    7,    7,    7,    7,    7,    7, 
     598        1,    1,    1,    1,    1,    1,    1,    1,    3,   11, 
     599        5,    5,    5,   12,    5,  349,    6,    6,    6,   11, 
     600        6,   24,   24,   12,    9,   27,   10,   27,   27,    3, 
     601        5,    3,    3,    3,   37,    3,    6,   30,   30,    3, 
     602        3,    3,    3,    3,    9,    3,   10,   42,    3,   42, 
     603       37,    3,    4,   28,   13,   13,   13,   55,   28,   28, 
     604 
     605       13,   14,   14,   14,   39,   40,   41,   14,  348,   40, 
     606       39,   55,   41,    4,   13,    4,    4,    4,   51,    4, 
     607       34,   14,   51,    4,    4,    4,    4,    4,   60,    4, 
     608       34,   28,    4,   34,   60,    4,    7,    7,    7,    7, 
    599609        7,    7,    7,    7,    7,    7,    7,    7,    7,    7, 
    600610        7,    7,    7,    7,    7,    7,    7,    7,    7,    7, 
    601611        7,    7,    7,    7,    7,    7,    7,    7,    7,    7, 
    602612        7,    7,    7,    7,    7,    7,    7,    7,    7,    7, 
    603        41,   53,   57,   77,   54,   77,   77,   93,   57,  298, 
    604       136,  297,   54,  136,   53,   53,   41,   54,  153,  153, 
    605  
    606       158,  158,   93,   54,  153,  203,  203,  243,  243,  203, 
    607       203,   41,   66,  153,  244,  244,  296,  295,   66,  293, 
    608       290,  289,  288,  284,  282,  281,  277,   66,  275,  274, 
    609        66,  273,  272,  271,   66,  270,  269,  268,  267,  265, 
    610       264,   66,  263,  260,  258,   66,  257,   66,  256,  255, 
    611       254,   66,  314,  314,  314,  314,  314,  315,  315,  315, 
    612       315,  315,  316,  316,  316,  316,  316,  317,  317,  317, 
    613       317,  317,  318,  253,  318,  318,  318,  319,  319,  320, 
    614       320,  251,  320,  320,  250,  249,  248,  240,  239,  238, 
    615       237,  236,  234,  233,  232,  231,  230,  229,  227,  226, 
    616  
    617       225,  224,  222,  221,  220,  218,  215,  214,  212,  210, 
    618       209,  208,  207,  206,  205,  204,  201,  199,  198,  197, 
    619       196,  195,  194,  192,  191,  189,  187,  184,  183,  182, 
    620       181,  178,  177,  176,  175,  173,  172,  171,  170,  168, 
    621       167,  166,  165,  164,  163,  162,  161,  160,  159,  157, 
    622       156,  155,  141,  138,  137,  135,  134,  133,  132,  130, 
    623       129,  128,  127,  126,  125,  123,  122,  120,  119,  118, 
    624       117,  116,  115,  114,  113,  112,  111,  110,  109,  108, 
    625       106,  104,  103,  102,  101,  100,   99,   98,   97,   96, 
    626        95,   94,   92,   91,   90,   89,   88,   73,   72,   71, 
    627  
    628        69,   64,   62,   60,   59,   56,   51,   50,   49,   46, 
    629        45,   44,   43,   42,   40,   35,   33,   32,   30,   29, 
    630        26,   23,   18,   17,   15,   13,  313,  313,  313,  313, 
    631       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    632       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    633       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    634       313,  313,  313,  313,  313,  313,  313,  313,  313,  313, 
    635       313,  313,  313,  313 
     613        7,    7,    7,    7,   44,   56,   58,  347,   57,   61, 
     614       86,  102,   86,   86,  145,   58,   57,  145,   56,   56, 
     615 
     616       44,   57,   61,   88,   88,  346,  102,   57,  178,  178, 
     617      329,  173,  173,  267,  267,   44,   69,  173,  268,  268, 
     618      225,  225,  327,   69,  225,  225,  173,  325,  323,  322, 
     619      321,  320,   69,  319,  317,   69,  314,  313,  312,   69, 
     620      308,  306,  305,  301,  299,  298,   69,  297,  296,  295, 
     621       69,  294,   69,  293,  292,  291,   69,   81,  289,  288, 
     622      287,  284,  282,  281,   81,  280,  279,  278,  277,  275, 
     623      274,  273,  272,   81,  262,  261,   81,  260,  259,  258, 
     624       81,  256,  255,  254,  253,  252,  251,   81,  249,  248, 
     625      247,   81,  246,   81,  244,  243,  242,   81,  338,  338, 
     626 
     627      338,  338,  338,  339,  339,  339,  339,  339,  340,  340, 
     628      340,  340,  340,  341,  341,  341,  341,  341,  342,  342, 
     629      342,  342,  342,  343,  240,  343,  343,  343,  344,  344, 
     630      345,  345,  237,  345,  345,  236,  234,  232,  231,  230, 
     631      229,  228,  227,  226,  223,  221,  219,  218,  217,  216, 
     632      215,  214,  212,  211,  209,  207,  204,  203,  202,  201, 
     633      198,  197,  196,  195,  193,  192,  191,  190,  188,  187, 
     634      186,  185,  184,  183,  182,  181,  180,  179,  177,  176, 
     635      175,  165,  162,  150,  147,  146,  144,  143,  142,  141, 
     636      139,  138,  137,  136,  135,  134,  132,  131,  129,  128, 
     637 
     638      127,  126,  125,  124,  123,  122,  121,  120,  119,  118, 
     639      117,  115,  113,  112,  111,  110,  109,  108,  107,  106, 
     640      105,  104,  103,  101,  100,   99,   98,   97,   82,   79, 
     641       77,   75,   74,   72,   67,   65,   63,   62,   59,   54, 
     642       53,   52,   49,   48,   47,   46,   45,   43,   38,   36, 
     643       35,   33,   32,   29,   26,   20,   19,   17,   15,  337, 
     644      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     645      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     646      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     647      337,  337,  337,  337,  337,  337,  337,  337,  337,  337, 
     648 
     649      337,  337,  337,  337,  337,  337,  337,  337 
    636650    } ; 
    637651 
     
    700714        } 
    701715         
    702 #line 703 "kite_lexer.c" 
     716#line 717 "kite_lexer.c" 
    703717 
    704718#define INITIAL 0 
     
    708722#define docstr 4 
    709723#define regex 5 
     724#define str2 6 
    710725 
    711726#ifndef YY_NO_UNISTD_H 
     
    911926#define YY_DECL_IS_OURS 1 
    912927 
    913 extern int yylex \ 
    914                (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner); 
    915  
    916 #define YY_DECL int yylex \ 
    917                (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner) 
     928extern int yylex (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner); 
     929 
     930#define YY_DECL int yylex (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner) 
    918931#endif /* !YY_DECL */ 
    919932 
     
    945958 
    946959 
    947 #line 948 "kite_lexer.c" 
     960#line 961 "kite_lexer.c" 
    948961 
    949962    yylval = yylval_param; 
     
    10021015                                { 
    10031016                                yy_current_state = (int) yy_def[yy_current_state]; 
    1004                                 if ( yy_current_state >= 314 ) 
     1017                                if ( yy_current_state >= 338 ) 
    10051018                                        yy_c = yy_meta[(unsigned int) yy_c]; 
    10061019                                } 
     
    10081021                        ++yy_cp; 
    10091022                        } 
    1010                 while ( yy_base[yy_current_state] != 427 ); 
     1023                while ( yy_base[yy_current_state] != 460 ); 
    10111024 
    10121025yy_find_action: 
     
    12461259#line 121 "kite_lexer.l" 
    12471260{ 
     1261        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1262        fillFirst(yyscanner); 
     1263        BEGIN(str2); 
     1264        compiler->curStr = strdup(""); 
     1265} 
     1266        YY_BREAK 
     1267case 42: 
     1268YY_RULE_SETUP 
     1269#line 128 "kite_lexer.l" 
     1270{ 
    12481271    kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
    12491272        fillFirst(yyscanner); 
     
    12521275} 
    12531276        YY_BREAK 
    1254 case 42: 
    1255 /* rule 42 can match eol */ 
    1256 YY_RULE_SETUP 
    1257 #line 128 "kite_lexer.l" 
     1277case 43: 
     1278/* rule 43 can match eol */ 
     1279YY_RULE_SETUP 
     1280#line 135 "kite_lexer.l" 
    12581281{ 
    12591282    kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    12621285} 
    12631286        YY_BREAK 
    1264 case 43: 
    1265 YY_RULE_SETUP 
    1266 #line 134 "kite_lexer.l" 
     1287case 44: 
     1288YY_RULE_SETUP 
     1289#line 141 "kite_lexer.l" 
    12671290{ 
    12681291    kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    12711294} 
    12721295        YY_BREAK 
    1273 case 44: 
    1274 YY_RULE_SETUP 
    1275 #line 140 "kite_lexer.l" 
     1296case 45: 
     1297YY_RULE_SETUP 
     1298#line 147 "kite_lexer.l" 
    12761299{ 
    12771300    kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    12821305} 
    12831306        YY_BREAK 
    1284 case 45: 
    1285 YY_RULE_SETUP 
    1286 #line 148 "kite_lexer.l" 
     1307case 46: 
     1308YY_RULE_SETUP 
     1309#line 155 "kite_lexer.l" 
    12871310{ 
    12881311    kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    12931316} 
    12941317        YY_BREAK 
    1295 case 46: 
    1296 YY_RULE_SETUP 
    1297 #line 156 "kite_lexer.l" 
     1318case 47: 
     1319YY_RULE_SETUP 
     1320#line 163 "kite_lexer.l" 
    12981321{ 
    12991322        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    13021325} 
    13031326        YY_BREAK 
    1304 case 47: 
    1305 /* rule 47 can match eol */ 
    1306 YY_RULE_SETUP 
    1307 #line 162 "kite_lexer.l" 
     1327case 48: 
     1328/* rule 48 can match eol */ 
     1329YY_RULE_SETUP 
     1330#line 169 "kite_lexer.l" 
    13081331{ 
    13091332        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    13121335} 
    13131336        YY_BREAK 
    1314 case 48: 
    1315 YY_RULE_SETUP 
    1316 #line 168 "kite_lexer.l" 
     1337case 49: 
     1338YY_RULE_SETUP 
     1339#line 175 "kite_lexer.l" 
    13171340{ 
    13181341    kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    13231346} 
    13241347        YY_BREAK 
    1325 case 49: 
    1326 YY_RULE_SETUP 
    1327 #line 176 "kite_lexer.l" 
     1348case 50: 
     1349YY_RULE_SETUP 
     1350#line 183 "kite_lexer.l" 
    13281351{ 
    13291352        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    13341357} 
    13351358        YY_BREAK 
    1336 case 50: 
    1337 YY_RULE_SETUP 
    1338 #line 183 "kite_lexer.l" 
     1359case 51: 
     1360YY_RULE_SETUP 
     1361#line 190 "kite_lexer.l" 
    13391362{ 
    13401363        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    13431366} 
    13441367        YY_BREAK 
    1345 case 51: 
    1346 YY_RULE_SETUP 
    1347 #line 188 "kite_lexer.l" 
     1368case 52: 
     1369YY_RULE_SETUP 
     1370#line 195 "kite_lexer.l" 
    13481371{ 
    13491372        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    13521375} 
    13531376        YY_BREAK 
    1354 case 52: 
    1355 YY_RULE_SETUP 
    1356 #line 193 "kite_lexer.l" 
     1377case 53: 
     1378YY_RULE_SETUP 
     1379#line 200 "kite_lexer.l" 
    13571380{ 
    13581381        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    13611384} 
    13621385        YY_BREAK 
    1363 case 53: 
    1364 YY_RULE_SETUP 
    1365 #line 198 "kite_lexer.l" 
     1386case 54: 
     1387YY_RULE_SETUP 
     1388#line 205 "kite_lexer.l" 
    13661389{ 
    13671390        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    13701393} 
    13711394        YY_BREAK 
    1372 case 54: 
    1373 YY_RULE_SETUP 
    1374 #line 203 "kite_lexer.l" 
     1395case 55: 
     1396YY_RULE_SETUP 
     1397#line 210 "kite_lexer.l" 
    13751398{ 
    13761399        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    13791402} 
    13801403        YY_BREAK 
    1381 case 55: 
    1382 YY_RULE_SETUP 
    1383 #line 208 "kite_lexer.l" 
     1404case 56: 
     1405YY_RULE_SETUP 
     1406#line 215 "kite_lexer.l" 
    13841407{  
    13851408        unsigned int character = strtoul(yytext + 1, NULL, 8); 
     
    13891412} 
    13901413        YY_BREAK 
    1391 case 56: 
    1392 YY_RULE_SETUP 
    1393 #line 214 "kite_lexer.l" 
     1414case 57: 
     1415YY_RULE_SETUP 
     1416#line 221 "kite_lexer.l" 
    13941417{  
    13951418        unsigned int character = strtoul(yytext + 2, NULL, 16); 
     
    13991422} 
    14001423        YY_BREAK 
    1401 case 57: 
    1402 YY_RULE_SETUP 
    1403 #line 220 "kite_lexer.l" 
     1424case 58: 
     1425YY_RULE_SETUP 
     1426#line 227 "kite_lexer.l" 
    14041427{  
    14051428        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    14081431} 
    14091432        YY_BREAK 
    1410 case 58: 
    1411 YY_RULE_SETUP 
    1412 #line 225 "kite_lexer.l" 
     1433case 59: 
     1434YY_RULE_SETUP 
     1435#line 232 "kite_lexer.l" 
    14131436{  
    14141437        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    14171440} 
    14181441        YY_BREAK 
    1419 case 59: 
    1420 YY_RULE_SETUP 
    1421 #line 230 "kite_lexer.l" 
     1442case 60: 
     1443YY_RULE_SETUP 
     1444#line 237 "kite_lexer.l" 
    14221445{ 
    14231446        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    14251448} 
    14261449        YY_BREAK 
    1427 case 60: 
    1428 /* rule 60 can match eol */ 
    1429 YY_RULE_SETUP 
    1430 #line 234 "kite_lexer.l" 
     1450case 61: 
     1451/* rule 61 can match eol */ 
     1452YY_RULE_SETUP 
     1453#line 241 "kite_lexer.l" 
    14311454{ 
    14321455        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    14351458} 
    14361459        YY_BREAK 
    1437 case 61: 
    1438 YY_RULE_SETUP 
    1439 #line 239 "kite_lexer.l" 
     1460case 62: 
     1461YY_RULE_SETUP 
     1462#line 246 "kite_lexer.l" 
    14401463{ 
    14411464        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    14441467} 
    14451468        YY_BREAK 
    1446 case 62: 
    1447 YY_RULE_SETUP 
    1448 #line 245 "kite_lexer.l" 
     1469case 63: 
     1470YY_RULE_SETUP 
     1471#line 252 "kite_lexer.l" 
     1472{ 
     1473        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1474        fillLast(yyscanner); 
     1475        BEGIN(INITIAL); 
     1476        yylval->stringValue = compiler->curStr; 
     1477        return STRING_VALUE; 
     1478} 
     1479        YY_BREAK 
     1480case 64: 
     1481YY_RULE_SETUP 
     1482#line 259 "kite_lexer.l" 
     1483{ 
     1484        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1485        APPEND_STRING("\n"); 
     1486        compiler->currentCol++; 
     1487} 
     1488        YY_BREAK 
     1489case 65: 
     1490YY_RULE_SETUP 
     1491#line 264 "kite_lexer.l" 
     1492{ 
     1493        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1494        APPEND_STRING("\t"); 
     1495        compiler->currentCol++; 
     1496} 
     1497        YY_BREAK 
     1498case 66: 
     1499YY_RULE_SETUP 
     1500#line 269 "kite_lexer.l" 
     1501{ 
     1502        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1503        APPEND_STRING("\r"); 
     1504        compiler->currentCol++; 
     1505} 
     1506        YY_BREAK 
     1507case 67: 
     1508YY_RULE_SETUP 
     1509#line 274 "kite_lexer.l" 
     1510{ 
     1511        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1512        APPEND_STRING("\b"); 
     1513        compiler->currentCol++; 
     1514} 
     1515        YY_BREAK 
     1516case 68: 
     1517YY_RULE_SETUP 
     1518#line 279 "kite_lexer.l" 
     1519{ 
     1520        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1521        APPEND_STRING("\f"); 
     1522        compiler->currentCol++; 
     1523} 
     1524        YY_BREAK 
     1525case 69: 
     1526YY_RULE_SETUP 
     1527#line 284 "kite_lexer.l" 
     1528{  
     1529        unsigned int character = strtoul(yytext + 1, NULL, 8); 
     1530        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1531        APPEND_CHAR(character); 
     1532        compiler->currentCol += strlen(yytext); 
     1533} 
     1534        YY_BREAK 
     1535case 70: 
     1536YY_RULE_SETUP 
     1537#line 290 "kite_lexer.l" 
     1538{  
     1539        unsigned int character = strtoul(yytext + 2, NULL, 16); 
     1540        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1541        APPEND_CHAR(character); 
     1542        compiler->currentCol += strlen(yytext); 
     1543} 
     1544        YY_BREAK 
     1545case 71: 
     1546YY_RULE_SETUP 
     1547#line 296 "kite_lexer.l" 
     1548{  
     1549        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1550        APPEND_STRING("\""); 
     1551        compiler->currentCol += strlen(yytext); 
     1552} 
     1553        YY_BREAK 
     1554case 72: 
     1555YY_RULE_SETUP 
     1556#line 301 "kite_lexer.l" 
     1557{  
     1558        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1559        APPEND_STRING("\\"); 
     1560        compiler->currentCol += strlen(yytext); 
     1561} 
     1562        YY_BREAK 
     1563case 73: 
     1564YY_RULE_SETUP 
     1565#line 306 "kite_lexer.l" 
     1566{ 
     1567        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1568        APPEND_STRING(yytext); 
     1569} 
     1570        YY_BREAK 
     1571case 74: 
     1572/* rule 74 can match eol */ 
     1573YY_RULE_SETUP 
     1574#line 310 "kite_lexer.l" 
     1575{ 
     1576        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1577        APPEND_STRING(yytext); 
     1578        compiler->currentLine++; compiler->currentCol = 1;  
     1579} 
     1580        YY_BREAK 
     1581case 75: 
     1582YY_RULE_SETUP 
     1583#line 315 "kite_lexer.l" 
     1584{ 
     1585        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     1586        APPEND_STRING(yytext); 
     1587        compiler->currentCol++; 
     1588} 
     1589        YY_BREAK 
     1590case 76: 
     1591YY_RULE_SETUP 
     1592#line 321 "kite_lexer.l" 
    14491593{  
    14501594        fillBoth(yyscanner); 
     
    14531597} 
    14541598        YY_BREAK 
    1455 case 63: 
    1456 YY_RULE_SETUP 
    1457 #line 250 "kite_lexer.l" 
     1599case 77: 
     1600YY_RULE_SETUP 
     1601#line 326 "kite_lexer.l" 
    14581602{  
    14591603        fillBoth(yyscanner); 
     
    14621606} 
    14631607        YY_BREAK 
    1464 case 64: 
    1465 YY_RULE_SETUP 
    1466 #line 255 "kite_lexer.l" 
     1608case 78: 
     1609YY_RULE_SETUP 
     1610#line 331 "kite_lexer.l" 
    14671611{ 
    14681612        /* so reserved words can be used as valid symbols */  
     
    14721616} 
    14731617        YY_BREAK 
    1474 case 65: 
    1475 YY_RULE_SETUP 
    1476 #line 261 "kite_lexer.l" 
     1618case 79: 
     1619YY_RULE_SETUP 
     1620#line 337 "kite_lexer.l" 
    14771621{  
    14781622        fillBoth(yyscanner);  
     
    14821626} 
    14831627        YY_BREAK 
    1484 case 66: 
    1485 YY_RULE_SETUP 
    1486 #line 267 "kite_lexer.l" 
     1628case 80: 
     1629YY_RULE_SETUP 
     1630#line 343 "kite_lexer.l" 
    14871631{  
    14881632        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    14901634} 
    14911635        YY_BREAK 
    1492 case 67: 
    1493 /* rule 67 can match eol */ 
    1494 YY_RULE_SETUP 
    1495 #line 271 "kite_lexer.l" 
     1636case 81: 
     1637/* rule 81 can match eol */ 
     1638YY_RULE_SETUP 
     1639#line 347 "kite_lexer.l" 
    14961640{ 
    14971641        kite_compiler_t *compiler = (kite_compiler_t*)yyextra; 
     
    14991643} 
    15001644        YY_BREAK 
    1501 case 68: 
    1502 YY_RULE_SETUP 
    1503 #line 275 "kite_lexer.l" 
     1645case 82: 
     1646YY_RULE_SETUP 
     1647#line 351 "kite_lexer.l" 
    15041648{ fillBoth(yyscanner); if (YYSTATE == INITIAL) return yytext[0]; } 
    15051649        YY_BREAK 
    1506 case 69: 
    1507 YY_RULE_SETUP 
    1508 #line 277 "kite_lexer.l" 
     1650case 83: 
     1651YY_RULE_SETUP 
     1652#line 353 "kite_lexer.l" 
    15091653{ fillBoth(yyscanner); BEGIN(INITIAL); return PLUS; } 
    15101654        YY_BREAK 
    1511 case 70: 
    1512 YY_RULE_SETUP 
    1513 #line 278 "kite_lexer.l" 
     1655case 84: 
     1656YY_RULE_SETUP 
     1657#line 354 "kite_lexer.l" 
    15141658{ fillBoth(yyscanner); BEGIN(INITIAL); return MINUS; } 
    15151659        YY_BREAK 
    1516 case 71: 
    1517 YY_RULE_SETUP 
    1518 #line 279 "kite_lexer.l" 
     1660case 85: 
     1661YY_RULE_SETUP 
     1662#line 355 "kite_lexer.l" 
    15191663{ fillBoth(yyscanner); BEGIN(INITIAL); return MULTIPLY; } 
    15201664        YY_BREAK 
    1521 case 72: 
    1522 YY_RULE_SETUP 
    1523 #line 280 "kite_lexer.l" 
     1665case 86: 
     1666YY_RULE_SETUP 
     1667#line 356 "kite_lexer.l" 
    15241668{ fillBoth(yyscanner); BEGIN(INITIAL); return DIVIDE; } 
    15251669        YY_BREAK 
    1526 case 73: 
    1527 YY_RULE_SETUP 
    1528 #line 281 "kite_lexer.l" 
     1670case 87: 
     1671YY_RULE_SETUP 
     1672#line 357 "kite_lexer.l" 
    15291673{ fillBoth(yyscanner); BEGIN(INITIAL); return MOD; } 
    15301674        YY_BREAK 
    1531 case 74: 
    1532 YY_RULE_SETUP 
    1533 #line 282 "kite_lexer.l" 
     1675case 88: 
     1676YY_RULE_SETUP 
     1677#line 358 "kite_lexer.l" 
    15341678{ fillBoth(yyscanner); BEGIN(INITIAL); return UNARY_PLUS; } 
    15351679        YY_BREAK 
    1536 case 75: 
    1537 YY_RULE_SETUP 
    1538 #line 283 "kite_lexer.l" 
     1680case 89: 
     1681YY_RULE_SETUP 
     1682#line 359 "kite_lexer.l" 
    15391683{ fillBoth(yyscanner); BEGIN(INITIAL); return UNARY_MINUS; } 
    15401684        YY_BREAK 
    1541 case 76: 
    1542 YY_RULE_SETUP 
    1543 #line 284 "kite_lexer.l" 
     1685case 90: 
     1686YY_RULE_SETUP 
     1687#line 360 "kite_lexer.l" 
    15441688{ fillBoth(yyscanner); BEGIN(INITIAL); return MAP; } 
    15451689        YY_BREAK 
    1546 case 77: 
    1547 YY_RULE_SETUP 
    1548 #line 285 "kite_lexer.l" 
     1690case 91: 
     1691YY_RULE_SETUP 
     1692#line 361 "kite_lexer.l" 
    15491693{ fillBoth(yyscanner); BEGIN(INITIAL); return REDUCE; } 
    15501694        YY_BREAK 
    1551 case 78: 
    1552 YY_RULE_SETUP 
    1553 #line 286 "kite_lexer.l" 
     1695case 92: 
     1696YY_RULE_SETUP 
     1697#line 362 "kite_lexer.l" 
    15541698{ fillBoth(yyscanner); BEGIN(INITIAL); return ARRAY_DEREF; } 
    15551699        YY_BREAK 
    1556 case 79: 
    1557 YY_RULE_SETUP 
    1558 #line 287 "kite_lexer.l" 
     1700case 93: 
     1701YY_RULE_SETUP 
     1702#line 363 "kite_lexer.l" 
    15591703{ fillBoth(yyscanner); BEGIN(INITIAL); return EQUALS; } 
    15601704        YY_BREAK 
    1561 case 80: 
    1562 YY_RULE_SETUP 
    1563 #line 288 "kite_lexer.l" 
     1705case 94: 
     1706YY_RULE_SETUP 
     1707#line 364 "kite_lexer.l" 
    15641708{ fillBoth(yyscanner); BEGIN(INITIAL); return NOT_EQUALS; } 
    15651709        YY_BREAK 
    1566 case 81: 
    1567 YY_RULE_SETUP 
    1568 #line 289 "kite_lexer.l" 
     1710case 95: 
     1711YY_RULE_SETUP 
     1712#line 365 "kite_lexer.l" 
    15691713{ fillBoth(yyscanner); BEGIN(INITIAL); return LESS_THAN; } 
    15701714        YY_BREAK 
    1571 case 82: 
    1572 YY_RULE_SETUP 
    1573 #line 290 "kite_lexer.l" 
     1715case 96: 
     1716YY_RULE_SETUP 
     1717#line 366 "kite_lexer.l" 
    15741718{ fillBoth(yyscanner); BEGIN(INITIAL); return GREATER_THAN; } 
    15751719        YY_BREAK 
    1576 case 83: 
    1577 YY_RULE_SETUP 
    1578 #line 291 "kite_lexer.l" 
     1720case 97: 
     1721YY_RULE_SETUP 
     1722#line 367 "kite_lexer.l" 
    15791723{ fillBoth(yyscanner); BEGIN(INITIAL); return LESS_OR_EQUALS; } 
    15801724        YY_BREAK 
    1581 case 84: 
    1582 YY_RULE_SETUP 
    1583 #line 292 "kite_lexer.l" 
     1725case 98: 
     1726YY_RULE_SETUP 
     1727#line 368 "kite_lexer.l" 
    15841728{ fillBoth(yyscanner); BEGIN(INITIAL); return GREATER_OR_EQUALS; } 
    15851729        YY_BREAK 
    1586 case 85: 
    1587 YY_RULE_SETUP 
    1588 #line 293 "kite_lexer.l" 
     1730case 99: 
     1731YY_RULE_SETUP 
     1732#line 369 "kite_lexer.l" 
    15891733{ fillBoth(yyscanner); BEGIN(INITIAL); return AND; } 
    15901734        YY_BREAK 
    1591 case 86: 
    1592 YY_RULE_SETUP 
    1593 #line 294 "kite_lexer.l" 
     1735case 100: 
     1736YY_RULE_SETUP 
     1737#line 370 "kite_lexer.l" 
    15941738{ fillBoth(yyscanner); BEGIN(INITIAL); return OR; } 
    15951739        YY_BREAK 
    1596 case 87: 
    1597 YY_RULE_SETUP 
    1598 #line 295 "kite_lexer.l" 
     1740case 101: 
     1741YY_RULE_SETUP 
     1742#line 371 "kite_lexer.l" 
    15991743{ fillBoth(yyscanner); BEGIN(INITIAL); return NOT; } 
    16001744        YY_BREAK 
    1601 case 88: 
    1602 YY_RULE_SETUP 
    1603 #line 296 "kite_lexer.l" 
     1745case 102: 
     1746YY_RULE_SETUP 
     1747#line 372 "kite_lexer.l" 
    16041748{ fillBoth(yyscanner); BEGIN(INITIAL); return XOR; } 
    16051749        YY_BREAK 
    1606 case 89: 
    1607 YY_RULE_SETUP 
    1608 #line 297 "kite_lexer.l" 
     1750case 103: 
     1751YY_RULE_SETUP 
     1752#line 373 "kite_lexer.l" 
    16091753{ fillBoth(yyscanner); BEGIN(INITIAL); return LEFT_SHIFT; } 
    16101754        YY_BREAK 
    1611 case 90: 
    1612 YY_RULE_SETUP 
    1613 #line 298 "kite_lexer.l" 
     1755case 104: 
     1756YY_RULE_SETUP 
     1757#line 374 "kite_lexer.l" 
    16141758{ fillBoth(yyscanner); BEGIN(INITIAL); return RIGHT_SHIFT; } 
    16151759        YY_BREAK 
    1616 case 91: 
    1617 YY_RULE_SETUP 
    1618 #line 299 "kite_lexer.l" 
     1760case 105: 
     1761YY_RULE_SETUP 
     1762#line 375 "kite_lexer.l" 
    16191763{ fillBoth(yyscanner); BEGIN(INITIAL); return METHOD_CALL; } 
    16201764        YY_BREAK 
    1621 case 92: 
    1622 YY_RULE_SETUP 
    1623 #line 300 "kite_lexer.l" 
     1765case 106: 
     1766YY_RULE_SETUP 
     1767#line 376 "kite_lexer.l" 
    16241768{ fillBoth(yyscanner); BEGIN(INITIAL); return PROPERTY; } 
    16251769        YY_BREAK 
    1626 case 93: 
    1627 YY_RULE_SETUP 
    1628 #line 302 "kite_lexer.l" 
     1770case 107: 
     1771YY_RULE_SETUP 
     1772#line 378 "kite_lexer.l" 
    16291773ECHO; 
    16301774        YY_BREAK 
    1631 #line 1632 "kite_lexer.c" 
     1775#line 1776 "kite_lexer.c" 
    16321776case YY_STATE_EOF(INITIAL): 
    16331777case YY_STATE_EOF(operator): 
     
    16361780case YY_STATE_EOF(docstr): 
    16371781case YY_STATE_EOF(regex): 
     1782case YY_STATE_EOF(str2): 
    16381783        yyterminate(); 
    16391784 
     
    18662011                /* Read in more data. */ 
    18672012                YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 
    1868                         yyg->yy_n_chars, (size_t) num_to_read ); 
     2013                        yyg->yy_n_chars, num_to_read ); 
    18692014 
    18702015                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; 
     
    19202065                        { 
    19212066                        yy_current_state = (int) yy_def[yy_current_state]; 
    1922                         if ( yy_current_state >= 314 ) 
     2067                        if ( yy_current_state >= 338 ) 
    19232068                                yy_c = yy_meta[(unsigned int) yy_c]; 
    19242069                        } 
     
    19492094                { 
    19502095                yy_current_state = (int) yy_def[yy_current_state]; 
    1951                 if ( yy_current_state >= 314 ) 
     2096                if ( yy_current_state >= 338 ) 
    19522097                        yy_c = yy_meta[(unsigned int) yy_c]; 
    19532098                } 
    19542099        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 
    1955         yy_is_jam = (yy_current_state == 313); 
     2100        yy_is_jam = (yy_current_state == 337); 
    19562101 
    19572102        return yy_is_jam ? 0 : yy_current_state; 
     
    20452190                                        { 
    20462191                                        if ( yywrap(yyscanner ) ) 
    2047                                                 return EOF; 
     2192                                                return 0; 
    20482193 
    20492194                                        if ( ! yyg->yy_did_buffer_switch_on_eof ) 
     
    23802525/** Setup the input buffer state to scan a string. The next call to yylex() will 
    23812526 * scan from a @e copy of @a str. 
    2382  * @param yystr a NUL-terminated string to scan 
     2527 * @param str a NUL-terminated string to scan 
    23832528 * @param yyscanner The scanner object. 
    23842529 * @return the newly allocated buffer state object. 
     
    27652910#define YYTABLES_NAME "yytables" 
    27662911 
    2767 #line 302 "kite_lexer.l" 
     2912#line 378 "kite_lexer.l" 
    27682913 
    27692914 
Note: See TracChangeset for help on using the changeset viewer.